From 0cd1c57a542c82ec71e06a5c065aa231b06a9ad9 Mon Sep 17 00:00:00 2001 From: terry-xiaoyu <506895667@qq.com> Date: Sat, 31 Oct 2020 12:10:19 +0800 Subject: [PATCH] Migrate plugins from tag 4.2.2 --- apps/emqx_auth_clientid/README.md | 117 + apps/emqx_auth_clientid/TODO | 3 + .../include/emqx_auth_clientid.hrl | 13 + .../priv/emqx_auth_clientid.schema | 26 + apps/emqx_auth_clientid/rebar.config | 1 + .../src/emqx_auth_clientid.app.src | 14 + .../src/emqx_auth_clientid.app.src.script | 24 + .../src/emqx_auth_clientid.erl | 170 ++ .../src/emqx_auth_clientid_api.erl | 127 + .../src/emqx_auth_clientid_app.erl | 53 + .../test/emqx_auth_clientid_SUITE.erl | 191 ++ apps/emqx_auth_http/README.md | 100 + .../emqx_auth_http/include/emqx_auth_http.hrl | 25 + .../emqx_auth_http/priv/emqx_auth_http.schema | 165 + apps/emqx_auth_http/rebar.config | 1 + apps/emqx_auth_http/src/emqx_acl_http.erl | 92 + .../emqx_auth_http/src/emqx_auth_http.app.src | 14 + .../src/emqx_auth_http.app.src.script | 24 + apps/emqx_auth_http/src/emqx_auth_http.erl | 116 + .../emqx_auth_http/src/emqx_auth_http_app.erl | 103 + .../emqx_auth_http/src/emqx_auth_http_cli.erl | 101 + .../test/emqx_auth_http_SUITE.erl | 167 ++ apps/emqx_auth_http/test/http_auth_server.erl | 152 + apps/emqx_auth_jwt/README.md | 90 + apps/emqx_auth_jwt/TODO.md | 2 + .../doc/hmac-vs-ecdsa-for-jwt.txt | 3 + apps/emqx_auth_jwt/priv/emqx_auth_jwt.schema | 48 + apps/emqx_auth_jwt/rebar.config | 3 + apps/emqx_auth_jwt/src/emqx_auth_jwt.app.src | 14 + .../src/emqx_auth_jwt.app.src.script | 24 + apps/emqx_auth_jwt/src/emqx_auth_jwt.erl | 146 + apps/emqx_auth_jwt/src/emqx_auth_jwt_app.erl | 69 + .../test/emqx_auth_jwt_SUITE.erl | 137 + apps/emqx_auth_ldap/.ci/docker-compose.yml | 26 + apps/emqx_auth_ldap/.ci/emqx-ldap/Dockerfile | 26 + apps/emqx_auth_ldap/.ci/emqx-ldap/slapd.conf | 16 + apps/emqx_auth_ldap/README.md | 96 + apps/emqx_auth_ldap/emqx.io.ldif | 135 + apps/emqx_auth_ldap/emqx.schema | 46 + .../emqx_auth_ldap/include/emqx_auth_ldap.hrl | 23 + .../emqx_auth_ldap/priv/emqx_auth_ldap.schema | 176 ++ apps/emqx_auth_ldap/rebar.config | 3 + apps/emqx_auth_ldap/src/emqx_acl_ldap.erl | 98 + .../emqx_auth_ldap/src/emqx_auth_ldap.app.src | 14 + .../src/emqx_auth_ldap.app.src.script | 24 + apps/emqx_auth_ldap/src/emqx_auth_ldap.erl | 210 ++ .../emqx_auth_ldap/src/emqx_auth_ldap_app.erl | 78 + .../emqx_auth_ldap/src/emqx_auth_ldap_cli.erl | 150 + .../emqx_auth_ldap/src/emqx_auth_ldap_sup.erl | 35 + apps/emqx_auth_ldap/test/certs/cacert.pem | 20 + apps/emqx_auth_ldap/test/certs/cert.pem | 19 + .../emqx_auth_ldap/test/certs/client-cert.pem | 19 + apps/emqx_auth_ldap/test/certs/client-key.pem | 27 + apps/emqx_auth_ldap/test/certs/key.pem | 27 + .../test/emqx_auth_ldap_SUITE.erl | 153 + .../emqx_auth_ldap_bind_as_user_SUITE.erl | 114 + apps/emqx_auth_mnesia/README.md | 2 + .../include/emqx_auth_mnesia.hrl | 35 + .../priv/emqx_auth_mnesia.schema | 35 + apps/emqx_auth_mnesia/rebar.config | 1 + apps/emqx_auth_mnesia/src/emqx_acl_mnesia.erl | 83 + .../src/emqx_acl_mnesia_api.erl | 148 + .../src/emqx_auth_mnesia.app.src | 14 + .../src/emqx_auth_mnesia.app.src.script | 24 + .../emqx_auth_mnesia/src/emqx_auth_mnesia.erl | 76 + .../src/emqx_auth_mnesia_api.erl | 201 ++ .../src/emqx_auth_mnesia_app.erl | 70 + .../src/emqx_auth_mnesia_cli.erl | 193 ++ .../src/emqx_auth_mnesia_sup.erl | 36 + .../test/emqx_acl_mnesia_SUITE.erl | 279 ++ .../test/emqx_auth_mnesia_SUITE.erl | 259 ++ apps/emqx_auth_mongo/CHANGES | 31 + apps/emqx_auth_mongo/README.md | 192 ++ apps/emqx_auth_mongo/docker-compose-ssl.yml | 31 + apps/emqx_auth_mongo/docker-compose.yml | 27 + .../include/emqx_auth_mongo.hrl | 37 + .../priv/emqx_auth_mongo.schema | 292 ++ apps/emqx_auth_mongo/rebar.config | 2 + apps/emqx_auth_mongo/src/emqx_acl_mongo.erl | 91 + .../src/emqx_auth_mongo.app.src | 14 + .../src/emqx_auth_mongo.app.src.script | 24 + apps/emqx_auth_mongo/src/emqx_auth_mongo.erl | 134 + .../src/emqx_auth_mongo_app.erl | 87 + .../src/emqx_auth_mongo_sup.erl | 34 + .../test/emqx_auth_mongo_SUITE.erl | 174 ++ .../emqx_auth_mongo_SUITE_data/ca-key.pem | 27 + .../test/emqx_auth_mongo_SUITE_data/ca.pem | 19 + .../client-cert.pem | 19 + .../emqx_auth_mongo_SUITE_data/client-key.pem | 27 + .../emqx_auth_mongo_SUITE_data/mongodb.pem | 46 + .../private_key.pem | 27 + .../emqx_auth_mongo_SUITE_data/public_key.pem | 9 + .../server-cert.pem | 19 + .../emqx_auth_mongo_SUITE_data/server-key.pem | 27 + apps/emqx_auth_mysql/README.md | 167 ++ apps/emqx_auth_mysql/docker-compose-ssl.yml | 41 + apps/emqx_auth_mysql/docker-compose.yml | 34 + .../include/emqx_auth_mysql.hrl | 23 + apps/emqx_auth_mysql/mqtt.sql | 41 + .../priv/emqx_auth_mysql.schema | 129 + apps/emqx_auth_mysql/rebar.config | 4 + apps/emqx_auth_mysql/src/emqx_acl_mysql.erl | 119 + .../src/emqx_auth_mysql.app.src | 14 + .../src/emqx_auth_mysql.app.src.script | 24 + apps/emqx_auth_mysql/src/emqx_auth_mysql.erl | 91 + .../src/emqx_auth_mysql_app.erl | 74 + .../src/emqx_auth_mysql_cli.erl | 91 + .../src/emqx_auth_mysql_sup.erl | 40 + .../test/emqx_auth_mysql_SUITE.erl | 234 ++ .../emqx_auth_mysql_SUITE_data/ca-key.pem | 27 + .../test/emqx_auth_mysql_SUITE_data/ca.pem | 19 + .../client-cert.pem | 19 + .../emqx_auth_mysql_SUITE_data/client-key.pem | 27 + .../private_key.pem | 27 + .../emqx_auth_mysql_SUITE_data/public_key.pem | 9 + .../server-cert.pem | 19 + .../emqx_auth_mysql_SUITE_data/server-key.pem | 27 + apps/emqx_auth_pgsql/.ci/docker-compose.yml | 30 + apps/emqx_auth_pgsql/.ci/pgsql/Dockerfile | 8 + apps/emqx_auth_pgsql/README.md | 183 ++ .../include/emqx_auth_pgsql.hrl | 23 + apps/emqx_auth_pgsql/mqtt.sql | 28 + .../priv/emqx_auth_pgsql.schema | 127 + apps/emqx_auth_pgsql/rebar.config | 3 + apps/emqx_auth_pgsql/src/emqx_acl_pgsql.erl | 117 + .../src/emqx_auth_pgsql.app.src | 14 + .../src/emqx_auth_pgsql.app.src.script | 24 + apps/emqx_auth_pgsql/src/emqx_auth_pgsql.erl | 91 + .../src/emqx_auth_pgsql_app.erl | 63 + .../src/emqx_auth_pgsql_cli.erl | 138 + .../src/emqx_auth_pgsql_sup.erl | 37 + apps/emqx_auth_pgsql/test/.placeholder | 0 .../test/emqx_auth_pgsql_SUITE.erl | 247 ++ .../test/emqx_auth_pgsql_SUITE_data/ca.pem | 19 + .../client-cert.pem | 19 + .../emqx_auth_pgsql_SUITE_data/client-key.pem | 27 + .../test/emqx_auth_pgsql_SUITE_data/pg.conf | 21 + .../server-cert.pem | 19 + .../emqx_auth_pgsql_SUITE_data/server-key.pem | 27 + apps/emqx_auth_redis/.ci/docker-compose.yml | 26 + .../emqx_auth_redis/.ci/emqx-redis/Dockerfile | 4 + .../emqx_auth_redis/.ci/emqx-redis/redis.conf | 1377 +++++++++ apps/emqx_auth_redis/README.md | 171 ++ .../include/emqx_auth_redis.hrl | 23 + .../priv/emqx_auth_redis.schema | 106 + apps/emqx_auth_redis/rebar.config | 3 + apps/emqx_auth_redis/src/emqx_acl_redis.erl | 86 + .../src/emqx_auth_redis.app.src | 14 + .../src/emqx_auth_redis.app.src.script | 24 + apps/emqx_auth_redis/src/emqx_auth_redis.erl | 85 + .../src/emqx_auth_redis_app.erl | 70 + .../src/emqx_auth_redis_cli.erl | 89 + .../src/emqx_auth_redis_sup.erl | 42 + .../test/emqx_auth_redis_SUITE.erl | 174 ++ apps/emqx_auth_username/README.md | 111 + apps/emqx_auth_username/TODO | 1 + .../include/emqx_auth_username.hrl | 14 + .../priv/emqx_auth_username.schema | 26 + apps/emqx_auth_username/rebar.config | 1 + .../src/emqx_auth_username.app.src | 14 + .../src/emqx_auth_username.app.src.script | 24 + .../src/emqx_auth_username.erl | 173 ++ .../src/emqx_auth_username_api.erl | 123 + .../src/emqx_auth_username_app.erl | 49 + .../test/emqx_auth_username_SUITE.erl | 176 ++ apps/emqx_bridge_mqtt/README.md | 265 ++ apps/emqx_bridge_mqtt/docs/guide.rst | 286 ++ apps/emqx_bridge_mqtt/docs/images/bridge.png | Bin 0 -> 147486 bytes .../include/emqx_bridge_mqtt.hrl | 18 + .../priv/emqx_bridge_mqtt.schema | 242 ++ apps/emqx_bridge_mqtt/rebar.config | 1 + .../src/emqx_bridge_connect.erl | 74 + .../src/emqx_bridge_mqtt.app.src | 14 + .../src/emqx_bridge_mqtt.app.src.script | 24 + .../emqx_bridge_mqtt/src/emqx_bridge_mqtt.erl | 185 ++ .../src/emqx_bridge_mqtt_actions.erl | 771 +++++ .../src/emqx_bridge_mqtt_app.erl | 33 + .../src/emqx_bridge_mqtt_cli.erl | 98 + .../src/emqx_bridge_mqtt_sup.erl | 84 + apps/emqx_bridge_mqtt/src/emqx_bridge_msg.erl | 98 + apps/emqx_bridge_mqtt/src/emqx_bridge_rpc.erl | 99 + .../src/emqx_bridge_worker.erl | 595 ++++ .../test/emqx_bridge_mqtt_tests.erl | 47 + .../test/emqx_bridge_rpc_tests.erl | 42 + .../test/emqx_bridge_worker_SUITE.erl | 176 ++ .../test/emqx_bridge_worker_tests.erl | 172 ++ apps/emqx_coap/README.md | 254 ++ apps/emqx_coap/TODO | 13 + apps/emqx_coap/docs/rfc7049.pdf | Bin 0 -> 157813 bytes apps/emqx_coap/docs/rfc7228.pdf | Bin 0 -> 53076 bytes apps/emqx_coap/docs/rfc7252.pdf | Bin 0 -> 493316 bytes apps/emqx_coap/include/emqx_coap.hrl | 20 + apps/emqx_coap/intergration_test/README.md | 8 + .../intergration_test/check_result.py | 52 + apps/emqx_coap/priv/emqx_coap.schema | 93 + apps/emqx_coap/rebar.config | 4 + apps/emqx_coap/src/emqx_coap.app.src | 14 + apps/emqx_coap/src/emqx_coap.app.src.script | 24 + apps/emqx_coap/src/emqx_coap_app.erl | 40 + apps/emqx_coap/src/emqx_coap_mqtt_adapter.erl | 357 +++ apps/emqx_coap/src/emqx_coap_ps_resource.erl | 318 ++ apps/emqx_coap/src/emqx_coap_ps_topics.erl | 185 ++ apps/emqx_coap/src/emqx_coap_registry.erl | 154 + apps/emqx_coap/src/emqx_coap_resource.erl | 136 + apps/emqx_coap/src/emqx_coap_server.erl | 100 + apps/emqx_coap/src/emqx_coap_sup.erl | 42 + apps/emqx_coap/src/emqx_coap_timer.erl | 59 + apps/emqx_coap/test/emqx_coap_SUITE.erl | 240 ++ apps/emqx_coap/test/emqx_coap_ps_SUITE.erl | 677 +++++ apps/emqx_dashboard/README.md | 88 + .../emqx_dashboard/include/emqx_dashboard.hrl | 21 + .../emqx_dashboard/priv/emqx_dashboard.schema | 151 + apps/emqx_dashboard/priv/www/index.html | 3 + .../app.1495f134b9420661c25a03fc6be1c155.css | 1 + .../priv/www/static/css/font-awesome.min.css | 4 + .../priv/www/static/css/iconfont.css | 1237 ++++++++ .../priv/www/static/css/iconfont.eot | Bin 0 -> 73944 bytes .../priv/www/static/css/iconfont.js | 1 + .../priv/www/static/css/iconfont.svg | 941 ++++++ .../priv/www/static/css/iconfont.ttf | Bin 0 -> 73776 bytes .../priv/www/static/css/iconfont.woff | Bin 0 -> 40720 bytes .../priv/www/static/css/iconfont.woff2 | Bin 0 -> 32796 bytes .../priv/www/static/editor.worker.js | 1 + apps/emqx_dashboard/priv/www/static/emq.ico | Bin 0 -> 16958 bytes .../priv/www/static/fonts/FontAwesome.otf | Bin 0 -> 134808 bytes .../priv/www/static/fonts/Roboto-Bold.ttf | Bin 0 -> 32500 bytes .../priv/www/static/fonts/Roboto-Bold.woff | Bin 0 -> 18568 bytes .../priv/www/static/fonts/Roboto-Bold.woff2 | Bin 0 -> 14552 bytes .../priv/www/static/fonts/Roboto-Light.ttf | Bin 0 -> 32664 bytes .../priv/www/static/fonts/Roboto-Light.woff | Bin 0 -> 18520 bytes .../priv/www/static/fonts/Roboto-Light.woff2 | Bin 0 -> 14524 bytes .../priv/www/static/fonts/Roboto-Thin.ttf | Bin 0 -> 33360 bytes .../priv/www/static/fonts/Roboto-Thin.woff | Bin 0 -> 18572 bytes .../priv/www/static/fonts/Roboto-Thin.woff2 | Bin 0 -> 14556 bytes .../priv/www/static/fonts/Roboto.eot | Bin 0 -> 16227 bytes .../priv/www/static/fonts/Roboto.svg | 308 ++ .../priv/www/static/fonts/Roboto.ttf | Bin 0 -> 32652 bytes .../priv/www/static/fonts/Roboto.woff | Bin 0 -> 18520 bytes .../priv/www/static/fonts/Roboto.woff2 | Bin 0 -> 14584 bytes .../static/fonts/element-icons.535877f.woff | Bin 0 -> 28200 bytes .../static/fonts/element-icons.732389d.ttf | Bin 0 -> 55956 bytes .../www/static/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes .../www/static/fonts/fontawesome-webfont.svg | 2671 +++++++++++++++++ .../www/static/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes .../www/static/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../static/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes .../www/static/js/0.7a09d1383e1319441399.js | 8 + .../www/static/js/0.e5c2d59c47ae56b10376.js | 8 + .../www/static/js/1.fcd6fde8b053e80bc68f.js | 1 + .../www/static/js/10.188c5e479f887d471dde.js | 1 + .../www/static/js/11.3861aeb3036b8f41a6e8.js | 1 + .../www/static/js/12.43feccc8f1584bdba5c2.js | 1 + .../www/static/js/13.026a13a2a59abd354bd5.js | 1 + .../www/static/js/14.0342a1a3d29f1adca947.js | 1 + .../www/static/js/15.7d11711536eb5b2ca561.js | 1 + .../www/static/js/16.6bfd6f3eb9216e73149c.js | 1 + .../www/static/js/17.1d56280c16e6e2b81cff.js | 1 + .../www/static/js/18.a0c394cb4b55bee2fa82.js | 1 + .../www/static/js/19.060521bb4ba4f7a81ac0.js | 1 + .../www/static/js/2.0aed9f93bfe094e9099c.js | 8 + .../www/static/js/2.71ffb214c95162432f13.js | 8 + .../www/static/js/20.308aa0fdf6653ef3299f.js | 1 + .../www/static/js/20.e45283482e545b06e5c7.js | 1 + .../www/static/js/21.306758a2a6ef73532290.js | 1 + .../www/static/js/22.7b3c43c687badfefda6a.js | 1 + .../www/static/js/22.d968dc6f54a690adde18.js | 1 + .../www/static/js/25.8b2dccd8a7e1f91a5040.js | 1 + .../www/static/js/26.9cd922cc7e5d035cbcc7.js | 1 + .../www/static/js/3.25b49772270df4b9915d.js | 1 + .../www/static/js/3.b04827f9f49e3488c55c.js | 1 + .../www/static/js/4.93d4473fcf7768693652.js | 8 + .../www/static/js/5.8935139a413f40d70253.js | 1 + .../www/static/js/5.fd6d6064dfffa65ef079.js | 1 + .../www/static/js/6.ef8e6aa7a51fa7564f71.js | 1 + .../www/static/js/7.92a348a80764134ff2a9.js | 1 + .../www/static/js/8.0df57e8b994d645d2d11.js | 1 + .../www/static/js/8.e86f6131cc8a9138368d.js | 1 + .../www/static/js/9.473ceac05f7dfe3f3e92.js | 1 + .../www/static/js/app.ccbcfda924431cb282e2.js | 1 + .../priv/www/static/js/base64.min.js | 1 + apps/emqx_dashboard/priv/www/static/js/env.js | 4 + .../js/manifest.0d72bf2d26f8cb1758f8.js | 1 + .../js/manifest.b28890b7e119092c6f70.js | 1 + .../priv/www/static/js/upgrade.js | 17 + .../static/js/vendor.7837b8f015b7d486b74f.js | 46 + .../priv/www/static/json.worker.js | 1 + apps/emqx_dashboard/rebar.config | 1 + .../emqx_dashboard/src/emqx_dashboard.app.src | 14 + .../src/emqx_dashboard.app.src.script | 24 + apps/emqx_dashboard/src/emqx_dashboard.erl | 113 + .../src/emqx_dashboard_admin.erl | 228 ++ .../emqx_dashboard/src/emqx_dashboard_api.erl | 109 + .../emqx_dashboard/src/emqx_dashboard_app.erl | 35 + .../emqx_dashboard/src/emqx_dashboard_cli.erl | 56 + .../emqx_dashboard/src/emqx_dashboard_sup.erl | 32 + apps/emqx_dashboard/test/.placeholder | 0 .../test/emqx_dashboard_SUITE.erl | 162 + apps/emqx_lua_hook/README.md | 338 +++ apps/emqx_lua_hook/examples.lua | 71 + apps/emqx_lua_hook/include/emqx_lua_hook.hrl | 18 + apps/emqx_lua_hook/priv/emqx_lua_hook.schema | 1 + apps/emqx_lua_hook/rebar.config | 3 + apps/emqx_lua_hook/src/emqx_lua_hook.app.src | 14 + .../src/emqx_lua_hook.app.src.script | 24 + apps/emqx_lua_hook/src/emqx_lua_hook.erl | 199 ++ apps/emqx_lua_hook/src/emqx_lua_hook_app.erl | 40 + apps/emqx_lua_hook/src/emqx_lua_hook_cli.erl | 88 + apps/emqx_lua_hook/src/emqx_lua_hook_sup.erl | 35 + apps/emqx_lua_hook/src/emqx_lua_script.erl | 342 +++ .../test/emqx_lua_hook_SUITE.erl | 697 +++++ apps/emqx_lwm2m/README.md | 374 +++ apps/emqx_lwm2m/include/emqx_lwm2m.hrl | 51 + apps/emqx_lwm2m/integration_test/case1.py | 65 + apps/emqx_lwm2m/integration_test/case2.py | 60 + apps/emqx_lwm2m/integration_test/case3.py | 60 + .../integration_test/insert_lwm2m_plugin.py | 52 + .../integration_test/object_security.c | 253 ++ .../lwm2m_xml/LWM2M_Access_Control-v1_0_1.xml | 128 + .../LWM2M_Connectivity_Statistics-v1_0_1.xml | 164 + .../lwm2m_xml/LWM2M_Device-v1_0_1.xml | 330 ++ .../LWM2M_Firmware_Update-v1_0_1.xml | 202 ++ .../lwm2m_xml/LWM2M_Location-v1_0.xml | 143 + .../lwm2m_xml/LWM2M_Security-v1_0.xml | 225 ++ .../lwm2m_xml/LWM2M_Server-v1_0.xml | 171 ++ apps/emqx_lwm2m/priv/emqx_lwm2m.schema | 207 ++ apps/emqx_lwm2m/rebar.config | 3 + apps/emqx_lwm2m/src/binary_util.erl | 230 ++ apps/emqx_lwm2m/src/emqx_lwm2m.app.src | 7 + apps/emqx_lwm2m/src/emqx_lwm2m.app.src.script | 24 + apps/emqx_lwm2m/src/emqx_lwm2m_app.erl | 44 + .../emqx_lwm2m/src/emqx_lwm2m_cmd_handler.erl | 320 ++ .../src/emqx_lwm2m_coap_resource.erl | 380 +++ .../emqx_lwm2m/src/emqx_lwm2m_coap_server.erl | 110 + apps/emqx_lwm2m/src/emqx_lwm2m_json.erl | 351 +++ apps/emqx_lwm2m/src/emqx_lwm2m_message.erl | 387 +++ apps/emqx_lwm2m/src/emqx_lwm2m_protocol.erl | 496 +++ apps/emqx_lwm2m/src/emqx_lwm2m_sup.erl | 32 + apps/emqx_lwm2m/src/emqx_lwm2m_timer.erl | 47 + apps/emqx_lwm2m/src/emqx_lwm2m_tlv.erl | 160 + apps/emqx_lwm2m/src/emqx_lwm2m_xml_object.erl | 62 + .../src/emqx_lwm2m_xml_object_db.erl | 145 + apps/emqx_lwm2m/test/emqx_lwm2m_SUITE.erl | 1945 ++++++++++++ apps/emqx_lwm2m/test/emqx_tlv_SUITE.erl | 240 ++ apps/emqx_lwm2m/test/test_mqtt_broker.erl | 172 ++ apps/emqx_management/README.md | 9 + apps/emqx_management/include/emqx_mgmt.hrl | 35 + .../priv/emqx_management.schema | 239 ++ apps/emqx_management/rebar.config | 1 + .../src/emqx_management.app.src | 14 + .../src/emqx_management.app.src.script | 24 + apps/emqx_management/src/emqx_mgmt.erl | 932 ++++++ apps/emqx_management/src/emqx_mgmt_api.erl | 326 ++ .../src/emqx_mgmt_api_alarms.erl | 137 + .../src/emqx_mgmt_api_apps.erl | 109 + .../src/emqx_mgmt_api_banned.erl | 174 ++ .../src/emqx_mgmt_api_brokers.erl | 49 + .../src/emqx_mgmt_api_clients.erl | 419 +++ .../src/emqx_mgmt_api_data.erl | 217 ++ .../src/emqx_mgmt_api_listeners.erl | 49 + .../src/emqx_mgmt_api_metrics.erl | 44 + .../src/emqx_mgmt_api_modules.erl | 129 + .../src/emqx_mgmt_api_nodes.erl | 48 + .../src/emqx_mgmt_api_plugins.erl | 117 + .../src/emqx_mgmt_api_pubsub.erl | 240 ++ .../src/emqx_mgmt_api_routes.erl | 49 + .../src/emqx_mgmt_api_stats.erl | 47 + .../src/emqx_mgmt_api_subscriptions.erl | 154 + .../src/emqx_mgmt_api_topic_metrics.erl | 130 + apps/emqx_management/src/emqx_mgmt_app.erl | 35 + apps/emqx_management/src/emqx_mgmt_auth.erl | 210 ++ apps/emqx_management/src/emqx_mgmt_cli.erl | 715 +++++ apps/emqx_management/src/emqx_mgmt_http.erl | 125 + apps/emqx_management/src/emqx_mgmt_sup.erl | 30 + apps/emqx_management/src/emqx_mgmt_util.erl | 84 + apps/emqx_management/test/emqx_mgmt_SUITE.erl | 288 ++ .../test/emqx_mgmt_api_SUITE.erl | 645 ++++ apps/emqx_management/test/rfc6455_client.erl | 252 ++ apps/emqx_passwd/README.md | 23 + apps/emqx_passwd/rebar.config | 7 + apps/emqx_passwd/src/emqx_passwd.app.src | 13 + .../src/emqx_passwd.app.src.script | 14 + apps/emqx_passwd/src/emqx_passwd.erl | 96 + apps/emqx_passwd/test/emqx_passwd_SUITE.erl | 31 + apps/emqx_plugin_template/README.md | 34 + apps/emqx_plugin_template/TODO | 3 + apps/emqx_plugin_template/rebar.config | 3 + .../src/emqx_cli_demo.erl | 26 + .../src/emqx_plugin_template.app.src | 14 + .../src/emqx_plugin_template.app.src.script | 24 + .../src/emqx_plugin_template.erl | 188 ++ .../src/emqx_plugin_template_app.erl | 34 + .../src/emqx_plugin_template_sup.erl | 30 + .../test/emqx_plugin_template_SUITE.erl | 23 + apps/emqx_prometheus/README.md | 60 + apps/emqx_prometheus/TODO | 2 + .../emqx_prometheus/grafana_template/EMQ.json | 1160 +++++++ .../grafana_template/EMQ_Dashboard.json | 586 ++++ .../grafana_template/ErlangVM.json | 739 +++++ .../include/emqx_prometheus.hrl | 0 .../priv/emqx_prometheus.schema | 20 + apps/emqx_prometheus/rebar.config | 3 + .../src/emqx_prometheus.app.src | 14 + .../src/emqx_prometheus.app.src.script | 24 + apps/emqx_prometheus/src/emqx_prometheus.erl | 594 ++++ .../src/emqx_prometheus_app.erl | 37 + .../src/emqx_prometheus_sup.erl | 36 + .../test/emqx_prometheus_SUITE.erl | 22 + apps/emqx_psk_file/README.md | 2 + apps/emqx_psk_file/priv/emqx_psk_file.schema | 10 + apps/emqx_psk_file/rebar.config | 1 + apps/emqx_psk_file/src/emqx_psk_file.app.src | 14 + .../src/emqx_psk_file.app.src.script | 24 + apps/emqx_psk_file/src/emqx_psk_file.erl | 82 + apps/emqx_psk_file/src/emqx_psk_file_app.erl | 33 + apps/emqx_psk_file/src/emqx_psk_file_sup.erl | 32 + .../test/emqx_psk_file_SUITE.erl | 23 + apps/emqx_recon/README.md | 61 + apps/emqx_recon/priv/emqx_recon.schema | 9 + apps/emqx_recon/rebar.config | 3 + apps/emqx_recon/src/emqx_recon.app.src | 14 + apps/emqx_recon/src/emqx_recon.app.src.script | 24 + apps/emqx_recon/src/emqx_recon.erl | 41 + apps/emqx_recon/src/emqx_recon_cli.erl | 63 + apps/emqx_recon/test/emqx_recon_SUITE.erl | 116 + .../test/emqx_recon_SUITE_data/emqx.conf | 466 +++ .../test/emqx_recon_SUITE_data/emqx.schema | 1060 +++++++ .../emqx_recon_SUITE_data/emqx_recon.conf | 10 + .../emqx_recon_SUITE_data/emqx_recon.schema | 8 + apps/emqx_retainer/README.md | 59 + apps/emqx_retainer/TODO | 1 + apps/emqx_retainer/include/emqx_retainer.hrl | 20 + apps/emqx_retainer/priv/emqx_retainer.schema | 30 + apps/emqx_retainer/rebar.config | 1 + apps/emqx_retainer/src/emqx_retainer.app.src | 14 + .../src/emqx_retainer.app.src.script | 24 + apps/emqx_retainer/src/emqx_retainer.erl | 293 ++ apps/emqx_retainer/src/emqx_retainer_app.erl | 37 + apps/emqx_retainer/src/emqx_retainer_cli.erl | 58 + apps/emqx_retainer/src/emqx_retainer_sup.erl | 36 + .../test/emqx_retainer_SUITE.erl | 195 ++ .../test/emqx_retainer_cli_SUITE.erl | 40 + .../test/mqtt_protocol_v5_SUITE.erl | 147 + apps/emqx_rule_engine/README.md | 50 + apps/emqx_rule_engine/docs/api_examples.md | 197 ++ apps/emqx_rule_engine/docs/cli_examples.md | 164 + apps/emqx_rule_engine/docs/design.md | 188 ++ apps/emqx_rule_engine/include/rule_engine.hrl | 156 + apps/emqx_rule_engine/include/rule_events.hrl | 285 ++ .../priv/emqx_rule_engine.schema | 61 + apps/emqx_rule_engine/rebar.config | 1 + .../src/emqx_rule_actions.erl | 168 ++ .../src/emqx_rule_engine.app.src | 14 + .../src/emqx_rule_engine.app.src.script | 24 + .../emqx_rule_engine/src/emqx_rule_engine.erl | 551 ++++ .../src/emqx_rule_engine_api.erl | 545 ++++ .../src/emqx_rule_engine_app.erl | 44 + .../src/emqx_rule_engine_cli.erl | 368 +++ .../src/emqx_rule_engine_sup.erl | 47 + .../emqx_rule_engine/src/emqx_rule_events.erl | 365 +++ apps/emqx_rule_engine/src/emqx_rule_funcs.erl | 742 +++++ apps/emqx_rule_engine/src/emqx_rule_id.erl | 57 + apps/emqx_rule_engine/src/emqx_rule_maps.erl | 218 ++ .../src/emqx_rule_metrics.erl | 298 ++ .../src/emqx_rule_registry.erl | 426 +++ .../src/emqx_rule_runtime.erl | 402 +++ .../src/emqx_rule_sqlparser.erl | 114 + .../src/emqx_rule_sqltester.erl | 88 + apps/emqx_rule_engine/src/emqx_rule_utils.erl | 297 ++ .../src/emqx_rule_validator.erl | 164 + .../test/emqx_rule_engine_SUITE.erl | 2347 +++++++++++++++ .../test/emqx_rule_events_SUITE.erl | 31 + .../test/emqx_rule_funcs_SUITE.erl | 709 +++++ .../test/emqx_rule_id_SUITE.erl | 28 + .../test/emqx_rule_maps_SUITE.erl | 176 ++ .../test/emqx_rule_metrics_SUITE.erl | 146 + .../test/emqx_rule_registry_SUITE.erl | 148 + .../test/emqx_rule_utils_SUITE.erl | 86 + .../test/emqx_rule_validator_SUITE.erl | 31 + apps/emqx_rule_engine/test/prop_rule_maps.erl | 10 + apps/emqx_sasl/README.md | 2 + apps/emqx_sasl/include/emqx_sasl.hrl | 19 + apps/emqx_sasl/priv/emqx_sasl.schema | 0 apps/emqx_sasl/rebar.config | 1 + apps/emqx_sasl/src/emqx_sasl.app.src | 14 + apps/emqx_sasl/src/emqx_sasl.erl | 56 + apps/emqx_sasl/src/emqx_sasl_api.erl | 233 ++ apps/emqx_sasl/src/emqx_sasl_app.erl | 46 + apps/emqx_sasl/src/emqx_sasl_cli.erl | 82 + apps/emqx_sasl/src/emqx_sasl_scram.erl | 314 ++ apps/emqx_sasl/test/emqx_sasl_scram_SUITE.erl | 79 + apps/emqx_sn/README.md | 117 + apps/emqx_sn/examples/simple_example.erl | 126 + apps/emqx_sn/examples/simple_example2.erl | 120 + apps/emqx_sn/examples/simple_example3.erl | 120 + apps/emqx_sn/examples/simple_example4.erl | 151 + apps/emqx_sn/include/emqx_sn.hrl | 185 ++ apps/emqx_sn/intergration_test/README.md | 12 + .../add_emqx_sn_to_project.py | 22 + .../intergration_test/client/case1_qos0pub.c | 129 + .../intergration_test/client/case1_qos0sub.c | 187 ++ .../intergration_test/client/case2_qos0pub.c | 131 + .../intergration_test/client/case2_qos0sub.c | 222 ++ .../intergration_test/client/case3_qos0pub.c | 131 + .../intergration_test/client/case3_qos0sub.c | 222 ++ .../intergration_test/client/case4_qos3pub.c | 131 + .../intergration_test/client/case4_qos3sub.c | 222 ++ .../intergration_test/client/case5_qos3pub.c | 129 + .../intergration_test/client/case5_qos3sub.c | 195 ++ .../intergration_test/client/case6_sleep.c | 149 + .../client/case7_double_connect.c | 143 + .../client/int_test_result.c | 55 + .../client/int_test_result.h | 13 + .../emqx_sn/intergration_test/disable_qos3.py | 17 + apps/emqx_sn/intergration_test/enable_qos3.py | 17 + apps/emqx_sn/priv/emqx_sn.schema | 74 + apps/emqx_sn/rebar.config | 1 + apps/emqx_sn/src/emqx_sn.app.src | 14 + apps/emqx_sn/src/emqx_sn.app.src.script | 24 + apps/emqx_sn/src/emqx_sn_app.erl | 157 + apps/emqx_sn/src/emqx_sn_asleep_timer.erl | 60 + apps/emqx_sn/src/emqx_sn_broadcast.erl | 101 + apps/emqx_sn/src/emqx_sn_frame.erl | 307 ++ apps/emqx_sn/src/emqx_sn_gateway.erl | 1094 +++++++ apps/emqx_sn/src/emqx_sn_registry.erl | 166 + apps/emqx_sn/src/emqx_sn_sup.erl | 49 + apps/emqx_sn/test/broadcast_test.py | 21 + apps/emqx_sn/test/emqx_sn_frame_SUITE.erl | 181 ++ apps/emqx_sn/test/emqx_sn_protocol_SUITE.erl | 1862 ++++++++++++ apps/emqx_sn/test/emqx_sn_registry_SUITE.erl | 127 + .../test/props/emqx_sn_proper_types.erl | 245 ++ .../emqx_sn/test/props/prop_emqx_sn_frame.erl | 77 + apps/emqx_sn/vars | 8 + apps/emqx_stomp/README.md | 77 + apps/emqx_stomp/include/emqx_stomp.hrl | 48 + apps/emqx_stomp/priv/emqx_stomp.schema | 149 + apps/emqx_stomp/rebar.config | 1 + apps/emqx_stomp/src/emqx_stomp.app.src | 14 + apps/emqx_stomp/src/emqx_stomp.app.src.script | 24 + apps/emqx_stomp/src/emqx_stomp.erl | 142 + apps/emqx_stomp/src/emqx_stomp_connection.erl | 257 ++ apps/emqx_stomp/src/emqx_stomp_frame.erl | 237 ++ apps/emqx_stomp/src/emqx_stomp_heartbeat.erl | 106 + apps/emqx_stomp/src/emqx_stomp_protocol.erl | 365 +++ .../emqx_stomp/src/emqx_stomp_transaction.erl | 77 + apps/emqx_stomp/test/client.py | 19 + apps/emqx_stomp/test/emqx_stomp_SUITE.erl | 349 +++ apps/emqx_telemetry/README.md | 1 + .../emqx_telemetry/priv/emqx_telemetry.schema | 17 + apps/emqx_telemetry/rebar.config | 1 + .../emqx_telemetry/src/emqx_telemetry.app.src | 14 + apps/emqx_telemetry/src/emqx_telemetry.erl | 412 +++ .../emqx_telemetry/src/emqx_telemetry_api.erl | 131 + .../emqx_telemetry/src/emqx_telemetry_app.erl | 35 + .../emqx_telemetry/src/emqx_telemetry_sup.erl | 35 + .../test/emqx_telemetry_SUITE.erl | 66 + apps/emqx_web_hook/README.md | 194 ++ apps/emqx_web_hook/TODO | 3 + apps/emqx_web_hook/priv/emqx_web_hook.schema | 106 + apps/emqx_web_hook/rebar.config | 1 + apps/emqx_web_hook/src/emqx_web_hook.app.src | 14 + .../src/emqx_web_hook.app.src.script | 24 + apps/emqx_web_hook/src/emqx_web_hook.erl | 391 +++ .../src/emqx_web_hook_actions.erl | 207 ++ apps/emqx_web_hook/src/emqx_web_hook_app.erl | 34 + apps/emqx_web_hook/src/emqx_web_hook_sup.erl | 29 + .../test/emqx_web_hook_SUITE.erl | 228 ++ .../test/emqx_web_hook_SUITE_data/ca.pem | 19 + .../emqx_web_hook_SUITE_data/client-cert.pem | 19 + .../emqx_web_hook_SUITE_data/client-key.pem | 27 + .../emqx_web_hook_SUITE_data/server-cert.pem | 19 + .../emqx_web_hook_SUITE_data/server-key.pem | 27 + apps/emqx_web_hook/test/http_server.erl | 75 + .../test/props/prop_webhook_confs.erl | 142 + .../test/props/prop_webhook_hooks.erl | 444 +++ rebar.config | 4 +- 575 files changed, 69926 insertions(+), 2 deletions(-) create mode 100644 apps/emqx_auth_clientid/README.md create mode 100644 apps/emqx_auth_clientid/TODO create mode 100644 apps/emqx_auth_clientid/include/emqx_auth_clientid.hrl create mode 100644 apps/emqx_auth_clientid/priv/emqx_auth_clientid.schema create mode 100644 apps/emqx_auth_clientid/rebar.config create mode 100644 apps/emqx_auth_clientid/src/emqx_auth_clientid.app.src create mode 100644 apps/emqx_auth_clientid/src/emqx_auth_clientid.app.src.script create mode 100644 apps/emqx_auth_clientid/src/emqx_auth_clientid.erl create mode 100644 apps/emqx_auth_clientid/src/emqx_auth_clientid_api.erl create mode 100644 apps/emqx_auth_clientid/src/emqx_auth_clientid_app.erl create mode 100644 apps/emqx_auth_clientid/test/emqx_auth_clientid_SUITE.erl create mode 100644 apps/emqx_auth_http/README.md create mode 100644 apps/emqx_auth_http/include/emqx_auth_http.hrl create mode 100644 apps/emqx_auth_http/priv/emqx_auth_http.schema create mode 100644 apps/emqx_auth_http/rebar.config create mode 100644 apps/emqx_auth_http/src/emqx_acl_http.erl create mode 100644 apps/emqx_auth_http/src/emqx_auth_http.app.src create mode 100644 apps/emqx_auth_http/src/emqx_auth_http.app.src.script create mode 100644 apps/emqx_auth_http/src/emqx_auth_http.erl create mode 100644 apps/emqx_auth_http/src/emqx_auth_http_app.erl create mode 100644 apps/emqx_auth_http/src/emqx_auth_http_cli.erl create mode 100644 apps/emqx_auth_http/test/emqx_auth_http_SUITE.erl create mode 100644 apps/emqx_auth_http/test/http_auth_server.erl create mode 100644 apps/emqx_auth_jwt/README.md create mode 100644 apps/emqx_auth_jwt/TODO.md create mode 100644 apps/emqx_auth_jwt/doc/hmac-vs-ecdsa-for-jwt.txt create mode 100644 apps/emqx_auth_jwt/priv/emqx_auth_jwt.schema create mode 100644 apps/emqx_auth_jwt/rebar.config create mode 100644 apps/emqx_auth_jwt/src/emqx_auth_jwt.app.src create mode 100644 apps/emqx_auth_jwt/src/emqx_auth_jwt.app.src.script create mode 100644 apps/emqx_auth_jwt/src/emqx_auth_jwt.erl create mode 100644 apps/emqx_auth_jwt/src/emqx_auth_jwt_app.erl create mode 100644 apps/emqx_auth_jwt/test/emqx_auth_jwt_SUITE.erl create mode 100644 apps/emqx_auth_ldap/.ci/docker-compose.yml create mode 100644 apps/emqx_auth_ldap/.ci/emqx-ldap/Dockerfile create mode 100644 apps/emqx_auth_ldap/.ci/emqx-ldap/slapd.conf create mode 100644 apps/emqx_auth_ldap/README.md create mode 100644 apps/emqx_auth_ldap/emqx.io.ldif create mode 100644 apps/emqx_auth_ldap/emqx.schema create mode 100644 apps/emqx_auth_ldap/include/emqx_auth_ldap.hrl create mode 100644 apps/emqx_auth_ldap/priv/emqx_auth_ldap.schema create mode 100644 apps/emqx_auth_ldap/rebar.config create mode 100644 apps/emqx_auth_ldap/src/emqx_acl_ldap.erl create mode 100644 apps/emqx_auth_ldap/src/emqx_auth_ldap.app.src create mode 100644 apps/emqx_auth_ldap/src/emqx_auth_ldap.app.src.script create mode 100644 apps/emqx_auth_ldap/src/emqx_auth_ldap.erl create mode 100644 apps/emqx_auth_ldap/src/emqx_auth_ldap_app.erl create mode 100644 apps/emqx_auth_ldap/src/emqx_auth_ldap_cli.erl create mode 100644 apps/emqx_auth_ldap/src/emqx_auth_ldap_sup.erl create mode 100644 apps/emqx_auth_ldap/test/certs/cacert.pem create mode 100644 apps/emqx_auth_ldap/test/certs/cert.pem create mode 100644 apps/emqx_auth_ldap/test/certs/client-cert.pem create mode 100644 apps/emqx_auth_ldap/test/certs/client-key.pem create mode 100644 apps/emqx_auth_ldap/test/certs/key.pem create mode 100644 apps/emqx_auth_ldap/test/emqx_auth_ldap_SUITE.erl create mode 100644 apps/emqx_auth_ldap/test/emqx_auth_ldap_bind_as_user_SUITE.erl create mode 100644 apps/emqx_auth_mnesia/README.md create mode 100644 apps/emqx_auth_mnesia/include/emqx_auth_mnesia.hrl create mode 100644 apps/emqx_auth_mnesia/priv/emqx_auth_mnesia.schema create mode 100644 apps/emqx_auth_mnesia/rebar.config create mode 100644 apps/emqx_auth_mnesia/src/emqx_acl_mnesia.erl create mode 100644 apps/emqx_auth_mnesia/src/emqx_acl_mnesia_api.erl create mode 100644 apps/emqx_auth_mnesia/src/emqx_auth_mnesia.app.src create mode 100644 apps/emqx_auth_mnesia/src/emqx_auth_mnesia.app.src.script create mode 100644 apps/emqx_auth_mnesia/src/emqx_auth_mnesia.erl create mode 100644 apps/emqx_auth_mnesia/src/emqx_auth_mnesia_api.erl create mode 100644 apps/emqx_auth_mnesia/src/emqx_auth_mnesia_app.erl create mode 100644 apps/emqx_auth_mnesia/src/emqx_auth_mnesia_cli.erl create mode 100644 apps/emqx_auth_mnesia/src/emqx_auth_mnesia_sup.erl create mode 100644 apps/emqx_auth_mnesia/test/emqx_acl_mnesia_SUITE.erl create mode 100644 apps/emqx_auth_mnesia/test/emqx_auth_mnesia_SUITE.erl create mode 100644 apps/emqx_auth_mongo/CHANGES create mode 100644 apps/emqx_auth_mongo/README.md create mode 100644 apps/emqx_auth_mongo/docker-compose-ssl.yml create mode 100644 apps/emqx_auth_mongo/docker-compose.yml create mode 100644 apps/emqx_auth_mongo/include/emqx_auth_mongo.hrl create mode 100644 apps/emqx_auth_mongo/priv/emqx_auth_mongo.schema create mode 100644 apps/emqx_auth_mongo/rebar.config create mode 100644 apps/emqx_auth_mongo/src/emqx_acl_mongo.erl create mode 100644 apps/emqx_auth_mongo/src/emqx_auth_mongo.app.src create mode 100644 apps/emqx_auth_mongo/src/emqx_auth_mongo.app.src.script create mode 100644 apps/emqx_auth_mongo/src/emqx_auth_mongo.erl create mode 100644 apps/emqx_auth_mongo/src/emqx_auth_mongo_app.erl create mode 100644 apps/emqx_auth_mongo/src/emqx_auth_mongo_sup.erl create mode 100644 apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE.erl create mode 100644 apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/ca-key.pem create mode 100644 apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/ca.pem create mode 100644 apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/client-cert.pem create mode 100644 apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/client-key.pem create mode 100644 apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/mongodb.pem create mode 100644 apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/private_key.pem create mode 100644 apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/public_key.pem create mode 100644 apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/server-cert.pem create mode 100644 apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/server-key.pem create mode 100644 apps/emqx_auth_mysql/README.md create mode 100644 apps/emqx_auth_mysql/docker-compose-ssl.yml create mode 100644 apps/emqx_auth_mysql/docker-compose.yml create mode 100644 apps/emqx_auth_mysql/include/emqx_auth_mysql.hrl create mode 100644 apps/emqx_auth_mysql/mqtt.sql create mode 100644 apps/emqx_auth_mysql/priv/emqx_auth_mysql.schema create mode 100644 apps/emqx_auth_mysql/rebar.config create mode 100644 apps/emqx_auth_mysql/src/emqx_acl_mysql.erl create mode 100644 apps/emqx_auth_mysql/src/emqx_auth_mysql.app.src create mode 100644 apps/emqx_auth_mysql/src/emqx_auth_mysql.app.src.script create mode 100644 apps/emqx_auth_mysql/src/emqx_auth_mysql.erl create mode 100644 apps/emqx_auth_mysql/src/emqx_auth_mysql_app.erl create mode 100644 apps/emqx_auth_mysql/src/emqx_auth_mysql_cli.erl create mode 100644 apps/emqx_auth_mysql/src/emqx_auth_mysql_sup.erl create mode 100644 apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE.erl create mode 100644 apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/ca-key.pem create mode 100644 apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/ca.pem create mode 100644 apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/client-cert.pem create mode 100644 apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/client-key.pem create mode 100644 apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/private_key.pem create mode 100644 apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/public_key.pem create mode 100644 apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/server-cert.pem create mode 100644 apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/server-key.pem create mode 100644 apps/emqx_auth_pgsql/.ci/docker-compose.yml create mode 100644 apps/emqx_auth_pgsql/.ci/pgsql/Dockerfile create mode 100644 apps/emqx_auth_pgsql/README.md create mode 100644 apps/emqx_auth_pgsql/include/emqx_auth_pgsql.hrl create mode 100644 apps/emqx_auth_pgsql/mqtt.sql create mode 100644 apps/emqx_auth_pgsql/priv/emqx_auth_pgsql.schema create mode 100644 apps/emqx_auth_pgsql/rebar.config create mode 100644 apps/emqx_auth_pgsql/src/emqx_acl_pgsql.erl create mode 100644 apps/emqx_auth_pgsql/src/emqx_auth_pgsql.app.src create mode 100644 apps/emqx_auth_pgsql/src/emqx_auth_pgsql.app.src.script create mode 100644 apps/emqx_auth_pgsql/src/emqx_auth_pgsql.erl create mode 100644 apps/emqx_auth_pgsql/src/emqx_auth_pgsql_app.erl create mode 100644 apps/emqx_auth_pgsql/src/emqx_auth_pgsql_cli.erl create mode 100644 apps/emqx_auth_pgsql/src/emqx_auth_pgsql_sup.erl create mode 100644 apps/emqx_auth_pgsql/test/.placeholder create mode 100644 apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE.erl create mode 100644 apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/ca.pem create mode 100644 apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/client-cert.pem create mode 100644 apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/client-key.pem create mode 100644 apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/pg.conf create mode 100644 apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/server-cert.pem create mode 100644 apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/server-key.pem create mode 100644 apps/emqx_auth_redis/.ci/docker-compose.yml create mode 100644 apps/emqx_auth_redis/.ci/emqx-redis/Dockerfile create mode 100644 apps/emqx_auth_redis/.ci/emqx-redis/redis.conf create mode 100644 apps/emqx_auth_redis/README.md create mode 100644 apps/emqx_auth_redis/include/emqx_auth_redis.hrl create mode 100644 apps/emqx_auth_redis/priv/emqx_auth_redis.schema create mode 100644 apps/emqx_auth_redis/rebar.config create mode 100644 apps/emqx_auth_redis/src/emqx_acl_redis.erl create mode 100644 apps/emqx_auth_redis/src/emqx_auth_redis.app.src create mode 100644 apps/emqx_auth_redis/src/emqx_auth_redis.app.src.script create mode 100644 apps/emqx_auth_redis/src/emqx_auth_redis.erl create mode 100644 apps/emqx_auth_redis/src/emqx_auth_redis_app.erl create mode 100644 apps/emqx_auth_redis/src/emqx_auth_redis_cli.erl create mode 100644 apps/emqx_auth_redis/src/emqx_auth_redis_sup.erl create mode 100644 apps/emqx_auth_redis/test/emqx_auth_redis_SUITE.erl create mode 100644 apps/emqx_auth_username/README.md create mode 100644 apps/emqx_auth_username/TODO create mode 100644 apps/emqx_auth_username/include/emqx_auth_username.hrl create mode 100644 apps/emqx_auth_username/priv/emqx_auth_username.schema create mode 100644 apps/emqx_auth_username/rebar.config create mode 100644 apps/emqx_auth_username/src/emqx_auth_username.app.src create mode 100644 apps/emqx_auth_username/src/emqx_auth_username.app.src.script create mode 100644 apps/emqx_auth_username/src/emqx_auth_username.erl create mode 100644 apps/emqx_auth_username/src/emqx_auth_username_api.erl create mode 100644 apps/emqx_auth_username/src/emqx_auth_username_app.erl create mode 100644 apps/emqx_auth_username/test/emqx_auth_username_SUITE.erl create mode 100644 apps/emqx_bridge_mqtt/README.md create mode 100644 apps/emqx_bridge_mqtt/docs/guide.rst create mode 100644 apps/emqx_bridge_mqtt/docs/images/bridge.png create mode 100644 apps/emqx_bridge_mqtt/include/emqx_bridge_mqtt.hrl create mode 100644 apps/emqx_bridge_mqtt/priv/emqx_bridge_mqtt.schema create mode 100644 apps/emqx_bridge_mqtt/rebar.config create mode 100644 apps/emqx_bridge_mqtt/src/emqx_bridge_connect.erl create mode 100644 apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt.app.src create mode 100644 apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt.app.src.script create mode 100644 apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt.erl create mode 100644 apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_actions.erl create mode 100644 apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_app.erl create mode 100644 apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_cli.erl create mode 100644 apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_sup.erl create mode 100644 apps/emqx_bridge_mqtt/src/emqx_bridge_msg.erl create mode 100644 apps/emqx_bridge_mqtt/src/emqx_bridge_rpc.erl create mode 100644 apps/emqx_bridge_mqtt/src/emqx_bridge_worker.erl create mode 100644 apps/emqx_bridge_mqtt/test/emqx_bridge_mqtt_tests.erl create mode 100644 apps/emqx_bridge_mqtt/test/emqx_bridge_rpc_tests.erl create mode 100644 apps/emqx_bridge_mqtt/test/emqx_bridge_worker_SUITE.erl create mode 100644 apps/emqx_bridge_mqtt/test/emqx_bridge_worker_tests.erl create mode 100644 apps/emqx_coap/README.md create mode 100644 apps/emqx_coap/TODO create mode 100644 apps/emqx_coap/docs/rfc7049.pdf create mode 100644 apps/emqx_coap/docs/rfc7228.pdf create mode 100644 apps/emqx_coap/docs/rfc7252.pdf create mode 100644 apps/emqx_coap/include/emqx_coap.hrl create mode 100644 apps/emqx_coap/intergration_test/README.md create mode 100644 apps/emqx_coap/intergration_test/check_result.py create mode 100644 apps/emqx_coap/priv/emqx_coap.schema create mode 100644 apps/emqx_coap/rebar.config create mode 100644 apps/emqx_coap/src/emqx_coap.app.src create mode 100644 apps/emqx_coap/src/emqx_coap.app.src.script create mode 100644 apps/emqx_coap/src/emqx_coap_app.erl create mode 100644 apps/emqx_coap/src/emqx_coap_mqtt_adapter.erl create mode 100644 apps/emqx_coap/src/emqx_coap_ps_resource.erl create mode 100644 apps/emqx_coap/src/emqx_coap_ps_topics.erl create mode 100644 apps/emqx_coap/src/emqx_coap_registry.erl create mode 100644 apps/emqx_coap/src/emqx_coap_resource.erl create mode 100644 apps/emqx_coap/src/emqx_coap_server.erl create mode 100644 apps/emqx_coap/src/emqx_coap_sup.erl create mode 100644 apps/emqx_coap/src/emqx_coap_timer.erl create mode 100644 apps/emqx_coap/test/emqx_coap_SUITE.erl create mode 100644 apps/emqx_coap/test/emqx_coap_ps_SUITE.erl create mode 100644 apps/emqx_dashboard/README.md create mode 100644 apps/emqx_dashboard/include/emqx_dashboard.hrl create mode 100644 apps/emqx_dashboard/priv/emqx_dashboard.schema create mode 100644 apps/emqx_dashboard/priv/www/index.html create mode 100644 apps/emqx_dashboard/priv/www/static/css/app.1495f134b9420661c25a03fc6be1c155.css create mode 100644 apps/emqx_dashboard/priv/www/static/css/font-awesome.min.css create mode 100644 apps/emqx_dashboard/priv/www/static/css/iconfont.css create mode 100644 apps/emqx_dashboard/priv/www/static/css/iconfont.eot create mode 100644 apps/emqx_dashboard/priv/www/static/css/iconfont.js create mode 100644 apps/emqx_dashboard/priv/www/static/css/iconfont.svg create mode 100644 apps/emqx_dashboard/priv/www/static/css/iconfont.ttf create mode 100644 apps/emqx_dashboard/priv/www/static/css/iconfont.woff create mode 100644 apps/emqx_dashboard/priv/www/static/css/iconfont.woff2 create mode 100644 apps/emqx_dashboard/priv/www/static/editor.worker.js create mode 100644 apps/emqx_dashboard/priv/www/static/emq.ico create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/FontAwesome.otf create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/Roboto-Bold.ttf create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/Roboto-Bold.woff create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/Roboto-Bold.woff2 create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/Roboto-Light.ttf create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/Roboto-Light.woff create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/Roboto-Light.woff2 create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/Roboto-Thin.ttf create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/Roboto-Thin.woff create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/Roboto-Thin.woff2 create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/Roboto.eot create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/Roboto.svg create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/Roboto.ttf create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/Roboto.woff create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/Roboto.woff2 create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/element-icons.535877f.woff create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/element-icons.732389d.ttf create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/fontawesome-webfont.eot create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/fontawesome-webfont.svg create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/fontawesome-webfont.ttf create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/fontawesome-webfont.woff create mode 100644 apps/emqx_dashboard/priv/www/static/fonts/fontawesome-webfont.woff2 create mode 100644 apps/emqx_dashboard/priv/www/static/js/0.7a09d1383e1319441399.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/0.e5c2d59c47ae56b10376.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/1.fcd6fde8b053e80bc68f.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/10.188c5e479f887d471dde.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/11.3861aeb3036b8f41a6e8.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/12.43feccc8f1584bdba5c2.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/13.026a13a2a59abd354bd5.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/14.0342a1a3d29f1adca947.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/15.7d11711536eb5b2ca561.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/16.6bfd6f3eb9216e73149c.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/17.1d56280c16e6e2b81cff.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/18.a0c394cb4b55bee2fa82.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/19.060521bb4ba4f7a81ac0.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/2.0aed9f93bfe094e9099c.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/2.71ffb214c95162432f13.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/20.308aa0fdf6653ef3299f.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/20.e45283482e545b06e5c7.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/21.306758a2a6ef73532290.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/22.7b3c43c687badfefda6a.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/22.d968dc6f54a690adde18.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/25.8b2dccd8a7e1f91a5040.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/26.9cd922cc7e5d035cbcc7.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/3.25b49772270df4b9915d.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/3.b04827f9f49e3488c55c.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/4.93d4473fcf7768693652.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/5.8935139a413f40d70253.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/5.fd6d6064dfffa65ef079.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/6.ef8e6aa7a51fa7564f71.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/7.92a348a80764134ff2a9.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/8.0df57e8b994d645d2d11.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/8.e86f6131cc8a9138368d.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/9.473ceac05f7dfe3f3e92.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/app.ccbcfda924431cb282e2.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/base64.min.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/env.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/manifest.0d72bf2d26f8cb1758f8.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/manifest.b28890b7e119092c6f70.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/upgrade.js create mode 100644 apps/emqx_dashboard/priv/www/static/js/vendor.7837b8f015b7d486b74f.js create mode 100644 apps/emqx_dashboard/priv/www/static/json.worker.js create mode 100644 apps/emqx_dashboard/rebar.config create mode 100644 apps/emqx_dashboard/src/emqx_dashboard.app.src create mode 100644 apps/emqx_dashboard/src/emqx_dashboard.app.src.script create mode 100644 apps/emqx_dashboard/src/emqx_dashboard.erl create mode 100644 apps/emqx_dashboard/src/emqx_dashboard_admin.erl create mode 100644 apps/emqx_dashboard/src/emqx_dashboard_api.erl create mode 100644 apps/emqx_dashboard/src/emqx_dashboard_app.erl create mode 100644 apps/emqx_dashboard/src/emqx_dashboard_cli.erl create mode 100644 apps/emqx_dashboard/src/emqx_dashboard_sup.erl create mode 100644 apps/emqx_dashboard/test/.placeholder create mode 100644 apps/emqx_dashboard/test/emqx_dashboard_SUITE.erl create mode 100644 apps/emqx_lua_hook/README.md create mode 100644 apps/emqx_lua_hook/examples.lua create mode 100644 apps/emqx_lua_hook/include/emqx_lua_hook.hrl create mode 100644 apps/emqx_lua_hook/priv/emqx_lua_hook.schema create mode 100644 apps/emqx_lua_hook/rebar.config create mode 100644 apps/emqx_lua_hook/src/emqx_lua_hook.app.src create mode 100644 apps/emqx_lua_hook/src/emqx_lua_hook.app.src.script create mode 100644 apps/emqx_lua_hook/src/emqx_lua_hook.erl create mode 100644 apps/emqx_lua_hook/src/emqx_lua_hook_app.erl create mode 100644 apps/emqx_lua_hook/src/emqx_lua_hook_cli.erl create mode 100644 apps/emqx_lua_hook/src/emqx_lua_hook_sup.erl create mode 100644 apps/emqx_lua_hook/src/emqx_lua_script.erl create mode 100644 apps/emqx_lua_hook/test/emqx_lua_hook_SUITE.erl create mode 100644 apps/emqx_lwm2m/README.md create mode 100644 apps/emqx_lwm2m/include/emqx_lwm2m.hrl create mode 100644 apps/emqx_lwm2m/integration_test/case1.py create mode 100644 apps/emqx_lwm2m/integration_test/case2.py create mode 100644 apps/emqx_lwm2m/integration_test/case3.py create mode 100644 apps/emqx_lwm2m/integration_test/insert_lwm2m_plugin.py create mode 100644 apps/emqx_lwm2m/integration_test/object_security.c create mode 100644 apps/emqx_lwm2m/lwm2m_xml/LWM2M_Access_Control-v1_0_1.xml create mode 100644 apps/emqx_lwm2m/lwm2m_xml/LWM2M_Connectivity_Statistics-v1_0_1.xml create mode 100644 apps/emqx_lwm2m/lwm2m_xml/LWM2M_Device-v1_0_1.xml create mode 100644 apps/emqx_lwm2m/lwm2m_xml/LWM2M_Firmware_Update-v1_0_1.xml create mode 100644 apps/emqx_lwm2m/lwm2m_xml/LWM2M_Location-v1_0.xml create mode 100644 apps/emqx_lwm2m/lwm2m_xml/LWM2M_Security-v1_0.xml create mode 100644 apps/emqx_lwm2m/lwm2m_xml/LWM2M_Server-v1_0.xml create mode 100644 apps/emqx_lwm2m/priv/emqx_lwm2m.schema create mode 100644 apps/emqx_lwm2m/rebar.config create mode 100644 apps/emqx_lwm2m/src/binary_util.erl create mode 100644 apps/emqx_lwm2m/src/emqx_lwm2m.app.src create mode 100644 apps/emqx_lwm2m/src/emqx_lwm2m.app.src.script create mode 100644 apps/emqx_lwm2m/src/emqx_lwm2m_app.erl create mode 100644 apps/emqx_lwm2m/src/emqx_lwm2m_cmd_handler.erl create mode 100644 apps/emqx_lwm2m/src/emqx_lwm2m_coap_resource.erl create mode 100644 apps/emqx_lwm2m/src/emqx_lwm2m_coap_server.erl create mode 100644 apps/emqx_lwm2m/src/emqx_lwm2m_json.erl create mode 100644 apps/emqx_lwm2m/src/emqx_lwm2m_message.erl create mode 100644 apps/emqx_lwm2m/src/emqx_lwm2m_protocol.erl create mode 100644 apps/emqx_lwm2m/src/emqx_lwm2m_sup.erl create mode 100644 apps/emqx_lwm2m/src/emqx_lwm2m_timer.erl create mode 100644 apps/emqx_lwm2m/src/emqx_lwm2m_tlv.erl create mode 100644 apps/emqx_lwm2m/src/emqx_lwm2m_xml_object.erl create mode 100644 apps/emqx_lwm2m/src/emqx_lwm2m_xml_object_db.erl create mode 100644 apps/emqx_lwm2m/test/emqx_lwm2m_SUITE.erl create mode 100644 apps/emqx_lwm2m/test/emqx_tlv_SUITE.erl create mode 100644 apps/emqx_lwm2m/test/test_mqtt_broker.erl create mode 100644 apps/emqx_management/README.md create mode 100644 apps/emqx_management/include/emqx_mgmt.hrl create mode 100644 apps/emqx_management/priv/emqx_management.schema create mode 100644 apps/emqx_management/rebar.config create mode 100644 apps/emqx_management/src/emqx_management.app.src create mode 100644 apps/emqx_management/src/emqx_management.app.src.script create mode 100644 apps/emqx_management/src/emqx_mgmt.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_api.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_api_alarms.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_api_apps.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_api_banned.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_api_brokers.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_api_clients.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_api_data.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_api_listeners.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_api_metrics.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_api_modules.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_api_nodes.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_api_plugins.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_api_pubsub.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_api_routes.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_api_stats.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_api_subscriptions.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_api_topic_metrics.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_app.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_auth.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_cli.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_http.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_sup.erl create mode 100644 apps/emqx_management/src/emqx_mgmt_util.erl create mode 100644 apps/emqx_management/test/emqx_mgmt_SUITE.erl create mode 100644 apps/emqx_management/test/emqx_mgmt_api_SUITE.erl create mode 100644 apps/emqx_management/test/rfc6455_client.erl create mode 100644 apps/emqx_passwd/README.md create mode 100644 apps/emqx_passwd/rebar.config create mode 100644 apps/emqx_passwd/src/emqx_passwd.app.src create mode 100644 apps/emqx_passwd/src/emqx_passwd.app.src.script create mode 100644 apps/emqx_passwd/src/emqx_passwd.erl create mode 100644 apps/emqx_passwd/test/emqx_passwd_SUITE.erl create mode 100644 apps/emqx_plugin_template/README.md create mode 100644 apps/emqx_plugin_template/TODO create mode 100644 apps/emqx_plugin_template/rebar.config create mode 100644 apps/emqx_plugin_template/src/emqx_cli_demo.erl create mode 100644 apps/emqx_plugin_template/src/emqx_plugin_template.app.src create mode 100644 apps/emqx_plugin_template/src/emqx_plugin_template.app.src.script create mode 100644 apps/emqx_plugin_template/src/emqx_plugin_template.erl create mode 100644 apps/emqx_plugin_template/src/emqx_plugin_template_app.erl create mode 100644 apps/emqx_plugin_template/src/emqx_plugin_template_sup.erl create mode 100644 apps/emqx_plugin_template/test/emqx_plugin_template_SUITE.erl create mode 100644 apps/emqx_prometheus/README.md create mode 100644 apps/emqx_prometheus/TODO create mode 100644 apps/emqx_prometheus/grafana_template/EMQ.json create mode 100644 apps/emqx_prometheus/grafana_template/EMQ_Dashboard.json create mode 100644 apps/emqx_prometheus/grafana_template/ErlangVM.json create mode 100644 apps/emqx_prometheus/include/emqx_prometheus.hrl create mode 100644 apps/emqx_prometheus/priv/emqx_prometheus.schema create mode 100644 apps/emqx_prometheus/rebar.config create mode 100644 apps/emqx_prometheus/src/emqx_prometheus.app.src create mode 100644 apps/emqx_prometheus/src/emqx_prometheus.app.src.script create mode 100644 apps/emqx_prometheus/src/emqx_prometheus.erl create mode 100644 apps/emqx_prometheus/src/emqx_prometheus_app.erl create mode 100644 apps/emqx_prometheus/src/emqx_prometheus_sup.erl create mode 100644 apps/emqx_prometheus/test/emqx_prometheus_SUITE.erl create mode 100644 apps/emqx_psk_file/README.md create mode 100644 apps/emqx_psk_file/priv/emqx_psk_file.schema create mode 100644 apps/emqx_psk_file/rebar.config create mode 100644 apps/emqx_psk_file/src/emqx_psk_file.app.src create mode 100644 apps/emqx_psk_file/src/emqx_psk_file.app.src.script create mode 100644 apps/emqx_psk_file/src/emqx_psk_file.erl create mode 100644 apps/emqx_psk_file/src/emqx_psk_file_app.erl create mode 100644 apps/emqx_psk_file/src/emqx_psk_file_sup.erl create mode 100644 apps/emqx_psk_file/test/emqx_psk_file_SUITE.erl create mode 100644 apps/emqx_recon/README.md create mode 100644 apps/emqx_recon/priv/emqx_recon.schema create mode 100644 apps/emqx_recon/rebar.config create mode 100644 apps/emqx_recon/src/emqx_recon.app.src create mode 100644 apps/emqx_recon/src/emqx_recon.app.src.script create mode 100644 apps/emqx_recon/src/emqx_recon.erl create mode 100644 apps/emqx_recon/src/emqx_recon_cli.erl create mode 100644 apps/emqx_recon/test/emqx_recon_SUITE.erl create mode 100644 apps/emqx_recon/test/emqx_recon_SUITE_data/emqx.conf create mode 100644 apps/emqx_recon/test/emqx_recon_SUITE_data/emqx.schema create mode 100644 apps/emqx_recon/test/emqx_recon_SUITE_data/emqx_recon.conf create mode 100644 apps/emqx_recon/test/emqx_recon_SUITE_data/emqx_recon.schema create mode 100644 apps/emqx_retainer/README.md create mode 100644 apps/emqx_retainer/TODO create mode 100644 apps/emqx_retainer/include/emqx_retainer.hrl create mode 100644 apps/emqx_retainer/priv/emqx_retainer.schema create mode 100644 apps/emqx_retainer/rebar.config create mode 100644 apps/emqx_retainer/src/emqx_retainer.app.src create mode 100644 apps/emqx_retainer/src/emqx_retainer.app.src.script create mode 100644 apps/emqx_retainer/src/emqx_retainer.erl create mode 100644 apps/emqx_retainer/src/emqx_retainer_app.erl create mode 100644 apps/emqx_retainer/src/emqx_retainer_cli.erl create mode 100644 apps/emqx_retainer/src/emqx_retainer_sup.erl create mode 100644 apps/emqx_retainer/test/emqx_retainer_SUITE.erl create mode 100644 apps/emqx_retainer/test/emqx_retainer_cli_SUITE.erl create mode 100644 apps/emqx_retainer/test/mqtt_protocol_v5_SUITE.erl create mode 100644 apps/emqx_rule_engine/README.md create mode 100644 apps/emqx_rule_engine/docs/api_examples.md create mode 100644 apps/emqx_rule_engine/docs/cli_examples.md create mode 100644 apps/emqx_rule_engine/docs/design.md create mode 100644 apps/emqx_rule_engine/include/rule_engine.hrl create mode 100644 apps/emqx_rule_engine/include/rule_events.hrl create mode 100644 apps/emqx_rule_engine/priv/emqx_rule_engine.schema create mode 100644 apps/emqx_rule_engine/rebar.config create mode 100644 apps/emqx_rule_engine/src/emqx_rule_actions.erl create mode 100644 apps/emqx_rule_engine/src/emqx_rule_engine.app.src create mode 100644 apps/emqx_rule_engine/src/emqx_rule_engine.app.src.script create mode 100644 apps/emqx_rule_engine/src/emqx_rule_engine.erl create mode 100644 apps/emqx_rule_engine/src/emqx_rule_engine_api.erl create mode 100644 apps/emqx_rule_engine/src/emqx_rule_engine_app.erl create mode 100644 apps/emqx_rule_engine/src/emqx_rule_engine_cli.erl create mode 100644 apps/emqx_rule_engine/src/emqx_rule_engine_sup.erl create mode 100644 apps/emqx_rule_engine/src/emqx_rule_events.erl create mode 100644 apps/emqx_rule_engine/src/emqx_rule_funcs.erl create mode 100644 apps/emqx_rule_engine/src/emqx_rule_id.erl create mode 100644 apps/emqx_rule_engine/src/emqx_rule_maps.erl create mode 100644 apps/emqx_rule_engine/src/emqx_rule_metrics.erl create mode 100644 apps/emqx_rule_engine/src/emqx_rule_registry.erl create mode 100644 apps/emqx_rule_engine/src/emqx_rule_runtime.erl create mode 100644 apps/emqx_rule_engine/src/emqx_rule_sqlparser.erl create mode 100644 apps/emqx_rule_engine/src/emqx_rule_sqltester.erl create mode 100644 apps/emqx_rule_engine/src/emqx_rule_utils.erl create mode 100644 apps/emqx_rule_engine/src/emqx_rule_validator.erl create mode 100644 apps/emqx_rule_engine/test/emqx_rule_engine_SUITE.erl create mode 100644 apps/emqx_rule_engine/test/emqx_rule_events_SUITE.erl create mode 100644 apps/emqx_rule_engine/test/emqx_rule_funcs_SUITE.erl create mode 100644 apps/emqx_rule_engine/test/emqx_rule_id_SUITE.erl create mode 100644 apps/emqx_rule_engine/test/emqx_rule_maps_SUITE.erl create mode 100644 apps/emqx_rule_engine/test/emqx_rule_metrics_SUITE.erl create mode 100644 apps/emqx_rule_engine/test/emqx_rule_registry_SUITE.erl create mode 100644 apps/emqx_rule_engine/test/emqx_rule_utils_SUITE.erl create mode 100644 apps/emqx_rule_engine/test/emqx_rule_validator_SUITE.erl create mode 100644 apps/emqx_rule_engine/test/prop_rule_maps.erl create mode 100644 apps/emqx_sasl/README.md create mode 100644 apps/emqx_sasl/include/emqx_sasl.hrl create mode 100644 apps/emqx_sasl/priv/emqx_sasl.schema create mode 100644 apps/emqx_sasl/rebar.config create mode 100644 apps/emqx_sasl/src/emqx_sasl.app.src create mode 100644 apps/emqx_sasl/src/emqx_sasl.erl create mode 100644 apps/emqx_sasl/src/emqx_sasl_api.erl create mode 100644 apps/emqx_sasl/src/emqx_sasl_app.erl create mode 100644 apps/emqx_sasl/src/emqx_sasl_cli.erl create mode 100644 apps/emqx_sasl/src/emqx_sasl_scram.erl create mode 100644 apps/emqx_sasl/test/emqx_sasl_scram_SUITE.erl create mode 100644 apps/emqx_sn/README.md create mode 100644 apps/emqx_sn/examples/simple_example.erl create mode 100644 apps/emqx_sn/examples/simple_example2.erl create mode 100644 apps/emqx_sn/examples/simple_example3.erl create mode 100644 apps/emqx_sn/examples/simple_example4.erl create mode 100644 apps/emqx_sn/include/emqx_sn.hrl create mode 100644 apps/emqx_sn/intergration_test/README.md create mode 100644 apps/emqx_sn/intergration_test/add_emqx_sn_to_project.py create mode 100644 apps/emqx_sn/intergration_test/client/case1_qos0pub.c create mode 100644 apps/emqx_sn/intergration_test/client/case1_qos0sub.c create mode 100644 apps/emqx_sn/intergration_test/client/case2_qos0pub.c create mode 100644 apps/emqx_sn/intergration_test/client/case2_qos0sub.c create mode 100644 apps/emqx_sn/intergration_test/client/case3_qos0pub.c create mode 100644 apps/emqx_sn/intergration_test/client/case3_qos0sub.c create mode 100644 apps/emqx_sn/intergration_test/client/case4_qos3pub.c create mode 100644 apps/emqx_sn/intergration_test/client/case4_qos3sub.c create mode 100644 apps/emqx_sn/intergration_test/client/case5_qos3pub.c create mode 100644 apps/emqx_sn/intergration_test/client/case5_qos3sub.c create mode 100644 apps/emqx_sn/intergration_test/client/case6_sleep.c create mode 100644 apps/emqx_sn/intergration_test/client/case7_double_connect.c create mode 100644 apps/emqx_sn/intergration_test/client/int_test_result.c create mode 100644 apps/emqx_sn/intergration_test/client/int_test_result.h create mode 100644 apps/emqx_sn/intergration_test/disable_qos3.py create mode 100644 apps/emqx_sn/intergration_test/enable_qos3.py create mode 100644 apps/emqx_sn/priv/emqx_sn.schema create mode 100644 apps/emqx_sn/rebar.config create mode 100644 apps/emqx_sn/src/emqx_sn.app.src create mode 100644 apps/emqx_sn/src/emqx_sn.app.src.script create mode 100644 apps/emqx_sn/src/emqx_sn_app.erl create mode 100644 apps/emqx_sn/src/emqx_sn_asleep_timer.erl create mode 100644 apps/emqx_sn/src/emqx_sn_broadcast.erl create mode 100644 apps/emqx_sn/src/emqx_sn_frame.erl create mode 100644 apps/emqx_sn/src/emqx_sn_gateway.erl create mode 100644 apps/emqx_sn/src/emqx_sn_registry.erl create mode 100644 apps/emqx_sn/src/emqx_sn_sup.erl create mode 100644 apps/emqx_sn/test/broadcast_test.py create mode 100644 apps/emqx_sn/test/emqx_sn_frame_SUITE.erl create mode 100644 apps/emqx_sn/test/emqx_sn_protocol_SUITE.erl create mode 100644 apps/emqx_sn/test/emqx_sn_registry_SUITE.erl create mode 100644 apps/emqx_sn/test/props/emqx_sn_proper_types.erl create mode 100644 apps/emqx_sn/test/props/prop_emqx_sn_frame.erl create mode 100644 apps/emqx_sn/vars create mode 100644 apps/emqx_stomp/README.md create mode 100644 apps/emqx_stomp/include/emqx_stomp.hrl create mode 100644 apps/emqx_stomp/priv/emqx_stomp.schema create mode 100644 apps/emqx_stomp/rebar.config create mode 100644 apps/emqx_stomp/src/emqx_stomp.app.src create mode 100644 apps/emqx_stomp/src/emqx_stomp.app.src.script create mode 100644 apps/emqx_stomp/src/emqx_stomp.erl create mode 100644 apps/emqx_stomp/src/emqx_stomp_connection.erl create mode 100644 apps/emqx_stomp/src/emqx_stomp_frame.erl create mode 100644 apps/emqx_stomp/src/emqx_stomp_heartbeat.erl create mode 100644 apps/emqx_stomp/src/emqx_stomp_protocol.erl create mode 100644 apps/emqx_stomp/src/emqx_stomp_transaction.erl create mode 100644 apps/emqx_stomp/test/client.py create mode 100644 apps/emqx_stomp/test/emqx_stomp_SUITE.erl create mode 100644 apps/emqx_telemetry/README.md create mode 100644 apps/emqx_telemetry/priv/emqx_telemetry.schema create mode 100644 apps/emqx_telemetry/rebar.config create mode 100644 apps/emqx_telemetry/src/emqx_telemetry.app.src create mode 100644 apps/emqx_telemetry/src/emqx_telemetry.erl create mode 100644 apps/emqx_telemetry/src/emqx_telemetry_api.erl create mode 100644 apps/emqx_telemetry/src/emqx_telemetry_app.erl create mode 100644 apps/emqx_telemetry/src/emqx_telemetry_sup.erl create mode 100644 apps/emqx_telemetry/test/emqx_telemetry_SUITE.erl create mode 100644 apps/emqx_web_hook/README.md create mode 100644 apps/emqx_web_hook/TODO create mode 100644 apps/emqx_web_hook/priv/emqx_web_hook.schema create mode 100644 apps/emqx_web_hook/rebar.config create mode 100644 apps/emqx_web_hook/src/emqx_web_hook.app.src create mode 100644 apps/emqx_web_hook/src/emqx_web_hook.app.src.script create mode 100644 apps/emqx_web_hook/src/emqx_web_hook.erl create mode 100644 apps/emqx_web_hook/src/emqx_web_hook_actions.erl create mode 100644 apps/emqx_web_hook/src/emqx_web_hook_app.erl create mode 100644 apps/emqx_web_hook/src/emqx_web_hook_sup.erl create mode 100644 apps/emqx_web_hook/test/emqx_web_hook_SUITE.erl create mode 100644 apps/emqx_web_hook/test/emqx_web_hook_SUITE_data/ca.pem create mode 100644 apps/emqx_web_hook/test/emqx_web_hook_SUITE_data/client-cert.pem create mode 100644 apps/emqx_web_hook/test/emqx_web_hook_SUITE_data/client-key.pem create mode 100644 apps/emqx_web_hook/test/emqx_web_hook_SUITE_data/server-cert.pem create mode 100644 apps/emqx_web_hook/test/emqx_web_hook_SUITE_data/server-key.pem create mode 100644 apps/emqx_web_hook/test/http_server.erl create mode 100644 apps/emqx_web_hook/test/props/prop_webhook_confs.erl create mode 100644 apps/emqx_web_hook/test/props/prop_webhook_hooks.erl diff --git a/apps/emqx_auth_clientid/README.md b/apps/emqx_auth_clientid/README.md new file mode 100644 index 000000000..991e74cb1 --- /dev/null +++ b/apps/emqx_auth_clientid/README.md @@ -0,0 +1,117 @@ +emqx_auth_clientid +================== + +Authentication with ClientId and Password + +Build +----- + +``` +make && make tests +``` + +Configuration +------------- + +etc/emqx_auth_clientid.conf: + +``` +## Password hash. +## +## Value: plain | md5 | sha | sha256 +auth.client.password_hash = sha256 +``` + +[REST API](https://developer.emqx.io/docs/emq/v3/en/rest.html) +------------ + +List all clientids: + +``` +# Request +GET api/v4/auth_clientid + +# Response +{ + "code": 0, + "data": ["clientid1"] +} +``` + +Add clientid: + +``` +# Request +POST api/v4/auth_clientid +{ + "clientid": "a_client_id", + "password": "password" +} + +# Response +{ + "code": 0 +} +``` + +Update password for a clientid: + +``` +# Request +PUT api/v4/auth_clientid/$CLIENTID + +{ + "password": "password" +} + +# Response +{ + "code": 0 +} +``` + +Lookup a clientid info: + +``` +# Request +GET api/v4/auth_clientid/$CLIENTID + +# Response +{ + "code": 0, + "data": { + "clientid": "a_client_id", + "password": "hash_password" + } +} +``` + +Delete a clientid: + +``` +# Request +DELETE api/v4/auth_clientid/$CLIENTID + +# Response +{ + "code": 0 +} +``` + +Load the Plugin +--------------- + +``` +./bin/emqx_ctl plugins load emqx_auth_clientid +``` + +License +------- + +Apache License Version 2.0 + +Author +------ + +EMQ X Team. + diff --git a/apps/emqx_auth_clientid/TODO b/apps/emqx_auth_clientid/TODO new file mode 100644 index 000000000..a6e013c83 --- /dev/null +++ b/apps/emqx_auth_clientid/TODO @@ -0,0 +1,3 @@ +1. Hash password +2. Add Test cases +3. Hot Reloader diff --git a/apps/emqx_auth_clientid/include/emqx_auth_clientid.hrl b/apps/emqx_auth_clientid/include/emqx_auth_clientid.hrl new file mode 100644 index 000000000..328a46bcd --- /dev/null +++ b/apps/emqx_auth_clientid/include/emqx_auth_clientid.hrl @@ -0,0 +1,13 @@ +-define(APP, emqx_auth_clientid). + +-record(auth_metrics, { + success = 'client.auth.success', + failure = 'client.auth.failure', + ignore = 'client.auth.ignore' + }). + +-define(METRICS(Type), tl(tuple_to_list(#Type{}))). +-define(METRICS(Type, K), #Type{}#Type.K). + +-define(AUTH_METRICS, ?METRICS(auth_metrics)). +-define(AUTH_METRICS(K), ?METRICS(auth_metrics, K)). \ No newline at end of file diff --git a/apps/emqx_auth_clientid/priv/emqx_auth_clientid.schema b/apps/emqx_auth_clientid/priv/emqx_auth_clientid.schema new file mode 100644 index 000000000..db21d8e3e --- /dev/null +++ b/apps/emqx_auth_clientid/priv/emqx_auth_clientid.schema @@ -0,0 +1,26 @@ +%%-*- mode: erlang -*- +%% emqx_auth_clientid config mapping + +{mapping, "auth.client.password_hash", "emqx_auth_clientid.password_hash", [ + {default, sha256}, + {datatype, {enum, [plain, md5, sha, sha256]}} +]}. + +{mapping, "auth.client.$id.clientid", "emqx_auth_clientid.client_list", [ + {datatype, string} +]}. + +{mapping, "auth.client.$id.password", "emqx_auth_clientid.client_list", [ + {datatype, string} +]}. + +{translation, "emqx_auth_clientid.client_list", fun(Conf) -> + ClientList = cuttlefish_variable:filter_by_prefix("auth.client", Conf), + lists:foldl( + fun({["auth", "client", Id, "clientid"], ClientId}, AccIn) -> + [{ClientId, cuttlefish:conf_get("auth.client." ++ Id ++ ".password", Conf)} | AccIn]; + (_, AccIn) -> + AccIn + end, [], ClientList) +end}. + diff --git a/apps/emqx_auth_clientid/rebar.config b/apps/emqx_auth_clientid/rebar.config new file mode 100644 index 000000000..7b1f06cca --- /dev/null +++ b/apps/emqx_auth_clientid/rebar.config @@ -0,0 +1 @@ +{deps, []}. \ No newline at end of file diff --git a/apps/emqx_auth_clientid/src/emqx_auth_clientid.app.src b/apps/emqx_auth_clientid/src/emqx_auth_clientid.app.src new file mode 100644 index 000000000..96afbca38 --- /dev/null +++ b/apps/emqx_auth_clientid/src/emqx_auth_clientid.app.src @@ -0,0 +1,14 @@ +{application, emqx_auth_clientid, + [{description, "EMQ X Authentication with ClientId/Password"}, + {vsn, "git"}, + {modules, []}, + {registered, [emqx_auth_clientid_sup]}, + {applications, [kernel,stdlib,minirest,emqx_passwd,emqx_libs]}, + {mod, {emqx_auth_clientid_app, []}}, + {env, []}, + {licenses, ["Apache-2.0"]}, + {maintainers, ["EMQ X Team "]}, + {links, [{"Homepage", "https://emqx.io/"}, + {"Github", "https://github.com/emqx/emqx-auth-clientid"} + ]} + ]}. diff --git a/apps/emqx_auth_clientid/src/emqx_auth_clientid.app.src.script b/apps/emqx_auth_clientid/src/emqx_auth_clientid.app.src.script new file mode 100644 index 000000000..0e14ff23f --- /dev/null +++ b/apps/emqx_auth_clientid/src/emqx_auth_clientid.app.src.script @@ -0,0 +1,24 @@ +%%-*- mode: erlang -*- +%% .app.src.script + +RemoveLeadingV = + fun(Tag) -> + case re:run(Tag, "^[v|e]?[0-9]\.[0-9]\.([0-9]|(rc|beta|alpha)\.[0-9])", [{capture, none}]) of + nomatch -> + re:replace(Tag, "/", "-", [{return ,list}]); + _ -> + %% if it is a version number prefixed by 'v' or 'e', then remove it + re:replace(Tag, "[v|e]", "", [{return ,list}]) + end + end, + +case os:getenv("EMQX_DEPS_DEFAULT_VSN") of + false -> CONFIG; % env var not defined + [] -> CONFIG; % env var set to empty string + Tag -> + [begin + AppConf0 = lists:keystore(vsn, 1, AppConf, {vsn, RemoveLeadingV(Tag)}), + {application, App, AppConf0} + end || Conf = {application, App, AppConf} <- CONFIG] +end. + diff --git a/apps/emqx_auth_clientid/src/emqx_auth_clientid.erl b/apps/emqx_auth_clientid/src/emqx_auth_clientid.erl new file mode 100644 index 000000000..6643971ed --- /dev/null +++ b/apps/emqx_auth_clientid/src/emqx_auth_clientid.erl @@ -0,0 +1,170 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_clientid). + +-include("emqx_auth_clientid.hrl"). + +-include_lib("emqx_libs/include/emqx.hrl"). + +%% CLI callbacks +-export([cli/1]). + +%% APIs +-export([ add_clientid/2 + , update_password/2 + , lookup_clientid/1 + , remove_clientid/1 + , all_clientids/0 + ]). + +-export([unwrap_salt/1]). + +%% Auth callbacks +-export([ init/1 + , register_metrics/0 + , check/3 + , description/0 + ]). + +-define(TAB, ?MODULE). + +-record(?TAB, {clientid, password}). + +%%-------------------------------------------------------------------- +%% CLI +%%-------------------------------------------------------------------- + +cli(["list"]) -> + ClientIds = mnesia:dirty_all_keys(?TAB), + [emqx_ctl:print("~s~n", [ClientId]) || ClientId <- ClientIds]; + +cli(["add", ClientId, Password]) -> + Ok = add_clientid(iolist_to_binary(ClientId), iolist_to_binary(Password)), + emqx_ctl:print("~p~n", [Ok]); + +cli(["update", ClientId, NewPassword]) -> + Ok = update_password(iolist_to_binary(ClientId), iolist_to_binary(NewPassword)), + emqx_ctl:print("~p~n", [Ok]); + +cli(["del", ClientId]) -> + emqx_ctl:print("~p~n", [remove_clientid(iolist_to_binary(ClientId))]); + +cli(_) -> + emqx_ctl:usage([{"clientid list", "List ClientId"}, + {"clientid add ", "Add ClientId"}, + {"clientid update ", "Update Clientid"}, + {"clientid del ", "Delete ClientId"}]). + +%%-------------------------------------------------------------------- +%% API +%%-------------------------------------------------------------------- +%% @doc Add clientid with password +-spec(add_clientid(binary(), binary()) -> {atomic, ok} | {aborted, any()}). +add_clientid(ClientId, Password) -> + Client = #?TAB{clientid = ClientId, password = encrypted_data(Password)}, + ret(mnesia:transaction(fun do_add_clientid/1, [Client])). + +do_add_clientid(Client = #?TAB{clientid = ClientId}) -> + case mnesia:read(?TAB, ClientId) of + [] -> mnesia:write(Client); + [_|_] -> mnesia:abort(exitsted) + end. + +%% @doc Update clientid with newpassword +-spec(update_password(binary(), binary()) -> {atomic, ok} | {aborted, any()}). +update_password(ClientId, NewPassword) -> + Client = #?TAB{clientid = ClientId, password = encrypted_data(NewPassword)}, + ret(mnesia:transaction(fun do_update_password/1, [Client])). + +do_update_password(Client = #?TAB{clientid = ClientId}) -> + case mnesia:read(?TAB, ClientId) of + [_|_] -> mnesia:write(Client); + [] -> mnesia:abort(noexitsted) + end. + +%% @doc Lookup clientid +-spec(lookup_clientid(binary()) -> list(#?TAB{})). +lookup_clientid(ClientId) -> + mnesia:dirty_read(?TAB, ClientId). + +%% @doc Lookup all clientids +-spec(all_clientids() -> list(binary())). +all_clientids() -> + mnesia:dirty_all_keys(?TAB). + +%% @doc Remove clientid +-spec(remove_clientid(binary()) -> {atomic, ok} | {aborted, term()}). +remove_clientid(ClientId) -> + ret(mnesia:transaction(fun mnesia:delete/1, [{?TAB, ClientId}])). + +unwrap_salt(<<_Salt:4/binary, HashPasswd/binary>>) -> + HashPasswd. + +%% @private +ret({atomic, ok}) -> ok; +ret({aborted, Error}) -> {error, Error}. + +%%-------------------------------------------------------------------- +%% Auth callbacks +%%-------------------------------------------------------------------- + +init(DefaultIds) -> + ok = ekka_mnesia:create_table(?TAB, [ + {disc_copies, [node()]}, + {attributes, record_info(fields, ?TAB)}, + {storage_properties, [{ets, [{read_concurrency, true}]}]}]), + lists:foreach(fun add_default_clientid/1, DefaultIds), + ok = ekka_mnesia:copy_table(?TAB, disc_copies). + +%% @private +add_default_clientid({ClientId, Password}) -> + add_clientid(iolist_to_binary(ClientId), iolist_to_binary(Password)). + +register_metrics() -> + [emqx_metrics:ensure(MetricName) || MetricName <- ?AUTH_METRICS]. + +check(#{clientid := ClientId, password := Password}, AuthResult, #{hash_type := HashType}) -> + case mnesia:dirty_read(?TAB, ClientId) of + [] -> emqx_metrics:inc(?AUTH_METRICS(ignore)); + [#?TAB{password = <>}] -> + case Hash =:= hash(Password, Salt, HashType) of + true -> + emqx_metrics:inc(?AUTH_METRICS(success)), + {stop, AuthResult#{auth_result => success, anonymous => false}}; + false -> + emqx_metrics:inc(?AUTH_METRICS(failure)), + {stop, AuthResult#{auth_result => not_authorized, anonymous => false}} + end + end. + +description() -> + "ClientId Authentication Module". + +encrypted_data(Password) -> + HashType = application:get_env(emqx_auth_clientid, password_hash, sha256), + SaltBin = salt(), + <>. + +hash(undefined, SaltBin, HashType) -> + hash(<<>>, SaltBin, HashType); +hash(Password, SaltBin, HashType) -> + emqx_passwd:hash(HashType, <>). + +salt() -> + rand:seed(exsplus, erlang:timestamp()), + Salt = rand:uniform(16#ffffffff), <>. + diff --git a/apps/emqx_auth_clientid/src/emqx_auth_clientid_api.erl b/apps/emqx_auth_clientid/src/emqx_auth_clientid_api.erl new file mode 100644 index 000000000..6da5b14e8 --- /dev/null +++ b/apps/emqx_auth_clientid/src/emqx_auth_clientid_api.erl @@ -0,0 +1,127 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_clientid_api). + +-include("emqx_auth_clientid.hrl"). + +-export([ list/2 + , lookup/2 + , add/2 + , update/2 + , delete/2 + ]). + +-import(proplists, [get_value/2]). +-import(minirest, [return/0, return/1]). + +-rest_api(#{name => list_clientid, + method => 'GET', + path => "/auth_clientid", + func => list, + descr => "List available clientid in the cluster" + }). + +-rest_api(#{name => lookup_clientid, + method => 'GET', + path => "/auth_clientid/:bin:clientid", + func => lookup, + descr => "Lookup clientid in the cluster" + }). + +-rest_api(#{name => add_clientid, + method => 'POST', + path => "/auth_clientid", + func => add, + descr => "Add clientid in the cluster" + }). + +-rest_api(#{name => update_clientid, + method => 'PUT', + path => "/auth_clientid/:bin:clientid", + func => update, + descr => "Update clientid in the cluster" + }). + +-rest_api(#{name => delete_clientid, + method => 'DELETE', + path => "/auth_clientid/:bin:clientid", + func => delete, + descr => "Delete clientid in the cluster" + }). + +list(_Bindings, _Params) -> + return({ok, emqx_auth_clientid:all_clientids()}). + +lookup(#{clientid := ClientId}, _Params) -> + case emqx_auth_clientid:lookup_clientid(ClientId) of + [] -> return({error, not_found}); + Auth -> return({ok, format(Auth)}) + end. + +add(_Bindings, Params) -> + ClientId = get_value(<<"clientid">>, Params), + Password = get_value(<<"password">>, Params), + case validate([clientid, password], [ClientId, Password]) of + ok -> + case emqx_auth_clientid:add_clientid(ClientId, Password) of + ok -> return(); + Error -> return(Error) + end; + Error -> return(Error) + end. + +update(#{clientid := ClientId}, Params) -> + Password = get_value(<<"password">>, Params), + case validate([password], [Password]) of + ok -> + case emqx_auth_clientid:update_password(ClientId, Password) of + ok -> return(); + Error -> return(Error) + end; + Error -> return(Error) + end. + +delete(#{clientid := ClientId}, _) -> + case emqx_auth_clientid:remove_clientid(ClientId) of + ok -> return(); + Error -> return(Error) + end. + +%%------------------------------------------------------------------------------ +%% Interval Funcs +%%------------------------------------------------------------------------------ + +format([{?APP, ClientId, Password}]) -> + #{clientid => ClientId, + password => emqx_auth_clientid:unwrap_salt(Password)}. + +validate([], []) -> + ok; +validate([K|Keys], [V|Values]) -> + case validation(K, V) of + false -> {error, K}; + true -> validate(Keys, Values) + end. + +validation(clientid, V) when is_binary(V) + andalso byte_size(V) > 0 -> + true; +validation(password, V) when is_binary(V) + andalso byte_size(V) > 0 -> + true; +validation(_, _) -> + false. diff --git a/apps/emqx_auth_clientid/src/emqx_auth_clientid_app.erl b/apps/emqx_auth_clientid/src/emqx_auth_clientid_app.erl new file mode 100644 index 000000000..4c7b242b4 --- /dev/null +++ b/apps/emqx_auth_clientid/src/emqx_auth_clientid_app.erl @@ -0,0 +1,53 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_clientid_app). + +-include("emqx_auth_clientid.hrl"). + +-behaviour(application). + +-emqx_plugin(auth). + +-export([ start/2 + , stop/1 + ]). + +-behaviour(supervisor). + +-export([init/1]). + +start(_Type, _Args) -> + emqx_ctl:register_command(clientid, {?APP, cli}, []), + emqx_auth_clientid:register_metrics(), + HashType = application:get_env(?APP, password_hash, sha256), + Params = #{hash_type => HashType}, + emqx:hook('client.authenticate', fun emqx_auth_clientid:check/3, [Params]), + DefaultIds = application:get_env(?APP, client_list, []), + ok = emqx_auth_clientid:init(DefaultIds), + supervisor:start_link({local, ?MODULE}, ?MODULE, []). + +stop(_State) -> + emqx:unhook('client.authenticate', fun emqx_auth_clientid:check/3), + emqx_ctl:unregister_command(clientid). + +%%-------------------------------------------------------------------- +%% Dummy supervisor +%%-------------------------------------------------------------------- + +init([]) -> + {ok, { {one_for_all, 1, 10}, []} }. + diff --git a/apps/emqx_auth_clientid/test/emqx_auth_clientid_SUITE.erl b/apps/emqx_auth_clientid/test/emqx_auth_clientid_SUITE.erl new file mode 100644 index 000000000..24ab0f7ce --- /dev/null +++ b/apps/emqx_auth_clientid/test/emqx_auth_clientid_SUITE.erl @@ -0,0 +1,191 @@ +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. + +-module(emqx_auth_clientid_SUITE). + +-compile(nowarn_export_all). +-compile(export_all). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("eunit/include/eunit.hrl"). +-include_lib("common_test/include/ct.hrl"). + +-import(emqx_ct_http, [ request_api/3 + , request_api/5 + , get_http_data/1 + , create_default_app/0 + , default_auth_header/0 + ]). + +-define(HOST, "http://127.0.0.1:8081/"). +-define(API_VERSION, "v4"). +-define(BASE_PATH, "api"). + +-define(CLIENTID, <<"client_id_for_ct">>). +-define(PASSWORD, <<"password">>). +-define(NPASSWORD, <<"password1">>). +-define(USER, #{clientid => ?CLIENTID, zone => external}). + +all() -> + emqx_ct:all(?MODULE). + +init_per_suite(Config) -> + emqx_ct_helpers:start_apps([emqx_auth_clientid, emqx_management], fun set_special_configs/1), + create_default_app(), + Config. + +end_per_suite(_Config) -> + emqx_ct_helpers:stop_apps([emqx_auth_clientid, emqx_management]). + +set_special_configs(emqx) -> + application:set_env(emqx, allow_anonymous, true), + application:set_env(emqx, enable_acl_cache, false), + LoadedPluginPath = filename:join(["test", "emqx_SUITE_data", "loaded_plugins"]), + application:set_env(emqx, plugins_loaded_file, + emqx_ct_helpers:deps_path(emqx, LoadedPluginPath)); + +set_special_configs(_App) -> + ok. + +%%------------------------------------------------------------------------------ +%% Testcases +%%------------------------------------------------------------------------------ + +t_managing(_) -> + clean_all_clientids(), + + ok = emqx_auth_clientid:add_clientid(?CLIENTID, ?PASSWORD), + ?assertNotEqual(emqx_auth_clientid:lookup_clientid(?CLIENTID), []), + + {ok, #{auth_result := success, + anonymous := false}} = emqx_access_control:authenticate(?USER#{password => ?PASSWORD}), + + {error, _} = emqx_access_control:authenticate(?USER#{password => ?NPASSWORD}), + + emqx_auth_clientid:update_password(?CLIENTID, ?NPASSWORD), + {ok, #{auth_result := success, + anonymous := false}} = emqx_access_control:authenticate(?USER#{password => ?NPASSWORD}), + + ok = emqx_auth_clientid:remove_clientid(?CLIENTID), + {ok, #{auth_result := success, + anonymous := true}} = emqx_access_control:authenticate(?USER#{password => ?PASSWORD}). + +t_cli(_) -> + clean_all_clientids(), + + HashType = application:get_env(emqx_auth_clientid, password_hash, sha256), + + emqx_auth_clientid:cli(["add", ?CLIENTID, ?PASSWORD]), + [{_, ?CLIENTID, <>}] = emqx_auth_clientid:lookup_clientid(?CLIENTID), + ?assertEqual(Hash, emqx_passwd:hash(HashType, <>)), + + emqx_auth_clientid:cli(["update", ?CLIENTID, ?NPASSWORD]), + [{_, ?CLIENTID, <>}] = emqx_auth_clientid:lookup_clientid(?CLIENTID), + ?assertEqual(Hash1, emqx_passwd:hash(HashType, <>)), + + emqx_auth_clientid:cli(["del", ?CLIENTID]), + ?assertEqual([], emqx_auth_clientid:lookup_clientid(?CLIENTID)), + + emqx_auth_clientid:cli(["add", "user1", "pass1"]), + emqx_auth_clientid:cli(["add", "user2", "pass2"]), + ?assertEqual(2, length(emqx_auth_clientid:cli(["list"]))), + + emqx_auth_clientid:cli(usage). + +t_rest_api(_Config) -> + clean_all_clientids(), + + HashType = application:get_env(emqx_auth_clientid, password_hash, sha256), + + {ok, Result} = request_http_rest_list(), + [] = get_http_data(Result), + + {ok, _} = request_http_rest_add(?CLIENTID, ?PASSWORD), + {ok, Result1} = request_http_rest_lookup(?CLIENTID), + #{<<"password">> := Hash} = get_http_data(Result1), + [{_, ?CLIENTID, <>}] = emqx_auth_clientid:lookup_clientid(?CLIENTID), + ?assertEqual(Hash, emqx_passwd:hash(HashType, <>)), + + {ok, _} = request_http_rest_update(?CLIENTID, ?NPASSWORD), + [{_, ?CLIENTID, <>}] = emqx_auth_clientid:lookup_clientid(?CLIENTID), + ?assertEqual(Hash1, emqx_passwd:hash(HashType, <>)), + + {ok, _} = request_http_rest_delete(?CLIENTID), + ?assertEqual([], emqx_auth_clientid:lookup_clientid(?CLIENTID)). + +t_conf_not_override_existed(_) -> + clean_all_clientids(), + + application:stop(emqx_auth_clientid), + application:set_env(emqx_auth_clientid, client_list, [{?CLIENTID, ?PASSWORD}]), + application:ensure_all_started(emqx_auth_clientid), + + {ok, _} = emqx_access_control:authenticate(?USER#{password => ?PASSWORD}), + emqx_auth_clientid:cli(["update", ?CLIENTID, ?NPASSWORD]), + + {error, _} = emqx_access_control:authenticate(?USER#{password => ?PASSWORD}), + {ok, _} = emqx_access_control:authenticate(?USER#{password => ?NPASSWORD}), + + application:stop(emqx_auth_clientid), + application:ensure_all_started(emqx_auth_clientid), + {ok, _} = emqx_access_control:authenticate(?USER#{password => ?NPASSWORD}), + + ct:pal("~p", [ets:tab2list(emqx_auth_clientid)]), + {ok, _} = request_http_rest_update(?CLIENTID, ?PASSWORD), + application:stop(emqx_auth_clientid), + application:ensure_all_started(emqx_auth_clientid), + ct:pal("~p", [ets:tab2list(emqx_auth_clientid)]), + {ok, _} = emqx_access_control:authenticate(?USER#{password => ?PASSWORD}). + +%%-------------------------------------------------------------------- +%% Helpers +%%-------------------------------------------------------------------- + +clean_all_clientids() -> + [mnesia:dirty_delete({emqx_auth_clientid, Id}) + || Id <- mnesia:dirty_all_keys(emqx_auth_clientid)]. + +%%-------------------------------------------------------------------- +%% REST API Requests + +request_http_rest_list() -> + request_api(get, uri(), default_auth_header()). + +request_http_rest_lookup(ClientId) -> + request_api(get, uri([ClientId]), default_auth_header()). + +request_http_rest_add(ClientId, Password) -> + Params = #{<<"clientid">> => ClientId, <<"password">> => Password}, + request_api(post, uri(), [], default_auth_header(), Params). + +request_http_rest_update(ClientId, Password) -> + Params = #{<<"password">> => Password}, + request_api(put, uri([ClientId]), [], default_auth_header(), Params). + +request_http_rest_delete(ClientId) -> + request_api(delete, uri([ClientId]), default_auth_header()). + +%% @private +uri() -> uri([]). +uri(Parts) when is_list(Parts) -> + NParts = [b2l(E) || E <- Parts], + %% http://127.0.0.1:8080/api/v4/auth_clientid/// + ?HOST ++ filename:join([?BASE_PATH, ?API_VERSION, "auth_clientid"| NParts]). + +%% @private +b2l(B) when is_binary(B) -> + binary_to_list(B); +b2l(L) when is_list(L) -> + L. + diff --git a/apps/emqx_auth_http/README.md b/apps/emqx_auth_http/README.md new file mode 100644 index 000000000..ed743334a --- /dev/null +++ b/apps/emqx_auth_http/README.md @@ -0,0 +1,100 @@ +emqx_auth_http +============== + +EMQ X HTTP Auth/ACL Plugin + +Build +----- + +``` +make && make tests +``` + +Configure the Plugin +-------------------- + +File: etc/emqx_auth_http.conf + +``` +##-------------------------------------------------------------------- +## Authentication request. +## +## Variables: +## - %u: username +## - %c: clientid +## - %a: ipaddress +## - %r: protocol +## - %P: password +## - %C: common name of client TLS cert +## - %d: subject of client TLS cert +## +## Value: URL +auth.http.auth_req = http://127.0.0.1:8080/mqtt/auth +## Value: post | get | put +auth.http.auth_req.method = post +## Value: Params +auth.http.auth_req.params = clientid=%c,username=%u,password=%P + +##-------------------------------------------------------------------- +## Superuser request. +## +## Variables: +## - %u: username +## - %c: clientid +## - %a: ipaddress +## - %r: protocol +## - %P: password +## - %C: common name of client TLS cert +## - %d: subject of client TLS cert +## +## Value: URL +auth.http.super_req = http://127.0.0.1:8080/mqtt/superuser +## Value: post | get | put +auth.http.super_req.method = post +## Value: Params +auth.http.super_req.params = clientid=%c,username=%u + +##-------------------------------------------------------------------- +## ACL request. +## +## Variables: +## - %A: 1 | 2, 1 = sub, 2 = pub +## - %u: username +## - %c: clientid +## - %a: ipaddress +## - %r: protocol +## - %m: mountpoint +## - %t: topic +## +## Value: URL +auth.http.acl_req = http://127.0.0.1:8080/mqtt/acl +## Value: post | get | put +auth.http.acl_req.method = get +## Value: Params +auth.http.acl_req.params = access=%A,username=%u,clientid=%c,ipaddr=%a,topic=%t +``` + +Load the Plugin +--------------- + +``` +./bin/emqx_ctl plugins load emqx_auth_http +``` + +HTTP API +-------- + +200 if ok + +4xx if unauthorized + +License +------- + +Apache License Version 2.0 + +Author +------ + +EMQ X Team. + diff --git a/apps/emqx_auth_http/include/emqx_auth_http.hrl b/apps/emqx_auth_http/include/emqx_auth_http.hrl new file mode 100644 index 000000000..09e58e324 --- /dev/null +++ b/apps/emqx_auth_http/include/emqx_auth_http.hrl @@ -0,0 +1,25 @@ + +-define(APP, emqx_auth_http). + +-record(http_request, {method = post, content_type, url, params, options = []}). + +-record(auth_metrics, { + success = 'client.auth.success', + failure = 'client.auth.failure', + ignore = 'client.auth.ignore' + }). + +-record(acl_metrics, { + allow = 'client.acl.allow', + deny = 'client.acl.deny', + ignore = 'client.acl.ignore' + }). + +-define(METRICS(Type), tl(tuple_to_list(#Type{}))). +-define(METRICS(Type, K), #Type{}#Type.K). + +-define(AUTH_METRICS, ?METRICS(auth_metrics)). +-define(AUTH_METRICS(K), ?METRICS(auth_metrics, K)). + +-define(ACL_METRICS, ?METRICS(acl_metrics)). +-define(ACL_METRICS(K), ?METRICS(acl_metrics, K)). diff --git a/apps/emqx_auth_http/priv/emqx_auth_http.schema b/apps/emqx_auth_http/priv/emqx_auth_http.schema new file mode 100644 index 000000000..e6a986344 --- /dev/null +++ b/apps/emqx_auth_http/priv/emqx_auth_http.schema @@ -0,0 +1,165 @@ +%%-*- mode: erlang -*- +%% emqx_auth_http config mapping +{mapping, "auth.http.auth_req", "emqx_auth_http.auth_req", [ + {datatype, string} +]}. + +{mapping, "auth.http.auth_req.method", "emqx_auth_http.auth_req", [ + {default, post}, + {datatype, {enum, [post, get]}} +]}. + +{mapping, "auth.http.auth_req.content_type", "emqx_auth_http.auth_req", [ + {default, 'x-www-form-urlencoded'}, + {datatype, {enum, [json, 'x-www-form-urlencoded']}} +]}. + +{mapping, "auth.http.auth_req.params", "emqx_auth_http.auth_req", [ + {datatype, string} +]}. + +{translation, "emqx_auth_http.auth_req", fun(Conf) -> + case cuttlefish:conf_get("auth.http.auth_req", Conf) of + undefined -> cuttlefish:unset(); + Url -> + Params = cuttlefish:conf_get("auth.http.auth_req.params", Conf), + [{url, Url}, + {method, cuttlefish:conf_get("auth.http.auth_req.method", Conf)}, + {content_type, cuttlefish:conf_get("auth.http.auth_req.content_type", Conf)}, + {params, [list_to_tuple(string:tokens(S, "=")) || S <- string:tokens(Params, ",")]}] + end +end}. + +{mapping, "auth.http.super_req", "emqx_auth_http.super_req", [ + {datatype, string} +]}. + +{mapping, "auth.http.super_req.method", "emqx_auth_http.super_req", [ + {default, post}, + {datatype, {enum, [post, get]}} +]}. + +{mapping, "auth.http.super_req.content_type", "emqx_auth_http.super_req", [ + {default, 'x-www-form-urlencoded'}, + {datatype, {enum, [json, 'x-www-form-urlencoded']}} +]}. + +{mapping, "auth.http.super_req.params", "emqx_auth_http.super_req", [ + {datatype, string} +]}. + +{translation, "emqx_auth_http.super_req", fun(Conf) -> + case cuttlefish:conf_get("auth.http.super_req", Conf, undefined) of + undefined -> cuttlefish:unset(); + Url -> Params = cuttlefish:conf_get("auth.http.super_req.params", Conf), + [{url, Url}, {method, cuttlefish:conf_get("auth.http.super_req.method", Conf)}, + {content_type, cuttlefish:conf_get("auth.http.super_req.content_type", Conf)}, + {params, [list_to_tuple(string:tokens(S, "=")) || S <- string:tokens(Params, ",")]}] + end +end}. + +{mapping, "auth.http.acl_req", "emqx_auth_http.acl_req", [ + {default, undefined}, + {datatype, string} +]}. + +{mapping, "auth.http.acl_req.method", "emqx_auth_http.acl_req", [ + {default, post}, + {datatype, {enum, [post, get]}} +]}. + +{mapping, "auth.http.acl_req.content_type", "emqx_auth_http.acl_req", [ + {default, 'x-www-form-urlencoded'}, + {datatype, {enum, [json, 'x-www-form-urlencoded']}} +]}. + +{mapping, "auth.http.acl_req.params", "emqx_auth_http.acl_req", [ + {datatype, string} +]}. + +{translation, "emqx_auth_http.acl_req", fun(Conf) -> + case cuttlefish:conf_get("auth.http.acl_req", Conf, undefined) of + undefined -> cuttlefish:unset(); + Url -> Params = cuttlefish:conf_get("auth.http.acl_req.params", Conf), + [{url, Url}, {method, cuttlefish:conf_get("auth.http.acl_req.method", Conf)}, + {content_type, cuttlefish:conf_get("auth.http.acl_req.content_type", Conf)}, + {params, [list_to_tuple(string:tokens(S, "=")) || S <- string:tokens(Params, ",")]}] + end +end}. + +{mapping, "auth.http.request.timeout", "emqx_auth_http.http_opts", [ + {default, 0}, + {datatype, [integer, {duration, ms}]} +]}. + +{mapping, "auth.http.request.connect_timeout", "emqx_auth_http.http_opts", [ + {datatype, [integer, {duration, ms}]} +]}. + +{mapping, "auth.http.ssl.cacertfile", "emqx_auth_http.http_opts", [ + {datatype, string} +]}. + +{mapping, "auth.http.ssl.certfile", "emqx_auth_http.http_opts", [ + {datatype, string} +]}. + +{mapping, "auth.http.ssl.keyfile", "emqx_auth_http.http_opts", [ + {datatype, string} +]}. + +{translation, "emqx_auth_http.http_opts", fun(Conf) -> + Filter = fun(L) -> [{K, V} || {K, V} <- L, V =/= undefined] end, + InfinityFun = fun(0) -> infinity; + (Duration) -> Duration + end, + SslOpts = Filter([{cacertfile, cuttlefish:conf_get("auth.http.ssl.cacertfile", Conf, undefined)}, + {certfile, cuttlefish:conf_get("auth.http.ssl.certfile", Conf, undefined)}, + {keyfile, cuttlefish:conf_get("auth.http.ssl.keyfile", Conf, undefined)}]), + Opts = [{timeout, InfinityFun(cuttlefish:conf_get("auth.http.request.timeout", Conf))}, + {connect_timeout, InfinityFun(cuttlefish:conf_get("auth.http.request.connect_timeout", Conf, undefined))}], + case SslOpts of + [] -> Filter(Opts); + _ -> + TlsVers = ['tlsv1.2','tlsv1.1',tlsv1], + DefaultOpts = [{versions, TlsVers}, + {ciphers, lists:foldl( + fun(TlsVer, Ciphers) -> + Ciphers ++ ssl:cipher_suites(all, TlsVer) + end, [], TlsVers)}], + Filter([{ssl, DefaultOpts ++ SslOpts} | Opts]) + end +end}. + +{mapping, "auth.http.request.retry_times", "emqx_auth_http.retry_opts", [ + {default, 3}, + {datatype, integer} +]}. + +{mapping, "auth.http.request.retry_interval", "emqx_auth_http.retry_opts", [ + {default, "1s"}, + {datatype, {duration, ms}} +]}. + +{mapping, "auth.http.request.retry_backoff", "emqx_auth_http.retry_opts", [ + {default, 2.0}, + {datatype, float} +]}. + +{translation, "emqx_auth_http.retry_opts", fun(Conf) -> + [{times, cuttlefish:conf_get("auth.http.request.retry_times", Conf)}, + {interval, cuttlefish:conf_get("auth.http.request.retry_interval", Conf)}, + {backoff, cuttlefish:conf_get("auth.http.request.retry_backoff", Conf)}] +end}. + +{mapping, "auth.http.header.$field", "emqx_auth_http.headers", [ + {datatype, string} +]}. + +{translation, "emqx_auth_http.headers", fun(Conf) -> + lists:map( + fun({["auth", "http", "header", Field], Value}) -> + {Field, Value} + end, + cuttlefish_variable:filter_by_prefix("auth.http.header", Conf)) +end}. \ No newline at end of file diff --git a/apps/emqx_auth_http/rebar.config b/apps/emqx_auth_http/rebar.config new file mode 100644 index 000000000..7b1f06cca --- /dev/null +++ b/apps/emqx_auth_http/rebar.config @@ -0,0 +1 @@ +{deps, []}. \ No newline at end of file diff --git a/apps/emqx_auth_http/src/emqx_acl_http.erl b/apps/emqx_auth_http/src/emqx_acl_http.erl new file mode 100644 index 000000000..621b20b0d --- /dev/null +++ b/apps/emqx_auth_http/src/emqx_acl_http.erl @@ -0,0 +1,92 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_acl_http). + +-include("emqx_auth_http.hrl"). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). + +-logger_header("[ACL http]"). + +-import(emqx_auth_http_cli, + [ request/8 + , feedvar/2 + ]). + +%% ACL callbacks +-export([ register_metrics/0 + , check_acl/5 + , description/0 + ]). + +-spec(register_metrics() -> ok). +register_metrics() -> + lists:foreach(fun emqx_metrics:ensure/1, ?ACL_METRICS). + +%%-------------------------------------------------------------------- +%% ACL callbacks +%%-------------------------------------------------------------------- + +check_acl(ClientInfo, PubSub, Topic, AclResult, State) -> + return_with(fun inc_metrics/1, + do_check_acl(ClientInfo, PubSub, Topic, AclResult, State)). + +do_check_acl(#{username := <<$$, _/binary>>}, _PubSub, _Topic, _AclResult, _Config) -> + ok; +do_check_acl(ClientInfo, PubSub, Topic, _AclResult, #{acl_req := AclReq, + http_opts := HttpOpts, + retry_opts := RetryOpts, + headers := Headers}) -> + ClientInfo1 = ClientInfo#{access => access(PubSub), topic => Topic}, + case check_acl_request(AclReq, ClientInfo1, Headers, HttpOpts, RetryOpts) of + {ok, 200, "ignore"} -> ok; + {ok, 200, _Body} -> {stop, allow}; + {ok, _Code, _Body} -> {stop, deny}; + {error, Error} -> + ?LOG(error, "Request ACL url ~s, error: ~p", + [AclReq#http_request.url, Error]), + ok + end. + +description() -> "ACL with HTTP API". + +%%-------------------------------------------------------------------- +%% Internal functions +%%-------------------------------------------------------------------- + +inc_metrics(ok) -> + emqx_metrics:inc(?ACL_METRICS(ignore)); +inc_metrics({stop, allow}) -> + emqx_metrics:inc(?ACL_METRICS(allow)); +inc_metrics({stop, deny}) -> + emqx_metrics:inc(?ACL_METRICS(deny)). + +return_with(Fun, Result) -> + Fun(Result), Result. + +check_acl_request(#http_request{url = Url, + method = Method, + content_type = ContentType, + params = Params, + options = Options}, + ClientInfo, Headers, HttpOpts, RetryOpts) -> + request(Method, ContentType, Url, feedvar(Params, ClientInfo), Headers, HttpOpts, Options, RetryOpts). + +access(subscribe) -> 1; +access(publish) -> 2. + diff --git a/apps/emqx_auth_http/src/emqx_auth_http.app.src b/apps/emqx_auth_http/src/emqx_auth_http.app.src new file mode 100644 index 000000000..00db7e94a --- /dev/null +++ b/apps/emqx_auth_http/src/emqx_auth_http.app.src @@ -0,0 +1,14 @@ +{application, emqx_auth_http, + [{description, "EMQ X Authentication/ACL with HTTP API"}, + {vsn, "git"}, + {modules, []}, + {registered, [emqx_auth_http_sup]}, + {applications, [kernel,stdlib,emqx_libs]}, + {mod, {emqx_auth_http_app, []}}, + {env, []}, + {licenses, ["Apache-2.0"]}, + {maintainers, ["EMQ X Team "]}, + {links, [{"Homepage", "https://emqx.io/"}, + {"Github", "https://github.com/emqx/emqx-auth-http"} + ]} + ]}. diff --git a/apps/emqx_auth_http/src/emqx_auth_http.app.src.script b/apps/emqx_auth_http/src/emqx_auth_http.app.src.script new file mode 100644 index 000000000..0e14ff23f --- /dev/null +++ b/apps/emqx_auth_http/src/emqx_auth_http.app.src.script @@ -0,0 +1,24 @@ +%%-*- mode: erlang -*- +%% .app.src.script + +RemoveLeadingV = + fun(Tag) -> + case re:run(Tag, "^[v|e]?[0-9]\.[0-9]\.([0-9]|(rc|beta|alpha)\.[0-9])", [{capture, none}]) of + nomatch -> + re:replace(Tag, "/", "-", [{return ,list}]); + _ -> + %% if it is a version number prefixed by 'v' or 'e', then remove it + re:replace(Tag, "[v|e]", "", [{return ,list}]) + end + end, + +case os:getenv("EMQX_DEPS_DEFAULT_VSN") of + false -> CONFIG; % env var not defined + [] -> CONFIG; % env var set to empty string + Tag -> + [begin + AppConf0 = lists:keystore(vsn, 1, AppConf, {vsn, RemoveLeadingV(Tag)}), + {application, App, AppConf0} + end || Conf = {application, App, AppConf} <- CONFIG] +end. + diff --git a/apps/emqx_auth_http/src/emqx_auth_http.erl b/apps/emqx_auth_http/src/emqx_auth_http.erl new file mode 100644 index 000000000..02afa7f2c --- /dev/null +++ b/apps/emqx_auth_http/src/emqx_auth_http.erl @@ -0,0 +1,116 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_http). + +-include("emqx_auth_http.hrl"). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). +-include_lib("emqx_libs/include/types.hrl"). + +-logger_header("[Auth http]"). + +-import(emqx_auth_http_cli, + [ request/8 + , feedvar/2 + ]). + +%% Callbacks +-export([ register_metrics/0 + , check/3 + , description/0 + ]). + +-spec(register_metrics() -> ok). +register_metrics() -> + lists:foreach(fun emqx_metrics:ensure/1, ?AUTH_METRICS). + +check(ClientInfo, AuthResult, #{auth_req := AuthReq, + super_req := SuperReq, + http_opts := HttpOpts, + retry_opts := RetryOpts, + headers := Headers}) -> + case authenticate(AuthReq, ClientInfo, Headers, HttpOpts, RetryOpts) of + {ok, 200, "ignore"} -> + emqx_metrics:inc(?AUTH_METRICS(ignore)), ok; + {ok, 200, Body} -> + emqx_metrics:inc(?AUTH_METRICS(success)), + IsSuperuser = is_superuser(SuperReq, ClientInfo, Headers, HttpOpts, RetryOpts), + {stop, AuthResult#{is_superuser => IsSuperuser, + auth_result => success, + anonymous => false, + mountpoint => mountpoint(Body, ClientInfo)}}; + {ok, Code, _Body} -> + ?LOG(error, "Deny connection from url: ~s, response http code: ~p", + [AuthReq#http_request.url, Code]), + emqx_metrics:inc(?AUTH_METRICS(failure)), + {stop, AuthResult#{auth_result => http_to_connack_error(Code), + anonymous => false}}; + {error, Error} -> + ?LOG(error, "Request auth url: ~s, error: ~p", + [AuthReq#http_request.url, Error]), + emqx_metrics:inc(?AUTH_METRICS(failure)), + %%FIXME later: server_unavailable is not right. + {stop, AuthResult#{auth_result => server_unavailable, + anonymous => false}} + end. + +description() -> "Authentication by HTTP API". + +%%-------------------------------------------------------------------- +%% Requests +%%-------------------------------------------------------------------- + +authenticate(#http_request{url = Url, + method = Method, + content_type = ContentType, + params = Params, + options = Options}, + ClientInfo, HttpHeaders, HttpOpts, RetryOpts) -> + request(Method, ContentType, Url, feedvar(Params, ClientInfo), HttpHeaders, HttpOpts, Options, RetryOpts). + +-spec(is_superuser(maybe(#http_request{}), emqx_types:client(), list(), list(), list()) -> boolean()). +is_superuser(undefined, _ClientInfo, _HttpHeaders, _HttpOpts, _RetryOpts) -> + false; +is_superuser(#http_request{url = Url, + method = Method, + content_type = ContentType, + params = Params, + options = Options}, + ClientInfo, HttpHeaders, HttpOpts, RetryOpts) -> + case request(Method, ContentType, Url, feedvar(Params, ClientInfo), HttpHeaders, HttpOpts, Options, RetryOpts) of + {ok, 200, _Body} -> true; + {ok, _Code, _Body} -> false; + {error, Error} -> ?LOG(error, "Request superuser url ~s, error: ~p", [Url, Error]), + false + end. + +mountpoint(Body, #{mountpoint := Mountpoint}) -> + case emqx_json:safe_decode(iolist_to_binary(Body), [return_maps]) of + {error, _} -> Mountpoint; + {ok, Json} when is_map(Json) -> + maps:get(<<"mountpoint">>, Json, Mountpoint); + {ok, _NotMap} -> Mountpoint + end. + +http_to_connack_error(400) -> bad_username_or_password; +http_to_connack_error(401) -> bad_username_or_password; +http_to_connack_error(403) -> not_authorized; +http_to_connack_error(429) -> banned; +http_to_connack_error(503) -> server_unavailable; +http_to_connack_error(504) -> server_busy; +http_to_connack_error(_) -> server_unavailable. diff --git a/apps/emqx_auth_http/src/emqx_auth_http_app.erl b/apps/emqx_auth_http/src/emqx_auth_http_app.erl new file mode 100644 index 000000000..51f6762ee --- /dev/null +++ b/apps/emqx_auth_http/src/emqx_auth_http_app.erl @@ -0,0 +1,103 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_http_app). + +-behaviour(application). +-behaviour(supervisor). + +-emqx_plugin(auth). + +-include("emqx_auth_http.hrl"). + +-export([ start/2 + , stop/1 + ]). +-export([init/1]). + +%%-------------------------------------------------------------------- +%% Application Callbacks +%%-------------------------------------------------------------------- + +start(_StartType, _StartArgs) -> + with_env(auth_req, fun load_auth_hook/1), + with_env(acl_req, fun load_acl_hook/1), + supervisor:start_link({local, ?MODULE}, ?MODULE, []). + +load_auth_hook(AuthReq) -> + ok = emqx_auth_http:register_metrics(), + SuperReq = r(application:get_env(?APP, super_req, undefined)), + HttpOpts = application:get_env(?APP, http_opts, []), + RetryOpts = application:get_env(?APP, retry_opts, []), + Headers = application:get_env(?APP, headers, []), + Params = #{auth_req => AuthReq, + super_req => SuperReq, + http_opts => HttpOpts, + retry_opts => maps:from_list(RetryOpts), + headers => Headers}, + emqx:hook('client.authenticate', {emqx_auth_http, check, [Params]}). + +load_acl_hook(AclReq) -> + ok = emqx_acl_http:register_metrics(), + HttpOpts = application:get_env(?APP, http_opts, []), + RetryOpts = application:get_env(?APP, retry_opts, []), + Headers = application:get_env(?APP, headers, []), + Params = #{acl_req => AclReq, + http_opts => HttpOpts, + retry_opts => maps:from_list(RetryOpts), + headers => Headers}, + emqx:hook('client.check_acl', {emqx_acl_http, check_acl, [Params]}). + +stop(_State) -> + emqx:unhook('client.authenticate', {emqx_auth_http, check}), + emqx:unhook('client.check_acl', {emqx_acl_http, check_acl}). + +%%-------------------------------------------------------------------- +%% Dummy supervisor +%%-------------------------------------------------------------------- + +init([]) -> + {ok, { {one_for_all, 10, 100}, []} }. + +%%-------------------------------------------------------------------- +%% Internel functions +%%-------------------------------------------------------------------- + +with_env(Par, Fun) -> + case application:get_env(?APP, Par) of + undefined -> ok; + {ok, Req} -> Fun(r(Req)) + end. + +r(undefined) -> + undefined; +r(Config) -> + Method = proplists:get_value(method, Config, post), + ContentType = proplists:get_value(content_type, Config, 'x-www-form-urlencoded'), + Url = proplists:get_value(url, Config), + Params = proplists:get_value(params, Config), + #http_request{method = Method, content_type = ContentType, url = Url, params = Params, options = inet(Url)}. + +inet(Url) -> + case uri_string:parse(Url) of + #{host := Host} -> + case inet:parse_address(Host) of + {ok, Ip} when tuple_size(Ip) =:= 8 -> + [{ipv6_host_with_brackets, true}, {socket_opts, [{ipfamily, inet6}]}]; + _ -> [] + end; + _ -> [] + end. diff --git a/apps/emqx_auth_http/src/emqx_auth_http_cli.erl b/apps/emqx_auth_http/src/emqx_auth_http_cli.erl new file mode 100644 index 000000000..35a20d0f0 --- /dev/null +++ b/apps/emqx_auth_http/src/emqx_auth_http_cli.erl @@ -0,0 +1,101 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_http_cli). + +-export([ request/8 + , feedvar/2 + , feedvar/3 + ]). + +%%-------------------------------------------------------------------- +%% HTTP Request +%%-------------------------------------------------------------------- + +request(get, _ContentType, Url, Params, HttpHeaders, HttpOpts, Options, RetryOpts) -> + Req = {Url ++ "?" ++ cow_qs:qs(bin_kw(Params)), HttpHeaders}, + reply(request_(get, Req, [{autoredirect, true} | HttpOpts], Options, RetryOpts)); + +request(post, 'x-www-form-urlencoded', Url, Params, HttpHeaders, HttpOpts, Options, RetryOpts) -> + Req = {Url, HttpHeaders, "application/x-www-form-urlencoded", cow_qs:qs(bin_kw(Params))}, + reply(request_(post, Req, [{autoredirect, true} | HttpOpts], Options, RetryOpts)); + +request(post, json, Url, Params, HttpHeaders, HttpOpts, Options, RetryOpts) -> + Req = {Url, HttpHeaders, "application/json", emqx_json:encode(bin_kw(Params))}, + reply(request_(post, Req, [{autoredirect, true} | HttpOpts], Options, RetryOpts)). + +request_(Method, Req, HTTPOpts, Opts, RetryOpts = #{times := Times, + interval := Interval, + backoff := BackOff}) -> + case httpc:request(Method, Req, HTTPOpts, Opts) of + {error, _Reason} when Times > 0 -> + timer:sleep(trunc(Interval)), + RetryOpts1 = RetryOpts#{times := Times - 1, + interval := Interval * BackOff}, + request_(Method, Req, HTTPOpts, Opts, RetryOpts1); + Other -> Other + end. + +reply({ok, {{_, Code, _}, _Headers, Body}}) -> + {ok, Code, Body}; +reply({ok, Code, Body}) -> + {ok, Code, Body}; +reply({error, Error}) -> + {error, Error}. + +%% TODO: move this conversion to cuttlefish config and schema +bin_kw(KeywordList) when is_list(KeywordList) -> + [{bin(K), bin(V)} || {K, V} <- KeywordList]. + +bin(Atom) when is_atom(Atom) -> + list_to_binary(atom_to_list(Atom)); +bin(Int) when is_integer(Int) -> + integer_to_binary(Int); +bin(Float) when is_float(Float) -> + float_to_binary(Float, [{decimals, 12}, compact]); +bin(List) when is_list(List)-> + list_to_binary(List); +bin(Binary) when is_binary(Binary) -> + Binary. + +%%-------------------------------------------------------------------- +%% Feed Variables +%%-------------------------------------------------------------------- + +feedvar(Params, ClientInfo = #{clientid := ClientId, + protocol := Protocol, + peerhost := Peerhost}) -> + lists:map(fun({Param, "%u"}) -> {Param, maps:get(username, ClientInfo, null)}; + ({Param, "%c"}) -> {Param, ClientId}; + ({Param, "%r"}) -> {Param, Protocol}; + ({Param, "%a"}) -> {Param, inet:ntoa(Peerhost)}; + ({Param, "%P"}) -> {Param, maps:get(password, ClientInfo, null)}; + ({Param, "%p"}) -> {Param, maps:get(sockport, ClientInfo, null)}; + ({Param, "%C"}) -> {Param, maps:get(cn, ClientInfo, null)}; + ({Param, "%d"}) -> {Param, maps:get(dn, ClientInfo, null)}; + ({Param, "%A"}) -> {Param, maps:get(access, ClientInfo, null)}; + ({Param, "%t"}) -> {Param, maps:get(topic, ClientInfo, null)}; + ({Param, "%m"}) -> {Param, maps:get(mountpoint, ClientInfo, null)}; + ({Param, Var}) -> {Param, Var} + end, Params). + +feedvar(Params, Var, Val) -> + lists:map(fun({Param, Var0}) when Var0 == Var -> + {Param, Val}; + ({Param, Var0}) -> + {Param, Var0} + end, Params). + diff --git a/apps/emqx_auth_http/test/emqx_auth_http_SUITE.erl b/apps/emqx_auth_http/test/emqx_auth_http_SUITE.erl new file mode 100644 index 000000000..e0984b134 --- /dev/null +++ b/apps/emqx_auth_http/test/emqx_auth_http_SUITE.erl @@ -0,0 +1,167 @@ +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. + +-module(emqx_auth_http_SUITE). + +-compile(export_all). +-compile(nowarn_export_all). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("common_test/include/ct.hrl"). +-include_lib("eunit/include/eunit.hrl"). + +-define(APP, emqx_auth_http). + +-define(USER(ClientId, Username, Protocol, Peerhost, Zone), + #{clientid => ClientId, username => Username, protocol => Protocol, + peerhost => Peerhost, zone => Zone}). + +-define(USER(ClientId, Username, Protocol, Peerhost, Zone, Mountpoint), + #{clientid => ClientId, username => Username, protocol => Protocol, + peerhost => Peerhost, zone => Zone, mountpoint => Mountpoint}). + +%%-------------------------------------------------------------------- +%% Setups +%%-------------------------------------------------------------------- + +all() -> + [{group, http_inet}, + {group, http_inet6}, + {group, https_inet}, + {group, https_inet6}]. + +groups() -> + Cases = emqx_ct:all(?MODULE), + [{Name, Cases} || Name <- [http_inet, http_inet6, https_inet, https_inet6]]. + +init_per_group(GrpName, Cfg) -> + [Schema, Inet] = [list_to_atom(X) || X <- string:tokens(atom_to_list(GrpName), "_")], + http_auth_server:start(Schema, Inet), + Fun = fun(App) -> set_special_configs(App, Schema, Inet) end, + emqx_ct_helpers:start_apps([emqx_auth_http], Fun), + Cfg. + +end_per_group(_GrpName, _Cfg) -> + http_auth_server:stop(), + emqx_ct_helpers:stop_apps([emqx_auth_http, emqx]). + +set_special_configs(emqx, _Schmea, _Inet) -> + application:set_env(emqx, allow_anonymous, true), + application:set_env(emqx, enable_acl_cache, false), + LoadedPluginPath = filename:join(["test", "emqx_SUITE_data", "loaded_plugins"]), + application:set_env(emqx, plugins_loaded_file, + emqx_ct_helpers:deps_path(emqx, LoadedPluginPath)); + +set_special_configs(emqx_auth_http, Schema, Inet) -> + AuthReq = maps:from_list(application:get_env(emqx_auth_http, auth_req, [])), + SuprReq = maps:from_list(application:get_env(emqx_auth_http, super_req, [])), + AclReq = maps:from_list(application:get_env(emqx_auth_http, acl_req, [])), + SvrAddr = http_server_host(Schema, Inet), + + AuthReq1 = AuthReq#{method := get, url := SvrAddr ++ "/mqtt/auth"}, + SuprReq1 = SuprReq#{method := post, content_type := 'x-www-form-urlencoded', url := SvrAddr ++ "/mqtt/superuser"}, + AclReq1 = AclReq #{method := post, content_type := json, url := SvrAddr ++ "/mqtt/acl"}, + + Schema =:= https andalso set_https_client_opts(), + + application:set_env(emqx_auth_http, auth_req, maps:to_list(AuthReq1)), + application:set_env(emqx_auth_http, super_req, maps:to_list(SuprReq1)), + application:set_env(emqx_auth_http, acl_req, maps:to_list(AclReq1)). + +%% @private +set_https_client_opts() -> + HttpOpts = maps:from_list(application:get_env(emqx_auth_http, http_opts, [])), + HttpOpts1 = HttpOpts#{ssl => emqx_ct_helpers:client_ssl_twoway()}, + application:set_env(emqx_auth_http, http_opts, maps:to_list(HttpOpts1)). + +%% @private +http_server_host(http, inet) -> "http://127.0.0.1:8991"; +http_server_host(http, inet6) -> "http://[::1]:8991"; +http_server_host(https, inet) -> "https://127.0.0.1:8991"; +http_server_host(https, inet6) -> "https://[::1]:8991". + +%%------------------------------------------------------------------------------ +%% Testcases +%%------------------------------------------------------------------------------ + +t_check_acl(_) -> + SuperUser = ?USER(<<"superclient">>, <<"superuser">>, mqtt, {127,0,0,1}, external), + deny = emqx_access_control:check_acl(SuperUser, subscribe, <<"users/testuser/1">>), + deny = emqx_access_control:check_acl(SuperUser, publish, <<"anytopic">>), + + User1 = ?USER(<<"client1">>, <<"testuser">>, mqtt, {127,0,0,1}, external), + UnIpUser1 = ?USER(<<"client1">>, <<"testuser">>, mqtt, {192,168,0,4}, external), + UnClientIdUser1 = ?USER(<<"unkonwc">>, <<"testuser">>, mqtt, {127,0,0,1}, external), + UnnameUser1= ?USER(<<"client1">>, <<"unuser">>, mqtt, {127,0,0,1}, external), + allow = emqx_access_control:check_acl(User1, subscribe, <<"users/testuser/1">>), + deny = emqx_access_control:check_acl(User1, publish, <<"users/testuser/1">>), + deny = emqx_access_control:check_acl(UnIpUser1, subscribe, <<"users/testuser/1">>), + deny = emqx_access_control:check_acl(UnClientIdUser1, subscribe, <<"users/testuser/1">>), + deny = emqx_access_control:check_acl(UnnameUser1, subscribe, <<"$SYS/testuser/1">>), + + User2 = ?USER(<<"client2">>, <<"xyz">>, mqtt, {127,0,0,1}, external), + UserC = ?USER(<<"client2">>, <<"xyz">>, mqtt, {192,168,1,3}, external), + allow = emqx_access_control:check_acl(UserC, publish, <<"a/b/c">>), + deny = emqx_access_control:check_acl(User2, publish, <<"a/b/c">>), + deny = emqx_access_control:check_acl(User2, subscribe, <<"$SYS/testuser/1">>). + +t_check_auth(_) -> + User1 = ?USER(<<"client1">>, <<"testuser1">>, mqtt, {127,0,0,1}, external, undefined), + User2 = ?USER(<<"client2">>, <<"testuser2">>, mqtt, {127,0,0,1}, exteneral, undefined), + User3 = ?USER(<<"client3">>, undefined, mqtt, {127,0,0,1}, exteneral, undefined), + + {ok, #{auth_result := success, + anonymous := false, + is_superuser := false}} = emqx_access_control:authenticate(User1#{password => <<"pass1">>}), + {error, bad_username_or_password} = emqx_access_control:authenticate(User1#{password => <<"pass">>}), + {error, bad_username_or_password} = emqx_access_control:authenticate(User1#{password => <<>>}), + + {ok, #{is_superuser := false}} = emqx_access_control:authenticate(User2#{password => <<"pass2">>}), + {error, bad_username_or_password} = emqx_access_control:authenticate(User2#{password => <<>>}), + {error, bad_username_or_password} = emqx_access_control:authenticate(User2#{password => <<"errorpwd">>}), + + {error, bad_username_or_password} = emqx_access_control:authenticate(User3#{password => <<"pwd">>}). + +t_sub_pub(_) -> + ct:pal("start client"), + {ok, T1} = emqtt:start_link([{host, "localhost"}, + {clientid, <<"client1">>}, + {username, <<"testuser1">>}, + {password, <<"pass1">>}]), + {ok, _} = emqtt:connect(T1), + emqtt:publish(T1, <<"topic">>, <<"body">>, [{qos, 0}, {retain, true}]), + timer:sleep(1000), + {ok, T2} = emqtt:start_link([{host, "localhost"}, + {clientid, <<"client2">>}, + {username, <<"testuser2">>}, + {password, <<"pass2">>}]), + {ok, _} = emqtt:connect(T2), + emqtt:subscribe(T2, <<"topic">>), + receive + {publish, _Topic, Payload} -> + ?assertEqual(<<"body">>, Payload) + after 1000 -> false end, + emqtt:disconnect(T1), + emqtt:disconnect(T2). + +t_comment_config(_) -> + AuthCount = length(emqx_hooks:lookup('client.authenticate')), + AclCount = length(emqx_hooks:lookup('client.check_acl')), + application:stop(?APP), + [application:unset_env(?APP, Par) || Par <- [acl_req, auth_req]], + application:start(?APP), + ?assertEqual([], emqx_hooks:lookup('client.authenticate')), + ?assertEqual(AuthCount - 1, length(emqx_hooks:lookup('client.authenticate'))), + ?assertEqual(AclCount - 1, length(emqx_hooks:lookup('client.check_acl'))). + diff --git a/apps/emqx_auth_http/test/http_auth_server.erl b/apps/emqx_auth_http/test/http_auth_server.erl new file mode 100644 index 000000000..54c4d38b3 --- /dev/null +++ b/apps/emqx_auth_http/test/http_auth_server.erl @@ -0,0 +1,152 @@ +-module(http_auth_server). + +-export([ start/2 + , stop/0 + ]). + +-define(SUPERUSER, [[{"username", "superuser"}, {"clientid", "superclient"}]]). + +-define(ACL, [[{<<"username">>, <<"testuser">>}, + {<<"clientid">>, <<"client1">>}, + {<<"access">>, <<"1">>}, + {<<"topic">>, <<"users/testuser/1">>}, + {<<"ipaddr">>, <<"127.0.0.1">>}, + {<<"mountpoint">>, <<"null">>}], + [{<<"username">>, <<"xyz">>}, + {<<"clientid">>, <<"client2">>}, + {<<"access">>, <<"2">>}, + {<<"topic">>, <<"a/b/c">>}, + {<<"ipaddr">>, <<"192.168.1.3">>}, + {<<"mountpoint">>, <<"null">>}], + [{<<"username">>, <<"testuser1">>}, + {<<"clientid">>, <<"client1">>}, + {<<"access">>, <<"2">>}, + {<<"topic">>, <<"topic">>}, + {<<"ipaddr">>, <<"127.0.0.1">>}, + {<<"mountpoint">>, <<"null">>}], + [{<<"username">>, <<"testuser2">>}, + {<<"clientid">>, <<"client2">>}, + {<<"access">>, <<"1">>}, + {<<"topic">>, <<"topic">>}, + {<<"ipaddr">>, <<"127.0.0.1">>}, + {<<"mountpoint">>, <<"null">>}]]). + +-define(AUTH, [[{<<"clientid">>, <<"client1">>}, + {<<"username">>, <<"testuser1">>}, + {<<"password">>, <<"pass1">>}], + [{<<"clientid">>, <<"client2">>}, + {<<"username">>, <<"testuser2">>}, + {<<"password">>, <<"pass2">>}]]). + +%%------------------------------------------------------------------------------ +%% REST Interface +%%------------------------------------------------------------------------------ + +-rest_api(#{ name => auth + , method => 'GET' + , path => "/mqtt/auth" + , func => authenticate + , descr => "Authenticate user access permission" + }). + +-rest_api(#{ name => is_superuser + , method => 'GET' + , path => "/mqtt/superuser" + , func => is_superuser + , descr => "Is super user" + }). + +-rest_api(#{ name => acl + , method => 'GET' + , path => "/mqtt/acl" + , func => check_acl + , descr => "Check acl" + }). + +-rest_api(#{ name => auth + , method => 'POST' + , path => "/mqtt/auth" + , func => authenticate + , descr => "Authenticate user access permission" + }). + +-rest_api(#{ name => is_superuser + , method => 'POST' + , path => "/mqtt/superuser" + , func => is_superuser + , descr => "Is super user" + }). + +-rest_api(#{ name => acl + , method => 'POST' + , path => "/mqtt/acl" + , func => check_acl + , descr => "Check acl" + }). + +-export([ authenticate/2 + , is_superuser/2 + , check_acl/2 + ]). + +authenticate(_Binding, Params) -> + return(check(Params, ?AUTH)). + +is_superuser(_Binding, Params) -> + return(check(Params, ?SUPERUSER)). + +check_acl(_Binding, Params) -> + return(check(Params, ?ACL)). + +return(allow) -> {200, <<"allow">>}; +return(deny) -> {400, <<"deny">>}. + +start(http, Inet) -> + application:ensure_all_started(minirest), + Handlers = [{"/", minirest:handler(#{modules => [?MODULE]})}], + Dispatch = [{"/[...]", minirest, Handlers}], + minirest:start_http(http_auth_server, #{socket_opts => [Inet, {port, 8991}]}, Dispatch); + +start(https, Inet) -> + application:ensure_all_started(minirest), + Handlers = [{"/", minirest:handler(#{modules => [?MODULE]})}], + Dispatch = [{"/[...]", minirest, Handlers}], + minirest:start_https(http_auth_server, #{socket_opts => [Inet, {port, 8991} | certopts()]}, Dispatch). + +%% @private +certopts() -> + Certfile = filename:join(["etc", "certs", "cert.pem"]), + Keyfile = filename:join(["etc", "certs", "key.pem"]), + CaCert = filename:join(["etc", "certs", "cacert.pem"]), + [{verify, verify_peer}, + {certfile, emqx_ct_helpers:deps_path(emqx, Certfile)}, + {keyfile, emqx_ct_helpers:deps_path(emqx, Keyfile)}, + {cacertfile, emqx_ct_helpers:deps_path(emqx, CaCert)}] ++ emqx_ct_helpers:client_ssl(). + +stop() -> + minirest:stop_http(http_auth_server). + +-spec check(HttpReqParams :: list(), DefinedConf :: list()) -> allow | deny. +check(_Params, []) -> + %ct:pal("check auth_result: deny~n"), + deny; +check(Params, [ConfRecord|T]) -> + % ct:pal("Params: ~p, ConfRecord:~p ~n", [Params, ConfRecord]), + case match_config(Params, ConfRecord) of + not_match -> + check(Params, T); + matched -> allow + end. + +match_config([], _ConfigColumn) -> + %ct:pal("match_config auth_result: matched~n"), + matched; + +match_config([Param|T], ConfigColumn) -> + %ct:pal("Param: ~p, ConfigColumn:~p ~n", [Param, ConfigColumn]), + case lists:member(Param, ConfigColumn) of + true -> + match_config(T, ConfigColumn); + false -> + not_match + end. diff --git a/apps/emqx_auth_jwt/README.md b/apps/emqx_auth_jwt/README.md new file mode 100644 index 000000000..9675ae87c --- /dev/null +++ b/apps/emqx_auth_jwt/README.md @@ -0,0 +1,90 @@ + +# emqx-auth-jwt + +EMQ X JWT Authentication Plugin + +Build +----- + +``` +make && make tests +``` + +Configure the Plugin +-------------------- + +File: etc/plugins/emqx_auth_jwt.conf + +``` +## HMAC Hash Secret. +## +## Value: String +auth.jwt.secret = emqxsecret + +## From where the JWT string can be got +## +## Value: username | password +## Default: password +auth.jwt.from = password + +## RSA or ECDSA public key file. +## +## Value: File +## auth.jwt.pubkey = etc/certs/jwt_public_key.pem + +## Enable to verify claims fields +## +## Value: on | off +auth.jwt.verify_claims = off + +## The checklist of claims to validate +## +## Value: String +## auth.jwt.verify_claims.$name = expected +## +## Variables: +## - %u: username +## - %c: clientid +# auth.jwt.verify_claims.username = %u +``` + +Load the Plugin +--------------- + +``` +./bin/emqx_ctl plugins load emqx_auth_jwt +``` + +Example +------- + +``` +mosquitto_pub -t 'pub' -m 'hello' -i test -u test -P eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiYm9iIiwiYWdlIjoyOX0.bIV_ZQ8D5nQi0LT8AVkpM4Pd6wmlbpR9S8nOLJAsA8o +``` + +Algorithms +---------- + +The JWT spec supports several algorithms for cryptographic signing. This plugin currently supports: + +* HS256 - HMAC using SHA-256 hash algorithm +* HS384 - HMAC using SHA-384 hash algorithm +* HS512 - HMAC using SHA-512 hash algorithm + +* RS256 - RSA with the SHA-256 hash algorithm +* RS384 - RSA with the SHA-384 hash algorithm +* RS512 - RSA with the SHA-512 hash algorithm + +* ES256 - ECDSA using the P-256 curve +* ES384 - ECDSA using the P-384 curve +* ES512 - ECDSA using the P-512 curve + +License +------- + +Apache License Version 2.0 + +Author +------ + +EMQ X Team. diff --git a/apps/emqx_auth_jwt/TODO.md b/apps/emqx_auth_jwt/TODO.md new file mode 100644 index 000000000..dfd730e0a --- /dev/null +++ b/apps/emqx_auth_jwt/TODO.md @@ -0,0 +1,2 @@ +1. Notice for the [Critical vulnerabilities in JSON Web Token](https://auth0.com/blog/critical-vulnerabilities-in-json-web-token-libraries/) + diff --git a/apps/emqx_auth_jwt/doc/hmac-vs-ecdsa-for-jwt.txt b/apps/emqx_auth_jwt/doc/hmac-vs-ecdsa-for-jwt.txt new file mode 100644 index 000000000..88fa5ebde --- /dev/null +++ b/apps/emqx_auth_jwt/doc/hmac-vs-ecdsa-for-jwt.txt @@ -0,0 +1,3 @@ + +https://crypto.stackexchange.com/questions/30657/hmac-vs-ecdsa-for-jwt + diff --git a/apps/emqx_auth_jwt/priv/emqx_auth_jwt.schema b/apps/emqx_auth_jwt/priv/emqx_auth_jwt.schema new file mode 100644 index 000000000..e8210a8cd --- /dev/null +++ b/apps/emqx_auth_jwt/priv/emqx_auth_jwt.schema @@ -0,0 +1,48 @@ +%%-*- mode: erlang -*- + +{mapping, "auth.jwt.secret", "emqx_auth_jwt.secret", [ + {datatype, string} +]}. + +{mapping, "auth.jwt.from", "emqx_auth_jwt.from", [ + {default, password}, + {datatype, atom} +]}. + +{mapping, "auth.jwt.pubkey", "emqx_auth_jwt.pubkey", [ + {datatype, string} +]}. + +{mapping, "auth.jwt.verify_claims", "emqx_auth_jwt.verify_claims", [ + {default, off}, + {datatype, flag} +]}. + +{mapping, "auth.jwt.verify_claims.$name", "emqx_auth_jwt.verify_claims", [ + {datatype, string} +]}. + +{translation, "emqx_auth_jwt.verify_claims", fun(Conf) -> + case cuttlefish:conf_get("auth.jwt.verify_claims", Conf) of + false -> cuttlefish:unset(); + true -> + lists:foldr( + fun({["auth","jwt","verify_claims", Name], Value}, Acc) -> + [{list_to_atom(Name), list_to_binary(Value)} | Acc]; + ({["auth","jwt","verify_claims"], _Value}, Acc) -> + Acc + end, [], cuttlefish_variable:filter_by_prefix("auth.jwt.verify_claims", Conf)) + end +end}. + +{mapping, "auth.jwt.signature_format", "emqx_auth_jwt.jwerl_opts", [ + {default, "der"}, + {datatype, {enum, [raw, der]}} +]}. + +{translation, "emqx_auth_jwt.jwerl_opts", fun(Conf) -> + Filter = fun(L) -> [I || I <- L, I /= undefined] end, + maps:from_list(Filter( + [{raw, cuttlefish:conf_get("auth.jwt.signature_format", Conf) == raw}] + )) +end}. diff --git a/apps/emqx_auth_jwt/rebar.config b/apps/emqx_auth_jwt/rebar.config new file mode 100644 index 000000000..0728a0b95 --- /dev/null +++ b/apps/emqx_auth_jwt/rebar.config @@ -0,0 +1,3 @@ +{deps, + [{jwerl, {git, "https://github.com/emqx/jwerl.git", {branch, "1.1.1"}}} + ]}. diff --git a/apps/emqx_auth_jwt/src/emqx_auth_jwt.app.src b/apps/emqx_auth_jwt/src/emqx_auth_jwt.app.src new file mode 100644 index 000000000..0ec50d825 --- /dev/null +++ b/apps/emqx_auth_jwt/src/emqx_auth_jwt.app.src @@ -0,0 +1,14 @@ +{application, emqx_auth_jwt, + [{description, "EMQ X Authentication with JWT"}, + {vsn, "git"}, + {modules, []}, + {registered, [emqx_auth_jwt_sup]}, + {applications, [kernel,stdlib,jwerl,emqx_libs]}, + {mod, {emqx_auth_jwt_app, []}}, + {env, []}, + {licenses, ["Apache-2.0"]}, + {maintainers, ["EMQ X Team "]}, + {links, [{"Homepage", "https://emqx.io/"}, + {"Github", "https://github.com/emqx/emqx-auth-jwt"} + ]} + ]}. diff --git a/apps/emqx_auth_jwt/src/emqx_auth_jwt.app.src.script b/apps/emqx_auth_jwt/src/emqx_auth_jwt.app.src.script new file mode 100644 index 000000000..0e14ff23f --- /dev/null +++ b/apps/emqx_auth_jwt/src/emqx_auth_jwt.app.src.script @@ -0,0 +1,24 @@ +%%-*- mode: erlang -*- +%% .app.src.script + +RemoveLeadingV = + fun(Tag) -> + case re:run(Tag, "^[v|e]?[0-9]\.[0-9]\.([0-9]|(rc|beta|alpha)\.[0-9])", [{capture, none}]) of + nomatch -> + re:replace(Tag, "/", "-", [{return ,list}]); + _ -> + %% if it is a version number prefixed by 'v' or 'e', then remove it + re:replace(Tag, "[v|e]", "", [{return ,list}]) + end + end, + +case os:getenv("EMQX_DEPS_DEFAULT_VSN") of + false -> CONFIG; % env var not defined + [] -> CONFIG; % env var set to empty string + Tag -> + [begin + AppConf0 = lists:keystore(vsn, 1, AppConf, {vsn, RemoveLeadingV(Tag)}), + {application, App, AppConf0} + end || Conf = {application, App, AppConf} <- CONFIG] +end. + diff --git a/apps/emqx_auth_jwt/src/emqx_auth_jwt.erl b/apps/emqx_auth_jwt/src/emqx_auth_jwt.erl new file mode 100644 index 000000000..551f5c6b4 --- /dev/null +++ b/apps/emqx_auth_jwt/src/emqx_auth_jwt.erl @@ -0,0 +1,146 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_jwt). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). + +-logger_header("[JWT]"). + +-export([ register_metrics/0 + , check/3 + , description/0 + ]). + +-record(auth_metrics, { + success = 'client.auth.success', + failure = 'client.auth.failure', + ignore = 'client.auth.ignore' + }). + +-define(METRICS(Type), tl(tuple_to_list(#Type{}))). +-define(METRICS(Type, K), #Type{}#Type.K). + +-define(AUTH_METRICS, ?METRICS(auth_metrics)). +-define(AUTH_METRICS(K), ?METRICS(auth_metrics, K)). + +-spec(register_metrics() -> ok). +register_metrics() -> + lists:foreach(fun emqx_metrics:ensure/1, ?AUTH_METRICS). + +%%-------------------------------------------------------------------- +%% Authentication callbacks +%%-------------------------------------------------------------------- + +check(ClientInfo, AuthResult, Env = #{from := From, checklists := Checklists}) -> + case maps:find(From, ClientInfo) of + error -> + ok = emqx_metrics:inc(?AUTH_METRICS(ignore)), + {ok, AuthResult#{auth_result => token_undefined, anonymous => false}}; + {ok, Token} -> + try jwerl:header(Token) of + Headers -> + case verify_token(Headers, Token, Env) of + {ok, Claims} -> + {stop, maps:merge(AuthResult, verify_claims(Checklists, Claims, ClientInfo))}; + {error, Reason} -> + ok = emqx_metrics:inc(?AUTH_METRICS(failure)), + {stop, AuthResult#{auth_result => Reason, anonymous => false}} + end + catch + _Error:Reason -> + ?LOG(error, "Check token error: ~p", [Reason]), + emqx_metrics:inc(?AUTH_METRICS(ignore)) + end + end. + +description() -> "Authentication with JWT". + +%%-------------------------------------------------------------------- +%% Verify Token +%%-------------------------------------------------------------------- + +verify_token(#{alg := <<"HS", _/binary>>}, _Token, #{secret := undefined}) -> + {error, hmac_secret_undefined}; +verify_token(#{alg := Alg = <<"HS", _/binary>>}, Token, #{secret := Secret, opts := Opts}) -> + verify_token2(Alg, Token, Secret, Opts); + +verify_token(#{alg := <<"RS", _/binary>>}, _Token, #{pubkey := undefined}) -> + {error, rsa_pubkey_undefined}; +verify_token(#{alg := Alg = <<"RS", _/binary>>}, Token, #{pubkey := PubKey, opts := Opts}) -> + verify_token2(Alg, Token, PubKey, Opts); + +verify_token(#{alg := <<"ES", _/binary>>}, _Token, #{pubkey := undefined}) -> + {error, ecdsa_pubkey_undefined}; +verify_token(#{alg := Alg = <<"ES", _/binary>>}, Token, #{pubkey := PubKey, opts := Opts}) -> + verify_token2(Alg, Token, PubKey, Opts); + +verify_token(Header, _Token, _Env) -> + ?LOG(error, "Unsupported token algorithm: ~p", [Header]), + {error, token_unsupported}. + +verify_token2(Alg, Token, SecretOrKey, Opts) -> + try jwerl:verify(Token, decode_algo(Alg), SecretOrKey, #{}, Opts) of + {ok, Claims} -> + {ok, Claims}; + {error, Reason} -> + {error, Reason} + catch + _Error:Reason -> + {error, Reason} + end. + +decode_algo(<<"HS256">>) -> hs256; +decode_algo(<<"HS384">>) -> hs384; +decode_algo(<<"HS512">>) -> hs512; +decode_algo(<<"RS256">>) -> rs256; +decode_algo(<<"RS384">>) -> rs384; +decode_algo(<<"RS512">>) -> rs512; +decode_algo(<<"ES256">>) -> es256; +decode_algo(<<"ES384">>) -> es384; +decode_algo(<<"ES512">>) -> es512; +decode_algo(<<"none">>) -> none; +decode_algo(Alg) -> throw({error, {unsupported_algorithm, Alg}}). + +%%-------------------------------------------------------------------- +%% Verify Claims +%%-------------------------------------------------------------------- + +verify_claims(Checklists, Claims, ClientInfo) -> + case do_verify_claims(feedvar(Checklists, ClientInfo), Claims) of + {error, Reason} -> + ok = emqx_metrics:inc(?AUTH_METRICS(failure)), + #{auth_result => Reason, anonymous => false}; + ok -> + ok = emqx_metrics:inc(?AUTH_METRICS(success)), + #{auth_result => success, anonymous => false, jwt_claims => Claims} + end. + +do_verify_claims([], _Claims) -> + ok; +do_verify_claims([{Key, Expected} | L], Claims) -> + case maps:get(Key, Claims, undefined) =:= Expected of + true -> do_verify_claims(L, Claims); + false -> {error, {verify_claim_failed, Key}} + end. + +feedvar(Checklists, #{username := Username, clientid := ClientId}) -> + lists:map(fun({K, <<"%u">>}) -> {K, Username}; + ({K, <<"%c">>}) -> {K, ClientId}; + ({K, Expected}) -> {K, Expected} + end, Checklists). + diff --git a/apps/emqx_auth_jwt/src/emqx_auth_jwt_app.erl b/apps/emqx_auth_jwt/src/emqx_auth_jwt_app.erl new file mode 100644 index 000000000..511f6e826 --- /dev/null +++ b/apps/emqx_auth_jwt/src/emqx_auth_jwt_app.erl @@ -0,0 +1,69 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_jwt_app). + +-behaviour(application). + +-behaviour(supervisor). + +-emqx_plugin(auth). + +-export([start/2, stop/1]). + +-export([init/1]). + +-define(APP, emqx_auth_jwt). + +-define(JWT_ACTION, {emqx_auth_jwt, check, [auth_env()]}). + +start(_Type, _Args) -> + ok = emqx_auth_jwt:register_metrics(), + emqx:hook('client.authenticate', ?JWT_ACTION), + supervisor:start_link({local, ?MODULE}, ?MODULE, []). + +stop(_State) -> + emqx:unhook('client.authenticate', ?JWT_ACTION). + +%%-------------------------------------------------------------------- +%% Dummy supervisor +%%-------------------------------------------------------------------- + +init([]) -> + {ok, { {one_for_all, 1, 10}, []} }. + +%%-------------------------------------------------------------------- +%% Internal functions +%%-------------------------------------------------------------------- + +auth_env() -> + #{secret => env(secret, undefined), + from => env(from, password), + pubkey => read_pubkey(), + checklists => env(verify_claims, []), + opts => env(jwerl_opts, #{}) + }. + +read_pubkey() -> + case env(pubkey, undefined) of + undefined -> undefined; + Path -> + {ok, PubKey} = file:read_file(Path), PubKey + end. + +env(Key, Default) -> + application:get_env(?APP, Key, Default). + diff --git a/apps/emqx_auth_jwt/test/emqx_auth_jwt_SUITE.erl b/apps/emqx_auth_jwt/test/emqx_auth_jwt_SUITE.erl new file mode 100644 index 000000000..dcb1f2758 --- /dev/null +++ b/apps/emqx_auth_jwt/test/emqx_auth_jwt_SUITE.erl @@ -0,0 +1,137 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_jwt_SUITE). + +-compile(nowarn_export_all). +-compile(export_all). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("eunit/include/eunit.hrl"). +-include_lib("common_test/include/ct.hrl"). + +-define(APP, emqx_auth_jwt). + +all() -> + [{group, emqx_auth_jwt}]. + +groups() -> + [{emqx_auth_jwt, [sequence], [ t_check_auth + , t_check_claims + , t_check_claims_clientid + , t_check_claims_username + ]} + ]. + +init_per_suite(Config) -> + emqx_ct_helpers:start_apps([emqx, emqx_auth_jwt], fun set_special_configs/1), + Config. + +end_per_suite(_Config) -> + emqx_ct_helpers:stop_apps([emqx_auth_jwt, emqx]). + +set_special_configs(emqx) -> + application:set_env(emqx, allow_anonymous, false), + application:set_env(emqx, acl_nomatch, deny), + application:set_env(emqx, enable_acl_cache, false), + LoadedPluginPath = filename:join(["test", "emqx_SUITE_data", "loaded_plugins"]), + AclFilePath = filename:join(["test", "emqx_SUITE_data", "acl.conf"]), + application:set_env(emqx, plugins_loaded_file, + emqx_ct_helpers:deps_path(emqx, LoadedPluginPath)), + application:set_env(emqx, acl_file, + emqx_ct_helpers:deps_path(emqx, AclFilePath)); + +set_special_configs(emqx_auth_jwt) -> + application:set_env(emqx_auth_jwt, secret, "emqxsecret"), + application:set_env(emqx_auth_jwt, from, password); + +set_special_configs(_) -> + ok. + +%%------------------------------------------------------------------------------ +%% Testcases +%%------------------------------------------------------------------------------ + +t_check_auth(_) -> + Plain = #{clientid => <<"client1">>, username => <<"plain">>, zone => external}, + Jwt = jwerl:sign([{clientid, <<"client1">>}, + {username, <<"plain">>}, + {exp, os:system_time(seconds) + 3}], hs256, <<"emqxsecret">>), + ct:pal("Jwt: ~p~n", [Jwt]), + + Result0 = emqx_access_control:authenticate(Plain#{password => Jwt}), + ct:pal("Auth result: ~p~n", [Result0]), + ?assertMatch({ok, #{auth_result := success, jwt_claims := #{clientid := <<"client1">>}}}, Result0), + + ct:sleep(3100), + Result1 = emqx_access_control:authenticate(Plain#{password => Jwt}), + ct:pal("Auth result after 1000ms: ~p~n", [Result1]), + ?assertMatch({error, _}, Result1), + + Jwt_Error = jwerl:sign([{clientid, <<"client1">>}, + {username, <<"plain">>}], hs256, <<"secret">>), + ct:pal("invalid jwt: ~p~n", [Jwt_Error]), + Result2 = emqx_access_control:authenticate(Plain#{password => Jwt_Error}), + ct:pal("Auth result for the invalid jwt: ~p~n", [Result2]), + ?assertEqual({error, invalid_signature}, Result2), + ?assertMatch({error, _}, emqx_access_control:authenticate(Plain#{password => <<"asd">>})). + +t_check_claims(_) -> + application:set_env(emqx_auth_jwt, verify_claims, [{sub, <<"value">>}]), + Plain = #{clientid => <<"client1">>, username => <<"plain">>, zone => external}, + Jwt = jwerl:sign([{clientid, <<"client1">>}, + {username, <<"plain">>}, + {sub, value}, + {exp, os:system_time(seconds) + 3}], hs256, <<"emqxsecret">>), + Result0 = emqx_access_control:authenticate(Plain#{password => Jwt}), + ct:pal("Auth result: ~p~n", [Result0]), + ?assertMatch({ok, #{auth_result := success, jwt_claims := _}}, Result0), + Jwt_Error = jwerl:sign([{clientid, <<"client1">>}, + {username, <<"plain">>}], hs256, <<"secret">>), + Result2 = emqx_access_control:authenticate(Plain#{password => Jwt_Error}), + ct:pal("Auth result for the invalid jwt: ~p~n", [Result2]), + ?assertEqual({error, invalid_signature}, Result2). + +t_check_claims_clientid(_) -> + application:set_env(emqx_auth_jwt, verify_claims, [{clientid, <<"%c">>}]), + Plain = #{clientid => <<"client23">>, username => <<"plain">>, zone => external}, + Jwt = jwerl:sign([{clientid, <<"client23">>}, + {username, <<"plain">>}, + {exp, os:system_time(seconds) + 3}], hs256, <<"emqxsecret">>), + Result0 = emqx_access_control:authenticate(Plain#{password => Jwt}), + ct:pal("Auth result: ~p~n", [Result0]), + ?assertMatch({ok, #{auth_result := success, jwt_claims := _}}, Result0), + Jwt_Error = jwerl:sign([{clientid, <<"client1">>}, + {username, <<"plain">>}], hs256, <<"secret">>), + Result2 = emqx_access_control:authenticate(Plain#{password => Jwt_Error}), + ct:pal("Auth result for the invalid jwt: ~p~n", [Result2]), + ?assertEqual({error, invalid_signature}, Result2). + +t_check_claims_username(_) -> + application:set_env(emqx_auth_jwt, verify_claims, [{username, <<"%u">>}]), + Plain = #{clientid => <<"client23">>, username => <<"plain">>, zone => external}, + Jwt = jwerl:sign([{clientid, <<"client23">>}, + {username, <<"plain">>}, + {exp, os:system_time(seconds) + 3}], hs256, <<"emqxsecret">>), + Result0 = emqx_access_control:authenticate(Plain#{password => Jwt}), + ct:pal("Auth result: ~p~n", [Result0]), + ?assertMatch({ok, #{auth_result := success, jwt_claims := _}}, Result0), + Jwt_Error = jwerl:sign([{clientid, <<"client1">>}, + {username, <<"plain">>}], hs256, <<"secret">>), + Result3 = emqx_access_control:authenticate(Plain#{password => Jwt_Error}), + ct:pal("Auth result for the invalid jwt: ~p~n", [Result3]), + ?assertEqual({error, invalid_signature}, Result3). + diff --git a/apps/emqx_auth_ldap/.ci/docker-compose.yml b/apps/emqx_auth_ldap/.ci/docker-compose.yml new file mode 100644 index 000000000..bba9b711f --- /dev/null +++ b/apps/emqx_auth_ldap/.ci/docker-compose.yml @@ -0,0 +1,26 @@ +version: '3' + +services: + erlang: + image: erlang:22.1 + volumes: + - ../:/emqx_auth_ldap + networks: + - emqx_bridge + depends_on: + - ldap_server + tty: true + + ldap_server: + build: ./emqx-ldap + image: emqx-ldap:1.0 + restart: always + ports: + - 389:389 + - 636:636 + networks: + - emqx_bridge + +networks: + emqx_bridge: + driver: bridge diff --git a/apps/emqx_auth_ldap/.ci/emqx-ldap/Dockerfile b/apps/emqx_auth_ldap/.ci/emqx-ldap/Dockerfile new file mode 100644 index 000000000..0a01572c4 --- /dev/null +++ b/apps/emqx_auth_ldap/.ci/emqx-ldap/Dockerfile @@ -0,0 +1,26 @@ +FROM buildpack-deps:stretch + +ENV VERSION=2.4.50 + +RUN apt-get update && apt-get install -y groff groff-base +RUN wget ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-${VERSION}.tgz \ + && gunzip -c openldap-${VERSION}.tgz | tar xvfB - \ + && cd openldap-${VERSION} \ + && ./configure && make depend && make && make install \ + && cd .. && rm -rf openldap-${VERSION} + +COPY ./slapd.conf /usr/local/etc/openldap/slapd.conf +COPY ./emqx.io.ldif /usr/local/etc/openldap/schema/emqx.io.ldif +COPY ./emqx.schema /usr/local/etc/openldap/schema/emqx.schema +COPY ./*.pem /usr/local/etc/openldap/ + +RUN mkdir -p /usr/local/etc/openldap/data \ + && slapadd -l /usr/local/etc/openldap/schema/emqx.io.ldif -f /usr/local/etc/openldap/slapd.conf + +WORKDIR /usr/local/etc/openldap + +EXPOSE 389 636 + +ENTRYPOINT ["/usr/local/libexec/slapd", "-h", "ldap:/// ldaps:///", "-d", "3", "-f", "/usr/local/etc/openldap/slapd.conf"] + +CMD [] diff --git a/apps/emqx_auth_ldap/.ci/emqx-ldap/slapd.conf b/apps/emqx_auth_ldap/.ci/emqx-ldap/slapd.conf new file mode 100644 index 000000000..d6ba20caa --- /dev/null +++ b/apps/emqx_auth_ldap/.ci/emqx-ldap/slapd.conf @@ -0,0 +1,16 @@ +include /usr/local/etc/openldap/schema/core.schema +include /usr/local/etc/openldap/schema/cosine.schema +include /usr/local/etc/openldap/schema/inetorgperson.schema +include /usr/local/etc/openldap/schema/ppolicy.schema +include /usr/local/etc/openldap/schema/emqx.schema + +TLSCACertificateFile /usr/local/etc/openldap/cacert.pem +TLSCertificateFile /usr/local/etc/openldap/cert.pem +TLSCertificateKeyFile /usr/local/etc/openldap/key.pem + +database bdb +suffix "dc=emqx,dc=io" +rootdn "cn=root,dc=emqx,dc=io" +rootpw {SSHA}eoF7NhNrejVYYyGHqnt+MdKNBh4r1w3W + +directory /usr/local/etc/openldap/data diff --git a/apps/emqx_auth_ldap/README.md b/apps/emqx_auth_ldap/README.md new file mode 100644 index 000000000..c4d56c839 --- /dev/null +++ b/apps/emqx_auth_ldap/README.md @@ -0,0 +1,96 @@ +emqx_auth_ldap +============== + +EMQ X LDAP Authentication Plugin + +Build +----- + +``` +make +``` + +Load the Plugin +--------------- + +``` +# ./bin/emqx_ctl plugins load emqx_auth_ldap +``` + +Generate Password +--------------- + +``` +slappasswd -h '{ssha}' -s public +``` + +Configuration Open LDAP +----------------------- + +vim /etc/openldap/slapd.conf + +``` +include /etc/openldap/schema/core.schema +include /etc/openldap/schema/cosine.schema +include /etc/openldap/schema/inetorgperson.schema +include /etc/openldap/schema/ppolicy.schema +include /etc/openldap/schema/emqx.schema + +database bdb +suffix "dc=emqx,dc=io" +rootdn "cn=root,dc=emqx,dc=io" +rootpw {SSHA}eoF7NhNrejVYYyGHqnt+MdKNBh4r1w3W + +directory /etc/openldap/data +``` + +If the ldap launched with error below: +``` +Unrecognized database type (bdb) +5c4a72b9 slapd.conf: line 7: failed init (bdb) +slapadd: bad configuration file! +``` + +Insert lines to the slapd.conf +``` +modulepath /usr/lib/ldap +moduleload back_bdb.la +``` + +Import EMQX User Data +---------------------- + +Use ldapadd +``` +# ldapadd -x -D "cn=root,dc=emqx,dc=io" -w public -f emqx.com.ldif +``` + +Use slapadd +``` +# sudo slapadd -l schema/emqx.io.ldif -f slapd.conf +``` + +Launch slapd +``` +# sudo slapd -d 3 +``` + +Test +----- +After configure slapd correctly and launch slapd successfully. +You could execute + +``` bash +# make tests +``` + +License +------- + +Apache License Version 2.0 + +Author +------ + +EMQ X Team. + diff --git a/apps/emqx_auth_ldap/emqx.io.ldif b/apps/emqx_auth_ldap/emqx.io.ldif new file mode 100644 index 000000000..f9833cd88 --- /dev/null +++ b/apps/emqx_auth_ldap/emqx.io.ldif @@ -0,0 +1,135 @@ +## create emqx.io + +dn:dc=emqx,dc=io +objectclass: top +objectclass: dcobject +objectclass: organization +dc:emqx +o:emqx,Inc. + +# create testdevice.emqx.io +dn:ou=testdevice,dc=emqx,dc=io +objectClass: top +objectclass:organizationalUnit +ou:testdevice + +# create user admin +dn:uid=admin,ou=testdevice,dc=emqx,dc=io +objectClass: top +objectClass: simpleSecurityObject +objectClass: account +userPassword:: e1NIQX1XNnBoNU1tNVB6OEdnaVVMYlBnekczN21qOWc9 +uid: admin + +## create user=mqttuser0001, +# password=mqttuser0001, +# passhash={SHA}mlb3fat40MKBTXUVZwCKmL73R/0= +# base64passhash=e1NIQX1tbGIzZmF0NDBNS0JUWFVWWndDS21MNzNSLzA9 +dn:uid=mqttuser0001,ou=testdevice,dc=emqx,dc=io +objectClass: top +objectClass: mqttUser +objectClass: mqttDevice +objectClass: mqttSecurity +uid: mqttuser0001 +isEnabled: TRUE +mqttAccountName: user1 +mqttPublishTopic: mqttuser0001/pub/1 +mqttPublishTopic: mqttuser0001/pub/+ +mqttPublishTopic: mqttuser0001/pub/# +mqttSubscriptionTopic: mqttuser0001/sub/1 +mqttSubscriptionTopic: mqttuser0001/sub/+ +mqttSubscriptionTopic: mqttuser0001/sub/# +mqttPubSubTopic: mqttuser0001/pubsub/1 +mqttPubSubTopic: mqttuser0001/pubsub/+ +mqttPubSubTopic: mqttuser0001/pubsub/# +userPassword:: e1NIQX1tbGIzZmF0NDBNS0JUWFVWWndDS21MNzNSLzA9 + +## create user=mqttuser0002 +# password=mqttuser0002, +# passhash={SSHA}n9XdtoG4Q/TQ3TQF4Y+khJbMBH4qXj4M +# base64passhash=e1NTSEF9bjlYZHRvRzRRL1RRM1RRRjRZK2toSmJNQkg0cVhqNE0= +dn:uid=mqttuser0002,ou=testdevice,dc=emqx,dc=io +objectClass: top +objectClass: mqttUser +objectClass: mqttDevice +objectClass: mqttSecurity +uid: mqttuser0002 +isEnabled: TRUE +mqttAccountName: user2 +mqttPublishTopic: mqttuser0002/pub/1 +mqttPublishTopic: mqttuser0002/pub/+ +mqttPublishTopic: mqttuser0002/pub/# +mqttSubscriptionTopic: mqttuser0002/sub/1 +mqttSubscriptionTopic: mqttuser0002/sub/+ +mqttSubscriptionTopic: mqttuser0002/sub/# +mqttPubSubTopic: mqttuser0002/pubsub/1 +mqttPubSubTopic: mqttuser0002/pubsub/+ +mqttPubSubTopic: mqttuser0002/pubsub/# +userPassword:: e1NTSEF9bjlYZHRvRzRRL1RRM1RRRjRZK2toSmJNQkg0cVhqNE0= + +## create user mqttuser0003 +# password=mqttuser0003, +# passhash={MD5}ybsPGoaK3nDyiQvveiCOIw== +# base64passhash=e01ENX15YnNQR29hSzNuRHlpUXZ2ZWlDT0l3PT0= +dn:uid=mqttuser0003,ou=testdevice,dc=emqx,dc=io +objectClass: top +objectClass: mqttUser +objectClass: mqttDevice +objectClass: mqttSecurity +uid: mqttuser0003 +isEnabled: TRUE +mqttPublishTopic: mqttuser0003/pub/1 +mqttPublishTopic: mqttuser0003/pub/+ +mqttPublishTopic: mqttuser0003/pub/# +mqttSubscriptionTopic: mqttuser0003/sub/1 +mqttSubscriptionTopic: mqttuser0003/sub/+ +mqttSubscriptionTopic: mqttuser0003/sub/# +mqttPubSubTopic: mqttuser0003/pubsub/1 +mqttPubSubTopic: mqttuser0003/pubsub/+ +mqttPubSubTopic: mqttuser0003/pubsub/# +userPassword:: e01ENX15YnNQR29hSzNuRHlpUXZ2ZWlDT0l3PT0= + +## create user mqttuser0004 +# password=mqttuser0004, +# passhash={MD5}2Br6pPDSEDIEvUlu9+s+MA== +# base64passhash=e01ENX0yQnI2cFBEU0VESUV2VWx1OStzK01BPT0= +dn:uid=mqttuser0004,ou=testdevice,dc=emqx,dc=io +objectClass: top +objectClass: mqttUser +objectClass: mqttDevice +objectClass: mqttSecurity +uid: mqttuser0004 +isEnabled: TRUE +mqttPublishTopic: mqttuser0004/pub/1 +mqttPublishTopic: mqttuser0004/pub/+ +mqttPublishTopic: mqttuser0004/pub/# +mqttSubscriptionTopic: mqttuser0004/sub/1 +mqttSubscriptionTopic: mqttuser0004/sub/+ +mqttSubscriptionTopic: mqttuser0004/sub/# +mqttPubSubTopic: mqttuser0004/pubsub/1 +mqttPubSubTopic: mqttuser0004/pubsub/+ +mqttPubSubTopic: mqttuser0004/pubsub/# +userPassword: {MD5}2Br6pPDSEDIEvUlu9+s+MA== + +## create user mqttuser0005 +# password=mqttuser0005, +# passhash={SHA}jKnxeEDGR14kE8AR7yuVFOelhz4= +# base64passhash=e1NIQX1qS254ZUVER1IxNGtFOEFSN3l1VkZPZWxoejQ9 +objectClass: top +dn:uid=mqttuser0005,ou=testdevice,dc=emqx,dc=io +objectClass: mqttUser +objectClass: mqttDevice +objectClass: mqttSecurity +uid: mqttuser0005 +isEnabled: TRUE +mqttPublishTopic: mqttuser0005/pub/1 +mqttPublishTopic: mqttuser0005/pub/+ +mqttPublishTopic: mqttuser0005/pub/# +mqttSubscriptionTopic: mqttuser0005/sub/1 +mqttSubscriptionTopic: mqttuser0005/sub/+ +mqttSubscriptionTopic: mqttuser0005/sub/# +mqttPubSubTopic: mqttuser0005/pubsub/1 +mqttPubSubTopic: mqttuser0005/pubsub/+ +mqttPubSubTopic: mqttuser0005/pubsub/# +userPassword: {SHA}jKnxeEDGR14kE8AR7yuVFOelhz4= + diff --git a/apps/emqx_auth_ldap/emqx.schema b/apps/emqx_auth_ldap/emqx.schema new file mode 100644 index 000000000..55f92269b --- /dev/null +++ b/apps/emqx_auth_ldap/emqx.schema @@ -0,0 +1,46 @@ +# +# Preliminary Apple OS X Native LDAP Schema +# This file is subject to change. +# +attributetype ( 1.3.6.1.4.1.11.2.53.2.2.3.1.2.3.1.3 NAME 'isEnabled' + EQUALITY booleanMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 + SINGLE-VALUE + USAGE userApplications ) + +attributetype ( 1.3.6.1.4.1.11.2.53.2.2.3.1.2.3.4.1 NAME ( 'mqttPublishTopic' 'mpt' ) + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 + USAGE userApplications ) +attributetype ( 1.3.6.1.4.1.11.2.53.2.2.3.1.2.3.4.2 NAME ( 'mqttSubscriptionTopic' 'mst' ) + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 + USAGE userApplications ) +attributetype ( 1.3.6.1.4.1.11.2.53.2.2.3.1.2.3.4.3 NAME ( 'mqttPubSubTopic' 'mpst' ) + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 + USAGE userApplications ) +attributetype ( 1.3.6.1.4.1.11.2.53.2.2.3.1.2.3.4.4 NAME ( 'mqttAccountName' 'man' ) + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 + USAGE userApplications ) + + +objectclass ( 1.3.6.1.4.1.11.2.53.2.2.3.1.2.3.4 NAME 'mqttUser' + AUXILIARY + MAY ( mqttPublishTopic $ mqttSubscriptionTopic $ mqttPubSubTopic $ mqttAccountName) ) + +objectclass ( 1.3.6.1.4.1.11.2.53.2.2.3.1.2.3.2 NAME 'mqttDevice' + SUP top + STRUCTURAL + MUST ( uid ) + MAY ( isEnabled ) ) + +objectclass ( 1.3.6.1.4.1.11.2.53.2.2.3.1.2.3.3 NAME 'mqttSecurity' + SUP top + AUXILIARY + MAY ( userPassword $ userPKCS12 $ pwdAttribute $ pwdLockout ) ) diff --git a/apps/emqx_auth_ldap/include/emqx_auth_ldap.hrl b/apps/emqx_auth_ldap/include/emqx_auth_ldap.hrl new file mode 100644 index 000000000..8950c0ec8 --- /dev/null +++ b/apps/emqx_auth_ldap/include/emqx_auth_ldap.hrl @@ -0,0 +1,23 @@ + +-define(APP, emqx_auth_ldap). + +-record(auth_metrics, { + success = 'client.auth.success', + failure = 'client.auth.failure', + ignore = 'client.auth.ignore' + }). + +-record(acl_metrics, { + allow = 'client.acl.allow', + deny = 'client.acl.deny', + ignore = 'client.acl.ignore' + }). + +-define(METRICS(Type), tl(tuple_to_list(#Type{}))). +-define(METRICS(Type, K), #Type{}#Type.K). + +-define(AUTH_METRICS, ?METRICS(auth_metrics)). +-define(AUTH_METRICS(K), ?METRICS(auth_metrics, K)). + +-define(ACL_METRICS, ?METRICS(acl_metrics)). +-define(ACL_METRICS(K), ?METRICS(acl_metrics, K)). diff --git a/apps/emqx_auth_ldap/priv/emqx_auth_ldap.schema b/apps/emqx_auth_ldap/priv/emqx_auth_ldap.schema new file mode 100644 index 000000000..554752a0b --- /dev/null +++ b/apps/emqx_auth_ldap/priv/emqx_auth_ldap.schema @@ -0,0 +1,176 @@ +%%-*- mode: erlang -*- +%% emqx_auth_ldap config mapping + +{mapping, "auth.ldap.servers", "emqx_auth_ldap.ldap", [ + {default, "127.0.0.1"}, + {datatype, string} +]}. + +{mapping, "auth.ldap.port", "emqx_auth_ldap.ldap", [ + {default, 389}, + {datatype, integer} +]}. + +{mapping, "auth.ldap.pool", "emqx_auth_ldap.ldap", [ + {default, 8}, + {datatype, integer} +]}. + +{mapping, "auth.ldap.bind_dn", "emqx_auth_ldap.ldap", [ + {datatype, string}, + {default, "cn=root,dc=emqx,dc=io"} +]}. + +{mapping, "auth.ldap.bind_password", "emqx_auth_ldap.ldap", [ + {datatype, string}, + {default, "public"} +]}. + +{mapping, "auth.ldap.timeout", "emqx_auth_ldap.ldap", [ + {default, "30s"}, + {datatype, {duration, ms}} +]}. + +{mapping, "auth.ldap.ssl", "emqx_auth_ldap.ldap", [ + {default, false}, + {datatype, {enum, [true, false]}} +]}. + +{mapping, "auth.ldap.ssl.certfile", "emqx_auth_ldap.ldap", [ + {datatype, string} +]}. + +{mapping, "auth.ldap.ssl.keyfile", "emqx_auth_ldap.ldap", [ + {datatype, string} +]}. + +{mapping, "auth.ldap.ssl.cacertfile", "emqx_auth_ldap.ldap", [ + {datatype, string} +]}. + +{mapping, "auth.ldap.ssl.verify", "emqx_auth_ldap.ldap", [ + {default, verify_none}, + {datatype, {enum, [verify_none, verify_peer]}} +]}. + +{mapping, "auth.ldap.ssl.fail_if_no_peer_cert", "emqx_auth_ldap.ldap", [ + {datatype, {enum, [true, false]}} +]}. + +{mapping, "auth.ldap.ssl.server_name_indication", "emqx_auth_ldap.ldap", [ + {datatype, string} +]}. + +{translation, "emqx_auth_ldap.ldap", fun(Conf) -> + A2N = fun(A) -> case inet:parse_address(A) of {ok, N} -> N; _ -> A end end, + Servers = [A2N(A) || A <- string:tokens(cuttlefish:conf_get("auth.ldap.servers", Conf), ",")], + Port = cuttlefish:conf_get("auth.ldap.port", Conf), + Pool = cuttlefish:conf_get("auth.ldap.pool", Conf), + BindDN = cuttlefish:conf_get("auth.ldap.bind_dn", Conf), + BindPassword = cuttlefish:conf_get("auth.ldap.bind_password", Conf), + Timeout = cuttlefish:conf_get("auth.ldap.timeout", Conf), + Filter = fun(Ls) -> [E || E = {_, V} <- Ls, V /= undefined]end, + SslOpts = fun() -> + [{certfile, cuttlefish:conf_get("auth.ldap.ssl.certfile", Conf)}, + {keyfile, cuttlefish:conf_get("auth.ldap.ssl.keyfile", Conf)}, + {cacertfile, cuttlefish:conf_get("auth.ldap.ssl.cacertfile", Conf, undefined)}, + {verify, cuttlefish:conf_get("auth.ldap.ssl.verify", Conf, undefined)}, + {server_name_indication, cuttlefish:conf_get("auth.ldap.ssl.server_name_indication", Conf, disable)}, + {fail_if_no_peer_cert, cuttlefish:conf_get("auth.ldap.ssl.fail_if_no_peer_cert", Conf, undefined)}] + end, + Opts = [{servers, Servers}, + {port, Port}, + {timeout, Timeout}, + {bind_dn, BindDN}, + {bind_password, BindPassword}, + {pool, Pool}, + {auto_reconnect, 2}], + case cuttlefish:conf_get("auth.ldap.ssl", Conf) of + true -> [{ssl, true}, {sslopts, Filter(SslOpts())}|Opts]; + false -> [{ssl, false}|Opts] + end +end}. + +{mapping, "auth.ldap.device_dn", "emqx_auth_ldap.device_dn", [ + {default, "ou=device,dc=emqx,dc=io"}, + {datatype, string} +]}. + +{mapping, "auth.ldap.match_objectclass", "emqx_auth_ldap.match_objectclass", [ + {default, "mqttUser"}, + {datatype, string} +]}. + +{mapping, "auth.ldap.custom_base_dn", "emqx_auth_ldap.custom_base_dn", [ + {default, "${username_attr}=${user},${device_dn}"}, + {datatype, string} +]}. + +%% auth.ldap.filters.1.key = "objectClass" +%% auth.ldap.filters.1.value = "mqttUser" +%% auth.ldap.filters.1.op = "and" +%% auth.ldap.filters.2.key = "uiAttr" +%% auth.ldap.filters.2.value "someAttr" +%% auth.ldap.filters.2.op = "or" +%% auth.ldap.filters.3.key = "someKey" +%% auth.ldap.filters.3.value = "someValue" +%% The configuratation structure sent to the application: +%% [{"objectClass","mqttUser"},"and",{"uiAttr","someAttr"},"or",{"someKey","someAttr"}] +%% The resulting LDAP filter would look like this: +%% ==> "|(&(objectClass=Class)(uiAttr=someAttr)(someKey=someValue))" +{translation, "emqx_auth_ldap.filters", +fun(Conf) -> + Settings = cuttlefish_variable:filter_by_prefix("auth.ldap.filters", Conf), + Keys = [{Num, {key, V}} || {["auth","ldap","filters", Num, "key"], V} <- Settings], + Values = [{Num, {value, V}} || {["auth","ldap","filters", Num, "value"], V} <- Settings], + Ops = [{Num, {op, V}} || {["auth","ldap","filters", Num, "op"], V} <- Settings], + RawFilters = Keys ++ Values ++ Ops, + Filters = + lists:foldl( + fun({Num,{T,V}}, Acc)-> + maps:update_with(Num, + fun(F)-> + maps:put(T,V,F) + end, + #{T=>V}, Acc) + end, #{}, RawFilters), + Order=lists:usort(maps:keys(Filters)), + lists:reverse( + lists:foldl( + fun(F,Acc)-> + case F of + #{key:=K, op:=Op, value:=V} -> [Op,{K,V}|Acc]; + #{key:=K, value:=V} -> [{K,V}|Acc] + end + end, + [], + lists:map(fun(K) -> maps:get(K, Filters) end, Order))) +end}. + +{mapping, "auth.ldap.filters.$num.key", "emqx_auth_ldap.filters", [ + {datatype, string} +]}. + +{mapping, "auth.ldap.filters.$num.value", "emqx_auth_ldap.filters", [ + {datatype, string} +]}. + +{mapping, "auth.ldap.filters.$num.op", "emqx_auth_ldap.filters", [ + {datatype, {enum, [ "or", "and" ] } } +]}. + + +{mapping, "auth.ldap.bind_as_user", "emqx_auth_ldap.bind_as_user", [ + {default, false}, + {datatype, {enum, [true, false]}} +]}. + +{mapping, "auth.ldap.username.attributetype", "emqx_auth_ldap.username_attr", [ + {default, "uid"}, + {datatype, string} +]}. + +{mapping, "auth.ldap.password.attributetype", "emqx_auth_ldap.password_attr", [ + {default, "userPassword"}, + {datatype, string} +]}. diff --git a/apps/emqx_auth_ldap/rebar.config b/apps/emqx_auth_ldap/rebar.config new file mode 100644 index 000000000..8fe128ac5 --- /dev/null +++ b/apps/emqx_auth_ldap/rebar.config @@ -0,0 +1,3 @@ +{deps, + [{eldap2, {git, "https://github.com/emqx/eldap2", {tag, "v0.2.2"}}} + ]}. diff --git a/apps/emqx_auth_ldap/src/emqx_acl_ldap.erl b/apps/emqx_auth_ldap/src/emqx_acl_ldap.erl new file mode 100644 index 000000000..e117940b1 --- /dev/null +++ b/apps/emqx_auth_ldap/src/emqx_acl_ldap.erl @@ -0,0 +1,98 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_acl_ldap). + +-include("emqx_auth_ldap.hrl"). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("eldap/include/eldap.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). + +-export([ register_metrics/0 + , check_acl/5 + , description/0 + ]). + +-import(proplists, [get_value/2]). + +-import(emqx_auth_ldap_cli, [search/4]). + +-spec(register_metrics() -> ok). +register_metrics() -> + lists:foreach(fun emqx_metrics:ensure/1, ?ACL_METRICS). + +check_acl(ClientInfo, PubSub, Topic, NoMatchAction, State) -> + case do_check_acl(ClientInfo, PubSub, Topic, NoMatchAction, State) of + ok -> emqx_metrics:inc(?ACL_METRICS(ignore)), ok; + {stop, allow} -> emqx_metrics:inc(?ACL_METRICS(allow)), {stop, allow}; + {stop, deny} -> emqx_metrics:inc(?ACL_METRICS(deny)), {stop, deny} + end. + +do_check_acl(#{username := <<$$, _/binary>>}, _PubSub, _Topic, _NoMatchAction, _State) -> + ok; + +do_check_acl(#{username := Username}, PubSub, Topic, _NoMatchAction, + #{device_dn := DeviceDn, + match_objectclass := ObjectClass, + username_attr := UidAttr, + custom_base_dn := CustomBaseDN, + pool := Pool} = Config) -> + + Filters = maps:get(filters, Config, []), + + ReplaceRules = [{"${username_attr}", UidAttr}, + {"${user}", binary_to_list(Username)}, + {"${device_dn}", DeviceDn}], + + Filter = emqx_auth_ldap:prepare_filter(Filters, UidAttr, ObjectClass, ReplaceRules), + + Attribute = case PubSub of + publish -> "mqttPublishTopic"; + subscribe -> "mqttSubscriptionTopic" + end, + Attribute1 = "mqttPubSubTopic", + ?LOG(debug, "[LDAP] search dn:~p filter:~p, attribute:~p", + [DeviceDn, Filter, Attribute]), + + BaseDN = emqx_auth_ldap:replace_vars(CustomBaseDN, ReplaceRules), + + case search(Pool, BaseDN, Filter, [Attribute, Attribute1]) of + {error, noSuchObject} -> + ok; + {ok, #eldap_search_result{entries = []}} -> + ok; + {ok, #eldap_search_result{entries = [Entry]}} -> + Topics = get_value(Attribute, Entry#eldap_entry.attributes) + ++ get_value(Attribute1, Entry#eldap_entry.attributes), + match(Topic, Topics); + Error -> + ?LOG(error, "[LDAP] search error:~p", [Error]), + {stop, deny} + end. + +match(_Topic, []) -> + ok; + +match(Topic, [Filter | Topics]) -> + case emqx_topic:match(Topic, list_to_binary(Filter)) of + true -> {stop, allow}; + false -> match(Topic, Topics) + end. + +description() -> + "ACL with LDAP". + diff --git a/apps/emqx_auth_ldap/src/emqx_auth_ldap.app.src b/apps/emqx_auth_ldap/src/emqx_auth_ldap.app.src new file mode 100644 index 000000000..9c15ef3ff --- /dev/null +++ b/apps/emqx_auth_ldap/src/emqx_auth_ldap.app.src @@ -0,0 +1,14 @@ +{application, emqx_auth_ldap, + [{description, "EMQ X Authentication/ACL with LDAP"}, + {vsn, "git"}, + {modules, []}, + {registered, [emqx_auth_ldap_sup,emqx_libs]}, + {applications, [kernel,stdlib,eldap2,ecpool,emqx_passwd,emqx_libs]}, + {mod, {emqx_auth_ldap_app,[]}}, + {env, []}, + {licenses, ["Apache-2.0"]}, + {maintainers, ["EMQ X Team "]}, + {links, [{"Homepage", "https://emqx.io/"}, + {"Github", "https://github.com/emqx/emqx-auth-ldap"} + ]} + ]}. diff --git a/apps/emqx_auth_ldap/src/emqx_auth_ldap.app.src.script b/apps/emqx_auth_ldap/src/emqx_auth_ldap.app.src.script new file mode 100644 index 000000000..0e14ff23f --- /dev/null +++ b/apps/emqx_auth_ldap/src/emqx_auth_ldap.app.src.script @@ -0,0 +1,24 @@ +%%-*- mode: erlang -*- +%% .app.src.script + +RemoveLeadingV = + fun(Tag) -> + case re:run(Tag, "^[v|e]?[0-9]\.[0-9]\.([0-9]|(rc|beta|alpha)\.[0-9])", [{capture, none}]) of + nomatch -> + re:replace(Tag, "/", "-", [{return ,list}]); + _ -> + %% if it is a version number prefixed by 'v' or 'e', then remove it + re:replace(Tag, "[v|e]", "", [{return ,list}]) + end + end, + +case os:getenv("EMQX_DEPS_DEFAULT_VSN") of + false -> CONFIG; % env var not defined + [] -> CONFIG; % env var set to empty string + Tag -> + [begin + AppConf0 = lists:keystore(vsn, 1, AppConf, {vsn, RemoveLeadingV(Tag)}), + {application, App, AppConf0} + end || Conf = {application, App, AppConf} <- CONFIG] +end. + diff --git a/apps/emqx_auth_ldap/src/emqx_auth_ldap.erl b/apps/emqx_auth_ldap/src/emqx_auth_ldap.erl new file mode 100644 index 000000000..b3d6251fb --- /dev/null +++ b/apps/emqx_auth_ldap/src/emqx_auth_ldap.erl @@ -0,0 +1,210 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_ldap). + +-include("emqx_auth_ldap.hrl"). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("eldap/include/eldap.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). + +-import(proplists, [get_value/2]). + +-import(emqx_auth_ldap_cli, [search/3]). + +-export([ register_metrics/0 + , check/3 + , description/0 + , prepare_filter/4 + , replace_vars/2 + ]). + +-spec(register_metrics() -> ok). +register_metrics() -> + lists:foreach(fun emqx_metrics:ensure/1, ?AUTH_METRICS). + +check(ClientInfo = #{username := Username, password := Password}, AuthResult, + State = #{password_attr := PasswdAttr, bind_as_user := BindAsUserRequired, pool := Pool}) -> + CheckResult = + case lookup_user(Username, State) of + undefined -> {error, not_found}; + {error, Error} -> {error, Error}; + Entry -> + PasswordString = binary_to_list(Password), + ObjectName = Entry#eldap_entry.object_name, + Attributes = Entry#eldap_entry.attributes, + case BindAsUserRequired of + true -> + emqx_auth_ldap_cli:post_bind(Pool, ObjectName, PasswordString); + false -> + case get_value(PasswdAttr, Attributes) of + undefined -> + logger:error("LDAP Search State: ~p, uid: ~p, result:~p", + [State, Username, Attributes]), + {error, not_found}; + [Passhash1] -> + format_password(Passhash1, Password, ClientInfo) + end + end + end, + case CheckResult of + ok -> + ok = emqx_metrics:inc(?AUTH_METRICS(success)), + {stop, AuthResult#{auth_result => success, anonymous => false}}; + {error, not_found} -> + emqx_metrics:inc(?AUTH_METRICS(ignore)); + {error, ResultCode} -> + ok = emqx_metrics:inc(?AUTH_METRICS(failure)), + ?LOG(error, "[LDAP] Auth from ldap failed: ~p", [ResultCode]), + {stop, AuthResult#{auth_result => ResultCode, anonymous => false}} + end. + +lookup_user(Username, #{username_attr := UidAttr, + match_objectclass := ObjectClass, + device_dn := DeviceDn, + custom_base_dn := CustomBaseDN, pool := Pool} = Config) -> + + Filters = maps:get(filters, Config, []), + + ReplaceRules = [{"${username_attr}", UidAttr}, + {"${user}", binary_to_list(Username)}, + {"${device_dn}", DeviceDn}], + + Filter = prepare_filter(Filters, UidAttr, ObjectClass, ReplaceRules), + + %% auth.ldap.custom_base_dn = "${username_attr}=${user},${device_dn}" + BaseDN = replace_vars(CustomBaseDN, ReplaceRules), + + case search(Pool, BaseDN, Filter) of + %% This clause seems to be impossible to match. `eldap2:search/2` does + %% not validates the result, so if it returns "successfully" from the + %% LDAP server, it always returns `{ok, #eldap_search_result{}}`. + {error, noSuchObject} -> + undefined; + %% In case no user was found by the search, but the search was completed + %% without error we get an empty `entries` list. + {ok, #eldap_search_result{entries = []}} -> + undefined; + {ok, #eldap_search_result{entries = [Entry]}} -> + Attributes = Entry#eldap_entry.attributes, + case get_value("isEnabled", Attributes) of + undefined -> + Entry; + [Val] -> + case list_to_atom(string:to_lower(Val)) of + true -> Entry; + false -> {error, username_disabled} + end + end; + {error, Error} -> + ?LOG(error, "[LDAP] Search dn: ~p, filter: ~p, fail:~p", [DeviceDn, Filter, Error]), + {error, username_or_password_error} + end. + +check_pass(Password, Password, _ClientInfo) -> ok; +check_pass(_, _, _) -> {error, bad_username_or_password}. + +format_password(Passhash, Password, ClientInfo) -> + case do_format_password(Passhash, Password) of + {error, Error2} -> + {error, Error2}; + {Passhash1, Password1} -> + check_pass(Passhash1, Password1, ClientInfo) + end. + +do_format_password(Passhash, Password) -> + Base64PasshashHandler = + handle_passhash(fun(HashType, Passhash1, Password1) -> + Passhash2 = binary_to_list(base64:decode(Passhash1)), + resolve_passhash(HashType, Passhash2, Password1) + end, + fun(_Passhash, _Password) -> + {error, password_error} + end), + PasshashHandler = handle_passhash(fun resolve_passhash/3, Base64PasshashHandler), + PasshashHandler(Passhash, Password). + +resolve_passhash(HashType, Passhash, Password) -> + [_, Passhash1] = string:tokens(Passhash, "}"), + do_resolve(HashType, Passhash1, Password). + +handle_passhash(HandleMatch, HandleNoMatch) -> + fun(Passhash, Password) -> + case re:run(Passhash, "(?<={)[^{}]+(?=})", [{capture, all, list}, global]) of + {match, [[HashType]]} -> + HandleMatch(list_to_atom(string:to_lower(HashType)), Passhash, Password); + _ -> + HandleNoMatch(Passhash, Password) + end + end. + +do_resolve(ssha, Passhash, Password) -> + D64 = base64:decode(Passhash), + {HashedData, Salt} = lists:split(20, binary_to_list(D64)), + NewHash = crypto:hash(sha, <>), + {list_to_binary(HashedData), NewHash}; +do_resolve(HashType, Passhash, Password) -> + Password1 = base64:encode(crypto:hash(HashType, Password)), + {list_to_binary(Passhash), Password1}. + +description() -> "LDAP Authentication Plugin". + +prepare_filter(Filters, _UidAttr, ObjectClass, ReplaceRules) -> + SubFilters = + lists:map(fun({K, V}) -> + {replace_vars(K, ReplaceRules), replace_vars(V, ReplaceRules)}; + (Op) -> + Op + end, Filters), + case SubFilters of + [] -> eldap2:equalityMatch("objectClass", ObjectClass); + _List -> compile_filters(SubFilters, []) + end. + + +compile_filters([{Key, Value}], []) -> + compile_equal(Key, Value); +compile_filters([{K1, V1}, "and", {K2, V2} | Rest], []) -> + compile_filters( + Rest, + eldap2:'and'([compile_equal(K1, V1), + compile_equal(K2, V2)])); +compile_filters([{K1, V1}, "or", {K2, V2} | Rest], []) -> + compile_filters( + Rest, + eldap2:'or'([compile_equal(K1, V1), + compile_equal(K2, V2)])); +compile_filters(["and", {K, V} | Rest], PartialFilter) -> + compile_filters( + Rest, + eldap2:'and'([PartialFilter, + compile_equal(K, V)])); +compile_filters(["or", {K, V} | Rest], PartialFilter) -> + compile_filters( + Rest, + eldap2:'or'([PartialFilter, + compile_equal(K, V)])); +compile_filters([], Filter) -> + Filter. + +compile_equal(Key, Value) -> + eldap2:equalityMatch(Key, Value). + +replace_vars(CustomBaseDN, ReplaceRules) -> + lists:foldl(fun({Pattern, Substitute}, DN) -> + lists:flatten(string:replace(DN, Pattern, Substitute)) + end, CustomBaseDN, ReplaceRules). diff --git a/apps/emqx_auth_ldap/src/emqx_auth_ldap_app.erl b/apps/emqx_auth_ldap/src/emqx_auth_ldap_app.erl new file mode 100644 index 000000000..5922950f0 --- /dev/null +++ b/apps/emqx_auth_ldap/src/emqx_auth_ldap_app.erl @@ -0,0 +1,78 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_ldap_app). + +-behaviour(application). + +-emqx_plugin(auth). + +-include("emqx_auth_ldap.hrl"). + +%% Application callbacks +-export([ start/2 + , prep_stop/1 + , stop/1 + ]). + +start(_StartType, _StartArgs) -> + {ok, Sup} = emqx_auth_ldap_sup:start_link(), + if_enabled([device_dn, match_objectclass, + username_attr, password_attr, + filters, custom_base_dn, bind_as_user], + fun load_auth_hook/1), + if_enabled([device_dn, match_objectclass, + username_attr, password_attr, + filters, custom_base_dn, bind_as_user], + fun load_acl_hook/1), + {ok, Sup}. + +prep_stop(State) -> + emqx:unhook('client.authenticate', fun emqx_auth_ldap:check/3), + emqx:unhook('client.check_acl', fun emqx_acl_ldap:check_acl/5), + State. + +stop(_State) -> + ok. + +load_auth_hook(DeviceDn) -> + ok = emqx_auth_ldap:register_metrics(), + Params = maps:from_list(DeviceDn), + emqx:hook('client.authenticate', fun emqx_auth_ldap:check/3, [Params#{pool => ?APP}]). + +load_acl_hook(DeviceDn) -> + ok = emqx_acl_ldap:register_metrics(), + Params = maps:from_list(DeviceDn), + emqx:hook('client.check_acl', fun emqx_acl_ldap:check_acl/5 , [Params#{pool => ?APP}]). + +if_enabled(Cfgs, Fun) -> + case get_env(Cfgs) of + {ok, InitArgs} -> Fun(InitArgs); + [] -> ok + end. + +get_env(Cfgs) -> + get_env(Cfgs, []). + +get_env([Cfg | LeftCfgs], ENVS) -> + case application:get_env(?APP, Cfg) of + {ok, ENV} -> + get_env(LeftCfgs, [{Cfg, ENV} | ENVS]); + undefined -> + get_env(LeftCfgs, ENVS) + end; +get_env([], ENVS) -> + {ok, ENVS}. diff --git a/apps/emqx_auth_ldap/src/emqx_auth_ldap_cli.erl b/apps/emqx_auth_ldap/src/emqx_auth_ldap_cli.erl new file mode 100644 index 000000000..8ec22848e --- /dev/null +++ b/apps/emqx_auth_ldap/src/emqx_auth_ldap_cli.erl @@ -0,0 +1,150 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_ldap_cli). + +-behaviour(ecpool_worker). + +-include("emqx_auth_ldap.hrl"). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). + +%% ecpool callback +-export([connect/1]). + +-export([ search/3 + , search/4 + , post_bind/3 + , init_args/1 + ]). + +-import(proplists, + [ get_value/2 + , get_value/3 + ]). + +%%-------------------------------------------------------------------- +%% LDAP Connect/Search +%%-------------------------------------------------------------------- + +connect(Opts) -> + Servers = get_value(servers, Opts, ["localhost"]), + Port = get_value(port, Opts, 389), + Timeout = get_value(timeout, Opts, 30), + BindDn = get_value(bind_dn, Opts), + BindPassword = get_value(bind_password, Opts), + LdapOpts = case get_value(ssl, Opts, false)of + true -> + SslOpts = get_value(sslopts, Opts), + [{port, Port}, {timeout, Timeout}, {sslopts, SslOpts}]; + false -> + [{port, Port}, {timeout, Timeout}] + end, + ?LOG(debug, "[LDAP] Connecting to OpenLDAP server: ~p, Opts:~p ...", [Servers, LdapOpts]), + + case eldap2:open(Servers, LdapOpts) of + {ok, LDAP} -> + try eldap2:simple_bind(LDAP, BindDn, BindPassword) of + ok -> {ok, LDAP}; + {error, Error} -> + ?LOG(error, "[LDAP] Can't authenticated to OpenLDAP server: ~p", [Error]), + {error, Error} + catch + error:Reason -> + ?LOG(error, "[LDAP] Can't authenticated to OpenLDAP server: ~p", [Reason]), + {error, Reason} + end; + {error, Reason} -> + ?LOG(error, "[LDAP] Can't connect to OpenLDAP server: ~p", [Reason]), + {error, Reason} + end. + +search(Pool, Base, Filter) -> + ecpool:with_client(Pool, + fun(C) -> + case application:get_env(?APP, bind_as_user) of + {ok, true} -> + {ok, Opts} = application:get_env(?APP, ldap), + BindDn = get_value(bind_dn, Opts), + BindPassword = get_value(bind_password, Opts), + try eldap2:simple_bind(C, BindDn, BindPassword) of + ok -> + eldap2:search(C, [{base, Base}, + {filter, Filter}, + {deref, eldap2:derefFindingBaseObj()}]); + {error, Error} -> + {error, Error} + catch + error:Reason -> {error, Reason} + end; + {ok, false} -> + eldap2:search(C, [{base, Base}, + {filter, Filter}, + {deref, eldap2:derefFindingBaseObj()}]) + end + end). + +search(Pool, Base, Filter, Attributes) -> + ecpool:with_client(Pool, + fun(C) -> + case application:get_env(?APP, bind_as_user) of + {ok, true} -> + {ok, Opts} = application:get_env(?APP, ldap), + BindDn = get_value(bind_dn, Opts), + BindPassword = get_value(bind_password, Opts), + try eldap2:simple_bind(C, BindDn, BindPassword) of + ok -> + eldap2:search(C, [{base, Base}, + {filter, Filter}, + {attributes, Attributes}, + {deref, eldap2:derefFindingBaseObj()}]); + {error, Error} -> + {error, Error} + catch + error:Reason -> {error, Reason} + end; + {ok, false} -> + eldap2:search(C, [{base, Base}, + {filter, Filter}, + {attributes, Attributes}, + {deref, eldap2:derefFindingBaseObj()}]) + end + end). + +post_bind(Pool, BindDn, BindPassword) -> + ecpool:with_client(Pool, + fun(C) -> + try eldap2:simple_bind(C, BindDn, BindPassword) of + ok -> ok; + {error, Error} -> + {error, Error} + catch + error:Reason -> {error, Reason} + end + end). + + +init_args(ENVS) -> + DeviceDn = get_value(device_dn, ENVS), + ObjectClass = get_value(match_objectclass, ENVS), + UidAttr = get_value(username_attr, ENVS), + PasswdAttr = get_value(password_attr, ENVS), + {ok, #{device_dn => DeviceDn, + match_objectclass => ObjectClass, + username_attr => UidAttr, + password_attr => PasswdAttr}}. + diff --git a/apps/emqx_auth_ldap/src/emqx_auth_ldap_sup.erl b/apps/emqx_auth_ldap/src/emqx_auth_ldap_sup.erl new file mode 100644 index 000000000..ca4440f1a --- /dev/null +++ b/apps/emqx_auth_ldap/src/emqx_auth_ldap_sup.erl @@ -0,0 +1,35 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_ldap_sup). + +-behaviour(supervisor). + +-include("emqx_auth_ldap.hrl"). + +-export([start_link/0]). + +-export([init/1]). + +start_link() -> + supervisor:start_link({local, ?MODULE}, ?MODULE, []). + +init([]) -> + %% LDAP Connection Pool. + {ok, Server} = application:get_env(?APP, ldap), + PoolSpec = ecpool:pool_spec(?APP, ?APP, emqx_auth_ldap_cli, Server), + {ok, {{one_for_one, 10, 100}, [PoolSpec]}}. + diff --git a/apps/emqx_auth_ldap/test/certs/cacert.pem b/apps/emqx_auth_ldap/test/certs/cacert.pem new file mode 100644 index 000000000..604fd2362 --- /dev/null +++ b/apps/emqx_auth_ldap/test/certs/cacert.pem @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDUTCCAjmgAwIBAgIJAPPYCjTmxdt/MA0GCSqGSIb3DQEBCwUAMD8xCzAJBgNV +BAYTAkNOMREwDwYDVQQIDAhoYW5nemhvdTEMMAoGA1UECgwDRU1RMQ8wDQYDVQQD +DAZSb290Q0EwHhcNMjAwNTA4MDgwNjUyWhcNMzAwNTA2MDgwNjUyWjA/MQswCQYD +VQQGEwJDTjERMA8GA1UECAwIaGFuZ3pob3UxDDAKBgNVBAoMA0VNUTEPMA0GA1UE +AwwGUm9vdENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzcgVLex1 +EZ9ON64EX8v+wcSjzOZpiEOsAOuSXOEN3wb8FKUxCdsGrsJYB7a5VM/Jot25Mod2 +juS3OBMg6r85k2TWjdxUoUs+HiUB/pP/ARaaW6VntpAEokpij/przWMPgJnBF3Ur +MjtbLayH9hGmpQrI5c2vmHQ2reRZnSFbY+2b8SXZ+3lZZgz9+BaQYWdQWfaUWEHZ +uDaNiViVO0OT8DRjCuiDp3yYDj3iLWbTA/gDL6Tf5XuHuEwcOQUrd+h0hyIphO8D +tsrsHZ14j4AWYLk1CPA6pq1HIUvEl2rANx2lVUNv+nt64K/Mr3RnVQd9s8bK+TXQ +KGHd2Lv/PALYuwIDAQABo1AwTjAdBgNVHQ4EFgQUGBmW+iDzxctWAWxmhgdlE8Pj +EbQwHwYDVR0jBBgwFoAUGBmW+iDzxctWAWxmhgdlE8PjEbQwDAYDVR0TBAUwAwEB +/zANBgkqhkiG9w0BAQsFAAOCAQEAGbhRUjpIred4cFAFJ7bbYD9hKu/yzWPWkMRa +ErlCKHmuYsYk+5d16JQhJaFy6MGXfLgo3KV2itl0d+OWNH0U9ULXcglTxy6+njo5 +CFqdUBPwN1jxhzo9yteDMKF4+AHIxbvCAJa17qcwUKR5MKNvv09C6pvQDJLzid7y +E2dkgSuggik3oa0427KvctFf8uhOV94RvEDyqvT5+pgNYZ2Yfga9pD/jjpoHEUlo +88IGU8/wJCx3Ds2yc8+oBg/ynxG8f/HmCC1ET6EHHoe2jlo8FpU/SgGtghS1YL30 +IWxNsPrUP+XsZpBJy/mvOhE5QXo6Y35zDqqj8tI7AGmAWu22jg== +-----END CERTIFICATE----- diff --git a/apps/emqx_auth_ldap/test/certs/cert.pem b/apps/emqx_auth_ldap/test/certs/cert.pem new file mode 100644 index 000000000..092390b1d --- /dev/null +++ b/apps/emqx_auth_ldap/test/certs/cert.pem @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDEzCCAfugAwIBAgIBAjANBgkqhkiG9w0BAQsFADA/MQswCQYDVQQGEwJDTjER +MA8GA1UECAwIaGFuZ3pob3UxDDAKBgNVBAoMA0VNUTEPMA0GA1UEAwwGUm9vdENB +MB4XDTIwMDUwODA4MDcwNVoXDTMwMDUwNjA4MDcwNVowPzELMAkGA1UEBhMCQ04x +ETAPBgNVBAgMCGhhbmd6aG91MQwwCgYDVQQKDANFTVExDzANBgNVBAMMBlNlcnZl +cjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALNeWT3pE+QFfiRJzKmn +AMUrWo3K2j/Tm3+Xnl6WLz67/0rcYrJbbKvS3uyRP/stXyXEKw9CepyQ1ViBVFkW +Aoy8qQEOWFDsZc/5UzhXUnb6LXr3qTkFEjNmhj+7uzv/lbBxlUG1NlYzSeOB6/RT +8zH/lhOeKhLnWYPXdXKsa1FL6ij4X8DeDO1kY7fvAGmBn/THh1uTpDizM4YmeI+7 +4dmayA5xXvARte5h4Vu5SIze7iC057N+vymToMk2Jgk+ZZFpyXrnq+yo6RaD3ANc +lrc4FbeUQZ5a5s5Sxgs9a0Y3WMG+7c5VnVXcbjBRz/aq2NtOnQQjikKKQA8GF080 +BQkCAwEAAaMaMBgwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwDQYJKoZIhvcNAQEL +BQADggEBAJefnMZpaRDHQSNUIEL3iwGXE9c6PmIsQVE2ustr+CakBp3TZ4l0enLt +iGMfEVFju69cO4oyokWv+hl5eCMkHBf14Kv51vj448jowYnF1zmzn7SEzm5Uzlsa +sqjtAprnLyof69WtLU1j5rYWBuFX86yOTwRAFNjm9fvhAcrEONBsQtqipBWkMROp +iUYMkRqbKcQMdwxov+lHBYKq9zbWRoqLROAn54SRqgQk6c15JdEfgOOjShbsOkIH +UhqcwRkQic7n1zwHVGVDgNIZVgmJ2IdIWBlPEC7oLrRrBD/X1iEEXtKab6p5o22n +KB5mN+iQaE+Oe2cpGKZJiJRdM+IqDDQ= +-----END CERTIFICATE----- diff --git a/apps/emqx_auth_ldap/test/certs/client-cert.pem b/apps/emqx_auth_ldap/test/certs/client-cert.pem new file mode 100644 index 000000000..09d855221 --- /dev/null +++ b/apps/emqx_auth_ldap/test/certs/client-cert.pem @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDEzCCAfugAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MQswCQYDVQQGEwJDTjER +MA8GA1UECAwIaGFuZ3pob3UxDDAKBgNVBAoMA0VNUTEPMA0GA1UEAwwGUm9vdENB +MB4XDTIwMDUwODA4MDY1N1oXDTMwMDUwNjA4MDY1N1owPzELMAkGA1UEBhMCQ04x +ETAPBgNVBAgMCGhhbmd6aG91MQwwCgYDVQQKDANFTVExDzANBgNVBAMMBkNsaWVu +dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMy4hoksKcZBDbY680u6 +TS25U51nuB1FBcGMlF9B/t057wPOlxF/OcmbxY5MwepS41JDGPgulE1V7fpsXkiW +1LUimYV/tsqBfymIe0mlY7oORahKji7zKQ2UBIVFhdlvQxunlIDnw6F9popUgyHt +dMhtlgZK8oqRwHxO5dbfoukYd6J/r+etS5q26sgVkf3C6dt0Td7B25H9qW+f7oLV +PbcHYCa+i73u9670nrpXsC+Qc7Mygwa2Kq/jwU+ftyLQnOeW07DuzOwsziC/fQZa +nbxR+8U9FNftgRcC3uP/JMKYUqsiRAuaDokARZxVTV5hUElfpO6z6/NItSDvvh3i +eikCAwEAAaMaMBgwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwDQYJKoZIhvcNAQEL +BQADggEBABchYxKo0YMma7g1qDswJXsR5s56Czx/I+B41YcpMBMTrRqpUC0nHtLk +M7/tZp592u/tT8gzEnQjZLKBAhFeZaR3aaKyknLqwiPqJIgg0pgsBGITrAK3Pv4z +5/YvAJJKgTe5UdeTz6U4lvNEux/4juZ4pmqH4qSFJTOzQS7LmgSmNIdd072rwXBd +UzcSHzsJgEMb88u/LDLjj1pQ7AtZ4Tta8JZTvcgBFmjB0QUi6fgkHY6oGat/W4kR +jSRUBlMUbM/drr2PVzRc2dwbFIl3X+ZE6n5Sl3ZwRAC/s92JU6CPMRW02muVu6xl +goraNgPISnrbpR6KjxLZkVembXzjNNc= +-----END CERTIFICATE----- diff --git a/apps/emqx_auth_ldap/test/certs/client-key.pem b/apps/emqx_auth_ldap/test/certs/client-key.pem new file mode 100644 index 000000000..2b3f30cf6 --- /dev/null +++ b/apps/emqx_auth_ldap/test/certs/client-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAzLiGiSwpxkENtjrzS7pNLblTnWe4HUUFwYyUX0H+3TnvA86X +EX85yZvFjkzB6lLjUkMY+C6UTVXt+mxeSJbUtSKZhX+2yoF/KYh7SaVjug5FqEqO +LvMpDZQEhUWF2W9DG6eUgOfDoX2milSDIe10yG2WBkryipHAfE7l1t+i6Rh3on+v +561LmrbqyBWR/cLp23RN3sHbkf2pb5/ugtU9twdgJr6Lve73rvSeulewL5BzszKD +BrYqr+PBT5+3ItCc55bTsO7M7CzOIL99BlqdvFH7xT0U1+2BFwLe4/8kwphSqyJE +C5oOiQBFnFVNXmFQSV+k7rPr80i1IO++HeJ6KQIDAQABAoIBAGWgvPjfuaU3qizq +uti/FY07USz0zkuJdkANH6LiSjlchzDmn8wJ0pApCjuIE0PV/g9aS8z4opp5q/gD +UBLM/a8mC/xf2EhTXOMrY7i9p/I3H5FZ4ZehEqIw9sWKK9YzC6dw26HabB2BGOnW +5nozPSQ6cp2RGzJ7BIkxSZwPzPnVTgy3OAuPOiJytvK+hGLhsNaT+Y9bNDvplVT2 +ZwYTV8GlHZC+4b2wNROILm0O86v96O+Qd8nn3fXjGHbMsAnONBq10bZS16L4fvkH +5G+W/1PeSXmtZFppdRRDxIW+DWcXK0D48WRliuxcV4eOOxI+a9N2ZJZZiNLQZGwg +w3A8+mECgYEA8HuJFrlRvdoBe2U/EwUtG74dcyy30L4yEBnN5QscXmEEikhaQCfX +Wm6EieMcIB/5I5TQmSw0cmBMeZjSXYoFdoI16/X6yMMuATdxpvhOZGdUGXxhAH+x +xoTUavWZnEqW3fkUU71kT5E2f2i+0zoatFESXHeslJyz85aAYpP92H0CgYEA2e5A +Yozt5eaA1Gyhd8SeptkEU4xPirNUnVQHStpMWUb1kzTNXrPmNWccQ7JpfpG6DcYl +zUF6p6mlzY+zkMiyPQjwEJlhiHM2NlL1QS7td0R8ewgsFoyn8WsBI4RejWrEG9td +EDniuIw+pBFkcWthnTLHwECHdzgquToyTMjrBB0CgYEA28tdGbrZXhcyAZEhHAZA +Gzog+pKlkpEzeonLKIuGKzCrEKRecIK5jrqyQsCjhS0T7ZRnL4g6i0s+umiV5M5w +fcc292pEA1h45L3DD6OlKplSQVTv55/OYS4oY3YEJtf5mfm8vWi9lQeY8sxOlQpn +O+VZTdBHmTC8PGeTAgZXHZUCgYA6Tyv88lYowB7SN2qQgBQu8jvdGtqhcs/99GCr +H3N0I69LPsKAR0QeH8OJPXBKhDUywESXAaEOwS5yrLNP1tMRz5Vj65YUCzeDG3kx +gpvY4IMp7ArX0bSRvJ6mYSFnVxy3k174G3TVCfksrtagHioVBGQ7xUg5ltafjrms +n8l55QKBgQDVzU8tQvBVqY8/1lnw11Vj4fkE/drZHJ5UkdC1eenOfSWhlSLfUJ8j +ds7vEWpRPPoVuPZYeR1y78cyxKe1GBx6Wa2lF5c7xjmiu0xbRnrxYeLolce9/ntp +asClqpnHT8/VJYTD7Kqj0fouTTZf0zkig/y+2XERppd8k+pSKjUCPQ== +-----END RSA PRIVATE KEY----- diff --git a/apps/emqx_auth_ldap/test/certs/key.pem b/apps/emqx_auth_ldap/test/certs/key.pem new file mode 100644 index 000000000..6c338216e --- /dev/null +++ b/apps/emqx_auth_ldap/test/certs/key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAs15ZPekT5AV+JEnMqacAxStajcraP9Obf5eeXpYvPrv/Stxi +sltsq9Le7JE/+y1fJcQrD0J6nJDVWIFUWRYCjLypAQ5YUOxlz/lTOFdSdvotevep +OQUSM2aGP7u7O/+VsHGVQbU2VjNJ44Hr9FPzMf+WE54qEudZg9d1cqxrUUvqKPhf +wN4M7WRjt+8AaYGf9MeHW5OkOLMzhiZ4j7vh2ZrIDnFe8BG17mHhW7lIjN7uILTn +s36/KZOgyTYmCT5lkWnJeuer7KjpFoPcA1yWtzgVt5RBnlrmzlLGCz1rRjdYwb7t +zlWdVdxuMFHP9qrY206dBCOKQopADwYXTzQFCQIDAQABAoIBAQCuvCbr7Pd3lvI/ +n7VFQG+7pHRe1VKwAxDkx2t8cYos7y/QWcm8Ptwqtw58HzPZGWYrgGMCRpzzkRSF +V9g3wP1S5Scu5C6dBu5YIGc157tqNGXB+SpdZddJQ4Nc6yGHXYERllT04ffBGc3N +WG/oYS/1cSteiSIrsDy/91FvGRCi7FPxH3wIgHssY/tw69s1Cfvaq5lr2NTFzxIG +xCvpJKEdSfVfS9I7LYiymVjst3IOR/w76/ZFY9cRa8ZtmQSWWsm0TUpRC1jdcbkm +ZoJptYWlP+gSwx/fpMYftrkJFGOJhHJHQhwxT5X/ajAISeqjjwkWSEJLwnHQd11C +Zy2+29lBAoGBANlEAIK4VxCqyPXNKfoOOi5dS64NfvyH4A1v2+KaHWc7lqaqPN49 +ezfN2n3X+KWx4cviDD914Yc2JQ1vVJjSaHci7yivocDo2OfZDmjBqzaMp/y+rX1R +/f3MmiTqMa468rjaxI9RRZu7vDgpTR+za1+OBCgMzjvAng8dJuN/5gjlAoGBANNY +uYPKtearBmkqdrSV7eTUe49Nhr0XotLaVBH37TCW0Xv9wjO2xmbm5Ga/DCtPIsBb +yPeYwX9FjoasuadUD7hRvbFu6dBa0HGLmkXRJZTcD7MEX2Lhu4BuC72yDLLFd0r+ +Ep9WP7F5iJyagYqIZtz+4uf7gBvUDdmvXz3sGr1VAoGAdXTD6eeKeiI6PlhKBztF +zOb3EQOO0SsLv3fnodu7ZaHbUgLaoTMPuB17r2jgrYM7FKQCBxTNdfGZmmfDjlLB +0xZ5wL8ibU30ZXL8zTlWPElST9sto4B+FYVVF/vcG9sWeUUb2ncPcJ/Po3UAktDG +jYQTTyuNGtSJHpad/YOZctkCgYBtWRaC7bq3of0rJGFOhdQT9SwItN/lrfj8hyHA +OjpqTV4NfPmhsAtu6j96OZaeQc+FHvgXwt06cE6Rt4RG4uNPRluTFgO7XYFDfitP +vCppnoIw6S5BBvHwPP+uIhUX2bsi/dm8vu8tb+gSvo4PkwtFhEr6I9HglBKmcmog +q6waEQKBgHyecFBeM6Ls11Cd64vborwJPAuxIW7HBAFj/BS99oeG4TjBx4Sz2dFd +rzUibJt4ndnHIvCN8JQkjNG14i9hJln+H3mRss8fbZ9vQdqG+2vOWADYSzzsNI55 +RFY7JjluKcVkp/zCDeUxTU3O6sS+v6/3VE11Cob6OYQx3lN5wrZ3 +-----END RSA PRIVATE KEY----- diff --git a/apps/emqx_auth_ldap/test/emqx_auth_ldap_SUITE.erl b/apps/emqx_auth_ldap/test/emqx_auth_ldap_SUITE.erl new file mode 100644 index 000000000..4d92b9b80 --- /dev/null +++ b/apps/emqx_auth_ldap/test/emqx_auth_ldap_SUITE.erl @@ -0,0 +1,153 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_ldap_SUITE). + +-compile(export_all). +-compile(nowarn_export_all). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("eunit/include/eunit.hrl"). +-include_lib("common_test/include/ct.hrl"). + +-define(PID, emqx_auth_ldap). + +-define(APP, emqx_auth_ldap). + +-define(DeviceDN, "ou=test_device,dc=emqx,dc=io"). + +-define(AuthDN, "ou=test_auth,dc=emqx,dc=io"). + +%%-------------------------------------------------------------------- +%% Setups +%%-------------------------------------------------------------------- + +all() -> + [{group, nossl}, {group, ssl}]. + +groups() -> + Cases = emqx_ct:all(?MODULE), + [{nossl, Cases}, {ssl, Cases}]. + +init_per_group(GrpName, Cfg) -> + Fun = fun(App) -> set_special_configs(GrpName, App) end, + emqx_ct_helpers:start_apps([emqx_auth_ldap], Fun), + emqx_mod_acl_internal:unload([]), + Cfg. + +end_per_group(_GrpName, _Cfg) -> + emqx_ct_helpers:stop_apps([emqx_auth_ldap]). + +%%-------------------------------------------------------------------- +%% Cases +%%-------------------------------------------------------------------- + +t_check_auth(_) -> + MqttUser1 = #{clientid => <<"mqttuser1">>, + username => <<"mqttuser0001">>, + password => <<"mqttuser0001">>, + zone => external}, + MqttUser2 = #{clientid => <<"mqttuser2">>, + username => <<"mqttuser0002">>, + password => <<"mqttuser0002">>, + zone => external}, + MqttUser3 = #{clientid => <<"mqttuser3">>, + username => <<"mqttuser0003">>, + password => <<"mqttuser0003">>, + zone => external}, + MqttUser4 = #{clientid => <<"mqttuser4">>, + username => <<"mqttuser0004">>, + password => <<"mqttuser0004">>, + zone => external}, + MqttUser5 = #{clientid => <<"mqttuser5">>, + username => <<"mqttuser0005">>, + password => <<"mqttuser0005">>, + zone => external}, + NonExistUser1 = #{clientid => <<"mqttuser6">>, + username => <<"mqttuser0006">>, + password => <<"mqttuser0006">>, + zone => external}, + NonExistUser2 = #{clientid => <<"mqttuser7">>, + username => <<"mqttuser0005">>, + password => <<"mqttuser0006">>, + zone => external}, + ct:log("MqttUser: ~p", [emqx_access_control:authenticate(MqttUser1)]), + ?assertMatch({ok, #{auth_result := success}}, emqx_access_control:authenticate(MqttUser1)), + ?assertMatch({ok, #{auth_result := success}}, emqx_access_control:authenticate(MqttUser2)), + ?assertMatch({ok, #{auth_result := success}}, emqx_access_control:authenticate(MqttUser3)), + ?assertMatch({ok, #{auth_result := success}}, emqx_access_control:authenticate(MqttUser4)), + ?assertMatch({ok, #{auth_result := success}}, emqx_access_control:authenticate(MqttUser5)), + ?assertEqual({error, not_authorized}, emqx_access_control:authenticate(NonExistUser1)), + ?assertEqual({error, bad_username_or_password}, emqx_access_control:authenticate(NonExistUser2)). + +t_check_acl(_) -> + MqttUser = #{clientid => <<"mqttuser1">>, username => <<"mqttuser0001">>, zone => external}, + NoMqttUser = #{clientid => <<"mqttuser2">>, username => <<"mqttuser0007">>, zone => external}, + allow = emqx_access_control:check_acl(MqttUser, publish, <<"mqttuser0001/pub/1">>), + allow = emqx_access_control:check_acl(MqttUser, publish, <<"mqttuser0001/pub/+">>), + allow = emqx_access_control:check_acl(MqttUser, publish, <<"mqttuser0001/pub/#">>), + + allow = emqx_access_control:check_acl(MqttUser, subscribe, <<"mqttuser0001/sub/1">>), + allow = emqx_access_control:check_acl(MqttUser, subscribe, <<"mqttuser0001/sub/+">>), + allow = emqx_access_control:check_acl(MqttUser, subscribe, <<"mqttuser0001/sub/#">>), + + allow = emqx_access_control:check_acl(MqttUser, publish, <<"mqttuser0001/pubsub/1">>), + allow = emqx_access_control:check_acl(MqttUser, publish, <<"mqttuser0001/pubsub/+">>), + allow = emqx_access_control:check_acl(MqttUser, publish, <<"mqttuser0001/pubsub/#">>), + allow = emqx_access_control:check_acl(MqttUser, subscribe, <<"mqttuser0001/pubsub/1">>), + allow = emqx_access_control:check_acl(MqttUser, subscribe, <<"mqttuser0001/pubsub/+">>), + allow = emqx_access_control:check_acl(MqttUser, subscribe, <<"mqttuser0001/pubsub/#">>), + + deny = emqx_access_control:check_acl(NoMqttUser, publish, <<"mqttuser0001/req/mqttuser0001/+">>), + deny = emqx_access_control:check_acl(MqttUser, publish, <<"mqttuser0001/req/mqttuser0002/+">>), + deny = emqx_access_control:check_acl(MqttUser, subscribe, <<"mqttuser0001/req/+/mqttuser0002">>), + ok. + +%%-------------------------------------------------------------------- +%% Helpers +%%-------------------------------------------------------------------- + +set_special_configs(_, emqx) -> + application:set_env(emqx, allow_anonymous, false), + application:set_env(emqx, enable_acl_cache, false), + application:set_env(emqx, acl_nomatch, deny), + AclFilePath = filename:join(["test", "emqx_SUITE_data", "acl.conf"]), + application:set_env(emqx, acl_file, + emqx_ct_helpers:deps_path(emqx, AclFilePath)), + LoadedPluginPath = filename:join(["test", "emqx_SUITE_data", "loaded_plugins"]), + application:set_env(emqx, plugins_loaded_file, + emqx_ct_helpers:deps_path(emqx, LoadedPluginPath)); + +set_special_configs(Ssl, emqx_auth_ldap) -> + case Ssl == ssl of + true -> + LdapOpts = application:get_env(emqx_auth_ldap, ldap, []), + Path = emqx_ct_helpers:deps_path(emqx_auth_ldap, "test/certs/"), + SslOpts = [{verify, verify_peer}, + {fail_if_no_peer_cert, true}, + {server_name_indication, disable}, + {keyfile, Path ++ "/client-key.pem"}, + {certfile, Path ++ "/client-cert.pem"}, + {cacertfile, Path ++ "/cacert.pem"}], + LdapOpts1 = lists:keystore(ssl, 1, LdapOpts, {ssl, true}), + LdapOpts2 = lists:keystore(sslopts, 1, LdapOpts1, {sslopts, SslOpts}), + LdapOpts3 = lists:keystore(port, 1, LdapOpts2, {port, 636}), + application:set_env(emqx_auth_ldap, ldap, LdapOpts3); + _ -> + ok + end, + application:set_env(emqx_auth_ldap, device_dn, "ou=testdevice, dc=emqx, dc=io"). + diff --git a/apps/emqx_auth_ldap/test/emqx_auth_ldap_bind_as_user_SUITE.erl b/apps/emqx_auth_ldap/test/emqx_auth_ldap_bind_as_user_SUITE.erl new file mode 100644 index 000000000..a9afbae45 --- /dev/null +++ b/apps/emqx_auth_ldap/test/emqx_auth_ldap_bind_as_user_SUITE.erl @@ -0,0 +1,114 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_ldap_bind_as_user_SUITE). + +-compile(export_all). +-compile(no_warning_export). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("eunit/include/eunit.hrl"). +-include_lib("common_test/include/ct.hrl"). + +-define(PID, emqx_auth_ldap). + +-define(APP, emqx_auth_ldap). + +-define(DeviceDN, "ou=test_device,dc=emqx,dc=io"). + +-define(AuthDN, "ou=test_auth,dc=emqx,dc=io"). + +all() -> + [check_auth, + check_acl]. + +init_per_suite(Config) -> + emqx_ct_helpers:start_apps([emqx, emqx_auth_ldap], fun set_special_configs/1), + emqx_mod_acl_internal:unload([]), + Config. + +end_per_suite(_Config) -> + emqx_ct_helpers:stop_apps([emqx_auth_ldap, emqx]). + +check_auth(_) -> + MqttUser1 = #{clientid => <<"mqttuser1">>, + username => <<"user1">>, + password => <<"mqttuser0001">>, + zone => external}, + MqttUser2 = #{clientid => <<"mqttuser2">>, + username => <<"user2">>, + password => <<"mqttuser0002">>, + zone => external}, + NonExistUser1 = #{clientid => <<"mqttuser3">>, + username => <<"user3">>, + password => <<"mqttuser0003">>, + zone => external}, + ct:log("MqttUser: ~p", [emqx_access_control:authenticate(MqttUser1)]), + ?assertMatch({ok, #{auth_result := success}}, emqx_access_control:authenticate(MqttUser1)), + ?assertMatch({ok, #{auth_result := success}}, emqx_access_control:authenticate(MqttUser2)), + ?assertEqual({error, not_authorized}, emqx_access_control:authenticate(NonExistUser1)). + +check_acl(_) -> + % emqx_modules:load_module(emqx_mod_acl_internal, false), + MqttUser = #{clientid => <<"mqttuser1">>, username => <<"user1">>, zone => external}, + NoMqttUser = #{clientid => <<"mqttuser2">>, username => <<"user7">>, zone => external}, + allow = emqx_access_control:check_acl(MqttUser, publish, <<"mqttuser0001/pub/1">>), + allow = emqx_access_control:check_acl(MqttUser, publish, <<"mqttuser0001/pub/+">>), + allow = emqx_access_control:check_acl(MqttUser, publish, <<"mqttuser0001/pub/#">>), + + allow = emqx_access_control:check_acl(MqttUser, subscribe, <<"mqttuser0001/sub/1">>), + allow = emqx_access_control:check_acl(MqttUser, subscribe, <<"mqttuser0001/sub/+">>), + allow = emqx_access_control:check_acl(MqttUser, subscribe, <<"mqttuser0001/sub/#">>), + + allow = emqx_access_control:check_acl(MqttUser, publish, <<"mqttuser0001/pubsub/1">>), + allow = emqx_access_control:check_acl(MqttUser, publish, <<"mqttuser0001/pubsub/+">>), + allow = emqx_access_control:check_acl(MqttUser, publish, <<"mqttuser0001/pubsub/#">>), + allow = emqx_access_control:check_acl(MqttUser, subscribe, <<"mqttuser0001/pubsub/1">>), + allow = emqx_access_control:check_acl(MqttUser, subscribe, <<"mqttuser0001/pubsub/+">>), + allow = emqx_access_control:check_acl(MqttUser, subscribe, <<"mqttuser0001/pubsub/#">>), + + deny = emqx_access_control:check_acl(NoMqttUser, publish, <<"mqttuser0001/req/mqttuser0001/+">>), + deny = emqx_access_control:check_acl(MqttUser, publish, <<"mqttuser0001/req/mqttuser0002/+">>), + deny = emqx_access_control:check_acl(MqttUser, subscribe, <<"mqttuser0001/req/+/mqttuser0002">>), + ok. + +set_special_configs(emqx) -> + application:set_env(emqx, allow_anonymous, false), + application:set_env(emqx, enable_acl_cache, false), + application:set_env(emqx, acl_nomatch, deny), + AclFilePath = filename:join(["test", "emqx_SUITE_data", "acl.conf"]), + application:set_env(emqx, acl_file, + emqx_ct_helpers:deps_path(emqx, AclFilePath)), + LoadedPluginPath = filename:join(["test", "emqx_SUITE_data", "loaded_plugins"]), + application:set_env(emqx, plugins_loaded_file, + emqx_ct_helpers:deps_path(emqx, LoadedPluginPath)); + +set_special_configs(emqx_auth_ldap) -> + application:set_env(emqx_auth_ldap, bind_as_user, true), + application:set_env(emqx_auth_ldap, device_dn, "ou=testdevice, dc=emqx, dc=io"), + application:set_env(emqx_auth_ldap, custom_base_dn, "${device_dn}"), + %% auth.ldap.filters.1.key = mqttAccountName + %% auth.ldap.filters.1.value = ${user} + %% auth.ldap.filters.1.op = and + %% auth.ldap.filters.2.key = objectClass + %% auth.ldap.filters.1.value = mqttUser + application:set_env(emqx_auth_ldap, filters, [{"mqttAccountName", "${user}"}, + "and", + {"objectClass", "mqttUser"}]); + +set_special_configs(_App) -> + ok. + diff --git a/apps/emqx_auth_mnesia/README.md b/apps/emqx_auth_mnesia/README.md new file mode 100644 index 000000000..8b4c145a8 --- /dev/null +++ b/apps/emqx_auth_mnesia/README.md @@ -0,0 +1,2 @@ +emqx_auth_mnesia +=============== diff --git a/apps/emqx_auth_mnesia/include/emqx_auth_mnesia.hrl b/apps/emqx_auth_mnesia/include/emqx_auth_mnesia.hrl new file mode 100644 index 000000000..31557ea63 --- /dev/null +++ b/apps/emqx_auth_mnesia/include/emqx_auth_mnesia.hrl @@ -0,0 +1,35 @@ +-define(APP, emqx_auth_mnesia). + +-record(emqx_user, { + login, + password, + is_superuser + }). + +-record(emqx_acl, { + login, + topic, + action, + allow + }). + +-record(auth_metrics, { + success = 'client.auth.success', + failure = 'client.auth.failure', + ignore = 'client.auth.ignore' + }). + +-record(acl_metrics, { + allow = 'client.acl.allow', + deny = 'client.acl.deny', + ignore = 'client.acl.ignore' + }). + +-define(METRICS(Type), tl(tuple_to_list(#Type{}))). +-define(METRICS(Type, K), #Type{}#Type.K). + +-define(AUTH_METRICS, ?METRICS(auth_metrics)). +-define(AUTH_METRICS(K), ?METRICS(auth_metrics, K)). + +-define(ACL_METRICS, ?METRICS(acl_metrics)). +-define(ACL_METRICS(K), ?METRICS(acl_metrics, K)). \ No newline at end of file diff --git a/apps/emqx_auth_mnesia/priv/emqx_auth_mnesia.schema b/apps/emqx_auth_mnesia/priv/emqx_auth_mnesia.schema new file mode 100644 index 000000000..34333b145 --- /dev/null +++ b/apps/emqx_auth_mnesia/priv/emqx_auth_mnesia.schema @@ -0,0 +1,35 @@ +%%-*- mode: erlang -*- +%% emqx_auth_mnesia config mapping + +{mapping, "auth.mnesia.as", "emqx_auth_mnesia.as", [ + {default, username}, + {datatype, {enum, [username, clientid]}} +]}. + +{mapping, "auth.mnesia.password_hash", "emqx_auth_mnesia.password_hash", [ + {default, sha256}, + {datatype, {enum, [plain, md5, sha, sha256]}} +]}. + +{mapping, "auth.mnesia.$id.login", "emqx_auth_mnesia.userlist", [ + {datatype, string} +]}. + +{mapping, "auth.mnesia.$id.password", "emqx_auth_mnesia.userlist", [ + {datatype, string} +]}. + +{mapping, "auth.mnesia.$id.is_superuser", "emqx_auth_mnesia.userlist", [ + {default, false}, + {datatype, {enum, [false, true]}} +]}. + +{translation, "emqx_auth_mnesia.userlist", fun(Conf) -> + Userlist = cuttlefish_variable:filter_by_prefix("auth.mnesia", Conf), + lists:foldl( + fun({["auth", "mnesia", Id, "login"], Username}, AccIn) -> + [{Username, cuttlefish:conf_get("auth.mnesia." ++ Id ++ ".password", Conf), cuttlefish:conf_get("auth.mnesia." ++ Id ++ ".is_superuser", Conf)} | AccIn]; + (_, AccIn) -> + AccIn + end, [], Userlist) +end}. diff --git a/apps/emqx_auth_mnesia/rebar.config b/apps/emqx_auth_mnesia/rebar.config new file mode 100644 index 000000000..7b1f06cca --- /dev/null +++ b/apps/emqx_auth_mnesia/rebar.config @@ -0,0 +1 @@ +{deps, []}. \ No newline at end of file diff --git a/apps/emqx_auth_mnesia/src/emqx_acl_mnesia.erl b/apps/emqx_auth_mnesia/src/emqx_acl_mnesia.erl new file mode 100644 index 000000000..63a357979 --- /dev/null +++ b/apps/emqx_auth_mnesia/src/emqx_acl_mnesia.erl @@ -0,0 +1,83 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_acl_mnesia). + +-include("emqx_auth_mnesia.hrl"). + +%% ACL Callbacks +-export([ init/0 + , register_metrics/0 + , check_acl/5 + , description/0 + ]). + +init() -> + ok = ekka_mnesia:create_table(emqx_acl, [ + {type, bag}, + {disc_copies, [node()]}, + {attributes, record_info(fields, emqx_acl)}, + {storage_properties, [{ets, [{read_concurrency, true}]}]}]), + ok = ekka_mnesia:copy_table(emqx_user, disc_copies). + +-spec(register_metrics() -> ok). +register_metrics() -> + lists:foreach(fun emqx_metrics:ensure/1, ?ACL_METRICS). + +check_acl(ClientInfo, PubSub, Topic, NoMatchAction, #{key_as := As}) -> + Login = maps:get(As, ClientInfo), + case do_check_acl(Login, PubSub, Topic, NoMatchAction) of + ok -> emqx_metrics:inc(?ACL_METRICS(ignore)), ok; + {stop, allow} -> emqx_metrics:inc(?ACL_METRICS(allow)), {stop, allow}; + {stop, deny} -> emqx_metrics:inc(?ACL_METRICS(deny)), {stop, deny} + end. + +description() -> "Acl with Mnesia". + +%%-------------------------------------------------------------------- +%% Internal functions +%%------------------------------------------------------------------- + +do_check_acl(Login, PubSub, Topic, _NoMatchAction) -> + case match(PubSub, Topic, emqx_auth_mnesia_cli:lookup_acl(Login)) of + allow -> {stop, allow}; + deny -> {stop, deny}; + _ -> + case match(PubSub, Topic, emqx_auth_mnesia_cli:lookup_acl(<<"$all">>)) of + allow -> {stop, allow}; + deny -> {stop, deny}; + _ -> ok + end + end. + +match(_PubSub, _Topic, []) -> + nomatch; +match(PubSub, Topic, [ #emqx_acl{topic = ACLTopic, action = Action, allow = Allow} | UserAcl]) -> + case match_actions(PubSub, Action) andalso match_topic(Topic, ACLTopic) of + true -> case Allow of + true -> allow; + _ -> deny + end; + false -> match(PubSub, Topic, UserAcl) + end. + +match_topic(Topic, ACLTopic) when is_binary(Topic) -> + emqx_topic:match(Topic, ACLTopic). + +match_actions(_, <<"pubsub">>) -> true; +match_actions(subscribe, <<"sub">>) -> true; +match_actions(publish, <<"pub">>) -> true; +match_actions(_, _) -> false. diff --git a/apps/emqx_auth_mnesia/src/emqx_acl_mnesia_api.erl b/apps/emqx_auth_mnesia/src/emqx_acl_mnesia_api.erl new file mode 100644 index 000000000..3891b7ffd --- /dev/null +++ b/apps/emqx_auth_mnesia/src/emqx_acl_mnesia_api.erl @@ -0,0 +1,148 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_acl_mnesia_api). + +-include("emqx_auth_mnesia.hrl"). + +-import(proplists, [get_value/2]). + +-import(minirest, [return/1]). + +-rest_api(#{name => list_emqx_acl, + method => 'GET', + path => "/mqtt_acl", + func => list, + descr => "List available mnesia in the cluster" + }). + +-rest_api(#{name => lookup_emqx_acl, + method => 'GET', + path => "/mqtt_acl/:bin:login", + func => lookup, + descr => "Lookup mnesia in the cluster" + }). + +-rest_api(#{name => add_emqx_acl, + method => 'POST', + path => "/mqtt_acl", + func => add, + descr => "Add mnesia in the cluster" + }). + +-rest_api(#{name => delete_emqx_acl, + method => 'DELETE', + path => "/mqtt_acl/:bin:login/:bin:topic", + func => delete, + descr => "Delete mnesia in the cluster" + }). + +-export([ list/2 + , lookup/2 + , add/2 + , delete/2 + ]). + +list(_Bindings, Params) -> + return({ok, emqx_auth_mnesia_api:paginate(emqx_acl, Params, fun format/1)}). + +lookup(#{login := Login}, _Params) -> + return({ok, format(emqx_auth_mnesia_cli:lookup_acl(urldecode(Login)))}). + +add(_Bindings, Params) -> + [ P | _] = Params, + case is_list(P) of + true -> return(add_acl(Params, [])); + false -> return(add_acl([Params], [])) + end. + +add_acl([ Params | ParamsN ], ReList ) -> + Login = urldecode(get_value(<<"login">>, Params)), + Topic = urldecode(get_value(<<"topic">>, Params)), + Action = urldecode(get_value(<<"action">>, Params)), + Allow = get_value(<<"allow">>, Params), + Re = case validate([login, topic, action, allow], [Login, Topic, Action, Allow]) of + ok -> + emqx_auth_mnesia_cli:add_acl(Login, Topic, Action, Allow); + Err -> Err + end, + add_acl(ParamsN, [{Login, format_msg(Re)} | ReList]); + +add_acl([], ReList) -> + {ok, ReList}. + +delete(#{login := Login, topic := Topic}, _) -> + return(emqx_auth_mnesia_cli:remove_acl(urldecode(Login), urldecode(Topic))). + +%%------------------------------------------------------------------------------ +%% Interval Funcs +%%------------------------------------------------------------------------------ + +format(#emqx_acl{login = Login, topic = Topic, action = Action, allow = Allow}) -> + #{login => Login, topic => Topic, action => Action, allow => Allow }; + +format([]) -> + #{}; + +format([#emqx_acl{login = Login, topic = Topic, action = Action, allow = Allow}]) -> + format(#emqx_acl{login = Login, topic = Topic, action = Action, allow = Allow}); + +format([ #emqx_acl{login = _Key, topic = _Topic, action = _Action, allow = _Allow}| _] = List) -> + format(List, []). + +format([#emqx_acl{login = Login, topic = Topic, action = Action, allow = Allow} | List], ReList) -> + format(List, [ format(#emqx_acl{login = Login, topic = Topic, action = Action, allow = Allow}) | ReList]); +format([], ReList) -> ReList. + +validate([], []) -> + ok; +validate([K|Keys], [V|Values]) -> + case do_validation(K, V) of + false -> {error, K}; + true -> validate(Keys, Values) + end. + +do_validation(login, V) when is_binary(V) + andalso byte_size(V) > 0 -> + true; +do_validation(topic, V) when is_binary(V) + andalso byte_size(V) > 0 -> + true; +do_validation(action, V) when is_binary(V) -> + case V =:= <<"pub">> orelse V =:= <<"sub">> orelse V =:= <<"pubsub">> of + true -> true; + false -> false + end; +do_validation(allow, V) when is_boolean(V) -> + true; +do_validation(_, _) -> + false. + +format_msg(Message) + when is_atom(Message); + is_binary(Message) -> Message; + +format_msg(Message) when is_tuple(Message) -> + iolist_to_binary(io_lib:format("~p", [Message])). + +-if(?OTP_RELEASE >= 23). +urldecode(S) -> + [{R, _}] = uri_string:dissect_query(S), R. +-else. +urldecode(S) -> + http_uri:decode(S). +-endif. + diff --git a/apps/emqx_auth_mnesia/src/emqx_auth_mnesia.app.src b/apps/emqx_auth_mnesia/src/emqx_auth_mnesia.app.src new file mode 100644 index 000000000..62241e255 --- /dev/null +++ b/apps/emqx_auth_mnesia/src/emqx_auth_mnesia.app.src @@ -0,0 +1,14 @@ +{application, emqx_auth_mnesia, + [{description, "EMQ X Authentication with Mnesia"}, + {vsn, "git"}, + {modules, []}, + {registered, []}, + {applications, [kernel,stdlib,mnesia,emqx_libs]}, + {mod, {emqx_auth_mnesia_app,[]}}, + {env, []}, + {licenses, ["Apache-2.0"]}, + {maintainers, ["EMQ X Team "]}, + {links, [{"Homepage", "https://emqx.io/"}, + {"Github", "https://github.com/emqx/emqx-auth-mnesia"} + ]} + ]}. diff --git a/apps/emqx_auth_mnesia/src/emqx_auth_mnesia.app.src.script b/apps/emqx_auth_mnesia/src/emqx_auth_mnesia.app.src.script new file mode 100644 index 000000000..0e14ff23f --- /dev/null +++ b/apps/emqx_auth_mnesia/src/emqx_auth_mnesia.app.src.script @@ -0,0 +1,24 @@ +%%-*- mode: erlang -*- +%% .app.src.script + +RemoveLeadingV = + fun(Tag) -> + case re:run(Tag, "^[v|e]?[0-9]\.[0-9]\.([0-9]|(rc|beta|alpha)\.[0-9])", [{capture, none}]) of + nomatch -> + re:replace(Tag, "/", "-", [{return ,list}]); + _ -> + %% if it is a version number prefixed by 'v' or 'e', then remove it + re:replace(Tag, "[v|e]", "", [{return ,list}]) + end + end, + +case os:getenv("EMQX_DEPS_DEFAULT_VSN") of + false -> CONFIG; % env var not defined + [] -> CONFIG; % env var set to empty string + Tag -> + [begin + AppConf0 = lists:keystore(vsn, 1, AppConf, {vsn, RemoveLeadingV(Tag)}), + {application, App, AppConf0} + end || Conf = {application, App, AppConf} <- CONFIG] +end. + diff --git a/apps/emqx_auth_mnesia/src/emqx_auth_mnesia.erl b/apps/emqx_auth_mnesia/src/emqx_auth_mnesia.erl new file mode 100644 index 000000000..8b47c8b32 --- /dev/null +++ b/apps/emqx_auth_mnesia/src/emqx_auth_mnesia.erl @@ -0,0 +1,76 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_mnesia). + +-include("emqx_auth_mnesia.hrl"). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). +-include_lib("emqx_libs/include/types.hrl"). + +%% Auth callbacks +-export([ init/1 + , register_metrics/0 + , check/3 + , description/0 + ]). + +init(DefaultUsers) -> + ok = ekka_mnesia:create_table(emqx_user, [ + {disc_copies, [node()]}, + {attributes, record_info(fields, emqx_user)}, + {storage_properties, [{ets, [{read_concurrency, true}]}]}]), + ok = lists:foreach(fun add_default_user/1, DefaultUsers), + ok = ekka_mnesia:copy_table(emqx_user, disc_copies). + +%% @private +add_default_user({Login, Password, IsSuperuser}) -> + emqx_auth_mnesia_cli:add_user(iolist_to_binary(Login), iolist_to_binary(Password), IsSuperuser). + +-spec(register_metrics() -> ok). +register_metrics() -> + lists:foreach(fun emqx_metrics:ensure/1, ?AUTH_METRICS). + +check(ClientInfo = #{password := Password}, AuthResult, #{hash_type := HashType, key_as := As}) -> + Login = maps:get(As, ClientInfo), + case emqx_auth_mnesia_cli:lookup_user(Login) of + [] -> + emqx_metrics:inc(?AUTH_METRICS(ignore)), + ok; + [User] -> + case emqx_passwd:check_pass({User#emqx_user.password, Password}, HashType) of + ok -> + emqx_metrics:inc(?AUTH_METRICS(success)), + {stop, AuthResult#{is_superuser => is_superuser(User), + anonymous => false, + auth_result => success}}; + {error, Reason} -> + ?LOG(error, "[Mnesia] Auth from mnesia failed: ~p", [Reason]), + emqx_metrics:inc(?AUTH_METRICS(failure)), + {stop, AuthResult#{auth_result => password_error, anonymous => false}} + end + end. + +description() -> "Authentication with Mnesia". + +%%-------------------------------------------------------------------- +%% Internal functions +%%-------------------------------------------------------------------- +is_superuser(#emqx_user{is_superuser = true}) -> + true; +is_superuser(_) -> + false. diff --git a/apps/emqx_auth_mnesia/src/emqx_auth_mnesia_api.erl b/apps/emqx_auth_mnesia/src/emqx_auth_mnesia_api.erl new file mode 100644 index 000000000..7c527b0fd --- /dev/null +++ b/apps/emqx_auth_mnesia/src/emqx_auth_mnesia_api.erl @@ -0,0 +1,201 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_mnesia_api). + +-include_lib("stdlib/include/qlc.hrl"). + +-import(proplists, [get_value/2]). + +-import(minirest, [return/1]). + +-rest_api(#{name => list_emqx_user, + method => 'GET', + path => "/mqtt_user", + func => list, + descr => "List available mnesia in the cluster" + }). + +-rest_api(#{name => lookup_emqx_user, + method => 'GET', + path => "/mqtt_user/:bin:login", + func => lookup, + descr => "Lookup mnesia in the cluster" + }). + +-rest_api(#{name => add_emqx_user, + method => 'POST', + path => "/mqtt_user", + func => add, + descr => "Add mnesia in the cluster" + }). + +-rest_api(#{name => update_emqx_user, + method => 'PUT', + path => "/mqtt_user/:bin:login", + func => update, + descr => "Update mnesia in the cluster" + }). + +-rest_api(#{name => delete_emqx_user, + method => 'DELETE', + path => "/mqtt_user/:bin:login", + func => delete, + descr => "Delete mnesia in the cluster" + }). + +-export([ list/2 + , lookup/2 + , add/2 + , update/2 + , delete/2 + ]). + +-export([paginate/3]). + +list(_Bindings, Params) -> + return({ok, paginate(emqx_user, Params, fun format/1)}). + +lookup(#{login := Login}, _Params) -> + return({ok, format(emqx_auth_mnesia_cli:lookup_user(urldecode(Login)))}). + +add(_Bindings, Params) -> + [ P | _] = Params, + case is_list(P) of + true -> return(add_user(Params, [])); + false -> return(add_user([Params], [])) + end. + +add_user([ Params | ParamsN ], ReList ) -> + Login = urldecode(get_value(<<"login">>, Params)), + Password = urldecode(get_value(<<"password">>, Params)), + IsSuperuser = get_value(<<"is_superuser">>, Params), + Re = case validate([login, password, is_superuser], [Login, Password, IsSuperuser]) of + ok -> + emqx_auth_mnesia_cli:add_user(Login, Password, IsSuperuser); + Err -> Err + end, + add_user(ParamsN, [{Login, format_msg(Re)} | ReList]); + +add_user([], ReList) -> + {ok, ReList}. + +update(#{login := Login}, Params) -> + Password = get_value(<<"password">>, Params), + IsSuperuser = get_value(<<"is_superuser">>, Params), + case validate([password, is_superuser], [Password, IsSuperuser]) of + ok -> return(emqx_auth_mnesia_cli:update_user(urldecode(Login), urldecode(Password), IsSuperuser)); + Err -> return(Err) + end. + +delete(#{login := Login}, _) -> + return(emqx_auth_mnesia_cli:remove_user(urldecode(Login))). + +%%------------------------------------------------------------------------------ +%% Paging Query +%%------------------------------------------------------------------------------ + +paginate(Tables, Params, RowFun) -> + Qh = query_handle(Tables), + Count = count(Tables), + Page = page(Params), + Limit = limit(Params), + Cursor = qlc:cursor(Qh), + case Page > 1 of + true -> qlc:next_answers(Cursor, (Page - 1) * Limit); + false -> ok + end, + Rows = qlc:next_answers(Cursor, Limit), + qlc:delete_cursor(Cursor), + #{meta => #{page => Page, limit => Limit, count => Count}, + data => [RowFun(Row) || Row <- Rows]}. + +query_handle(Table) when is_atom(Table) -> + qlc:q([R|| R <- ets:table(Table)]); +query_handle([Table]) when is_atom(Table) -> + qlc:q([R|| R <- ets:table(Table)]); +query_handle(Tables) -> + qlc:append([qlc:q([E || E <- ets:table(T)]) || T <- Tables]). + +count(Table) when is_atom(Table) -> + ets:info(Table, size); +count([Table]) when is_atom(Table) -> + ets:info(Table, size); +count(Tables) -> + lists:sum([count(T) || T <- Tables]). + +page(Params) -> + binary_to_integer(proplists:get_value(<<"_page">>, Params, <<"1">>)). + +limit(Params) -> + case proplists:get_value(<<"_limit">>, Params) of + undefined -> 10; + Size -> binary_to_integer(Size) + end. + + + +%%------------------------------------------------------------------------------ +%% Interval Funcs +%%------------------------------------------------------------------------------ + +format({emqx_user, Login, Password, IsSuperuser}) -> + #{login => Login, + password => Password, + is_superuser => IsSuperuser}; + +format([]) -> + #{}; + +format([{emqx_user, Login, Password, IsSuperuser}]) -> + #{login => Login, + password => Password, + is_superuser => IsSuperuser}. + +validate([], []) -> + ok; +validate([K|Keys], [V|Values]) -> + case do_validation(K, V) of + false -> {error, K}; + true -> validate(Keys, Values) + end. + +do_validation(login, V) when is_binary(V) + andalso byte_size(V) > 0 -> + true; +do_validation(password, V) when is_binary(V) + andalso byte_size(V) > 0 -> + true; +do_validation(is_superuser, V) when is_boolean(V) -> + true; +do_validation(_, _) -> + false. + +format_msg(Message) + when is_atom(Message); + is_binary(Message) -> Message; + +format_msg(Message) when is_tuple(Message) -> + iolist_to_binary(io_lib:format("~p", [Message])). + +-if(?OTP_RELEASE >= 23). +urldecode(S) -> + [{R, _}] = uri_string:dissect_query(S), R. +-else. +urldecode(S) -> + http_uri:decode(S). +-endif. + diff --git a/apps/emqx_auth_mnesia/src/emqx_auth_mnesia_app.erl b/apps/emqx_auth_mnesia/src/emqx_auth_mnesia_app.erl new file mode 100644 index 000000000..094eba0ea --- /dev/null +++ b/apps/emqx_auth_mnesia/src/emqx_auth_mnesia_app.erl @@ -0,0 +1,70 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_mnesia_app). + +-behaviour(application). + +-emqx_plugin(auth). + +-include("emqx_auth_mnesia.hrl"). + +%% Application callbacks +-export([ start/2 + , prep_stop/1 + , stop/1 + ]). + +%%-------------------------------------------------------------------- +%% Application callbacks +%%-------------------------------------------------------------------- + +start(_StartType, _StartArgs) -> + {ok, Sup} = emqx_auth_mnesia_sup:start_link(), + emqx_ctl:register_command('mqtt-user', {emqx_auth_mnesia_cli, auth_cli}, []), + emqx_ctl:register_command('mqtt-acl', {emqx_auth_mnesia_cli, acl_cli}, []), + load_auth_hook(), + load_acl_hook(), + {ok, Sup}. + +prep_stop(State) -> + emqx:unhook('client.authenticate', fun emqx_auth_mnesia:check/3), + emqx:unhook('client.check_acl', fun emqx_acl_mnesia:check_acl/5), + emqx_ctl:unregister_command('mqtt-user'), + emqx_ctl:unregister_command('mqtt-acl'), + State. + +stop(_State) -> + ok. + +load_auth_hook() -> + DefaultUsers = application:get_env(?APP, userlist, []), + ok = emqx_auth_mnesia:init(DefaultUsers), + ok = emqx_auth_mnesia:register_metrics(), + Params = #{ + hash_type => application:get_env(emqx_auth_mnesia, hash_type, sha256), + key_as => application:get_env(emqx_auth_mnesia, as, username) + }, + emqx:hook('client.authenticate', fun emqx_auth_mnesia:check/3, [Params]). + +load_acl_hook() -> + ok = emqx_acl_mnesia:init(), + ok = emqx_acl_mnesia:register_metrics(), + Params = #{ + key_as => application:get_env(emqx_auth_mnesia, as, username) + }, + emqx:hook('client.check_acl', fun emqx_acl_mnesia:check_acl/5, [Params]). + diff --git a/apps/emqx_auth_mnesia/src/emqx_auth_mnesia_cli.erl b/apps/emqx_auth_mnesia/src/emqx_auth_mnesia_cli.erl new file mode 100644 index 000000000..fb14bed53 --- /dev/null +++ b/apps/emqx_auth_mnesia/src/emqx_auth_mnesia_cli.erl @@ -0,0 +1,193 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_mnesia_cli). + +-include("emqx_auth_mnesia.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). +-define(TABLE, emqx_user). +%% Auth APIs +-export([ add_user/3 + , update_user/3 + , remove_user/1 + , lookup_user/1 + , all_users/0 + ]). +%% Acl APIs +-export([ add_acl/4 + , remove_acl/2 + , lookup_acl/1 + , all_acls/0 + ]). +%% Cli +-export([ auth_cli/1 + , acl_cli/1]). +%%-------------------------------------------------------------------- +%% Auth APIs +%%-------------------------------------------------------------------- + +%% @doc Add User +-spec(add_user(binary(), binary(), atom()) -> ok | {error, any()}). +add_user(Login, Password, IsSuperuser) -> + User = #emqx_user{login = Login, password = encrypted_data(Password), is_superuser = IsSuperuser}, + ret(mnesia:transaction(fun insert_user/1, [User])). + +insert_user(User = #emqx_user{login = Login}) -> + case mnesia:read(?TABLE, Login) of + [] -> mnesia:write(User); + [_|_] -> mnesia:abort(existed) + end. + +%% @doc Update User +-spec(update_user(binary(), binary(), atom()) -> ok | {error, any()}). +update_user(Login, NewPassword, IsSuperuser) -> + User = #emqx_user{login = Login, password = encrypted_data(NewPassword), is_superuser = IsSuperuser}, + ret(mnesia:transaction(fun do_update_user/1, [User])). + +do_update_user(User = #emqx_user{login = Login}) -> + case mnesia:read(?TABLE, Login) of + [_|_] -> mnesia:write(User); + [] -> mnesia:abort(noexisted) + end. + +%% @doc Lookup user by login +-spec(lookup_user(binary()) -> list()). +lookup_user(undefined) -> []; +lookup_user(Login) -> + case mnesia:dirty_read(?TABLE, Login) of + {error, Reason} -> + ?LOG(error, "[Mnesia] do_check_user error: ~p~n", [Reason]), + []; + Re -> Re + end. + +%% @doc Remove user +-spec(remove_user(binary()) -> ok | {error, any()}). +remove_user(Login) -> + ret(mnesia:transaction(fun mnesia:delete/1, [{?TABLE, Login}])). + +%% @doc All logins +-spec(all_users() -> list()). +all_users() -> mnesia:dirty_all_keys(?TABLE). + +%%-------------------------------------------------------------------- +%% Acl API +%%-------------------------------------------------------------------- + +%% @doc Add Acls +-spec(add_acl(binary(), binary(), binary(), atom()) -> ok | {error, any()}). +add_acl(Login, Topic, Action, Allow) -> + Acls = #emqx_acl{login = Login, topic = Topic, action = Action, allow = Allow}, + ret(mnesia:transaction(fun mnesia:write/1, [Acls])). + +%% @doc Lookup acl by login +-spec(lookup_acl(binary()) -> list()). +lookup_acl(undefined) -> []; +lookup_acl(Login) -> + case mnesia:dirty_read(emqx_acl, Login) of + {error, Reason} -> + ?LOG(error, "[Mnesia] do_check_acl error: ~p~n", [Reason]), + []; + Re -> Re + end. + +%% @doc Remove acl +-spec(remove_acl(binary(), binary()) -> ok | {error, any()}). +remove_acl(Login, Topic) -> + [ ok = mnesia:dirty_delete_object(emqx_acl, #emqx_acl{login = Login, topic = Topic, action = Action, allow = Allow}) || [Action, Allow] <- ets:select(emqx_acl, [{{emqx_acl, Login, Topic,'$1','$2'}, [], ['$$']}])], + ok. + + +%% @doc All logins +-spec(all_acls() -> list()). +all_acls() -> mnesia:dirty_all_keys(emqx_acl). + + +%%-------------------------------------------------------------------- +%% Internal functions +%%-------------------------------------------------------------------- + +ret({atomic, ok}) -> ok; +ret({aborted, Error}) -> {error, Error}. + +encrypted_data(Password) -> + HashType = application:get_env(emqx_auth_mnesia, hash_type, sha256), + emqx_passwd:hash(HashType, Password). + +%%-------------------------------------------------------------------- +%% Auth APIs +%%-------------------------------------------------------------------- + +%% User +auth_cli(["add", Login, Password, IsSuperuser]) -> + case add_user(iolist_to_binary(Login), iolist_to_binary(Password), IsSuperuser) of + ok -> emqx_ctl:print("ok~n"); + {error, Reason} -> emqx_ctl:print("Error: ~p~n", [Reason]) + end; + +auth_cli(["update", Login, NewPassword, IsSuperuser]) -> + case update_user(iolist_to_binary(Login), iolist_to_binary(NewPassword), IsSuperuser) of + ok -> emqx_ctl:print("ok~n"); + {error, Reason} -> emqx_ctl:print("Error: ~p~n", [Reason]) + end; + +auth_cli(["del", Login]) -> + case remove_user(iolist_to_binary(Login)) of + ok -> emqx_ctl:print("ok~n"); + {error, Reason} -> emqx_ctl:print("Error: ~p~n", [Reason]) + end; + +auth_cli(["show", P]) -> + [emqx_ctl:print("User(login = ~p is_super = ~p)~n", [Login, IsSuperuser]) + || {_, Login, _Password, IsSuperuser} <- lookup_user(iolist_to_binary(P))]; + +auth_cli(["list"]) -> + [emqx_ctl:print("User(login = ~p)~n",[E]) + || E <- all_users()]; + +auth_cli(_) -> + emqx_ctl:usage([{"mqtt-user add ", "Add user"}, + {"mqtt-user update ", "Update user"}, + {"mqtt-user delete ", "Delete user"}, + {"mqtt-user show ", "Lookup user detail"}, + {"mqtt-user list", "List all users"}]). + +%% Acl +acl_cli(["add", Login, Topic, Action, Allow]) -> + case add_acl(iolist_to_binary(Login), iolist_to_binary(Topic), iolist_to_binary(Action), Allow) of + ok -> emqx_ctl:print("ok~n"); + {error, Reason} -> emqx_ctl:print("Error: ~p~n", [Reason]) + end; + +acl_cli(["del", Login, Topic])-> + case remove_acl(iolist_to_binary(Login), iolist_to_binary(Topic)) of + ok -> emqx_ctl:print("ok~n"); + {error, Reason} -> emqx_ctl:print("Error: ~p~n", [Reason]) + end; + +acl_cli(["show", P]) -> + [emqx_ctl:print("Acl(login = ~p topic = ~p action = ~p allow = ~p)~n",[Login, Topic, Action, Allow]) + || {_, Login, Topic, Action, Allow} <- lookup_acl(iolist_to_binary(P)) ]; + +acl_cli(["list"]) -> + [emqx_ctl:print("Acl(login = ~p)~n",[E]) + || E <- all_acls() ]; + +acl_cli(_) -> + emqx_ctl:usage([{"mqtt-acl add ", "Add acl"}, + {"mqtt-acl show ", "Lookup acl detail"}, + {"mqtt-acl del ", "Delete acl"}, + {"mqtt-acl list","List all acls"}]). diff --git a/apps/emqx_auth_mnesia/src/emqx_auth_mnesia_sup.erl b/apps/emqx_auth_mnesia/src/emqx_auth_mnesia_sup.erl new file mode 100644 index 000000000..ed32b31e7 --- /dev/null +++ b/apps/emqx_auth_mnesia/src/emqx_auth_mnesia_sup.erl @@ -0,0 +1,36 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_mnesia_sup). + +-behaviour(supervisor). + +-include("emqx_auth_mnesia.hrl"). + +-export([start_link/0]). + +%% Supervisor callbacks +-export([init/1]). + +start_link() -> + supervisor:start_link({local, ?MODULE}, ?MODULE, []). + +%%-------------------------------------------------------------------- +%% Supervisor callbacks +%%-------------------------------------------------------------------- + +init([]) -> + {ok, {{one_for_one, 10, 100}, []}}. \ No newline at end of file diff --git a/apps/emqx_auth_mnesia/test/emqx_acl_mnesia_SUITE.erl b/apps/emqx_auth_mnesia/test/emqx_acl_mnesia_SUITE.erl new file mode 100644 index 000000000..11cfca521 --- /dev/null +++ b/apps/emqx_auth_mnesia/test/emqx_acl_mnesia_SUITE.erl @@ -0,0 +1,279 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_acl_mnesia_SUITE). + +-compile(export_all). + +-include("emqx_auth_mnesia.hrl"). +-include_lib("eunit/include/eunit.hrl"). +-include_lib("common_test/include/ct.hrl"). + +-import(emqx_ct_http, [ request_api/3 + , request_api/5 + , get_http_data/1 + , create_default_app/0 + , default_auth_header/0 + ]). + +-define(HOST, "http://127.0.0.1:8081/"). +-define(API_VERSION, "v4"). +-define(BASE_PATH, "api"). + +all() -> + emqx_ct:all(?MODULE). + +groups() -> + []. + +init_per_suite(Config) -> + emqx_ct_helpers:start_apps([emqx_management, emqx_auth_mnesia], fun set_special_configs/1), + create_default_app(), + Config. + +end_per_suite(_Config) -> + emqx_ct_helpers:stop_apps([emqx_management, emqx_auth_mnesia]). + +init_per_testcase(t_check_acl_as_clientid, Config) -> + emqx:hook('client.check_acl', fun emqx_acl_mnesia:check_acl/5, [#{key_as => clientid}]), + Config; + +init_per_testcase(_, Config) -> + emqx:hook('client.check_acl', fun emqx_acl_mnesia:check_acl/5, [#{key_as => username}]), + Config. + +end_per_testcase(_, Config) -> + emqx:unhook('client.check_acl', fun emqx_acl_mnesia:check_acl/5), + Config. + +set_special_configs(emqx) -> + application:set_env(emqx, allow_anonymous, true), + application:set_env(emqx, enable_acl_cache, false), + LoadedPluginPath = filename:join(["test", "emqx_SUITE_data", "loaded_plugins"]), + application:set_env(emqx, plugins_loaded_file, + emqx_ct_helpers:deps_path(emqx, LoadedPluginPath)); + +set_special_configs(_App) -> + ok. + +%%------------------------------------------------------------------------------ +%% Testcases +%%------------------------------------------------------------------------------ + +t_management(_Config) -> + clean_all_acls(), + ?assertEqual("Acl with Mnesia", emqx_acl_mnesia:description()), + ?assertEqual([], emqx_auth_mnesia_cli:all_acls()), + + ok = emqx_auth_mnesia_cli:add_acl(<<"test_username">>, <<"Topic/A">>, <<"sub">>, true), + ok = emqx_auth_mnesia_cli:add_acl(<<"test_username">>, <<"Topic/B">>, <<"pub">>, true), + ok = emqx_auth_mnesia_cli:add_acl(<<"test_username">>, <<"Topic/C">>, <<"pubsub">>, true), + + ?assertEqual([{emqx_acl,<<"test_username">>,<<"Topic/A">>,<<"sub">>, true}, + {emqx_acl,<<"test_username">>,<<"Topic/B">>,<<"pub">>, true}, + {emqx_acl,<<"test_username">>,<<"Topic/C">>,<<"pubsub">>, true}],emqx_auth_mnesia_cli:lookup_acl(<<"test_username">>)), + ok = emqx_auth_mnesia_cli:remove_acl(<<"test_username">>, <<"Topic/A">>), + ?assertEqual([{emqx_acl,<<"test_username">>,<<"Topic/B">>,<<"pub">>, true}, + {emqx_acl,<<"test_username">>,<<"Topic/C">>,<<"pubsub">>, true}], emqx_auth_mnesia_cli:lookup_acl(<<"test_username">>)), + + + ok = emqx_auth_mnesia_cli:add_acl(<<"$all">>, <<"Topic/A">>, <<"sub">>, true), + ok = emqx_auth_mnesia_cli:add_acl(<<"$all">>, <<"Topic/B">>, <<"pub">>, true), + ok = emqx_auth_mnesia_cli:add_acl(<<"$all">>, <<"Topic/C">>, <<"pubsub">>, true), + + ?assertEqual([{emqx_acl,<<"$all">>,<<"Topic/A">>,<<"sub">>, true}, + {emqx_acl,<<"$all">>,<<"Topic/B">>,<<"pub">>, true}, + {emqx_acl,<<"$all">>,<<"Topic/C">>,<<"pubsub">>, true}],emqx_auth_mnesia_cli:lookup_acl(<<"$all">>)), + ok = emqx_auth_mnesia_cli:remove_acl(<<"$all">>, <<"Topic/A">>), + ?assertEqual([{emqx_acl,<<"$all">>,<<"Topic/B">>,<<"pub">>, true}, + {emqx_acl,<<"$all">>,<<"Topic/C">>,<<"pubsub">>, true}], emqx_auth_mnesia_cli:lookup_acl(<<"$all">>)). + +t_check_acl_as_clientid(_) -> + clean_all_acls(), + emqx_modules:load_module(emqx_mod_acl_internal, false), + + User1 = #{zone => external, clientid => <<"test_clientid">>}, + User2 = #{zone => external, clientid => <<"no_exist">>}, + + ok = emqx_auth_mnesia_cli:add_acl(<<"test_clientid">>, <<"#">>, <<"sub">>, false), + ok = emqx_auth_mnesia_cli:add_acl(<<"test_clientid">>, <<"+/A">>, <<"pub">>, false), + ok = emqx_auth_mnesia_cli:add_acl(<<"test_clientid">>, <<"Topic/A/B">>, <<"pubsub">>, true), + + deny = emqx_access_control:check_acl(User1, subscribe, <<"Any">>), + deny = emqx_access_control:check_acl(User1, publish, <<"Any/A">>), + allow = emqx_access_control:check_acl(User1, publish, <<"Any/C">>), + allow = emqx_access_control:check_acl(User1, publish, <<"Topic/A/B">>), + + allow = emqx_access_control:check_acl(User2, subscribe, <<"Topic/C">>), + allow = emqx_access_control:check_acl(User2, publish, <<"Topic/D">>). + +t_check_acl_as_username(_Config) -> + clean_all_acls(), + emqx_modules:load_module(emqx_mod_acl_internal, false), + + User1 = #{zone => external, username => <<"test_username">>}, + User2 = #{zone => external, username => <<"no_exist">>}, + + ok = emqx_auth_mnesia_cli:add_acl(<<"test_username">>, <<"Topic/A">>, <<"sub">>, true), + ok = emqx_auth_mnesia_cli:add_acl(<<"test_username">>, <<"Topic/B">>, <<"pub">>, true), + ok = emqx_auth_mnesia_cli:add_acl(<<"test_username">>, <<"Topic/A/B">>, <<"pubsub">>, false), + allow = emqx_access_control:check_acl(User1, subscribe, <<"Topic/A">>), + allow = emqx_access_control:check_acl(User1, subscribe, <<"Topic/B">>), + deny = emqx_access_control:check_acl(User1, subscribe, <<"Topic/A/B">>), + allow = emqx_access_control:check_acl(User1, publish, <<"Topic/A">>), + allow = emqx_access_control:check_acl(User1, publish, <<"Topic/B">>), + deny = emqx_access_control:check_acl(User1, publish, <<"Topic/A/B">>), + + allow = emqx_access_control:check_acl(User2, subscribe, <<"Topic/C">>), + allow = emqx_access_control:check_acl(User2, publish, <<"Topic/D">>). + +t_check_acl_as_all(_) -> + clean_all_acls(), + emqx_modules:load_module(emqx_mod_acl_internal, false), + + ok = emqx_auth_mnesia_cli:add_acl(<<"$all">>, <<"Topic/A">>, <<"sub">>, false), + ok = emqx_auth_mnesia_cli:add_acl(<<"$all">>, <<"Topic/B">>, <<"pub">>, false), + ok = emqx_auth_mnesia_cli:add_acl(<<"$all">>, <<"Topic/A/B">>, <<"pubsub">>, true), + + User1 = #{zone => external, username => <<"test_username">>}, + User2 = #{zone => external, username => <<"no_exist">>}, + + ok = emqx_auth_mnesia_cli:add_acl(<<"test_username">>, <<"Topic/A">>, <<"sub">>, true), + ok = emqx_auth_mnesia_cli:add_acl(<<"test_username">>, <<"Topic/B">>, <<"pub">>, true), + ok = emqx_auth_mnesia_cli:add_acl(<<"test_username">>, <<"Topic/A/B">>, <<"pubsub">>, false), + + allow = emqx_access_control:check_acl(User1, subscribe, <<"Topic/A">>), + allow = emqx_access_control:check_acl(User1, subscribe, <<"Topic/B">>), + deny = emqx_access_control:check_acl(User1, subscribe, <<"Topic/A/B">>), + allow = emqx_access_control:check_acl(User1, publish, <<"Topic/A">>), + allow = emqx_access_control:check_acl(User1, publish, <<"Topic/B">>), + deny = emqx_access_control:check_acl(User1, publish, <<"Topic/A/B">>), + + deny = emqx_access_control:check_acl(User2, subscribe, <<"Topic/A">>), + deny = emqx_access_control:check_acl(User2, publish, <<"Topic/B">>), + allow = emqx_access_control:check_acl(User2, subscribe, <<"Topic/A/B">>), + allow = emqx_access_control:check_acl(User2, publish, <<"Topic/A/B">>), + allow = emqx_access_control:check_acl(User2, subscribe, <<"Topic/C">>), + allow = emqx_access_control:check_acl(User2, publish, <<"Topic/D">>). + +t_rest_api(_Config) -> + clean_all_acls(), + + {ok, Result} = request_http_rest_list(), + [] = get_http_data(Result), + + Params = #{<<"login">> => <<"test_username">>, <<"topic">> => <<"Topic/A">>, <<"action">> => <<"pubsub">>, <<"allow">> => true}, + {ok, _} = request_http_rest_add(Params), + {ok, Result1} = request_http_rest_lookup(<<"test_username">>), + #{<<"login">> := <<"test_username">>, <<"topic">> := <<"Topic/A">>, <<"action">> := <<"pubsub">>, <<"allow">> := true} = get_http_data(Result1), + + Params1 = [ + #{<<"login">> => <<"$all">>, <<"topic">> => <<"+/A">>, <<"action">> => <<"pub">>, <<"allow">> => true}, + #{<<"login">> => <<"test_username">>, <<"topic">> => <<"+/A">>, <<"action">> => <<"pub">>, <<"allow">> => true}, + #{<<"login">> => <<"test_username/1">>, <<"topic">> => <<"#">>, <<"action">> => <<"sub">>, <<"allow">> => true}, + #{<<"login">> => <<"test_username/2">>, <<"topic">> => <<"+/A">>, <<"action">> => <<"error_format">>, <<"allow">> => true} + ], + {ok, Result2} = request_http_rest_add(Params1), + #{ + <<"$all">> := <<"ok">>, + <<"test_username">> := <<"ok">>, + <<"test_username/1">> := <<"ok">>, + <<"test_username/2">> := <<"{error,action}">> + } = get_http_data(Result2), + + {ok, Result3} = request_http_rest_lookup(<<"test_username">>), + [#{<<"login">> := <<"test_username">>, <<"topic">> := <<"+/A">>, <<"action">> := <<"pub">>, <<"allow">> := true}, + #{<<"login">> := <<"test_username">>, <<"topic">> := <<"Topic/A">>, <<"action">> := <<"pubsub">>, <<"allow">> := true}] + = get_http_data(Result3), + + {ok, Result4} = request_http_rest_lookup(<<"$all">>), + #{<<"login">> := <<"$all">>, <<"topic">> := <<"+/A">>, <<"action">> := <<"pub">>, <<"allow">> := true} + = get_http_data(Result4), + + {ok, _} = request_http_rest_delete(<<"$all">>, <<"+/A">>), + {ok, _} = request_http_rest_delete(<<"test_username">>, <<"+/A">>), + {ok, _} = request_http_rest_delete(<<"test_username">>, <<"Topic/A">>), + {ok, _} = request_http_rest_delete(<<"test_username/1">>, <<"#">>), + {ok, Result5} = request_http_rest_list(), + [] = get_http_data(Result5). + + +t_run_command(_) -> + clean_all_acls(), + ?assertEqual(ok, emqx_ctl:run_command(["mqtt-acl", "add", "TestUser", "Topic/A", "sub", true])), + ?assertEqual([{emqx_acl,<<"TestUser">>,<<"Topic/A">>,<<"sub">>, true}],emqx_auth_mnesia_cli:lookup_acl(<<"TestUser">>)), + + ?assertEqual(ok, emqx_ctl:run_command(["mqtt-acl", "del", "TestUser", "Topic/A"])), + ?assertEqual([],emqx_auth_mnesia_cli:lookup_acl(<<"TestUser">>)), + + ?assertEqual(ok, emqx_ctl:run_command(["mqtt-acl", "show", "TestUser"])), + ?assertEqual(ok, emqx_ctl:run_command(["mqtt-acl", "list"])), + ?assertEqual(ok, emqx_ctl:run_command(["mqtt-acl"])). + +t_cli(_) -> + meck:new(emqx_ctl, [non_strict, passthrough]), + meck:expect(emqx_ctl, print, fun(Arg) -> emqx_ctl:format(Arg) end), + meck:expect(emqx_ctl, print, fun(Msg, Arg) -> emqx_ctl:format(Msg, Arg) end), + meck:expect(emqx_ctl, usage, fun(Usages) -> emqx_ctl:format_usage(Usages) end), + meck:expect(emqx_ctl, usage, fun(Cmd, Descr) -> emqx_ctl:format_usage(Cmd, Descr) end), + + clean_all_acls(), + ?assertMatch({match, _}, re:run(emqx_auth_mnesia_cli:acl_cli(["add", "TestUser", "Topic/A", "sub", true]), "ok")), + ?assertMatch(["Acl(login = <<\"TestUser\">> topic = <<\"Topic/A\">> action = <<\"sub\">> allow = true)\n"], emqx_auth_mnesia_cli:acl_cli(["show", "TestUser"])), + ?assertMatch(["Acl(login = <<\"TestUser\">>)\n"], emqx_auth_mnesia_cli:acl_cli(["list"])), + + ?assertMatch({match, _}, re:run(emqx_auth_mnesia_cli:acl_cli(["del", "TestUser", "Topic/A"]), "ok")), + ?assertMatch([], emqx_auth_mnesia_cli:acl_cli(["show", "TestUser"])), + ?assertMatch([], emqx_auth_mnesia_cli:acl_cli(["list"])), + + ?assertMatch({match, _}, re:run(emqx_auth_mnesia_cli:acl_cli([]), "mqtt-acl")), + + meck:unload(emqx_ctl). + +%%------------------------------------------------------------------------------ +%% Helpers +%%------------------------------------------------------------------------------ + +clean_all_acls() -> + [ mnesia:dirty_delete({emqx_acl, Login}) + || Login <- mnesia:dirty_all_keys(emqx_acl)]. + +%%-------------------------------------------------------------------- +%% HTTP Request +%%-------------------------------------------------------------------- + +request_http_rest_list() -> + request_api(get, uri(), default_auth_header()). + +request_http_rest_lookup(Login) -> + request_api(get, uri([Login]), default_auth_header()). + +request_http_rest_add(Params) -> + request_api(post, uri(), [], default_auth_header(), Params). + +request_http_rest_delete(Login, Topic) -> + request_api(delete, uri([Login, Topic]), default_auth_header()). + +uri() -> uri([]). +uri(Parts) when is_list(Parts) -> + NParts = [b2l(E) || E <- Parts], + ?HOST ++ filename:join([?BASE_PATH, ?API_VERSION, "mqtt_acl"| NParts]). + +%% @private +b2l(B) when is_binary(B) -> + http_uri:encode(binary_to_list(B)); +b2l(L) when is_list(L) -> + http_uri:encode(L). diff --git a/apps/emqx_auth_mnesia/test/emqx_auth_mnesia_SUITE.erl b/apps/emqx_auth_mnesia/test/emqx_auth_mnesia_SUITE.erl new file mode 100644 index 000000000..8979f4755 --- /dev/null +++ b/apps/emqx_auth_mnesia/test/emqx_auth_mnesia_SUITE.erl @@ -0,0 +1,259 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_mnesia_SUITE). + +-compile(export_all). + +-include("emqx_auth_mnesia.hrl"). +-include_lib("eunit/include/eunit.hrl"). +-include_lib("common_test/include/ct.hrl"). + +-import(emqx_ct_http, [ request_api/3 + , request_api/5 + , get_http_data/1 + , create_default_app/0 + , default_auth_header/0 + ]). + +-define(HOST, "http://127.0.0.1:8081/"). +-define(API_VERSION, "v4"). +-define(BASE_PATH, "api"). + +all() -> + emqx_ct:all(?MODULE). + +groups() -> + []. + +init_per_suite(Config) -> + ok = emqx_ct_helpers:start_apps([emqx_management, emqx_auth_mnesia], fun set_special_configs/1), + create_default_app(), + Config. + +end_per_suite(_Config) -> + emqx_ct_helpers:stop_apps([emqx_management, emqx_auth_mnesia]). + +init_per_testcase(t_check_as_clientid, Config) -> + Params = #{ + hash_type => application:get_env(emqx_auth_mnesia, hash_type, sha256), + key_as => clientid + }, + emqx:hook('client.authenticate', fun emqx_auth_mnesia:check/3, [Params]), + Config; + +init_per_testcase(_, Config) -> + Params = #{ + hash_type => application:get_env(emqx_auth_mnesia, hash_type, sha256), + key_as => username + }, + emqx:hook('client.authenticate', fun emqx_auth_mnesia:check/3, [Params]), + Config. + +end_per_suite(_, Config) -> + emqx:unhook('client.authenticate', fun emqx_auth_mnesia:check/3), + Config. + +set_special_configs(emqx) -> + application:set_env(emqx, allow_anonymous, true), + application:set_env(emqx, enable_acl_cache, false), + LoadedPluginPath = filename:join(["test", "emqx_SUITE_data", "loaded_plugins"]), + application:set_env(emqx, plugins_loaded_file, + emqx_ct_helpers:deps_path(emqx, LoadedPluginPath)); + +set_special_configs(_App) -> + ok. + +%%------------------------------------------------------------------------------ +%% Testcases +%%------------------------------------------------------------------------------ + +t_check_as_username(_Config) -> + clean_all_users(), + + ok = emqx_auth_mnesia_cli:add_user(<<"test_username">>, <<"password">>, true), + {error, existed} = emqx_auth_mnesia_cli:add_user(<<"test_username">>, <<"password">>, true), + + ok = emqx_auth_mnesia_cli:update_user(<<"test_username">>, <<"new_password">>, false), + {error,noexisted} = emqx_auth_mnesia_cli:update_user(<<"no_existed_user">>, <<"password">>, true), + + [<<"test_username">>] = emqx_auth_mnesia_cli:all_users(), + [{emqx_user, <<"test_username">>, _HashedPass, false}] = + emqx_auth_mnesia_cli:lookup_user(<<"test_username">>), + + User1 = #{username => <<"test_username">>, + password => <<"new_password">>, + zone => external}, + + {ok, #{is_superuser := false, + auth_result := success, + anonymous := false}} = emqx_access_control:authenticate(User1), + + {error,password_error} = emqx_access_control:authenticate(User1#{password => <<"error_password">>}), + + ok = emqx_auth_mnesia_cli:remove_user(<<"test_username">>), + {ok, #{auth_result := success, + anonymous := true }} = emqx_access_control:authenticate(User1). + +t_check_as_clientid(_Config) -> + clean_all_users(), + + ok = emqx_auth_mnesia_cli:add_user(<<"test_clientid">>, <<"password">>, false), + {error, existed} = emqx_auth_mnesia_cli:add_user(<<"test_clientid">>, <<"password">>, false), + + ok = emqx_auth_mnesia_cli:update_user(<<"test_clientid">>, <<"new_password">>, true), + {error,noexisted} = emqx_auth_mnesia_cli:update_user(<<"no_existed_user">>, <<"password">>, true), + + [<<"test_clientid">>] = emqx_auth_mnesia_cli:all_users(), + [{emqx_user, <<"test_clientid">>, _HashedPass, true}] = + emqx_auth_mnesia_cli:lookup_user(<<"test_clientid">>), + + User1 = #{clientid => <<"test_clientid">>, + password => <<"new_password">>, + zone => external}, + + {ok, #{is_superuser := true, + auth_result := success, + anonymous := false}} = emqx_access_control:authenticate(User1), + + {error,password_error} = emqx_access_control:authenticate(User1#{password => <<"error_password">>}), + + ok = emqx_auth_mnesia_cli:remove_user(<<"test_clientid">>), + {ok, #{auth_result := success, + anonymous := true }} = emqx_access_control:authenticate(User1). + +t_rest_api(_Config) -> + clean_all_users(), + + {ok, Result1} = request_http_rest_list(), + [] = get_http_data(Result1), + + Params = #{<<"login">> => <<"test_username">>, <<"password">> => <<"password">>, <<"is_superuser">> => true}, + {ok, _} = request_http_rest_add(Params), + + Params1 = [ + #{<<"login">> => <<"test_username">>, <<"password">> => <<"password">>, <<"is_superuser">> => true}, + #{<<"login">> => <<"test_username/1">>, <<"password">> => <<"password">>, <<"is_superuser">> => error_format}, + #{<<"login">> => <<"test_username/2">>, <<"password">> => <<"password">>, <<"is_superuser">> => true} + ], + {ok, Result2} = request_http_rest_add(Params1), + #{ + <<"test_username">> := <<"{error,existed}">>, + <<"test_username/1">> := <<"{error,is_superuser}">>, + <<"test_username/2">> := <<"ok">> + } = get_http_data(Result2), + + {ok, Result3} = request_http_rest_lookup(<<"test_username">>), + #{<<"login">> := <<"test_username">>, <<"is_superuser">> := true} = get_http_data(Result3), + + {ok, _} = request_http_rest_update(<<"test_username">>, <<"new_password">>, error_format), + {ok, _} = request_http_rest_update(<<"error_username">>, <<"new_password">>, false), + + {ok, _} = request_http_rest_update(<<"test_username">>, <<"new_password">>, false), + {ok, Result4} = request_http_rest_lookup(<<"test_username">>), + #{<<"login">> := <<"test_username">>, <<"is_superuser">> := false} = get_http_data(Result4), + + User1 = #{username => <<"test_username">>, + password => <<"new_password">>, + zone => external}, + + {ok, #{is_superuser := false, + auth_result := success, + anonymous := false}} = emqx_access_control:authenticate(User1), + + {ok, _} = request_http_rest_delete(<<"test_username">>), + {ok, #{auth_result := success, + anonymous := true }} = emqx_access_control:authenticate(User1). + +t_run_command(_) -> + clean_all_users(), + ?assertEqual(ok, emqx_ctl:run_command(["mqtt-user", "add", "TestUser", "Password", false])), + ?assertMatch([{emqx_user, <<"TestUser">>, _, false}], emqx_auth_mnesia_cli:lookup_user(<<"TestUser">>)), + + ?assertEqual(ok, emqx_ctl:run_command(["mqtt-user", "update", "TestUser", "NewPassword", true])), + ?assertMatch([{emqx_user, <<"TestUser">>, _, true}], emqx_auth_mnesia_cli:lookup_user(<<"TestUser">>)), + + ?assertEqual(ok, emqx_ctl:run_command(["mqtt-user", "del", "TestUser"])), + ?assertMatch([], emqx_auth_mnesia_cli:lookup_user(<<"TestUser">>)), + + ?assertEqual(ok, emqx_ctl:run_command(["mqtt-user", "show", "TestUser"])), + ?assertEqual(ok, emqx_ctl:run_command(["mqtt-user", "list"])), + ?assertEqual(ok, emqx_ctl:run_command(["mqtt-user"])). + +t_cli(_) -> + meck:new(emqx_ctl, [non_strict, passthrough]), + meck:expect(emqx_ctl, print, fun(Arg) -> emqx_ctl:format(Arg) end), + meck:expect(emqx_ctl, print, fun(Msg, Arg) -> emqx_ctl:format(Msg, Arg) end), + meck:expect(emqx_ctl, usage, fun(Usages) -> emqx_ctl:format_usage(Usages) end), + meck:expect(emqx_ctl, usage, fun(Cmd, Descr) -> emqx_ctl:format_usage(Cmd, Descr) end), + + clean_all_users(), + + ?assertMatch({match, _}, re:run(emqx_auth_mnesia_cli:auth_cli(["add", "TestUser", "Password", true]), "ok")), + ?assertMatch({match, _}, re:run(emqx_auth_mnesia_cli:auth_cli(["add", "TestUser", "Password", true]), "Error")), + + ?assertMatch({match, _}, re:run(emqx_auth_mnesia_cli:auth_cli(["update", "NoExisted", "Password", false]), "Error")), + ?assertMatch({match, _}, re:run(emqx_auth_mnesia_cli:auth_cli(["update", "TestUser", "Password", false]), "ok")), + + ?assertMatch(["User(login = <<\"TestUser\">> is_super = false)\n"], emqx_auth_mnesia_cli:auth_cli(["show", "TestUser"])), + ?assertMatch(["User(login = <<\"TestUser\">>)\n"], emqx_auth_mnesia_cli:auth_cli(["list"])), + + ?assertMatch({match, _}, re:run(emqx_auth_mnesia_cli:auth_cli(["del", "TestUser"]), "ok")), + ?assertMatch([], emqx_auth_mnesia_cli:auth_cli(["show", "TestUser"])), + ?assertMatch([], emqx_auth_mnesia_cli:auth_cli(["list"])), + + ?assertMatch({match, _}, re:run(emqx_auth_mnesia_cli:auth_cli([]), "mqtt-user")), + + meck:unload(emqx_ctl). + +%%------------------------------------------------------------------------------ +%% Helpers +%%------------------------------------------------------------------------------ + +clean_all_users() -> + [ mnesia:dirty_delete({emqx_user, Login}) + || Login <- mnesia:dirty_all_keys(emqx_user)]. + +%%-------------------------------------------------------------------- +%% HTTP Request +%%-------------------------------------------------------------------- + +request_http_rest_list() -> + request_api(get, uri(), default_auth_header()). + +request_http_rest_lookup(Login) -> + request_api(get, uri([Login]), default_auth_header()). + +request_http_rest_add(Params) -> + request_api(post, uri(), [], default_auth_header(), Params). + +request_http_rest_update(Login, Password, IsSuperuser) -> + Params = #{<<"password">> => Password, <<"is_superuser">> => IsSuperuser}, + request_api(put, uri([Login]), [], default_auth_header(), Params). + +request_http_rest_delete(Login) -> + request_api(delete, uri([Login]), default_auth_header()). + +uri() -> uri([]). +uri(Parts) when is_list(Parts) -> + NParts = [b2l(E) || E <- Parts], + ?HOST ++ filename:join([?BASE_PATH, ?API_VERSION, "mqtt_user"| NParts]). + +%% @private +b2l(B) when is_binary(B) -> + binary_to_list(B); +b2l(L) when is_list(L) -> + L. diff --git a/apps/emqx_auth_mongo/CHANGES b/apps/emqx_auth_mongo/CHANGES new file mode 100644 index 000000000..4bddd63a9 --- /dev/null +++ b/apps/emqx_auth_mongo/CHANGES @@ -0,0 +1,31 @@ + +2.0.7 (2017-01-20) +------------------ + +Tag 2.0.7 - use `cuttlefish:unset()` for commented ACL/super config + +2.0.1 (2016-11-30) +------------------ + +Tag 2.0.1 + +2.0-beta.1 (2016-08-24) +----------------------- + +gen_conf + +1.1.3-beta (2016-08-19) +----------------------- + +Bump version to 1.1.3 + +1.1.2-beta (2016-06-30) +----------------------- + +Bump version to 1.1.2 + +1.1-beta (2016-05-28) +--------------------- + +First public release + diff --git a/apps/emqx_auth_mongo/README.md b/apps/emqx_auth_mongo/README.md new file mode 100644 index 000000000..3bacfca5b --- /dev/null +++ b/apps/emqx_auth_mongo/README.md @@ -0,0 +1,192 @@ +emqx_auth_mongo +=============== + +EMQ X Authentication/ACL with MongoDB + +Build the Plugin +---------------- + +``` +make & make tests +``` + +Configuration +------------- + +File: etc/emqx_auth_mongo.conf + +``` +## MongoDB Topology Type. +## +## Value: single | unknown | sharded | rs +auth.mongo.type = single + +## Sets the set name if type is rs. +## +## Value: String +## auth.mongo.rs_set_name = + +## MongoDB server list. +## +## Value: String +## +## Examples: 127.0.0.1:27017,127.0.0.2:27017... +auth.mongo.server = 127.0.0.1:27017 + +## MongoDB pool size +## +## Value: Number +auth.mongo.pool = 8 + +## MongoDB login user. +## +## Value: String +## auth.mongo.login = + +## MongoDB password. +## +## Value: String +## auth.mongo.password = + +## MongoDB AuthSource +## +## Value: String +## Default: mqtt +## auth.mongo.auth_source = admin + +## MongoDB database +## +## Value: String +auth.mongo.database = mqtt + +## MongoDB write mode. +## +## Value: unsafe | safe +## auth.mongo.w_mode = + +## Mongo read mode. +## +## Value: master | slave_ok +## auth.mongo.r_mode = + +## MongoDB topology options. +auth.mongo.topology.pool_size = 1 +auth.mongo.topology.max_overflow = 0 +## auth.mongo.topology.overflow_ttl = 1000 +## auth.mongo.topology.overflow_check_period = 1000 +## auth.mongo.topology.local_threshold_ms = 1000 +## auth.mongo.topology.connect_timeout_ms = 20000 +## auth.mongo.topology.socket_timeout_ms = 100 +## auth.mongo.topology.server_selection_timeout_ms = 30000 +## auth.mongo.topology.wait_queue_timeout_ms = 1000 +## auth.mongo.topology.heartbeat_frequency_ms = 10000 +## auth.mongo.topology.min_heartbeat_frequency_ms = 1000 + +## Authentication query. +auth.mongo.auth_query.collection = mqtt_user + +auth.mongo.auth_query.password_field = password + +## Password hash. +## +## Value: plain | md5 | sha | sha256 | bcrypt +auth.mongo.auth_query.password_hash = sha256 + +## sha256 with salt suffix +## auth.mongo.auth_query.password_hash = sha256,salt + +## sha256 with salt prefix +## auth.mongo.auth_query.password_hash = salt,sha256 + +## bcrypt with salt prefix +## auth.mongo.auth_query.password_hash = salt,bcrypt + +## pbkdf2 with macfun iterations dklen +## macfun: md4, md5, ripemd160, sha, sha224, sha256, sha384, sha512 +## auth.mongo.auth_query.password_hash = pbkdf2,sha256,1000,20 + +auth.mongo.auth_query.selector = username=%u + +## Enable superuser query. +auth.mongo.super_query = on + +auth.mongo.super_query.collection = mqtt_user + +auth.mongo.super_query.super_field = is_superuser + +auth.mongo.super_query.selector = username=%u + +## Enable ACL query. +auth.mongo.acl_query = on + +auth.mongo.acl_query.collection = mqtt_acl + +auth.mongo.acl_query.selector = username=%u +``` + +Load the Plugin +--------------- + +``` +./bin/emqx_ctl plugins load emqx_auth_mongo +``` + +MongoDB Database +---------------- + +``` +use mqtt +db.createCollection("mqtt_user") +db.createCollection("mqtt_acl") +db.mqtt_user.ensureIndex({"username":1}) +``` + +mqtt_user Collection +-------------------- + +``` +{ + username: "user", + password: "password hash", + salt: "password salt", + is_superuser: boolean (true, false), + created: "datetime" +} +``` + +For example: +``` +db.mqtt_user.insert({username: "test", password: "password hash", salt: "password salt", is_superuser: false}) +db.mqtt_user.insert({username: "root", is_superuser: true}) +``` + +mqtt_acl Collection +------------------- + +``` +{ + username: "username", + clientid: "clientid", + publish: ["topic1", "topic2", ...], + subscribe: ["subtop1", "subtop2", ...], + pubsub: ["topic/#", "topic1", ...] +} +``` + +For example: + +``` +db.mqtt_acl.insert({username: "test", publish: ["t/1", "t/2"], subscribe: ["user/%u", "client/%c"]}) +db.mqtt_acl.insert({username: "admin", pubsub: ["#"]}) +``` + +License +------- + +Apache License Version 2.0 + +Author +------ + +EMQ X Team. + diff --git a/apps/emqx_auth_mongo/docker-compose-ssl.yml b/apps/emqx_auth_mongo/docker-compose-ssl.yml new file mode 100644 index 000000000..7af0981b1 --- /dev/null +++ b/apps/emqx_auth_mongo/docker-compose-ssl.yml @@ -0,0 +1,31 @@ +version: '3' + +services: + erlang: + image: erlang:22.1 + volumes: + - ./:/emqx_auth_mongo + networks: + - emqx_bridge + depends_on: + - mongo_server + tty: true + + mongo_server: + image: mongo:${MONGO_TAG} + restart: always + environment: + MONGO_INITDB_DATABASE: mqtt + volumes: + - ./test/emqx_auth_mongo_SUITE_data/mongodb.pem/:/etc/certs/mongodb.pem + networks: + - emqx_bridge + command: + --ipv6 + --bind_ip_all + --sslMode requireSSL + --sslPEMKeyFile /etc/certs/mongodb.pem + +networks: + emqx_bridge: + driver: bridge diff --git a/apps/emqx_auth_mongo/docker-compose.yml b/apps/emqx_auth_mongo/docker-compose.yml new file mode 100644 index 000000000..9ff9cce23 --- /dev/null +++ b/apps/emqx_auth_mongo/docker-compose.yml @@ -0,0 +1,27 @@ +version: '3' + +services: + erlang: + image: erlang:22.1 + volumes: + - ./:/emqx_auth_mongo + networks: + - emqx_bridge + depends_on: + - mongo_server + tty: true + + mongo_server: + image: mongo:${MONGO_TAG} + restart: always + environment: + MONGO_INITDB_DATABASE: mqtt + networks: + - emqx_bridge + command: + --ipv6 + --bind_ip_all + +networks: + emqx_bridge: + driver: bridge diff --git a/apps/emqx_auth_mongo/include/emqx_auth_mongo.hrl b/apps/emqx_auth_mongo/include/emqx_auth_mongo.hrl new file mode 100644 index 000000000..97ecf9973 --- /dev/null +++ b/apps/emqx_auth_mongo/include/emqx_auth_mongo.hrl @@ -0,0 +1,37 @@ + +-define(APP, emqx_auth_mongo). + +-define(DEFAULT_SELECTORS, [{<<"username">>, <<"%u">>}]). + +-record(superquery, {collection = <<"mqtt_user">>, + field = <<"is_superuser">>, + selector = {<<"username">>, <<"%u">>}}). + +-record(authquery, {collection = <<"mqtt_user">>, + field = <<"password">>, + hash = sha256, + selector = {<<"username">>, <<"%u">>}}). + +-record(aclquery, {collection = <<"mqtt_acl">>, + selector = {<<"username">>, <<"%u">>}}). + +-record(auth_metrics, { + success = 'client.auth.success', + failure = 'client.auth.failure', + ignore = 'client.auth.ignore' + }). + +-record(acl_metrics, { + allow = 'client.acl.allow', + deny = 'client.acl.deny', + ignore = 'client.acl.ignore' + }). + +-define(METRICS(Type), tl(tuple_to_list(#Type{}))). +-define(METRICS(Type, K), #Type{}#Type.K). + +-define(AUTH_METRICS, ?METRICS(auth_metrics)). +-define(AUTH_METRICS(K), ?METRICS(auth_metrics, K)). + +-define(ACL_METRICS, ?METRICS(acl_metrics)). +-define(ACL_METRICS(K), ?METRICS(acl_metrics, K)). diff --git a/apps/emqx_auth_mongo/priv/emqx_auth_mongo.schema b/apps/emqx_auth_mongo/priv/emqx_auth_mongo.schema new file mode 100644 index 000000000..9b331e6c4 --- /dev/null +++ b/apps/emqx_auth_mongo/priv/emqx_auth_mongo.schema @@ -0,0 +1,292 @@ +%%-*- mode: erlang -*- +%% emqx_auth_mongo config mapping + +{mapping, "auth.mongo.type", "emqx_auth_mongo.server", [ + {default, single}, + {datatype, {enum, [single, unknown, sharded, rs]}} +]}. + +{mapping, "auth.mongo.rs_set_name", "emqx_auth_mongo.server", [ + {default, "mqtt"}, + {datatype, string} +]}. + +{mapping, "auth.mongo.server", "emqx_auth_mongo.server", [ + {default, "127.0.0.1:27017"}, + {datatype, string} +]}. + +{mapping, "auth.mongo.pool", "emqx_auth_mongo.server", [ + {default, 8}, + {datatype, integer} +]}. + +{mapping, "auth.mongo.login", "emqx_auth_mongo.server", [ + {default, ""}, + {datatype, string} +]}. + +{mapping, "auth.mongo.password", "emqx_auth_mongo.server", [ + {default, ""}, + {datatype, string} +]}. + +{mapping, "auth.mongo.database", "emqx_auth_mongo.server", [ + {default, "mqtt"}, + {datatype, string} +]}. + +{mapping, "auth.mongo.auth_source", "emqx_auth_mongo.server", [ + {default, "mqtt"}, + {datatype, string} +]}. + +{mapping, "auth.mongo.ssl", "emqx_auth_mongo.server", [ + {default, false}, + {datatype, {enum, [true, false]}} +]}. + +{mapping, "auth.mongo.ssl_opts.keyfile", "emqx_auth_mongo.server", [ + {datatype, string} +]}. + +{mapping, "auth.mongo.ssl_opts.certfile", "emqx_auth_mongo.server", [ + {datatype, string} +]}. + +{mapping, "auth.mongo.ssl_opts.cacertfile", "emqx_auth_mongo.server", [ + {datatype, string} +]}. + +{mapping, "auth.mongo.w_mode", "emqx_auth_mongo.server", [ + {default, undef}, + {datatype, {enum, [safe, unsafe, undef]}} +]}. + +{mapping, "auth.mongo.r_mode", "emqx_auth_mongo.server", [ + {default, undef}, + {datatype, {enum, [master, slave_ok, undef]}} +]}. + +{mapping, "auth.mongo.topology.$name", "emqx_auth_mongo.server", [ + {datatype, integer} +]}. + +{translation, "emqx_auth_mongo.server", fun(Conf) -> + H = cuttlefish:conf_get("auth.mongo.server", Conf), + Hosts = string:tokens(H, ","), + Type0 = cuttlefish:conf_get("auth.mongo.type", Conf), + Pool = cuttlefish:conf_get("auth.mongo.pool", Conf), + Login = cuttlefish:conf_get("auth.mongo.login", Conf), + Passwd = cuttlefish:conf_get("auth.mongo.password", Conf), + DB = cuttlefish:conf_get("auth.mongo.database", Conf), + AuthSrc = cuttlefish:conf_get("auth.mongo.auth_source", Conf), + R = cuttlefish:conf_get("auth.mongo.w_mode", Conf), + W = cuttlefish:conf_get("auth.mongo.r_mode", Conf), + Login0 = case Login =:= [] of + true -> []; + false -> [{login, list_to_binary(Login)}] + end, + Passwd0 = case Passwd =:= [] of + true -> []; + false -> [{password, list_to_binary(Passwd)}] + end, + W0 = case W =:= undef of + true -> []; + false -> [{w_mode, W}] + end, + R0 = case R =:= undef of + true -> []; + false -> [{r_mode, R}] + end, + Ssl = case cuttlefish:conf_get("auth.mongo.ssl", Conf) of + true -> + Filter = fun(Opts) -> [{K, V} || {K, V} <- Opts, V =/= undefined] end, + SslOpts = fun(Prefix) -> + Filter([{keyfile, cuttlefish:conf_get(Prefix ++ ".keyfile", Conf, undefined)}, + {certfile, cuttlefish:conf_get(Prefix ++ ".certfile", Conf, undefined)}, + {cacertfile, cuttlefish:conf_get(Prefix ++ ".cacertfile", Conf, undefined)}]) + end, + [{ssl, true}, {ssl_opts, SslOpts("auth.mongo.ssl_opts")}]; + false -> + [] + end, + WorkerOptions = [{database, list_to_binary(DB)}, {auth_source, list_to_binary(AuthSrc)}] + ++ Login0 ++ Passwd0 ++ W0 ++ R0 ++ Ssl, + + Vars = cuttlefish_variable:fuzzy_matches(["auth", "mongo", "topology", "$name"], Conf), + Options = lists:map(fun({_, Name}) -> + Name2 = case Name of + "local_threshold_ms" -> "localThresholdMS"; + "connect_timeout_ms" -> "connectTimeoutMS"; + "socket_timeout_ms" -> "socketTimeoutMS"; + "server_selection_timeout_ms" -> "serverSelectionTimeoutMS"; + "wait_queue_timeout_ms" -> "waitQueueTimeoutMS"; + "heartbeat_frequency_ms" -> "heartbeatFrequencyMS"; + "min_heartbeat_frequency_ms" -> "minHeartbeatFrequencyMS"; + _ -> Name + end, + {list_to_atom(Name2), cuttlefish:conf_get("auth.mongo.topology."++Name, Conf)} + end, Vars), + + Type = case Type0 =:= rs of + true -> {Type0, list_to_binary(cuttlefish:conf_get("auth.mongo.rs_set_name", Conf))}; + false -> Type0 + end, + [{type, Type}, + {hosts, Hosts}, + {options, Options}, + {worker_options, WorkerOptions}, + {auto_reconnect, 1}, + {pool_size, Pool}] +end}. + +%% The mongodb operation timeout is specified by the value of `cursor_timeout` from application config, +%% or `infinity` if `cursor_timeout` not specified +{mapping, "auth.mongo.query_timeout", "mongodb.cursor_timeout", [ + {datatype, string} +]}. + +{translation, "mongodb.cursor_timeout", fun(Conf) -> + case cuttlefish:conf_get("auth.mongo.query_timeout", Conf, undefined) of + undefined -> infinity; + Duration -> + case cuttlefish_duration:parse(Duration, ms) of + {error, Reason} -> error(Reason); + Ms when is_integer(Ms) -> Ms + end + end +end}. + +{mapping, "auth.mongo.auth_query.collection", "emqx_auth_mongo.auth_query", [ + {default, "mqtt_user"}, + {datatype, string} +]}. + +{mapping, "auth.mongo.auth_query.password_field", "emqx_auth_mongo.auth_query", [ + {default, "password"}, + {datatype, string} +]}. + +{mapping, "auth.mongo.auth_query.password_hash", "emqx_auth_mongo.auth_query", [ + {datatype, string} +]}. + +{mapping, "auth.mongo.auth_query.selector", "emqx_auth_mongo.auth_query", [ + {default, ""}, + {datatype, string} +]}. + +{translation, "emqx_auth_mongo.auth_query", fun(Conf) -> + case cuttlefish:conf_get("auth.mongo.auth_query.collection", Conf) of + undefined -> cuttlefish:unset(); + Collection -> + PasswordField = cuttlefish:conf_get("auth.mongo.auth_query.password_field", Conf), + PasswordHash = cuttlefish:conf_get("auth.mongo.auth_query.password_hash", Conf), + SelectorStr = cuttlefish:conf_get("auth.mongo.auth_query.selector", Conf), + SelectorList = + lists:map(fun(Selector) -> + case string:tokens(Selector, "=") of + [Field, Val] -> {list_to_binary(Field), list_to_binary(Val)}; + _ -> {<<"username">>, <<"%u">>} + end + end, string:tokens(SelectorStr, ", ")), + + PasswordFields = [list_to_binary(Field) || Field <- string:tokens(PasswordField, ",")], + HashValue = + case string:tokens(PasswordHash, ",") of + [Hash] -> list_to_atom(Hash); + [Prefix, Suffix] -> {list_to_atom(Prefix), list_to_atom(Suffix)}; + [Hash, MacFun, Iterations, Dklen] -> {list_to_atom(Hash), list_to_atom(MacFun), list_to_integer(Iterations), list_to_integer(Dklen)}; + _ -> plain + end, + [{collection, Collection}, + {password_field, PasswordFields}, + {password_hash, HashValue}, + {selector, SelectorList}] + end +end}. + +{mapping, "auth.mongo.super_query", "emqx_auth_mongo.super_query", [ + {default, off}, + {datatype, flag} +]}. + +{mapping, "auth.mongo.super_query.collection", "emqx_auth_mongo.super_query", [ + {default, "mqtt_user"}, + {datatype, string} +]}. + +{mapping, "auth.mongo.super_query.super_field", "emqx_auth_mongo.super_query", [ + {default, "is_superuser"}, + {datatype, string} +]}. + +{mapping, "auth.mongo.super_query.selector", "emqx_auth_mongo.super_query", [ + {default, ""}, + {datatype, string} +]}. + +{translation, "emqx_auth_mongo.super_query", fun(Conf) -> + case cuttlefish:conf_get("auth.mongo.super_query.collection", Conf) of + undefined -> cuttlefish:unset(); + Collection -> + SuperField = cuttlefish:conf_get("auth.mongo.super_query.super_field", Conf), + SelectorStr = cuttlefish:conf_get("auth.mongo.super_query.selector", Conf), + SelectorList = + lists:map(fun(Selector) -> + case string:tokens(Selector, "=") of + [Field, Val] -> {list_to_binary(Field), list_to_binary(Val)}; + _ -> {<<"username">>, <<"%u">>} + end + end, string:tokens(SelectorStr, ", ")), + [{collection, Collection}, {super_field, SuperField}, {selector, SelectorList}] + end +end}. + +{mapping, "auth.mongo.acl_query", "emqx_auth_mongo.acl_query", [ + {default, off}, + {datatype, flag} +]}. + +{mapping, "auth.mongo.acl_query.collection", "emqx_auth_mongo.acl_query", [ + {default, "mqtt_user"}, + {datatype, string} +]}. + +{mapping, "auth.mongo.acl_query.selector", "emqx_auth_mongo.acl_query", [ + {default, ""}, + {datatype, string} +]}. +{mapping, "auth.mongo.acl_query.selector.$id", "emqx_auth_mongo.acl_query", [ + {default, ""}, + {datatype, string} +]}. + +{translation, "emqx_auth_mongo.acl_query", fun(Conf) -> + case cuttlefish:conf_get("auth.mongo.acl_query.collection", Conf) of + undefined -> cuttlefish:unset(); + Collection -> + SelectorStrList = + lists:map( + fun + ({["auth","mongo","acl_query","selector"], ConfEntry}) -> + ConfEntry; + ({["auth","mongo","acl_query","selector", _], ConfEntry}) -> + ConfEntry + end, + cuttlefish_variable:filter_by_prefix("auth.mongo.acl_query.selector", Conf)), + SelectorListList = + lists:map( + fun(SelectorStr) -> + lists:map(fun(Selector) -> + case string:tokens(Selector, "=") of + [Field, Val] -> {list_to_binary(Field), list_to_binary(Val)}; + _ -> {<<"username">>, <<"%u">>} + end + end, string:tokens(SelectorStr, ", ")) + end, + SelectorStrList), + [{collection, Collection}, {selector, SelectorListList}] + end +end}. diff --git a/apps/emqx_auth_mongo/rebar.config b/apps/emqx_auth_mongo/rebar.config new file mode 100644 index 000000000..f913dd272 --- /dev/null +++ b/apps/emqx_auth_mongo/rebar.config @@ -0,0 +1,2 @@ +{deps, + [{mongodb, {git,"https://github.com/emqx/mongodb-erlang", {tag, "v3.0.7"}}}]}. \ No newline at end of file diff --git a/apps/emqx_auth_mongo/src/emqx_acl_mongo.erl b/apps/emqx_auth_mongo/src/emqx_acl_mongo.erl new file mode 100644 index 000000000..c0ff5f8ac --- /dev/null +++ b/apps/emqx_auth_mongo/src/emqx_acl_mongo.erl @@ -0,0 +1,91 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_acl_mongo). + +-include("emqx_auth_mongo.hrl"). +-include_lib("emqx/include/emqx.hrl"). +-include_lib("emqx/include/logger.hrl"). + +%% ACL callbacks +-export([ register_metrics/0 + , check_acl/5 + , description/0 + ]). +-spec(register_metrics() -> ok). +register_metrics() -> + lists:foreach(fun emqx_metrics:ensure/1, ?ACL_METRICS). + +check_acl(#{username := <<$$, _/binary>>}, _PubSub, _Topic, _AclResult, _State) -> + ok; + +check_acl(ClientInfo, PubSub, Topic, _AclResult, Env = #{aclquery := AclQuery}) -> + #aclquery{collection = Coll, selector = SelectorList} = AclQuery, + Pool = maps:get(pool, Env, ?APP), + SelectorMapList = + lists:map(fun(Selector) -> + maps:from_list(emqx_auth_mongo:replvars(Selector, ClientInfo)) + end, SelectorList), + case emqx_auth_mongo:query_multi(Pool, Coll, SelectorMapList) of + [] -> ok; + Rows -> + try match(ClientInfo, Topic, topics(PubSub, Rows)) of + matched -> emqx_metrics:inc(?ACL_METRICS(allow)), + {stop, allow}; + nomatch -> emqx_metrics:inc(?ACL_METRICS(deny)), + {stop, deny} + catch + _Err:Reason-> + ?LOG(error, "[MongoDB] Check mongo ~p ACL failed, got ACL config: ~p, error: :~p", + [PubSub, Rows, Reason]), + emqx_metrics:inc(?ACL_METRICS(ignore)), + ignore + end + end. + + +match(_ClientInfo, _Topic, []) -> + nomatch; +match(ClientInfo, Topic, [TopicFilter|More]) -> + case emqx_topic:match(Topic, feedvar(ClientInfo, TopicFilter)) of + true -> matched; + false -> match(ClientInfo, Topic, More) + end. + +topics(publish, Rows) -> + lists:foldl(fun(Row, Acc) -> + Topics = maps:get(<<"publish">>, Row, []) ++ maps:get(<<"pubsub">>, Row, []), + lists:umerge(Acc, Topics) + end, [], Rows); + +topics(subscribe, Rows) -> + lists:foldl(fun(Row, Acc) -> + Topics = maps:get(<<"subscribe">>, Row, []) ++ maps:get(<<"pubsub">>, Row, []), + lists:umerge(Acc, Topics) + end, [], Rows). + +feedvar(#{clientid := ClientId, username := Username}, Str) -> + lists:foldl(fun({Var, Val}, Acc) -> + feedvar(Acc, Var, Val) + end, Str, [{"%u", Username}, {"%c", ClientId}]). + +feedvar(Str, _Var, undefined) -> + Str; +feedvar(Str, Var, Val) -> + re:replace(Str, Var, Val, [global, {return, binary}]). + +description() -> "ACL with MongoDB". + diff --git a/apps/emqx_auth_mongo/src/emqx_auth_mongo.app.src b/apps/emqx_auth_mongo/src/emqx_auth_mongo.app.src new file mode 100644 index 000000000..50a967c95 --- /dev/null +++ b/apps/emqx_auth_mongo/src/emqx_auth_mongo.app.src @@ -0,0 +1,14 @@ +{application, emqx_auth_mongo, + [{description, "EMQ X Authentication/ACL with MongoDB"}, + {vsn, "git"}, + {modules, []}, + {registered, [emqx_auth_mongo_sup]}, + {applications, [kernel,stdlib,mongodb,ecpool,emqx_passwd,emqx_libs]}, + {mod, {emqx_auth_mongo_app,[]}}, + {env, []}, + {licenses, ["Apache-2.0"]}, + {maintainers, ["EMQ X Team "]}, + {links, [{"Homepage", "https://emqx.io/"}, + {"Github", "https://github.com/emqx/emqx-auth-mongo"} + ]} + ]}. diff --git a/apps/emqx_auth_mongo/src/emqx_auth_mongo.app.src.script b/apps/emqx_auth_mongo/src/emqx_auth_mongo.app.src.script new file mode 100644 index 000000000..0e14ff23f --- /dev/null +++ b/apps/emqx_auth_mongo/src/emqx_auth_mongo.app.src.script @@ -0,0 +1,24 @@ +%%-*- mode: erlang -*- +%% .app.src.script + +RemoveLeadingV = + fun(Tag) -> + case re:run(Tag, "^[v|e]?[0-9]\.[0-9]\.([0-9]|(rc|beta|alpha)\.[0-9])", [{capture, none}]) of + nomatch -> + re:replace(Tag, "/", "-", [{return ,list}]); + _ -> + %% if it is a version number prefixed by 'v' or 'e', then remove it + re:replace(Tag, "[v|e]", "", [{return ,list}]) + end + end, + +case os:getenv("EMQX_DEPS_DEFAULT_VSN") of + false -> CONFIG; % env var not defined + [] -> CONFIG; % env var set to empty string + Tag -> + [begin + AppConf0 = lists:keystore(vsn, 1, AppConf, {vsn, RemoveLeadingV(Tag)}), + {application, App, AppConf0} + end || Conf = {application, App, AppConf} <- CONFIG] +end. + diff --git a/apps/emqx_auth_mongo/src/emqx_auth_mongo.erl b/apps/emqx_auth_mongo/src/emqx_auth_mongo.erl new file mode 100644 index 000000000..4880e6fb9 --- /dev/null +++ b/apps/emqx_auth_mongo/src/emqx_auth_mongo.erl @@ -0,0 +1,134 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_mongo). + +-behaviour(ecpool_worker). + +-include("emqx_auth_mongo.hrl"). +-include_lib("emqx/include/emqx.hrl"). +-include_lib("emqx/include/logger.hrl"). +-include_lib("emqx/include/types.hrl"). + +-export([ register_metrics/0 + , check/3 + , description/0 + ]). + +-export([ replvar/2 + , replvars/2 + , connect/1 + , query/3 + , query_multi/3 + ]). + +-spec(register_metrics() -> ok). +register_metrics() -> + lists:foreach(fun emqx_metrics:ensure/1, ?AUTH_METRICS). + +check(ClientInfo = #{password := Password}, AuthResult, + Env = #{authquery := AuthQuery, superquery := SuperQuery}) -> + #authquery{collection = Collection, field = Fields, + hash = HashType, selector = Selector} = AuthQuery, + Pool = maps:get(pool, Env, ?APP), + case query(Pool, Collection, maps:from_list(replvars(Selector, ClientInfo))) of + undefined -> emqx_metrics:inc(?AUTH_METRICS(ignore)); + {error, Reason} -> + ?LOG(error, "[MongoDB] Can't connect to MongoDB server: ~0p", [Reason]), + ok = emqx_metrics:inc(?AUTH_METRICS(failure)), + {stop, AuthResult#{auth_result => not_authorized, anonymous => false}}; + UserMap -> + Result = case [maps:get(Field, UserMap, undefined) || Field <- Fields] of + [undefined] -> {error, password_error}; + [PassHash] -> + check_pass({PassHash, Password}, HashType); + [PassHash, Salt|_] -> + check_pass({PassHash, Salt, Password}, HashType) + end, + case Result of + ok -> + ok = emqx_metrics:inc(?AUTH_METRICS(success)), + {stop, AuthResult#{is_superuser => is_superuser(Pool, SuperQuery, ClientInfo), + anonymous => false, + auth_result => success}}; + {error, Error} -> + ?LOG(error, "[MongoDB] check auth fail: ~p", [Error]), + ok = emqx_metrics:inc(?AUTH_METRICS(failure)), + {stop, AuthResult#{auth_result => Error, anonymous => false}} + end + end. + +check_pass(Password, HashType) -> + case emqx_passwd:check_pass(Password, HashType) of + ok -> ok; + {error, _Reason} -> {error, not_authorized} + end. + +description() -> "Authentication with MongoDB". + +%%-------------------------------------------------------------------- +%% Is Superuser? +%%-------------------------------------------------------------------- + +-spec(is_superuser(string(), maybe(#superquery{}), emqx_types:clientinfo()) -> boolean()). +is_superuser(_Pool, undefined, _ClientInfo) -> + false; +is_superuser(Pool, #superquery{collection = Coll, field = Field, selector = Selector}, ClientInfo) -> + Row = query(Pool, Coll, maps:from_list(replvars(Selector, ClientInfo))), + case maps:get(Field, Row, false) of + true -> true; + _False -> false + end. + +replvars(VarList, ClientInfo) -> + lists:map(fun(Var) -> replvar(Var, ClientInfo) end, VarList). + +replvar({Field, <<"%u">>}, #{username := Username}) -> + {Field, Username}; +replvar({Field, <<"%c">>}, #{clientid := ClientId}) -> + {Field, ClientId}; +replvar({Field, <<"%C">>}, #{cn := CN}) -> + {Field, CN}; +replvar({Field, <<"%d">>}, #{dn := DN}) -> + {Field, DN}; +replvar(Selector, _ClientInfo) -> + Selector. + +%%-------------------------------------------------------------------- +%% MongoDB Connect/Query +%%-------------------------------------------------------------------- + +connect(Opts) -> + Type = proplists:get_value(type, Opts, single), + Hosts = proplists:get_value(hosts, Opts, []), + Options = proplists:get_value(options, Opts, []), + WorkerOptions = proplists:get_value(worker_options, Opts, []), + mongo_api:connect(Type, Hosts, Options, WorkerOptions). + +query(Pool, Collection, Selector) -> + ecpool:with_client(Pool, fun(Conn) -> mongo_api:find_one(Conn, Collection, Selector, #{}) end). + +query_multi(Pool, Collection, SelectorList) -> + lists:reverse(lists:flatten(lists:foldl(fun(Selector, Acc1) -> + Batch = ecpool:with_client(Pool, fun(Conn) -> + case mongo_api:find(Conn, Collection, Selector, #{}) of + [] -> []; + {ok, Cursor} -> + mc_cursor:foldl(fun(O, Acc2) -> [O|Acc2] end, [], Cursor, 1000) + end + end), + [Batch|Acc1] + end, [], SelectorList))). diff --git a/apps/emqx_auth_mongo/src/emqx_auth_mongo_app.erl b/apps/emqx_auth_mongo/src/emqx_auth_mongo_app.erl new file mode 100644 index 000000000..e13fe30b7 --- /dev/null +++ b/apps/emqx_auth_mongo/src/emqx_auth_mongo_app.erl @@ -0,0 +1,87 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_mongo_app). + +-behaviour(application). + +-emqx_plugin(auth). + +-include("emqx_auth_mongo.hrl"). + +-import(proplists, [get_value/3]). + +%% Application callbacks +-export([ start/2 + , prep_stop/1 + , stop/1 + ]). + +%%-------------------------------------------------------------------- +%% Application callbacks +%%-------------------------------------------------------------------- + +start(_StartType, _StartArgs) -> + {ok, Sup} = emqx_auth_mongo_sup:start_link(), + with_env(auth_query, fun reg_authmod/1), + with_env(acl_query, fun reg_aclmod/1), + {ok, Sup}. + +prep_stop(State) -> + ok = emqx:unhook('client.authenticate', fun emqx_auth_mongo:check/3), + ok = emqx:unhook('client.check_acl', fun emqx_acl_mongo:check_acl/5), + State. + +stop(_State) -> + ok. + +reg_authmod(AuthQuery) -> + emqx_auth_mongo:register_metrics(), + SuperQuery = r(super_query, application:get_env(?APP, super_query, undefined)), + ok = emqx:hook('client.authenticate', fun emqx_auth_mongo:check/3, + [#{authquery => AuthQuery, superquery => SuperQuery, pool => ?APP}]). + +reg_aclmod(AclQuery) -> + emqx_acl_mongo:register_metrics(), + ok = emqx:hook('client.check_acl', fun emqx_acl_mongo:check_acl/5, [#{aclquery => AclQuery, pool => ?APP}]). + +%%-------------------------------------------------------------------- +%% Internal functions +%%-------------------------------------------------------------------- + +with_env(Name, Fun) -> + case application:get_env(?APP, Name) of + undefined -> ok; + {ok, Config} -> Fun(r(Name, Config)) + end. + +r(super_query, undefined) -> + undefined; +r(super_query, Config) -> + #superquery{collection = list_to_binary(get_value(collection, Config, "mqtt_user")), + field = list_to_binary(get_value(super_field, Config, "is_superuser")), + selector = get_value(selector, Config, ?DEFAULT_SELECTORS)}; + +r(auth_query, Config) -> + #authquery{collection = list_to_binary(get_value(collection, Config, "mqtt_user")), + field = get_value(password_field, Config, [<<"password">>]), + hash = get_value(password_hash, Config, sha256), + selector = get_value(selector, Config, ?DEFAULT_SELECTORS)}; + +r(acl_query, Config) -> + #aclquery{collection = list_to_binary(get_value(collection, Config, "mqtt_acl")), + selector = get_value(selector, Config, [?DEFAULT_SELECTORS])}. + diff --git a/apps/emqx_auth_mongo/src/emqx_auth_mongo_sup.erl b/apps/emqx_auth_mongo/src/emqx_auth_mongo_sup.erl new file mode 100644 index 000000000..dc2c37fd4 --- /dev/null +++ b/apps/emqx_auth_mongo/src/emqx_auth_mongo_sup.erl @@ -0,0 +1,34 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_mongo_sup). + +-behaviour(supervisor). + +-include("emqx_auth_mongo.hrl"). + +-export([start_link/0]). + +-export([init/1]). + +start_link() -> + supervisor:start_link({local, ?MODULE}, ?MODULE, []). + +init([]) -> + {ok, PoolEnv} = application:get_env(?APP, server), + PoolSpec = ecpool:pool_spec(?APP, ?APP, ?APP, PoolEnv), + {ok, {{one_for_all, 10, 100}, [PoolSpec]}}. + diff --git a/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE.erl b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE.erl new file mode 100644 index 000000000..077dde7bd --- /dev/null +++ b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE.erl @@ -0,0 +1,174 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_mongo_SUITE). + +-compile(export_all). +-compile(nowarn_export_all). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("common_test/include/ct.hrl"). +-include_lib("eunit/include/eunit.hrl"). + +-define(APP, emqx_auth_mongo). + +-define(POOL(App), ecpool_worker:client(gproc_pool:pick_worker({ecpool, App}))). + +-define(MONGO_CL_ACL, <<"mqtt_acl">>). +-define(MONGO_CL_USER, <<"mqtt_user">>). + +-define(INIT_ACL, [{<<"username">>, <<"testuser">>, <<"clientid">>, <<"null">>, <<"subscribe">>, [<<"#">>]}, + {<<"username">>, <<"dashboard">>, <<"clientid">>, <<"null">>, <<"pubsub">>, [<<"$SYS/#">>]}, + {<<"username">>, <<"user3">>, <<"clientid">>, <<"null">>, <<"publish">>, [<<"a/b/c">>]}]). + +-define(INIT_AUTH, [{<<"username">>, <<"plain">>, <<"password">>, <<"plain">>, <<"salt">>, <<"salt">>, <<"is_superuser">>, true}, + {<<"username">>, <<"md5">>, <<"password">>, <<"1bc29b36f623ba82aaf6724fd3b16718">>, <<"salt">>, <<"salt">>, <<"is_superuser">>, false}, + {<<"username">>, <<"sha">>, <<"password">>, <<"d8f4590320e1343a915b6394170650a8f35d6926">>, <<"salt">>, <<"salt">>, <<"is_superuser">>, false}, + {<<"username">>, <<"sha256">>, <<"password">>, <<"5d5b09f6dcb2d53a5fffc60c4ac0d55fabdf556069d6631545f42aa6e3500f2e">>, <<"salt">>, <<"salt">>, <<"is_superuser">>, false}, + {<<"username">>, <<"pbkdf2_password">>, <<"password">>, <<"cdedb5281bb2f801565a1122b2563515">>, <<"salt">>, <<"ATHENA.MIT.EDUraeburn">>, <<"is_superuser">>, false}, + {<<"username">>, <<"bcrypt_foo">>, <<"password">>, <<"$2a$12$sSS8Eg.ovVzaHzi1nUHYK.HbUIOdlQI0iS22Q5rd5z.JVVYH6sfm6">>, <<"salt">>, <<"$2a$12$sSS8Eg.ovVzaHzi1nUHYK.">>, <<"is_superuser">>, false} + ]). + +%%-------------------------------------------------------------------- +%% Setups +%%-------------------------------------------------------------------- + +all() -> + emqx_ct:all(?MODULE). + +init_per_suite(Cfg) -> + emqx_ct_helpers:start_apps([emqx_auth_mongo], fun set_special_confs/1), + emqx_modules:load_module(emqx_mod_acl_internal, false), + init_mongo_data(), + Cfg. + +end_per_suite(_Cfg) -> + deinit_mongo_data(), + emqx_ct_helpers:stop_apps([emqx_auth_mongo]). + +set_special_confs(emqx) -> + application:set_env(emqx, acl_nomatch, deny), + application:set_env(emqx, acl_file, + emqx_ct_helpers:deps_path(emqx, "test/emqx_SUITE_data/acl.conf")), + application:set_env(emqx, allow_anonymous, false), + application:set_env(emqx, enable_acl_cache, false), + application:set_env(emqx, plugins_loaded_file, + emqx_ct_helpers:deps_path(emqx, "test/emqx_SUITE_data/loaded_plugins")); +set_special_confs(_App) -> + ok. + +init_mongo_data() -> + %% Users + {ok, Connection} = ?POOL(?APP), + mongo_api:delete(Connection, ?MONGO_CL_USER, {}), + ?assertMatch({{true, _}, _}, mongo_api:insert(Connection, ?MONGO_CL_USER, ?INIT_AUTH)), + %% ACLs + mongo_api:delete(Connection, ?MONGO_CL_ACL, {}), + ?assertMatch({{true, _}, _}, mongo_api:insert(Connection, ?MONGO_CL_ACL, ?INIT_ACL)). + +deinit_mongo_data() -> + {ok, Connection} = ?POOL(?APP), + mongo_api:delete(Connection, ?MONGO_CL_USER, {}), + mongo_api:delete(Connection, ?MONGO_CL_ACL, {}). + +%%-------------------------------------------------------------------- +%% Test cases +%%-------------------------------------------------------------------- + +t_check_auth(_) -> + Plain = #{zone => external, clientid => <<"client1">>, username => <<"plain">>}, + Plain1 = #{zone => external, clientid => <<"client1">>, username => <<"plain2">>}, + Md5 = #{zone => external, clientid => <<"md5">>, username => <<"md5">>}, + Sha = #{zone => external, clientid => <<"sha">>, username => <<"sha">>}, + Sha256 = #{zone => external, clientid => <<"sha256">>, username => <<"sha256">>}, + Pbkdf2 = #{zone => external, clientid => <<"pbkdf2_password">>, username => <<"pbkdf2_password">>}, + Bcrypt = #{zone => external, clientid => <<"bcrypt_foo">>, username => <<"bcrypt_foo">>}, + User1 = #{zone => external, clientid => <<"bcrypt_foo">>, username => <<"user">>}, + reload({auth_query, [{password_hash, plain}]}), + %% With exactly username/password, connection success + {ok, #{is_superuser := true}} = emqx_access_control:authenticate(Plain#{password => <<"plain">>}), + %% With exactly username and wrong password, connection fail + {error, _} = emqx_access_control:authenticate(Plain#{password => <<"error_pwd">>}), + %% With wrong username and wrong password, emqx_auth_mongo auth fail, then allow anonymous authentication + {error, _} = emqx_access_control:authenticate(Plain1#{password => <<"error_pwd">>}), + %% With wrong username and exactly password, emqx_auth_mongo auth fail, then allow anonymous authentication + {error, _} = emqx_access_control:authenticate(Plain1#{password => <<"plain">>}), + reload({auth_query, [{password_hash, md5}]}), + {ok, #{is_superuser := false}} = emqx_access_control:authenticate(Md5#{password => <<"md5">>}), + reload({auth_query, [{password_hash, sha}]}), + {ok, #{is_superuser := false}} = emqx_access_control:authenticate(Sha#{password => <<"sha">>}), + reload({auth_query, [{password_hash, sha256}]}), + {ok, #{is_superuser := false}} = emqx_access_control:authenticate(Sha256#{password => <<"sha256">>}), + %%pbkdf2 sha + reload({auth_query, [{password_hash, {pbkdf2, sha, 1, 16}}, {password_field, [<<"password">>, <<"salt">>]}]}), + {ok, #{is_superuser := false}} = emqx_access_control:authenticate(Pbkdf2#{password => <<"password">>}), + reload({auth_query, [{password_hash, {salt, bcrypt}}]}), + {ok, #{is_superuser := false}} = emqx_access_control:authenticate(Bcrypt#{password => <<"foo">>}), + {error, _} = emqx_access_control:authenticate(User1#{password => <<"foo">>}). + +t_check_acl(_) -> + {ok, Connection} = ?POOL(?APP), + User1 = #{zone => external, clientid => <<"client1">>, username => <<"testuser">>}, + User2 = #{zone => external, clientid => <<"client2">>, username => <<"dashboard">>}, + User3 = #{zone => external, clientid => <<"client2">>, username => <<"user3">>}, + User4 = #{zone => external, clientid => <<"$$client2">>, username => <<"$$user3">>}, + 3 = mongo_api:count(Connection, ?MONGO_CL_ACL, {}, 17), + %% ct log output + allow = emqx_access_control:check_acl(User1, subscribe, <<"users/testuser/1">>), + deny = emqx_access_control:check_acl(User1, subscribe, <<"$SYS/testuser/1">>), + deny = emqx_access_control:check_acl(User2, subscribe, <<"a/b/c">>), + allow = emqx_access_control:check_acl(User2, subscribe, <<"$SYS/testuser/1">>), + allow = emqx_access_control:check_acl(User3, publish, <<"a/b/c">>), + deny = emqx_access_control:check_acl(User3, publish, <<"c">>), + allow = emqx_access_control:check_acl(User4, publish, <<"a/b/c">>). + +t_acl_super(_) -> + reload({auth_query, [{password_hash, plain}, {password_field, [<<"password">>]}]}), + {ok, C} = emqtt:start_link([{clientid, <<"simpleClient">>}, + {username, <<"plain">>}, + {password, <<"plain">>}]), + {ok, _} = emqtt:connect(C), + timer:sleep(10), + emqtt:subscribe(C, <<"TopicA">>, qos2), + timer:sleep(1000), + emqtt:publish(C, <<"TopicA">>, <<"Payload">>, qos2), + timer:sleep(1000), + receive + {publish, #{payload := Payload}} -> + ?assertEqual(<<"Payload">>, Payload) + after + 1000 -> + ct:fail({receive_timeout, <<"Payload">>}), + ok + end, + emqtt:disconnect(C). + +%%-------------------------------------------------------------------- +%% Utils +%%-------------------------------------------------------------------- + +reload({Par, Vals}) when is_list(Vals) -> + application:stop(?APP), + {ok, TupleVals} = application:get_env(?APP, Par), + NewVals = + lists:filtermap(fun({K, V}) -> + case lists:keymember(K, 1, Vals) of + false ->{true, {K, V}}; + _ -> false + end + end, TupleVals), + application:set_env(?APP, Par, lists:append(NewVals, Vals)), + application:start(?APP). diff --git a/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/ca-key.pem b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/ca-key.pem new file mode 100644 index 000000000..e9717011e --- /dev/null +++ b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/ca-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA0kGUBi9NDp65jgdxKfizIfuSr2wpwb44yM9SuP4oUQSULOA2 +4iFpLR/c5FAYHU81y9Vx91dQjdZfffaBZuv2zVvteXUkol8Nez7boKbo2E41MTew +8edtNKZAQVvnaHAC2NCZxjchCzUCDEoUUcl+cIERZ8R48FBqK5iTVcMRIx1akwus ++dhBqP0ykA5TGOWZkJrLM9aUXSPQha9+wXlOpkvu0Ur2nkX8PPJnifWao9UShSar +ll1IqPZNCSlZMwcFYcQNBCpdvITUUYlHvMRQV64bUpOxUGDuJkQL3dLKBlNuBRlJ +BcjBAKw7rFnwwHZcMmQ9tan/dZzpzwjo/T0XjwIDAQABAoIBAQCSHvUqnzDkWjcG +l/Fzg92qXlYBCCC0/ugj1sHcwvVt6Mq5rVE3MpUPwTcYjPlVVTlD4aEEjm/zQuq2 +ddxUlOS+r4aIhHrjRT/vSS4FpjnoKeIZxGR6maVxk6DQS3i1QjMYT1CvSpzyVvKH +a+xXMrtmoKxh+085ZAmFJtIuJhUA2yEa4zggCxWnvz8ecLClUPfVDPhdLBHc3KmL +CRpHEC6L/wanvDPRdkkzfKyaJuIJlTDaCg63AY5sDkTW2I57iI/nJ3haSeidfQKz +39EfbnM1A/YprIakafjAu3frBIsjBVcxwGihZmL/YriTHjOggJF841kT5zFkkv2L +/530Wk6xAoGBAOqZLZ4DIi/zLndEOz1mRbUfjc7GQUdYplBnBwJ22VdS0P4TOXnd +UbJth2MA92NM7ocTYVFl4TVIZY/Y+Prxk7KQdHWzR7JPpKfx9OEVgtSqV0vF9eGI +rKp79Y1T4Mvc3UcQCXX6TP7nHLihEzpS8odm2LW4txrOiLsn4Fq/IWrLAoGBAOVv +6U4tm3lImotUupKLZPKEBYwruo9qRysoug9FiorP4TjaBVOfltiiHbAQD6aGfVtN +SZpZZtrs17wL7Xl4db5asgMcZd+8Hkfo5siR7AuGW9FZloOjDcXb5wCh9EvjJ74J +Cjw7RqyVymq9t7IP6wnVwj5Ck48YhlOZCz/mzlnNAoGAWq7NYFgLvgc9feLFF23S +IjpJQZWHJEITP98jaYNxbfzYRm49+GphqxwFinKULjFNvq7yHlnIXSVYBOu1CqOZ +GRwXuGuNmlKI7lZr9xmukfAqgGLMMdr4C4qRF4lFyufcLRz42z7exmWlx4ST/yaT +E13hBRWayeTuG5JFei6Jh1MCgYEAqmX4LyC+JFBgvvQZcLboLRkSCa18bADxhENG +FAuAvmFvksqRRC71WETmqZj0Fqgxt7pp3KFjO1rFSprNLvbg85PmO1s+6fCLyLpX +lESTu2d5D71qhK93jigooxalGitFm+SY3mzjq0/AOpBWOn+J/w7rqVPGxXLgaHv0 +l+vx+00CgYBOvo9/ImjwYii2jFl+sHEoCzlvpITi2temRlT2j6ulSjCLJgjwEFw9 +8e+vvfQumQOsutakUVyURrkMGNDiNlIv8kv5YLCCkrwN22E6Ghyi69MJUvHQXkc/ +QZhjn/luyfpB5f/BeHFS2bkkxAXo+cfG45ApY3Qfz6/7o+H+vDa6/A== +-----END RSA PRIVATE KEY----- diff --git a/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/ca.pem b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/ca.pem new file mode 100644 index 000000000..00b31d8a4 --- /dev/null +++ b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/ca.pem @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDAzCCAeugAwIBAgIBATANBgkqhkiG9w0BAQsFADA8MTowOAYDVQQDDDFNeVNR +TF9TZXJ2ZXJfOC4wLjE5X0F1dG9fR2VuZXJhdGVkX0NBX0NlcnRpZmljYXRlMB4X +DTIwMDYxMTAzMzg0NloXDTMwMDYwOTAzMzg0NlowPDE6MDgGA1UEAwwxTXlTUUxf +U2VydmVyXzguMC4xOV9BdXRvX0dlbmVyYXRlZF9DQV9DZXJ0aWZpY2F0ZTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANJBlAYvTQ6euY4HcSn4syH7kq9s +KcG+OMjPUrj+KFEElCzgNuIhaS0f3ORQGB1PNcvVcfdXUI3WX332gWbr9s1b7Xl1 +JKJfDXs+26Cm6NhONTE3sPHnbTSmQEFb52hwAtjQmcY3IQs1AgxKFFHJfnCBEWfE +ePBQaiuYk1XDESMdWpMLrPnYQaj9MpAOUxjlmZCayzPWlF0j0IWvfsF5TqZL7tFK +9p5F/DzyZ4n1mqPVEoUmq5ZdSKj2TQkpWTMHBWHEDQQqXbyE1FGJR7zEUFeuG1KT +sVBg7iZEC93SygZTbgUZSQXIwQCsO6xZ8MB2XDJkPbWp/3Wc6c8I6P09F48CAwEA +AaMQMA4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEADKz6bIpP5anp +GgLB0jkclRWuMlS4qqIt4itSsMXPJ/ezpHwECixmgW2TIQl6S1woRkUeMxhT2/Ay +Sn/7aKxuzRagyE5NEGOvrOuAP5RO2ZdNJ/X3/Rh533fK1sOTEEbSsWUvW6iSkZef +rsfZBVP32xBhRWkKRdLeLB4W99ADMa0IrTmZPCXHSSE2V4e1o6zWLXcOZeH1Qh8N +SkelBweR+8r1Fbvy1r3s7eH7DCbYoGEDVLQGOLvzHKBisQHmoDnnF5E9g1eeNRdg +o+vhOKfYCOzeNREJIqS42PHcGhdNRk90ycigPmfUJclz1mDHoMjKR2S5oosTpr65 +tNPx3CL7GA== +-----END CERTIFICATE----- diff --git a/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/client-cert.pem b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/client-cert.pem new file mode 100644 index 000000000..aad1404ca --- /dev/null +++ b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/client-cert.pem @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDBDCCAeygAwIBAgIBAzANBgkqhkiG9w0BAQsFADA8MTowOAYDVQQDDDFNeVNR +TF9TZXJ2ZXJfOC4wLjE5X0F1dG9fR2VuZXJhdGVkX0NBX0NlcnRpZmljYXRlMB4X +DTIwMDYxMTAzMzg0N1oXDTMwMDYwOTAzMzg0N1owQDE+MDwGA1UEAww1TXlTUUxf +U2VydmVyXzguMC4xOV9BdXRvX0dlbmVyYXRlZF9DbGllbnRfQ2VydGlmaWNhdGUw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVYSWpOvCTupz82fc85Opv +EQ7rkB8X2oOMyBCpkyHKBIr1ZQgRDWBp9UVOASq3GnSElm6+T3Kb1QbOffa8GIlw +sjAueKdq5L2eSkmPIEQ7eoO5kEW+4V866hE1LeL/PmHg2lGP0iqZiJYtElhHNQO8 +3y9I7cm3xWMAA3SSWikVtpJRn3qIp2QSrH+tK+/HHbE5QwtPxdir4ULSCSOaM5Yh +Wi5Oto88TZqe1v7SXC864JVvO4LuS7TuSreCdWZyPXTJFBFeCEWSAxonKZrqHbBe +CwKML6/0NuzjaQ51c2tzmVI6xpHj3nnu4cSRx6Jf9WBm+35vm0wk4pohX3ptdzeV +AgMBAAGjDTALMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAByQ5zSNeFUH +Aw7JlpZHtHaSEeiiyBHke20ziQ07BK1yi/ms2HAWwQkpZv149sjNuIRH8pkTmkZn +g8PDzSefjLbC9AsWpWV0XNV22T/cdobqLqMBDDZ2+5bsV+jTrOigWd9/AHVZ93PP +IJN8HJn6rtvo2l1bh/CdsX14uVSdofXnuWGabNTydqtMvmCerZsdf6qKqLL+PYwm +RDpgWiRUY7KPBSSlKm/9lJzA+bOe4dHeJzxWFVCJcbpoiTFs1je1V8kKQaHtuW39 +ifX6LTKUMlwEECCbDKM8Yq2tm8NjkjCcnFDtKg8zKGPUu+jrFMN5otiC3wnKcP7r +O9EkaPcgYH8= +-----END CERTIFICATE----- diff --git a/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/client-key.pem b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/client-key.pem new file mode 100644 index 000000000..6789d0291 --- /dev/null +++ b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/client-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA1WElqTrwk7qc/Nn3POTqbxEO65AfF9qDjMgQqZMhygSK9WUI +EQ1gafVFTgEqtxp0hJZuvk9ym9UGzn32vBiJcLIwLninauS9nkpJjyBEO3qDuZBF +vuFfOuoRNS3i/z5h4NpRj9IqmYiWLRJYRzUDvN8vSO3Jt8VjAAN0klopFbaSUZ96 +iKdkEqx/rSvvxx2xOUMLT8XYq+FC0gkjmjOWIVouTraPPE2antb+0lwvOuCVbzuC +7ku07kq3gnVmcj10yRQRXghFkgMaJyma6h2wXgsCjC+v9Dbs42kOdXNrc5lSOsaR +49557uHEkceiX/VgZvt+b5tMJOKaIV96bXc3lQIDAQABAoIBAF7yjXmSOn7h6P0y +WCuGiTLG2mbDiLJqj2LTm2Z5i+2Cu/qZ7E76Ls63TxF4v3MemH5vGfQhEhR5ZD/6 +GRJ1sKKvB3WGRqjwA9gtojHH39S/nWGy6vYW/vMOOH37XyjIr3EIdIaUtFQBTSHd +Kd71niYrAbVn6fyWHolhADwnVmTMOl5OOAhCdEF4GN3b5aIhIu8BJ7EUzTtHBJIj +CAEfjZFjDs1y1cIgGFJkuIQxMfCpq5recU2qwip7YO6fk//WEjOPu7kSf5IEswL8 +jg1dea9rGBV6KaD2xsgsC6Ll6Sb4BbsrHMfflG3K2Lk3RdVqqTFp1Fn1PTLQE/1S +S/SZPYECgYEA9qYcHKHd0+Q5Ty5wgpxKGa4UCWkpwvfvyv4bh8qlmxueB+l2AIdo +ZvkM8gTPagPQ3WypAyC2b9iQu70uOJo1NizTtKnpjDdN1YpDjISJuS/P0x73gZwy +gmoM5AzMtN4D6IbxXtXnPaYICvwLKU80ouEN5ZPM4/ODLUu6gsp0v2UCgYEA3Xgi +zMC4JF0vEKEaK0H6QstaoXUmw/lToZGH3TEojBIkb/2LrHUclygtONh9kJSFb89/ +jbmRRLAOrx3HZKCNGUmF4H9k5OQyAIv6OGBinvLGqcbqnyNlI+Le8zxySYwKMlEj +EMrBCLmSyi0CGFrbZ3mlj/oCET/ql9rNvcK+DHECgYAEx5dH3sMjtgp+RFId1dWB +xePRgt4yTwewkVgLO5wV82UOljGZNQaK6Eyd7AXw8f38LHzh+KJQbIvxd2sL4cEi +OaAoohpKg0/Y0YMZl//rPMf0OWdmdZZs/I0fZjgZUSwWN3c59T8z7KG/RL8an9RP +S7kvN7wCttdV61/D5RR6GQKBgDxCe/WKWpBKaovzydMLWLTj7/0Oi0W3iXHkzzr4 +LTgvl4qBSofaNbVLUUKuZTv5rXUG2IYPf99YqCYtzBstNDc1MiAriaBeFtzfOW4t +i6gEFtoLLbuvPc3N5Sv5vn8Ug5G9UfU3td5R4AbyyCcoUZqOFuZd+EIJSiOXfXOs +kVmBAoGBAIU9aPAqhU5LX902oq8KsrpdySONqv5mtoStvl3wo95WIqXNEsFY60wO +q02jKQmJJ2MqhkJm2EoF2Mq8+40EZ5sz8LdgeQ/M0yQ9lAhPi4rftwhpe55Ma9dk +SE9X1c/DMCBEaIjJqVXdy0/EeArwpb8sHkguVVAZUWxzD+phm1gs +-----END RSA PRIVATE KEY----- diff --git a/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/mongodb.pem b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/mongodb.pem new file mode 100644 index 000000000..1fe94891a --- /dev/null +++ b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/mongodb.pem @@ -0,0 +1,46 @@ +-----BEGIN CERTIFICATE----- +MIIDBDCCAeygAwIBAgIBAjANBgkqhkiG9w0BAQsFADA8MTowOAYDVQQDDDFNeVNR +TF9TZXJ2ZXJfOC4wLjE5X0F1dG9fR2VuZXJhdGVkX0NBX0NlcnRpZmljYXRlMB4X +DTIwMDYxMTAzMzg0NloXDTMwMDYwOTAzMzg0NlowQDE+MDwGA1UEAww1TXlTUUxf +U2VydmVyXzguMC4xOV9BdXRvX0dlbmVyYXRlZF9TZXJ2ZXJfQ2VydGlmaWNhdGUw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCcEnEm5hqP1EbEJycOz8Ua +NWp29QdpFUzTWhkKGhVXk+0msmNTw4NBAFB42moY44OU8wvDideOlJNhPRWveD8z +G2lxzJA91p0UK4et8ia9MmeuCGhdC9jxJ8X69WNlUiPyy0hI/ZsqRq9Z0C2eW0iL +JPXsy4X8Xpw3SFwoXf5pR9RFY5Pb2tuyxqmSestu2VXT/NQjJg4CVDR3mFcHPXZB +4elRzH0WshExEGkgy0bg20MJeRc2Qdb5Xx+EakbmwroDWaCn3NSGqQ7jv6Vw0doy +TGvS6h6RHBxnyqRfRgKGlCoOMG9/5+rFJC00QpCUG2vHXHWGoWlMlJ3foN7rj5v9 +AgMBAAGjDTALMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAJ5zt2rj4Ag6 +zpN59AWC1Fur8g8l41ksHkSpKPp+PtyO/ngvbMqBpfmK1e7JCKZv/68QXfMyWWAI +hwalqZkXXWHKjuz3wE7dE25PXFXtGJtcZAaj10xt98fzdqt8lQSwh2kbfNwZIz1F +sgAStgE7+ZTcqTgvNB76Os1UK0to+/P0VBWktaVFdyub4Nc2SdPVnZNvrRBXBwOD +3V8ViwywDOFoE7DvCvwx/SVsvoC0Z4j3AMMovO6oHicP7uU83qsQgm1Qru3YeoLR ++DoVi7IPHbWvN7MqFYn3YjNlByO2geblY7MR0BlqbFlmFrqLsUfjsh2ys7/U/knC +dN/klu446fI= +-----END CERTIFICATE----- +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAnBJxJuYaj9RGxCcnDs/FGjVqdvUHaRVM01oZChoVV5PtJrJj +U8ODQQBQeNpqGOODlPMLw4nXjpSTYT0Vr3g/MxtpccyQPdadFCuHrfImvTJnrgho +XQvY8SfF+vVjZVIj8stISP2bKkavWdAtnltIiyT17MuF/F6cN0hcKF3+aUfURWOT +29rbssapknrLbtlV0/zUIyYOAlQ0d5hXBz12QeHpUcx9FrIRMRBpIMtG4NtDCXkX +NkHW+V8fhGpG5sK6A1mgp9zUhqkO47+lcNHaMkxr0uoekRwcZ8qkX0YChpQqDjBv +f+fqxSQtNEKQlBtrx1x1hqFpTJSd36De64+b/QIDAQABAoIBAFiah66Dt9SruLkn +WR8piUaFyLlcBib8Nq9OWSTJBhDAJERxxb4KIvvGB+l0ZgNXNp5bFPSfzsZdRwZP +PX5uj8Kd71Dxx3mz211WESMJdEC42u+MSmN4lGLkJ5t/sDwXU91E1vbJM0ve8THV +4/Ag9qA4DX2vVZOeyqT/6YHpSsPNZplqzrbAiwrfHwkctHfgqwOf3QLfhmVQgfCS +VwidBldEUv2whSIiIxh4Rv5St4kA68IBCbJxdpOpyuQBkk6CkxZ7VN9FqOuSd4Pk +Wm7iWyBMZsCmELZh5XAXld4BEt87C5R4CvbPBDZxAv3THk1DNNvpy3PFQfwARRFb +SAToYMECgYEAyL7U8yxpzHDYWd3oCx6vTi9p9N/z0FfAkWrRF6dm4UcSklNiT1Aq +EOnTA+SaW8tV3E64gCWcY23gNP8so/ZseWj6L+peHwtchaP9+KB7yGw2A+05+lOx +VetLTjAOmfpiUXFe5w1q4C1RGhLjZjjzW+GvwdAuchQgUEFaomrV+PUCgYEAxwfH +cmVGFbAktcjU4HSRjKSfawCrut+3YUOLybyku3Q/hP9amG8qkVTFe95CTLjLe2D0 +ccaTTpofFEJ32COeck0g0Ujn/qQ+KXRoauOYs4FB1DtqMpqB78wufWEUpDpbd9/h +J+gJdC/IADd4tJW9zA92g8IA7ZtFmqDtiSpQ0ekCgYAQGkaorvJZpN+l7cf0RGTZ +h7IfI2vCVZer0n6tQA9fmLzjoe6r4AlPzAHSOR8sp9XeUy43kUzHKQQoHCPvjw/K +eWJAP7OHF/k2+x2fOPhU7mEy1W+mJdp+wt4Kio5RSaVjVQ3AyPG+w8PSrJszEvRq +dWMMz+851WV2KpfjmWBKlQKBgQC++4j4DZQV5aMkSKV1CIZOBf3vaIJhXKEUFQPD +PmB4fBEjpwCg+zNGp6iktt65zi17o8qMjrb1mtCt2SY04eD932LZUHNFlwcLMmes +Ad+aiDLJ24WJL1f16eDGcOyktlblDZB5gZ/ovJzXEGOkLXglosTfo77OQculmDy2 +/UL2WQKBgGeKasmGNfiYAcWio+KXgFkHXWtAXB9B91B1OFnCa40wx+qnl71MIWQH +PQ/CZFNWOfGiNEJIZjrHsfNJoeXkhq48oKcT0AVCDYyLV0VxDO4ejT95mGW6njNd +JpvmhwwAjOvuWVr0tn4iXlSK8irjlJHmwcRjLTJq97vE9fsA2MjI +-----END RSA PRIVATE KEY----- diff --git a/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/private_key.pem b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/private_key.pem new file mode 100644 index 000000000..8fbf6bdec --- /dev/null +++ b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/private_key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA1zVmMhPqpSPMmYkKh5wwlRD5XuS8YWJKEM6tjFx61VK8qxHE +YngkC2KnL5EuKAjQZIF3tJskwt0hAat047CCCZxrkNEpbVvSnvnk+A/8bg/Ww1n3 +qxzfifhsWfpUKlDnwrtH+ftt+5rZeEkf37XAPy7ZjzecAF9SDV6WSiPeAxUX2+hN +dId42Pf45woo4LFGUlQeagCFkD/R0dpNIMGwcnkKCUikiBqr2ijSIgvRtBfZ9fBG +jFGER2uE/Eay4AgcQsHue8skRwDCng8OnqtPnBtTytmqTy9V/BRgsVKUoksm6wsx +kUYwgHeaq7UCvlCm25SZ7yRyd4k8t0BKDf2h+wIDAQABAoIBAEQcrHmRACTADdNS +IjkFYALt2l8EOfMAbryfDSJtapr1kqz59JPNvmq0EIHnixo0n/APYdmReLML1ZR3 +tYkSpjVwgkLVUC1CcIjMQoGYXaZf8PLnGJHZk45RR8m6hsTV0mQ5bfBaeVa2jbma +OzJMjcnxg/3l9cPQZ2G/3AUfEPccMxOXp1KRz3mUQcGnKJGtDbN/kfmntcwYoxaE +Zg4RoeKAoMpK1SSHAiJKe7TnztINJ7uygR9XSzNd6auY8A3vomSIjpYO7XL+lh7L +izm4Ir3Gb/eCYBvWgQyQa2KCJgK/sQyEs3a09ngofSEUhQJQYhgZDwUj+fDDOGqj +hCZOA8ECgYEA+ZWuHdcUQ3ygYhLds2QcogUlIsx7C8n/Gk/FUrqqXJrTkuO0Eqqa +B47lCITvmn2zm0ODfSFIARgKEUEDLS/biZYv7SUTrFqBLcet+aGI7Dpv91CgB75R +tNzcIf8VxoiP0jPqdbh9mLbbxGi5Uc4p9TVXRljC4hkswaouebWee0sCgYEA3L2E +YB3kiHrhPI9LHS5Px9C1w+NOu5wP5snxrDGEgaFCvL6zgY6PflacppgnmTXl8D1x +im0IDKSw5dP3FFonSVXReq3CXDql7UnhfTCiLDahV7bLxTH42FofcBpDN3ERdOal +58RwQh6VrLkzQRVoObo+hbGlFiwwSAfQC509FhECgYBsRSBpVXo25IN2yBRg09cP ++gdoFyhxrsj5kw1YnB13WrrZh+oABv4WtUhp77E5ZbpaamlKCPwBbXpAjeFg4tfr +0bksuN7V79UGFQ9FsWuCfr8/nDwv38H2IbFlFhFONMOfPmJBey0Q6JJhm8R41mSh +OOiJXcv85UrjIH5U0hLUDQKBgQDVLOU5WcUJlPoOXSgiT0ZW5xWSzuOLRUUKEf6l +19BqzAzCcLy0orOrRAPW01xylt2v6/bJw1Ahva7k1ZZo/kOwjANYoZPxM+ZoSZBN +MXl8j2mzZuJVV1RFxItV3NcLJNPB/Lk+IbRz9kt/2f9InF7iWR3mSU/wIM6j0X+2 +p6yFsQKBgQCM/ldWb511lA+SNkqXB2P6WXAgAM/7+jwsNHX2ia2Ikufm4SUEKMSv +mti/nZkHDHsrHU4wb/2cOAywMELzv9EHzdcoenjBQP65OAc/1qWJs+LnBcCXfqKk +aHjEZW6+brkHdRGLLY3YAHlt/AUL+RsKPJfN72i/FSpmu+52G36eeQ== +-----END RSA PRIVATE KEY----- diff --git a/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/public_key.pem b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/public_key.pem new file mode 100644 index 000000000..f9772b533 --- /dev/null +++ b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/public_key.pem @@ -0,0 +1,9 @@ +-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1zVmMhPqpSPMmYkKh5ww +lRD5XuS8YWJKEM6tjFx61VK8qxHEYngkC2KnL5EuKAjQZIF3tJskwt0hAat047CC +CZxrkNEpbVvSnvnk+A/8bg/Ww1n3qxzfifhsWfpUKlDnwrtH+ftt+5rZeEkf37XA +Py7ZjzecAF9SDV6WSiPeAxUX2+hNdId42Pf45woo4LFGUlQeagCFkD/R0dpNIMGw +cnkKCUikiBqr2ijSIgvRtBfZ9fBGjFGER2uE/Eay4AgcQsHue8skRwDCng8OnqtP +nBtTytmqTy9V/BRgsVKUoksm6wsxkUYwgHeaq7UCvlCm25SZ7yRyd4k8t0BKDf2h ++wIDAQAB +-----END PUBLIC KEY----- diff --git a/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/server-cert.pem b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/server-cert.pem new file mode 100644 index 000000000..a2f9688df --- /dev/null +++ b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/server-cert.pem @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDBDCCAeygAwIBAgIBAjANBgkqhkiG9w0BAQsFADA8MTowOAYDVQQDDDFNeVNR +TF9TZXJ2ZXJfOC4wLjE5X0F1dG9fR2VuZXJhdGVkX0NBX0NlcnRpZmljYXRlMB4X +DTIwMDYxMTAzMzg0NloXDTMwMDYwOTAzMzg0NlowQDE+MDwGA1UEAww1TXlTUUxf +U2VydmVyXzguMC4xOV9BdXRvX0dlbmVyYXRlZF9TZXJ2ZXJfQ2VydGlmaWNhdGUw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCcEnEm5hqP1EbEJycOz8Ua +NWp29QdpFUzTWhkKGhVXk+0msmNTw4NBAFB42moY44OU8wvDideOlJNhPRWveD8z +G2lxzJA91p0UK4et8ia9MmeuCGhdC9jxJ8X69WNlUiPyy0hI/ZsqRq9Z0C2eW0iL +JPXsy4X8Xpw3SFwoXf5pR9RFY5Pb2tuyxqmSestu2VXT/NQjJg4CVDR3mFcHPXZB +4elRzH0WshExEGkgy0bg20MJeRc2Qdb5Xx+EakbmwroDWaCn3NSGqQ7jv6Vw0doy +TGvS6h6RHBxnyqRfRgKGlCoOMG9/5+rFJC00QpCUG2vHXHWGoWlMlJ3foN7rj5v9 +AgMBAAGjDTALMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAJ5zt2rj4Ag6 +zpN59AWC1Fur8g8l41ksHkSpKPp+PtyO/ngvbMqBpfmK1e7JCKZv/68QXfMyWWAI +hwalqZkXXWHKjuz3wE7dE25PXFXtGJtcZAaj10xt98fzdqt8lQSwh2kbfNwZIz1F +sgAStgE7+ZTcqTgvNB76Os1UK0to+/P0VBWktaVFdyub4Nc2SdPVnZNvrRBXBwOD +3V8ViwywDOFoE7DvCvwx/SVsvoC0Z4j3AMMovO6oHicP7uU83qsQgm1Qru3YeoLR ++DoVi7IPHbWvN7MqFYn3YjNlByO2geblY7MR0BlqbFlmFrqLsUfjsh2ys7/U/knC +dN/klu446fI= +-----END CERTIFICATE----- diff --git a/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/server-key.pem b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/server-key.pem new file mode 100644 index 000000000..a1dfd5f78 --- /dev/null +++ b/apps/emqx_auth_mongo/test/emqx_auth_mongo_SUITE_data/server-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAnBJxJuYaj9RGxCcnDs/FGjVqdvUHaRVM01oZChoVV5PtJrJj +U8ODQQBQeNpqGOODlPMLw4nXjpSTYT0Vr3g/MxtpccyQPdadFCuHrfImvTJnrgho +XQvY8SfF+vVjZVIj8stISP2bKkavWdAtnltIiyT17MuF/F6cN0hcKF3+aUfURWOT +29rbssapknrLbtlV0/zUIyYOAlQ0d5hXBz12QeHpUcx9FrIRMRBpIMtG4NtDCXkX +NkHW+V8fhGpG5sK6A1mgp9zUhqkO47+lcNHaMkxr0uoekRwcZ8qkX0YChpQqDjBv +f+fqxSQtNEKQlBtrx1x1hqFpTJSd36De64+b/QIDAQABAoIBAFiah66Dt9SruLkn +WR8piUaFyLlcBib8Nq9OWSTJBhDAJERxxb4KIvvGB+l0ZgNXNp5bFPSfzsZdRwZP +PX5uj8Kd71Dxx3mz211WESMJdEC42u+MSmN4lGLkJ5t/sDwXU91E1vbJM0ve8THV +4/Ag9qA4DX2vVZOeyqT/6YHpSsPNZplqzrbAiwrfHwkctHfgqwOf3QLfhmVQgfCS +VwidBldEUv2whSIiIxh4Rv5St4kA68IBCbJxdpOpyuQBkk6CkxZ7VN9FqOuSd4Pk +Wm7iWyBMZsCmELZh5XAXld4BEt87C5R4CvbPBDZxAv3THk1DNNvpy3PFQfwARRFb +SAToYMECgYEAyL7U8yxpzHDYWd3oCx6vTi9p9N/z0FfAkWrRF6dm4UcSklNiT1Aq +EOnTA+SaW8tV3E64gCWcY23gNP8so/ZseWj6L+peHwtchaP9+KB7yGw2A+05+lOx +VetLTjAOmfpiUXFe5w1q4C1RGhLjZjjzW+GvwdAuchQgUEFaomrV+PUCgYEAxwfH +cmVGFbAktcjU4HSRjKSfawCrut+3YUOLybyku3Q/hP9amG8qkVTFe95CTLjLe2D0 +ccaTTpofFEJ32COeck0g0Ujn/qQ+KXRoauOYs4FB1DtqMpqB78wufWEUpDpbd9/h +J+gJdC/IADd4tJW9zA92g8IA7ZtFmqDtiSpQ0ekCgYAQGkaorvJZpN+l7cf0RGTZ +h7IfI2vCVZer0n6tQA9fmLzjoe6r4AlPzAHSOR8sp9XeUy43kUzHKQQoHCPvjw/K +eWJAP7OHF/k2+x2fOPhU7mEy1W+mJdp+wt4Kio5RSaVjVQ3AyPG+w8PSrJszEvRq +dWMMz+851WV2KpfjmWBKlQKBgQC++4j4DZQV5aMkSKV1CIZOBf3vaIJhXKEUFQPD +PmB4fBEjpwCg+zNGp6iktt65zi17o8qMjrb1mtCt2SY04eD932LZUHNFlwcLMmes +Ad+aiDLJ24WJL1f16eDGcOyktlblDZB5gZ/ovJzXEGOkLXglosTfo77OQculmDy2 +/UL2WQKBgGeKasmGNfiYAcWio+KXgFkHXWtAXB9B91B1OFnCa40wx+qnl71MIWQH +PQ/CZFNWOfGiNEJIZjrHsfNJoeXkhq48oKcT0AVCDYyLV0VxDO4ejT95mGW6njNd +JpvmhwwAjOvuWVr0tn4iXlSK8irjlJHmwcRjLTJq97vE9fsA2MjI +-----END RSA PRIVATE KEY----- diff --git a/apps/emqx_auth_mysql/README.md b/apps/emqx_auth_mysql/README.md new file mode 100644 index 000000000..e55a2103f --- /dev/null +++ b/apps/emqx_auth_mysql/README.md @@ -0,0 +1,167 @@ +emqx_auth_mysql +=============== + +Authentication, ACL with MySQL Database. + +Notice: changed mysql driver to [mysql-otp](https://github.com/mysql-otp/mysql-otp). + +Features +--------- + +- Full *Authentication*, *Superuser*, *ACL* support +- IPv4, IPv6 and TLS support +- Connection pool by [ecpool](https://github.com/emqx/ecpool) +- Completely cover MySQL 5.7, MySQL 8 in our tests + +Build Plugin +------------- + +make && make tests + +Configure Plugin +---------------- + +File: etc/emqx_auth_mysql.conf + +``` +## MySQL server address. +## +## Value: Port | IP:Port +## +## Examples: 3306, 127.0.0.1:3306, localhost:3306 +auth.mysql.server = 127.0.0.1:3306 + +## MySQL pool size. +## +## Value: Number +auth.mysql.pool = 8 + +## MySQL username. +## +## Value: String +## auth.mysql.username = + +## MySQL Password. +## +## Value: String +## auth.mysql.password = + +## MySQL database. +## +## Value: String +auth.mysql.database = mqtt + +## Variables: %u = username, %c = clientid + +## Authentication query. +## +## Note that column names should be 'password' and 'salt' (if used). +## In case column names differ in your DB - please use aliases, +## e.g. "my_column_name as password". +## +## Value: SQL +## +## Variables: +## - %u: username +## - %c: clientid +## - %C: common name of client TLS cert +## - %d: subject of client TLS cert +## +auth.mysql.auth_query = select password from mqtt_user where username = '%u' limit 1 +## auth.mysql.auth_query = select password_hash as password from mqtt_user where username = '%u' limit 1 + +## Password hash. +## +## Value: plain | md5 | sha | sha256 | bcrypt +auth.mysql.password_hash = sha256 + +## sha256 with salt prefix +## auth.mysql.password_hash = salt,sha256 + +## bcrypt with salt only prefix +## auth.mysql.password_hash = salt,bcrypt + +## sha256 with salt suffix +## auth.mysql.password_hash = sha256,salt + +## pbkdf2 with macfun iterations dklen +## macfun: md4, md5, ripemd160, sha, sha224, sha256, sha384, sha512 +## auth.mysql.password_hash = pbkdf2,sha256,1000,20 + +## Superuser query. +## +## Value: SQL +## +## Variables: +## - %u: username +## - %c: clientid +## - %C: common name of client TLS cert +## - %d: subject of client TLS cert +auth.mysql.super_query = select is_superuser from mqtt_user where username = '%u' limit 1 + +## ACL query. +## +## Value: SQL +## +## Variables: +## - %a: ipaddr +## - %u: username +## - %c: clientid +## Note: You can add the 'ORDER BY' statement to control the rules match order +auth.mysql.acl_query = select allow, ipaddr, username, clientid, access, topic from mqtt_acl where ipaddr = '%a' or username = '%u' or username = '$all' or clientid = '%c' + +``` + +Import mqtt.sql +--------------- + +Import mqtt.sql into your database. + +Load Plugin +----------- + +./bin/emqx_ctl plugins load emqx_auth_mysql + +Auth Table +---------- + +Notice: This is a demo table. You could authenticate with any user table. + +```sql +CREATE TABLE `mqtt_user` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `username` varchar(100) DEFAULT NULL, + `password` varchar(100) DEFAULT NULL, + `salt` varchar(35) DEFAULT NULL, + `is_superuser` tinyint(1) DEFAULT 0, + `created` datetime DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `mqtt_username` (`username`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +``` + +ACL Table +---------- + +```sql +CREATE TABLE `mqtt_acl` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `allow` int(1) DEFAULT NULL COMMENT '0: deny, 1: allow', + `ipaddr` varchar(60) DEFAULT NULL COMMENT 'IpAddress', + `username` varchar(100) DEFAULT NULL COMMENT 'Username', + `clientid` varchar(100) DEFAULT NULL COMMENT 'ClientId', + `access` int(2) NOT NULL COMMENT '1: subscribe, 2: publish, 3: pubsub', + `topic` varchar(100) NOT NULL DEFAULT '' COMMENT 'Topic Filter', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +``` + +License +------- + +Apache License Version 2.0 + +Author +------ + +EMQ X Team. diff --git a/apps/emqx_auth_mysql/docker-compose-ssl.yml b/apps/emqx_auth_mysql/docker-compose-ssl.yml new file mode 100644 index 000000000..fe7d442fe --- /dev/null +++ b/apps/emqx_auth_mysql/docker-compose-ssl.yml @@ -0,0 +1,41 @@ +version: '3' + +services: + erlang: + image: erlang:22.3 + volumes: + - ./:/emqx_auth_mysql + networks: + - emqx_bridge + depends_on: + - mysql_server + tty: true + + mysql_server: + image: mysql:${MYSQL_TAG} + restart: always + environment: + MYSQL_ROOT_PASSWORD: public + MYSQL_DATABASE: mqtt + volumes: + - ./test/emqx_auth_mysql_SUITE_data/ca.pem:/etc/certs/ca-cert.pem + - ./test/emqx_auth_mysql_SUITE_data/server-cert.pem:/etc/certs/server-cert.pem + - ./test/emqx_auth_mysql_SUITE_data/server-key.pem:/etc/certs/server-key.pem + networks: + - emqx_bridge + command: + --bind-address "::" + --default-authentication-plugin=mysql_native_password + --character-set-server=utf8mb4 + --collation-server=utf8mb4_general_ci + --explicit_defaults_for_timestamp=true + --lower_case_table_names=1 + --max_allowed_packet=128M + --skip-symbolic-links + --ssl-ca=/etc/certs/ca.pem + --ssl-cert=/etc/certs/server-cert.pem + --ssl-key=/etc/certs/server-key.pem + +networks: + emqx_bridge: + driver: bridge diff --git a/apps/emqx_auth_mysql/docker-compose.yml b/apps/emqx_auth_mysql/docker-compose.yml new file mode 100644 index 000000000..c37bf983b --- /dev/null +++ b/apps/emqx_auth_mysql/docker-compose.yml @@ -0,0 +1,34 @@ +version: '3' + +services: + erlang: + image: erlang:22.3 + volumes: + - ./:/emqx_auth_mysql + networks: + - emqx_bridge + depends_on: + - mysql_server + tty: true + + mysql_server: + image: mysql:${MYSQL_TAG} + restart: always + environment: + MYSQL_ROOT_PASSWORD: public + MYSQL_DATABASE: mqtt + networks: + - emqx_bridge + command: + --bind-address "::" + --default-authentication-plugin=mysql_native_password + --character-set-server=utf8mb4 + --collation-server=utf8mb4_general_ci + --explicit_defaults_for_timestamp=true + --lower_case_table_names=1 + --max_allowed_packet=128M + --skip-symbolic-links + +networks: + emqx_bridge: + driver: bridge diff --git a/apps/emqx_auth_mysql/include/emqx_auth_mysql.hrl b/apps/emqx_auth_mysql/include/emqx_auth_mysql.hrl new file mode 100644 index 000000000..fca431e81 --- /dev/null +++ b/apps/emqx_auth_mysql/include/emqx_auth_mysql.hrl @@ -0,0 +1,23 @@ + +-define(APP, emqx_auth_mysql). + +-record(auth_metrics, { + success = 'client.auth.success', + failure = 'client.auth.failure', + ignore = 'client.auth.ignore' + }). + +-record(acl_metrics, { + allow = 'client.acl.allow', + deny = 'client.acl.deny', + ignore = 'client.acl.ignore' + }). + +-define(METRICS(Type), tl(tuple_to_list(#Type{}))). +-define(METRICS(Type, K), #Type{}#Type.K). + +-define(AUTH_METRICS, ?METRICS(auth_metrics)). +-define(AUTH_METRICS(K), ?METRICS(auth_metrics, K)). + +-define(ACL_METRICS, ?METRICS(acl_metrics)). +-define(ACL_METRICS(K), ?METRICS(acl_metrics, K)). diff --git a/apps/emqx_auth_mysql/mqtt.sql b/apps/emqx_auth_mysql/mqtt.sql new file mode 100644 index 000000000..9635bee58 --- /dev/null +++ b/apps/emqx_auth_mysql/mqtt.sql @@ -0,0 +1,41 @@ + +DROP TABLE IF EXISTS `mqtt_acl`; + +CREATE TABLE `mqtt_acl` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `allow` int(1) DEFAULT NULL COMMENT '0: deny, 1: allow', + `ipaddr` varchar(60) DEFAULT NULL COMMENT 'IpAddress', + `username` varchar(100) DEFAULT NULL COMMENT 'Username', + `clientid` varchar(100) DEFAULT NULL COMMENT 'ClientId', + `access` int(2) NOT NULL COMMENT '1: subscribe, 2: publish, 3: pubsub', + `topic` varchar(100) NOT NULL DEFAULT '' COMMENT 'Topic Filter', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +LOCK TABLES `mqtt_acl` WRITE; + +INSERT INTO `mqtt_acl` (`id`, `allow`, `ipaddr`, `username`, `clientid`, `access`, `topic`) +VALUES + (1,1,NULL,'$all',NULL,2,'#'), + (2,0,NULL,'$all',NULL,1,'$SYS/#'), + (3,0,NULL,'$all',NULL,1,'eq #'), + (4,1,'127.0.0.1',NULL,NULL,2,'$SYS/#'), + (5,1,'127.0.0.1',NULL,NULL,2,'#'), + (6,1,NULL,'dashboard',NULL,1,'$SYS/#'); + +UNLOCK TABLES; + + +DROP TABLE IF EXISTS `mqtt_user`; + +CREATE TABLE `mqtt_user` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `username` varchar(100) DEFAULT NULL, + `password` varchar(100) DEFAULT NULL, + `salt` varchar(35) DEFAULT NULL, + `is_superuser` tinyint(1) DEFAULT 0, + `created` datetime DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `mqtt_username` (`username`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4; + diff --git a/apps/emqx_auth_mysql/priv/emqx_auth_mysql.schema b/apps/emqx_auth_mysql/priv/emqx_auth_mysql.schema new file mode 100644 index 000000000..37eed8a5f --- /dev/null +++ b/apps/emqx_auth_mysql/priv/emqx_auth_mysql.schema @@ -0,0 +1,129 @@ +%%-*- mode: erlang -*- +%% emqx_auth_mysql config mapping +{mapping, "auth.mysql.server", "emqx_auth_mysql.server", [ + {default, {"127.0.0.1", 3306}}, + {datatype, [integer, ip, string]} +]}. + +{mapping, "auth.mysql.pool", "emqx_auth_mysql.server", [ + {default, 8}, + {datatype, integer} +]}. + +{mapping, "auth.mysql.username", "emqx_auth_mysql.server", [ + {default, ""}, + {datatype, string} +]}. + +{mapping, "auth.mysql.password", "emqx_auth_mysql.server", [ + {default, ""}, + {datatype, string} +]}. + +{mapping, "auth.mysql.database", "emqx_auth_mysql.server", [ + {default, "mqtt"}, + {datatype, string} +]}. + +{mapping, "auth.mysql.query_timeout", "emqx_auth_mysql.server", [ + {default, ""}, + {datatype, string} +]}. + +{mapping, "auth.mysql.ssl", "emqx_auth_mysql.server", [ + {default, off}, + {datatype, flag} +]}. + +{mapping, "auth.mysql.ssl.cafile", "emqx_auth_mysql.server", [ + {default, ""}, + {datatype, string} +]}. + +{mapping, "auth.mysql.ssl.certfile", "emqx_auth_mysql.server", [ + {default, ""}, + {datatype, string} +]}. + +{mapping, "auth.mysql.ssl.keyfile", "emqx_auth_mysql.server", [ + {default, ""}, + {datatype, string} +]}. + +{translation, "emqx_auth_mysql.server", fun(Conf) -> + {MyHost, MyPort} = + case cuttlefish:conf_get("auth.mysql.server", Conf) of + {Ip, Port} -> {Ip, Port}; + S -> case string:tokens(S, ":") of + [Domain] -> {Domain, 3306}; + [Domain, Port] -> {Domain, list_to_integer(Port)} + end + end, + Pool = cuttlefish:conf_get("auth.mysql.pool", Conf), + Username = cuttlefish:conf_get("auth.mysql.username", Conf), + Passwd = cuttlefish:conf_get("auth.mysql.password", Conf), + DB = cuttlefish:conf_get("auth.mysql.database", Conf), + Timeout = case cuttlefish:conf_get("auth.mysql.query_timeout", Conf) of + "" -> 300000; + Duration -> + case cuttlefish_duration:parse(Duration, ms) of + {error, Reason} -> error(Reason); + Ms when is_integer(Ms) -> Ms + end + end, + Options = [{pool_size, Pool}, + {auto_reconnect, 1}, + {host, MyHost}, + {port, MyPort}, + {user, Username}, + {password, Passwd}, + {database, DB}, + {encoding, utf8}, + {query_timeout, Timeout}, + {keep_alive, true}], + Options1 = + case cuttlefish:conf_get("auth.mysql.ssl", Conf) of + true -> + CA = cuttlefish:conf_get("auth.mysql.ssl.cafile", Conf), + Cert = cuttlefish:conf_get("auth.mysql.ssl.certfile", Conf), + Key = cuttlefish:conf_get("auth.mysql.ssl.keyfile", Conf), + Options ++ [{ssl, {server_name_indication, disable}, + {cacertfile, CA}, + {certfile, Cert}, + {keyfile, Key}}]; + _ -> + Options + end, + case inet:parse_address(MyHost) of + {ok, IpAddr} when tuple_size(IpAddr) =:= 8 -> + [{tcp_options, [inet6]} | Options1]; + _ -> + Options1 + end +end}. + +{mapping, "auth.mysql.auth_query", "emqx_auth_mysql.auth_query", [ + {datatype, string} +]}. + +{mapping, "auth.mysql.password_hash", "emqx_auth_mysql.password_hash", [ + {datatype, string} +]}. + +{mapping, "auth.mysql.super_query", "emqx_auth_mysql.super_query", [ + {datatype, string} +]}. + +{mapping, "auth.mysql.acl_query", "emqx_auth_mysql.acl_query", [ + {datatype, string} +]}. + +{translation, "emqx_auth_mysql.password_hash", fun(Conf) -> + HashValue = cuttlefish:conf_get("auth.mysql.password_hash", Conf), + case string:tokens(HashValue, ",") of + [Hash] -> list_to_atom(Hash); + [Prefix, Suffix] -> {list_to_atom(Prefix), list_to_atom(Suffix)}; + [Hash, MacFun, Iterations, Dklen] -> {list_to_atom(Hash), list_to_atom(MacFun), list_to_integer(Iterations), list_to_integer(Dklen)}; + _ -> plain + end +end}. diff --git a/apps/emqx_auth_mysql/rebar.config b/apps/emqx_auth_mysql/rebar.config new file mode 100644 index 000000000..bc21ad1b6 --- /dev/null +++ b/apps/emqx_auth_mysql/rebar.config @@ -0,0 +1,4 @@ +{deps, + [ + {mysql, {git, "https://github.com/emqx/mysql-otp", {tag, "1.6.1"}}} + ]}. diff --git a/apps/emqx_auth_mysql/src/emqx_acl_mysql.erl b/apps/emqx_auth_mysql/src/emqx_acl_mysql.erl new file mode 100644 index 000000000..8af659719 --- /dev/null +++ b/apps/emqx_auth_mysql/src/emqx_acl_mysql.erl @@ -0,0 +1,119 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_acl_mysql). + +-include("emqx_auth_mysql.hrl"). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). + +%% ACL Callbacks +-export([ register_metrics/0 + , check_acl/5 + , description/0 + ]). + +-spec(register_metrics() -> ok). +register_metrics() -> + lists:foreach(fun emqx_metrics:ensure/1, ?ACL_METRICS). + +check_acl(ClientInfo, PubSub, Topic, NoMatchAction, #{pool := Pool} = State) -> + case do_check_acl(Pool, ClientInfo, PubSub, Topic, NoMatchAction, State) of + ok -> emqx_metrics:inc(?ACL_METRICS(ignore)), ok; + {stop, allow} -> emqx_metrics:inc(?ACL_METRICS(allow)), {stop, allow}; + {stop, deny} -> emqx_metrics:inc(?ACL_METRICS(deny)), {stop, deny} + end. + +do_check_acl(_Pool, #{username := <<$$, _/binary>>}, _PubSub, _Topic, _NoMatchAction, _State) -> + ok; +do_check_acl(Pool, ClientInfo, PubSub, Topic, _NoMatchAction, #{acl_query := {AclSql, AclParams}}) -> + case emqx_auth_mysql_cli:query(Pool, AclSql, AclParams, ClientInfo) of + {ok, _Columns, []} -> ok; + {ok, _Columns, Rows} -> + Rules = filter(PubSub, compile(Rows)), + case match(ClientInfo, Topic, Rules) of + {matched, allow} -> {stop, allow}; + {matched, deny} -> {stop, deny}; + nomatch -> ok + end; + {error, Reason} -> + ?LOG(error, "[MySQL] do_check_acl error: ~p~n", [Reason]), + ok + end. + +match(_ClientInfo, _Topic, []) -> + nomatch; + +match(ClientInfo, Topic, [Rule|Rules]) -> + case emqx_access_rule:match(ClientInfo, Topic, Rule) of + nomatch -> + match(ClientInfo, Topic, Rules); + {matched, AllowDeny} -> + {matched, AllowDeny} + end. + +filter(PubSub, Rules) -> + [Term || Term = {_, _, Access, _} <- Rules, + Access =:= PubSub orelse Access =:= pubsub]. + +compile(Rows) -> + compile(Rows, []). +compile([], Acc) -> + Acc; +compile([[Allow, IpAddr, Username, ClientId, Access, Topic]|T], Acc) -> + Who = who(IpAddr, Username, ClientId), + Term = {allow(Allow), Who, access(Access), [topic(Topic)]}, + compile(T, [emqx_access_rule:compile(Term) | Acc]). + +who(_, <<"$all">>, _) -> + all; +who(null, null, null) -> + throw(undefined_who); +who(CIDR, Username, ClientId) -> + Cols = [{ipaddr, b2l(CIDR)}, {user, Username}, {client, ClientId}], + case [{C, V} || {C, V} <- Cols, not empty(V)] of + [Who] -> Who; + Conds -> {'and', Conds} + end. + +allow(1) -> allow; +allow(0) -> deny; +allow(<<"1">>) -> allow; +allow(<<"0">>) -> deny. + +access(1) -> subscribe; +access(2) -> publish; +access(3) -> pubsub; +access(<<"1">>) -> subscribe; +access(<<"2">>) -> publish; +access(<<"3">>) -> pubsub. + +topic(<<"eq ", Topic/binary>>) -> + {eq, Topic}; +topic(Topic) -> + Topic. + +description() -> + "ACL with Mysql". + +b2l(null) -> null; +b2l(B) -> binary_to_list(B). + +empty(null) -> true; +empty("") -> true; +empty(<<>>) -> true; +empty(_) -> false. diff --git a/apps/emqx_auth_mysql/src/emqx_auth_mysql.app.src b/apps/emqx_auth_mysql/src/emqx_auth_mysql.app.src new file mode 100644 index 000000000..89ec8ba54 --- /dev/null +++ b/apps/emqx_auth_mysql/src/emqx_auth_mysql.app.src @@ -0,0 +1,14 @@ +{application, emqx_auth_mysql, + [{description, "EMQ X Authentication/ACL with MySQL"}, + {vsn, "git"}, + {modules, []}, + {registered, [emqx_auth_mysql_sup]}, + {applications, [kernel,stdlib,mysql,ecpool,emqx_passwd,emqx_libs]}, + {mod, {emqx_auth_mysql_app,[]}}, + {env, []}, + {licenses, ["Apache-2.0"]}, + {maintainers, ["EMQ X Team "]}, + {links, [{"Homepage", "https://emqx.io/"}, + {"Github", "https://github.com/emqx/emqx-auth-mysql"} + ]} + ]}. diff --git a/apps/emqx_auth_mysql/src/emqx_auth_mysql.app.src.script b/apps/emqx_auth_mysql/src/emqx_auth_mysql.app.src.script new file mode 100644 index 000000000..0e14ff23f --- /dev/null +++ b/apps/emqx_auth_mysql/src/emqx_auth_mysql.app.src.script @@ -0,0 +1,24 @@ +%%-*- mode: erlang -*- +%% .app.src.script + +RemoveLeadingV = + fun(Tag) -> + case re:run(Tag, "^[v|e]?[0-9]\.[0-9]\.([0-9]|(rc|beta|alpha)\.[0-9])", [{capture, none}]) of + nomatch -> + re:replace(Tag, "/", "-", [{return ,list}]); + _ -> + %% if it is a version number prefixed by 'v' or 'e', then remove it + re:replace(Tag, "[v|e]", "", [{return ,list}]) + end + end, + +case os:getenv("EMQX_DEPS_DEFAULT_VSN") of + false -> CONFIG; % env var not defined + [] -> CONFIG; % env var set to empty string + Tag -> + [begin + AppConf0 = lists:keystore(vsn, 1, AppConf, {vsn, RemoveLeadingV(Tag)}), + {application, App, AppConf0} + end || Conf = {application, App, AppConf} <- CONFIG] +end. + diff --git a/apps/emqx_auth_mysql/src/emqx_auth_mysql.erl b/apps/emqx_auth_mysql/src/emqx_auth_mysql.erl new file mode 100644 index 000000000..aa2e31ed8 --- /dev/null +++ b/apps/emqx_auth_mysql/src/emqx_auth_mysql.erl @@ -0,0 +1,91 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_mysql). + +-include("emqx_auth_mysql.hrl"). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). +-include_lib("emqx_libs/include/types.hrl"). + +-export([ register_metrics/0 + , check/3 + , description/0 + ]). + +-define(EMPTY(Username), (Username =:= undefined orelse Username =:= <<>>)). + +-spec(register_metrics() -> ok). +register_metrics() -> + lists:foreach(fun emqx_metrics:ensure/1, ?AUTH_METRICS). + +check(ClientInfo = #{password := Password}, AuthResult, + #{auth_query := {AuthSql, AuthParams}, + super_query := SuperQuery, + hash_type := HashType, + pool := Pool}) -> + CheckPass = case emqx_auth_mysql_cli:query(Pool, AuthSql, AuthParams, ClientInfo) of + {ok, [<<"password">>], [[PassHash]]} -> + check_pass({PassHash, Password}, HashType); + {ok, [<<"password">>, <<"salt">>], [[PassHash, Salt]]} -> + check_pass({PassHash, Salt, Password}, HashType); + {ok, _Columns, []} -> + {error, not_found}; + {error, Reason} -> + ?LOG(error, "[MySQL] query '~p' failed: ~p", [AuthSql, Reason]), + {error, Reason} + end, + case CheckPass of + ok -> + emqx_metrics:inc(?AUTH_METRICS(success)), + {stop, AuthResult#{is_superuser => is_superuser(Pool, SuperQuery, ClientInfo), + anonymous => false, + auth_result => success}}; + {error, not_found} -> + emqx_metrics:inc(?AUTH_METRICS(ignore)), ok; + {error, ResultCode} -> + ?LOG(error, "[MySQL] Auth from mysql failed: ~p", [ResultCode]), + emqx_metrics:inc(?AUTH_METRICS(failure)), + {stop, AuthResult#{auth_result => ResultCode, anonymous => false}} + end. + +%%-------------------------------------------------------------------- +%% Is Superuser? +%%-------------------------------------------------------------------- + +-spec(is_superuser(atom(), maybe({string(), list()}), emqx_types:client()) -> boolean()). +is_superuser(_Pool, undefined, _ClientInfo) -> false; +is_superuser(Pool, {SuperSql, Params}, ClientInfo) -> + case emqx_auth_mysql_cli:query(Pool, SuperSql, Params, ClientInfo) of + {ok, [_Super], [[1]]} -> + true; + {ok, [_Super], [[_False]]} -> + false; + {ok, [_Super], []} -> + false; + {error, _Error} -> + false + end. + +check_pass(Password, HashType) -> + case emqx_passwd:check_pass(Password, HashType) of + ok -> ok; + {error, _Reason} -> {error, not_authorized} + end. + +description() -> "Authentication with MySQL". + diff --git a/apps/emqx_auth_mysql/src/emqx_auth_mysql_app.erl b/apps/emqx_auth_mysql/src/emqx_auth_mysql_app.erl new file mode 100644 index 000000000..26895cd9a --- /dev/null +++ b/apps/emqx_auth_mysql/src/emqx_auth_mysql_app.erl @@ -0,0 +1,74 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_mysql_app). + +-behaviour(application). + +-emqx_plugin(auth). + +-include("emqx_auth_mysql.hrl"). + +-import(emqx_auth_mysql_cli, [parse_query/1]). + +%% Application callbacks +-export([ start/2 + , prep_stop/1 + , stop/1 + ]). + +%%-------------------------------------------------------------------- +%% Application callbacks +%%-------------------------------------------------------------------- + +start(_StartType, _StartArgs) -> + {ok, Sup} = emqx_auth_mysql_sup:start_link(), + if_enabled(auth_query, fun load_auth_hook/1), + if_enabled(acl_query, fun load_acl_hook/1), + + {ok, Sup}. + +prep_stop(State) -> + emqx:unhook('client.authenticate', fun emqx_auth_mysql:check/3), + emqx:unhook('client.check_acl', fun emqx_acl_mysql:check_acl/5), + State. + +stop(_State) -> + ok. + +load_auth_hook(AuthQuery) -> + ok = emqx_auth_mysql:register_metrics(), + SuperQuery = parse_query(application:get_env(?APP, super_query, undefined)), + {ok, HashType} = application:get_env(?APP, password_hash), + Params = #{auth_query => AuthQuery, + super_query => SuperQuery, + hash_type => HashType, + pool => ?APP}, + emqx:hook('client.authenticate', fun emqx_auth_mysql:check/3, [Params]). + +load_acl_hook(AclQuery) -> + ok = emqx_acl_mysql:register_metrics(), + emqx:hook('client.check_acl', fun emqx_acl_mysql:check_acl/5, [#{acl_query => AclQuery, pool =>?APP}]). + +%%-------------------------------------------------------------------- +%% Internal function +%%-------------------------------------------------------------------- + +if_enabled(Cfg, Fun) -> + case application:get_env(?APP, Cfg) of + {ok, Query} -> Fun(parse_query(Query)); + undefined -> ok + end. diff --git a/apps/emqx_auth_mysql/src/emqx_auth_mysql_cli.erl b/apps/emqx_auth_mysql/src/emqx_auth_mysql_cli.erl new file mode 100644 index 000000000..c3ee3b02a --- /dev/null +++ b/apps/emqx_auth_mysql/src/emqx_auth_mysql_cli.erl @@ -0,0 +1,91 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_mysql_cli). + +-behaviour(ecpool_worker). + +-include("emqx_auth_mysql.hrl"). +-include_lib("emqx/include/emqx.hrl"). +-include_lib("emqx/include/logger.hrl"). + +-export([ parse_query/1 + , connect/1 + , query/4 + ]). + +%%-------------------------------------------------------------------- +%% Avoid SQL Injection: Parse SQL to Parameter Query. +%%-------------------------------------------------------------------- + +parse_query(undefined) -> + undefined; +parse_query(Sql) -> + case re:run(Sql, "'%[ucCad]'", [global, {capture, all, list}]) of + {match, Variables} -> + Params = [Var || [Var] <- Variables], + {re:replace(Sql, "'%[ucCad]'", "?", [global, {return, list}]), Params}; + nomatch -> + {Sql, []} + end. + +%%-------------------------------------------------------------------- +%% MySQL Connect/Query +%%-------------------------------------------------------------------- + +connect(Options) -> + case mysql:start_link(Options) of + {ok, Pid} -> {ok, Pid}; + ignore -> {error, ignore}; + {error, Reason = {{_, {error, econnrefused}}, _}} -> + ?LOG(error, "[MySQL] Can't connect to MySQL server: Connection refused."), + {error, Reason}; + {error, Reason = {ErrorCode, _, Error}} -> + ?LOG(error, "[MySQL] Can't connect to MySQL server: ~p - ~p", [ErrorCode, Error]), + {error, Reason}; + {error, Reason} -> + ?LOG(error, "[MySQL] Can't connect to MySQL server: ~p", [Reason]), + {error, Reason} + end. + +query(Pool, Sql, Params, ClientInfo) -> + ecpool:with_client(Pool, fun(C) -> mysql:query(C, Sql, replvar(Params, ClientInfo)) end). + +replvar(Params, ClientInfo) -> + replvar(Params, ClientInfo, []). + +replvar([], _ClientInfo, Acc) -> + lists:reverse(Acc); + +replvar(["'%u'" | Params], ClientInfo, Acc) -> + replvar(Params, ClientInfo, [safe_get(username, ClientInfo) | Acc]); +replvar(["'%c'" | Params], ClientInfo = #{clientid := ClientId}, Acc) -> + replvar(Params, ClientInfo, [ClientId | Acc]); +replvar(["'%a'" | Params], ClientInfo = #{peerhost := IpAddr}, Acc) -> + replvar(Params, ClientInfo, [inet_parse:ntoa(IpAddr) | Acc]); +replvar(["'%C'" | Params], ClientInfo, Acc) -> + replvar(Params, ClientInfo, [safe_get(cn, ClientInfo)| Acc]); +replvar(["'%d'" | Params], ClientInfo, Acc) -> + replvar(Params, ClientInfo, [safe_get(dn, ClientInfo)| Acc]); +replvar([Param | Params], ClientInfo, Acc) -> + replvar(Params, ClientInfo, [Param | Acc]). + +safe_get(K, ClientInfo) -> + bin(maps:get(K, ClientInfo, "undefined")). + +bin(A) when is_atom(A) -> atom_to_binary(A, utf8); +bin(B) when is_binary(B) -> B; +bin(X) -> X. diff --git a/apps/emqx_auth_mysql/src/emqx_auth_mysql_sup.erl b/apps/emqx_auth_mysql/src/emqx_auth_mysql_sup.erl new file mode 100644 index 000000000..0b2bf2c38 --- /dev/null +++ b/apps/emqx_auth_mysql/src/emqx_auth_mysql_sup.erl @@ -0,0 +1,40 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_mysql_sup). + +-behaviour(supervisor). + +-include("emqx_auth_mysql.hrl"). + +-export([start_link/0]). + +%% Supervisor callbacks +-export([init/1]). + +start_link() -> + supervisor:start_link({local, ?MODULE}, ?MODULE, []). + +%%-------------------------------------------------------------------- +%% Supervisor callbacks +%%-------------------------------------------------------------------- + +init([]) -> + %% MySQL Connection Pool. + {ok, Server} = application:get_env(?APP, server), + PoolSpec = ecpool:pool_spec(?APP, ?APP, emqx_auth_mysql_cli, Server), + {ok, {{one_for_one, 10, 100}, [PoolSpec]}}. + diff --git a/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE.erl b/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE.erl new file mode 100644 index 000000000..044655ac1 --- /dev/null +++ b/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE.erl @@ -0,0 +1,234 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_mysql_SUITE). + +-compile(export_all). +-compile(nowarn_export_all). + +-define(APP, emqx_auth_mysql). + +-include_lib("emqx/include/emqx.hrl"). +-include_lib("eunit/include/eunit.hrl"). +-include_lib("common_test/include/ct.hrl"). + +-define(DROP_ACL_TABLE, <<"DROP TABLE IF EXISTS mqtt_acl">>). + +-define(CREATE_ACL_TABLE, <<"CREATE TABLE mqtt_acl (" + " id int(11) unsigned NOT NULL AUTO_INCREMENT," + " allow int(1) DEFAULT NULL COMMENT '0: deny, 1: allow'," + " ipaddr varchar(60) DEFAULT NULL COMMENT 'IpAddress'," + " username varchar(100) DEFAULT NULL COMMENT 'Username'," + " clientid varchar(100) DEFAULT NULL COMMENT 'ClientId'," + " access int(2) NOT NULL COMMENT '1: subscribe, 2: publish, 3: pubsub'," + " topic varchar(100) NOT NULL DEFAULT '' COMMENT 'Topic Filter'," + " PRIMARY KEY (`id`)" + ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4">>). + +-define(INIT_ACL, <<"INSERT INTO mqtt_acl (id, allow, ipaddr, username, clientid, access, topic)" + "VALUES (1,1,'127.0.0.1','u1','c1',1,'t1')," + "(2,0,'127.0.0.1','u2','c2',1,'t1')," + "(3,1,'10.10.0.110','u1','c1',1,'t1')," + "(4,1,'127.0.0.1','u3','c3',3,'t1')">>). + +-define(DROP_AUTH_TABLE, <<"DROP TABLE IF EXISTS `mqtt_user`">>). + +-define(CREATE_AUTH_TABLE, <<"CREATE TABLE `mqtt_user` (" + "`id` int(11) unsigned NOT NULL AUTO_INCREMENT," + "`username` varchar(100) DEFAULT NULL," + "`password` varchar(100) DEFAULT NULL," + "`salt` varchar(100) DEFAULT NULL," + "`is_superuser` tinyint(1) DEFAULT 0," + "`created` datetime DEFAULT NULL," + "PRIMARY KEY (`id`)," + "UNIQUE KEY `mqtt_username` (`username`)" + ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4">>). + +-define(INIT_AUTH, <<"INSERT INTO mqtt_user (id, is_superuser, username, password, salt)" + "VALUES (1, 1, 'plain', 'plain', 'salt')," + "(2, 0, 'md5', '1bc29b36f623ba82aaf6724fd3b16718', 'salt')," + "(3, 0, 'sha', 'd8f4590320e1343a915b6394170650a8f35d6926', 'salt')," + "(4, 0, 'sha256', '5d5b09f6dcb2d53a5fffc60c4ac0d55fabdf556069d6631545f42aa6e3500f2e', 'salt')," + "(5, 0, 'pbkdf2_password', 'cdedb5281bb2f801565a1122b2563515', 'ATHENA.MIT.EDUraeburn')," + "(6, 0, 'bcrypt_foo', '$2a$12$sSS8Eg.ovVzaHzi1nUHYK.HbUIOdlQI0iS22Q5rd5z.JVVYH6sfm6', '$2a$12$sSS8Eg.ovVzaHzi1nUHYK.')," + "(7, 0, 'bcrypt', '$2y$16$rEVsDarhgHYB0TGnDFJzyu5f.T.Ha9iXMTk9J36NCMWWM7O16qyaK', 'salt')," + "(8, 0, 'bcrypt_wrong', '$2y$16$rEVsDarhgHYB0TGnDFJzyu', 'salt')">>). + +%%-------------------------------------------------------------------- +%% Setups +%%-------------------------------------------------------------------- + +all() -> + emqx_ct:all(?MODULE). + +init_per_suite(Cfg) -> + emqx_ct_helpers:start_apps([emqx_auth_mysql], fun set_special_configs/1), + init_mysql_data(), + Cfg. + +end_per_suite(_) -> + deinit_mysql_data(), + emqx_ct_helpers:stop_apps([emqx_auth_mysql]), + ok. + +set_special_configs(emqx) -> + application:set_env(emqx, allow_anonymous, false), + application:set_env(emqx, enable_acl_cache, false), + application:set_env(emqx, plugins_loaded_file, + emqx_ct_helpers:deps_path(emqx, "test/emqx_SUITE_data/loaded_plugins")); + +set_special_configs(_App) -> + ok. + +init_mysql_data() -> + {ok, Pid} = ecpool_worker:client(gproc_pool:pick_worker({ecpool, ?APP})), + %% Users + ok = mysql:query(Pid, ?DROP_AUTH_TABLE), + ok = mysql:query(Pid, ?CREATE_AUTH_TABLE), + ok = mysql:query(Pid, ?INIT_AUTH), + + %% ACLs + ok = mysql:query(Pid, ?DROP_ACL_TABLE), + ok = mysql:query(Pid, ?CREATE_ACL_TABLE), + ok = mysql:query(Pid, ?INIT_ACL). + +deinit_mysql_data() -> + {ok, Pid} = ecpool_worker:client(gproc_pool:pick_worker({ecpool, ?APP})), + ok = mysql:query(Pid, ?DROP_AUTH_TABLE), + ok = mysql:query(Pid, ?DROP_ACL_TABLE). + +%%-------------------------------------------------------------------- +%% Test cases +%%-------------------------------------------------------------------- + +t_check_acl(_) -> + User0 = #{zone => external,peerhost => {127,0,0,1}}, + allow = emqx_access_control:check_acl(User0, subscribe, <<"t1">>), + User1 = #{zone => external, clientid => <<"c1">>, username => <<"u1">>, peerhost => {127,0,0,1}}, + User2 = #{zone => external, clientid => <<"c2">>, username => <<"u2">>, peerhost => {127,0,0,1}}, + allow = emqx_access_control:check_acl(User1, subscribe, <<"t1">>), + deny = emqx_access_control:check_acl(User2, subscribe, <<"t1">>), + + User3 = #{zone => external, peerhost => {10,10,0,110}, clientid => <<"c1">>, username => <<"u1">>}, + User4 = #{zone => external, peerhost => {10,10,10,110}, clientid => <<"c1">>, username => <<"u1">>}, + allow = emqx_access_control:check_acl(User3, subscribe, <<"t1">>), + allow = emqx_access_control:check_acl(User3, subscribe, <<"t1">>), + allow = emqx_access_control:check_acl(User3, subscribe, <<"t2">>),%% nomatch -> ignore -> emqx acl + allow = emqx_access_control:check_acl(User4, subscribe, <<"t1">>),%% nomatch -> ignore -> emqx acl + User5 = #{zone => external, peerhost => {127,0,0,1}, clientid => <<"c3">>, username => <<"u3">>}, + allow = emqx_access_control:check_acl(User5, subscribe, <<"t1">>), + allow = emqx_access_control:check_acl(User5, publish, <<"t1">>). + +t_acl_super(_Config) -> + reload([{password_hash, plain}, + {auth_query, "select password from mqtt_user where username = '%u' limit 1"}]), + {ok, C} = emqtt:start_link([{host, "localhost"}, + {clientid, <<"simpleClient">>}, + {username, <<"plain">>}, + {password, <<"plain">>}]), + {ok, _} = emqtt:connect(C), + timer:sleep(10), + emqtt:subscribe(C, <<"TopicA">>, qos2), + timer:sleep(1000), + emqtt:publish(C, <<"TopicA">>, <<"Payload">>, qos2), + timer:sleep(1000), + receive + {publish, #{payload := Payload}} -> + ?assertEqual(<<"Payload">>, Payload) + after + 1000 -> + ct:fail({receive_timeout, <<"Payload">>}), + ok + end, + emqtt:disconnect(C). + +t_check_auth(_) -> + Plain = #{clientid => <<"client1">>, username => <<"plain">>, zone => external}, + Md5 = #{clientid => <<"md5">>, username => <<"md5">>, zone => external}, + Sha = #{clientid => <<"sha">>, username => <<"sha">>, zone => external}, + Sha256 = #{clientid => <<"sha256">>, username => <<"sha256">>, zone => external}, + Pbkdf2 = #{clientid => <<"pbkdf2_password">>, username => <<"pbkdf2_password">>, zone => external}, + BcryptFoo = #{clientid => <<"bcrypt_foo">>, username => <<"bcrypt_foo">>, zone => external}, + User1 = #{clientid => <<"bcrypt_foo">>, username => <<"user">>, zone => external}, + Bcrypt = #{clientid => <<"bcrypt">>, username => <<"bcrypt">>, zone => external}, + BcryptWrong = #{clientid => <<"bcrypt_wrong">>, username => <<"bcrypt_wrong">>, zone => external}, + reload([{password_hash, plain}]), + {ok,#{is_superuser := true}} = + emqx_access_control:authenticate(Plain#{password => <<"plain">>}), + reload([{password_hash, md5}]), + {ok,#{is_superuser := false}} = + emqx_access_control:authenticate(Md5#{password => <<"md5">>}), + reload([{password_hash, sha}]), + {ok,#{is_superuser := false}} = + emqx_access_control:authenticate(Sha#{password => <<"sha">>}), + reload([{password_hash, sha256}]), + {ok,#{is_superuser := false}} = + emqx_access_control:authenticate(Sha256#{password => <<"sha256">>}), + reload([{password_hash, bcrypt}]), + {ok,#{is_superuser := false}} = + emqx_access_control:authenticate(Bcrypt#{password => <<"password">>}), + {error, not_authorized} = + emqx_access_control:authenticate(BcryptWrong#{password => <<"password">>}), + %%pbkdf2 sha + reload([{password_hash, {pbkdf2, sha, 1, 16}}, + {auth_query, "select password, salt from mqtt_user where username = '%u' limit 1"}]), + {ok,#{is_superuser := false}} = + emqx_access_control:authenticate(Pbkdf2#{password => <<"password">>}), + reload([{password_hash, {salt, bcrypt}}]), + {ok,#{is_superuser := false}} = + emqx_access_control:authenticate(BcryptFoo#{password => <<"foo">>}), + {error, _} = emqx_access_control:authenticate(User1#{password => <<"foo">>}), + {error, not_authorized} = emqx_access_control:authenticate(Bcrypt#{password => <<"password">>}). + +t_comment_config(_) -> + application:stop(?APP), + [application:unset_env(?APP, Par) || Par <- [acl_query, auth_query]], + application:start(?APP). + +t_placeholders(_) -> + ClientA = #{username => <<"plain">>, clientid => <<"plain">>, zone => external}, + + reload([{password_hash, plain}, + {auth_query, "select password from mqtt_user where username = '%u' and 'a_cn_val' = '%C' limit 1"}]), + {error, not_authorized} = + emqx_access_control:authenticate(ClientA#{password => <<"plain">>}), + {error, not_authorized} = + emqx_access_control:authenticate(ClientA#{password => <<"plain">>, cn => undefined}), + {ok, _} = + emqx_access_control:authenticate(ClientA#{password => <<"plain">>, cn => <<"a_cn_val">>}), + + reload([{auth_query, "select password from mqtt_user where username = '%c' and 'a_dn_val' = '%d' limit 1"}]), + {error, not_authorized} = + emqx_access_control:authenticate(ClientA#{password => <<"plain">>}), + {error, not_authorized} = + emqx_access_control:authenticate(ClientA#{password => <<"plain">>, dn => undefined}), + {ok, _} = + emqx_access_control:authenticate(ClientA#{password => <<"plain">>, dn => <<"a_dn_val">>}), + + reload([{auth_query, "select password from mqtt_user where username = '%u' and '192.168.1.5' = '%a' limit 1"}]), + {error, not_authorized} = + emqx_access_control:authenticate(ClientA#{password => <<"plain">>}), + {ok, _} = + emqx_access_control:authenticate(ClientA#{password => <<"plain">>, peerhost => {192,168,1,5}}). + +%%-------------------------------------------------------------------- +%% Internal funcs +%%-------------------------------------------------------------------- + +reload(Config) when is_list(Config) -> + application:stop(?APP), + [application:set_env(?APP, K, V) || {K, V} <- Config], + application:start(?APP). diff --git a/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/ca-key.pem b/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/ca-key.pem new file mode 100644 index 000000000..e9717011e --- /dev/null +++ b/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/ca-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA0kGUBi9NDp65jgdxKfizIfuSr2wpwb44yM9SuP4oUQSULOA2 +4iFpLR/c5FAYHU81y9Vx91dQjdZfffaBZuv2zVvteXUkol8Nez7boKbo2E41MTew +8edtNKZAQVvnaHAC2NCZxjchCzUCDEoUUcl+cIERZ8R48FBqK5iTVcMRIx1akwus ++dhBqP0ykA5TGOWZkJrLM9aUXSPQha9+wXlOpkvu0Ur2nkX8PPJnifWao9UShSar +ll1IqPZNCSlZMwcFYcQNBCpdvITUUYlHvMRQV64bUpOxUGDuJkQL3dLKBlNuBRlJ +BcjBAKw7rFnwwHZcMmQ9tan/dZzpzwjo/T0XjwIDAQABAoIBAQCSHvUqnzDkWjcG +l/Fzg92qXlYBCCC0/ugj1sHcwvVt6Mq5rVE3MpUPwTcYjPlVVTlD4aEEjm/zQuq2 +ddxUlOS+r4aIhHrjRT/vSS4FpjnoKeIZxGR6maVxk6DQS3i1QjMYT1CvSpzyVvKH +a+xXMrtmoKxh+085ZAmFJtIuJhUA2yEa4zggCxWnvz8ecLClUPfVDPhdLBHc3KmL +CRpHEC6L/wanvDPRdkkzfKyaJuIJlTDaCg63AY5sDkTW2I57iI/nJ3haSeidfQKz +39EfbnM1A/YprIakafjAu3frBIsjBVcxwGihZmL/YriTHjOggJF841kT5zFkkv2L +/530Wk6xAoGBAOqZLZ4DIi/zLndEOz1mRbUfjc7GQUdYplBnBwJ22VdS0P4TOXnd +UbJth2MA92NM7ocTYVFl4TVIZY/Y+Prxk7KQdHWzR7JPpKfx9OEVgtSqV0vF9eGI +rKp79Y1T4Mvc3UcQCXX6TP7nHLihEzpS8odm2LW4txrOiLsn4Fq/IWrLAoGBAOVv +6U4tm3lImotUupKLZPKEBYwruo9qRysoug9FiorP4TjaBVOfltiiHbAQD6aGfVtN +SZpZZtrs17wL7Xl4db5asgMcZd+8Hkfo5siR7AuGW9FZloOjDcXb5wCh9EvjJ74J +Cjw7RqyVymq9t7IP6wnVwj5Ck48YhlOZCz/mzlnNAoGAWq7NYFgLvgc9feLFF23S +IjpJQZWHJEITP98jaYNxbfzYRm49+GphqxwFinKULjFNvq7yHlnIXSVYBOu1CqOZ +GRwXuGuNmlKI7lZr9xmukfAqgGLMMdr4C4qRF4lFyufcLRz42z7exmWlx4ST/yaT +E13hBRWayeTuG5JFei6Jh1MCgYEAqmX4LyC+JFBgvvQZcLboLRkSCa18bADxhENG +FAuAvmFvksqRRC71WETmqZj0Fqgxt7pp3KFjO1rFSprNLvbg85PmO1s+6fCLyLpX +lESTu2d5D71qhK93jigooxalGitFm+SY3mzjq0/AOpBWOn+J/w7rqVPGxXLgaHv0 +l+vx+00CgYBOvo9/ImjwYii2jFl+sHEoCzlvpITi2temRlT2j6ulSjCLJgjwEFw9 +8e+vvfQumQOsutakUVyURrkMGNDiNlIv8kv5YLCCkrwN22E6Ghyi69MJUvHQXkc/ +QZhjn/luyfpB5f/BeHFS2bkkxAXo+cfG45ApY3Qfz6/7o+H+vDa6/A== +-----END RSA PRIVATE KEY----- diff --git a/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/ca.pem b/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/ca.pem new file mode 100644 index 000000000..00b31d8a4 --- /dev/null +++ b/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/ca.pem @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDAzCCAeugAwIBAgIBATANBgkqhkiG9w0BAQsFADA8MTowOAYDVQQDDDFNeVNR +TF9TZXJ2ZXJfOC4wLjE5X0F1dG9fR2VuZXJhdGVkX0NBX0NlcnRpZmljYXRlMB4X +DTIwMDYxMTAzMzg0NloXDTMwMDYwOTAzMzg0NlowPDE6MDgGA1UEAwwxTXlTUUxf +U2VydmVyXzguMC4xOV9BdXRvX0dlbmVyYXRlZF9DQV9DZXJ0aWZpY2F0ZTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANJBlAYvTQ6euY4HcSn4syH7kq9s +KcG+OMjPUrj+KFEElCzgNuIhaS0f3ORQGB1PNcvVcfdXUI3WX332gWbr9s1b7Xl1 +JKJfDXs+26Cm6NhONTE3sPHnbTSmQEFb52hwAtjQmcY3IQs1AgxKFFHJfnCBEWfE +ePBQaiuYk1XDESMdWpMLrPnYQaj9MpAOUxjlmZCayzPWlF0j0IWvfsF5TqZL7tFK +9p5F/DzyZ4n1mqPVEoUmq5ZdSKj2TQkpWTMHBWHEDQQqXbyE1FGJR7zEUFeuG1KT +sVBg7iZEC93SygZTbgUZSQXIwQCsO6xZ8MB2XDJkPbWp/3Wc6c8I6P09F48CAwEA +AaMQMA4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEADKz6bIpP5anp +GgLB0jkclRWuMlS4qqIt4itSsMXPJ/ezpHwECixmgW2TIQl6S1woRkUeMxhT2/Ay +Sn/7aKxuzRagyE5NEGOvrOuAP5RO2ZdNJ/X3/Rh533fK1sOTEEbSsWUvW6iSkZef +rsfZBVP32xBhRWkKRdLeLB4W99ADMa0IrTmZPCXHSSE2V4e1o6zWLXcOZeH1Qh8N +SkelBweR+8r1Fbvy1r3s7eH7DCbYoGEDVLQGOLvzHKBisQHmoDnnF5E9g1eeNRdg +o+vhOKfYCOzeNREJIqS42PHcGhdNRk90ycigPmfUJclz1mDHoMjKR2S5oosTpr65 +tNPx3CL7GA== +-----END CERTIFICATE----- diff --git a/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/client-cert.pem b/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/client-cert.pem new file mode 100644 index 000000000..aad1404ca --- /dev/null +++ b/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/client-cert.pem @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDBDCCAeygAwIBAgIBAzANBgkqhkiG9w0BAQsFADA8MTowOAYDVQQDDDFNeVNR +TF9TZXJ2ZXJfOC4wLjE5X0F1dG9fR2VuZXJhdGVkX0NBX0NlcnRpZmljYXRlMB4X +DTIwMDYxMTAzMzg0N1oXDTMwMDYwOTAzMzg0N1owQDE+MDwGA1UEAww1TXlTUUxf +U2VydmVyXzguMC4xOV9BdXRvX0dlbmVyYXRlZF9DbGllbnRfQ2VydGlmaWNhdGUw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVYSWpOvCTupz82fc85Opv +EQ7rkB8X2oOMyBCpkyHKBIr1ZQgRDWBp9UVOASq3GnSElm6+T3Kb1QbOffa8GIlw +sjAueKdq5L2eSkmPIEQ7eoO5kEW+4V866hE1LeL/PmHg2lGP0iqZiJYtElhHNQO8 +3y9I7cm3xWMAA3SSWikVtpJRn3qIp2QSrH+tK+/HHbE5QwtPxdir4ULSCSOaM5Yh +Wi5Oto88TZqe1v7SXC864JVvO4LuS7TuSreCdWZyPXTJFBFeCEWSAxonKZrqHbBe +CwKML6/0NuzjaQ51c2tzmVI6xpHj3nnu4cSRx6Jf9WBm+35vm0wk4pohX3ptdzeV +AgMBAAGjDTALMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAByQ5zSNeFUH +Aw7JlpZHtHaSEeiiyBHke20ziQ07BK1yi/ms2HAWwQkpZv149sjNuIRH8pkTmkZn +g8PDzSefjLbC9AsWpWV0XNV22T/cdobqLqMBDDZ2+5bsV+jTrOigWd9/AHVZ93PP +IJN8HJn6rtvo2l1bh/CdsX14uVSdofXnuWGabNTydqtMvmCerZsdf6qKqLL+PYwm +RDpgWiRUY7KPBSSlKm/9lJzA+bOe4dHeJzxWFVCJcbpoiTFs1je1V8kKQaHtuW39 +ifX6LTKUMlwEECCbDKM8Yq2tm8NjkjCcnFDtKg8zKGPUu+jrFMN5otiC3wnKcP7r +O9EkaPcgYH8= +-----END CERTIFICATE----- diff --git a/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/client-key.pem b/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/client-key.pem new file mode 100644 index 000000000..6789d0291 --- /dev/null +++ b/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/client-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA1WElqTrwk7qc/Nn3POTqbxEO65AfF9qDjMgQqZMhygSK9WUI +EQ1gafVFTgEqtxp0hJZuvk9ym9UGzn32vBiJcLIwLninauS9nkpJjyBEO3qDuZBF +vuFfOuoRNS3i/z5h4NpRj9IqmYiWLRJYRzUDvN8vSO3Jt8VjAAN0klopFbaSUZ96 +iKdkEqx/rSvvxx2xOUMLT8XYq+FC0gkjmjOWIVouTraPPE2antb+0lwvOuCVbzuC +7ku07kq3gnVmcj10yRQRXghFkgMaJyma6h2wXgsCjC+v9Dbs42kOdXNrc5lSOsaR +49557uHEkceiX/VgZvt+b5tMJOKaIV96bXc3lQIDAQABAoIBAF7yjXmSOn7h6P0y +WCuGiTLG2mbDiLJqj2LTm2Z5i+2Cu/qZ7E76Ls63TxF4v3MemH5vGfQhEhR5ZD/6 +GRJ1sKKvB3WGRqjwA9gtojHH39S/nWGy6vYW/vMOOH37XyjIr3EIdIaUtFQBTSHd +Kd71niYrAbVn6fyWHolhADwnVmTMOl5OOAhCdEF4GN3b5aIhIu8BJ7EUzTtHBJIj +CAEfjZFjDs1y1cIgGFJkuIQxMfCpq5recU2qwip7YO6fk//WEjOPu7kSf5IEswL8 +jg1dea9rGBV6KaD2xsgsC6Ll6Sb4BbsrHMfflG3K2Lk3RdVqqTFp1Fn1PTLQE/1S +S/SZPYECgYEA9qYcHKHd0+Q5Ty5wgpxKGa4UCWkpwvfvyv4bh8qlmxueB+l2AIdo +ZvkM8gTPagPQ3WypAyC2b9iQu70uOJo1NizTtKnpjDdN1YpDjISJuS/P0x73gZwy +gmoM5AzMtN4D6IbxXtXnPaYICvwLKU80ouEN5ZPM4/ODLUu6gsp0v2UCgYEA3Xgi +zMC4JF0vEKEaK0H6QstaoXUmw/lToZGH3TEojBIkb/2LrHUclygtONh9kJSFb89/ +jbmRRLAOrx3HZKCNGUmF4H9k5OQyAIv6OGBinvLGqcbqnyNlI+Le8zxySYwKMlEj +EMrBCLmSyi0CGFrbZ3mlj/oCET/ql9rNvcK+DHECgYAEx5dH3sMjtgp+RFId1dWB +xePRgt4yTwewkVgLO5wV82UOljGZNQaK6Eyd7AXw8f38LHzh+KJQbIvxd2sL4cEi +OaAoohpKg0/Y0YMZl//rPMf0OWdmdZZs/I0fZjgZUSwWN3c59T8z7KG/RL8an9RP +S7kvN7wCttdV61/D5RR6GQKBgDxCe/WKWpBKaovzydMLWLTj7/0Oi0W3iXHkzzr4 +LTgvl4qBSofaNbVLUUKuZTv5rXUG2IYPf99YqCYtzBstNDc1MiAriaBeFtzfOW4t +i6gEFtoLLbuvPc3N5Sv5vn8Ug5G9UfU3td5R4AbyyCcoUZqOFuZd+EIJSiOXfXOs +kVmBAoGBAIU9aPAqhU5LX902oq8KsrpdySONqv5mtoStvl3wo95WIqXNEsFY60wO +q02jKQmJJ2MqhkJm2EoF2Mq8+40EZ5sz8LdgeQ/M0yQ9lAhPi4rftwhpe55Ma9dk +SE9X1c/DMCBEaIjJqVXdy0/EeArwpb8sHkguVVAZUWxzD+phm1gs +-----END RSA PRIVATE KEY----- diff --git a/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/private_key.pem b/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/private_key.pem new file mode 100644 index 000000000..8fbf6bdec --- /dev/null +++ b/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/private_key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA1zVmMhPqpSPMmYkKh5wwlRD5XuS8YWJKEM6tjFx61VK8qxHE +YngkC2KnL5EuKAjQZIF3tJskwt0hAat047CCCZxrkNEpbVvSnvnk+A/8bg/Ww1n3 +qxzfifhsWfpUKlDnwrtH+ftt+5rZeEkf37XAPy7ZjzecAF9SDV6WSiPeAxUX2+hN +dId42Pf45woo4LFGUlQeagCFkD/R0dpNIMGwcnkKCUikiBqr2ijSIgvRtBfZ9fBG +jFGER2uE/Eay4AgcQsHue8skRwDCng8OnqtPnBtTytmqTy9V/BRgsVKUoksm6wsx +kUYwgHeaq7UCvlCm25SZ7yRyd4k8t0BKDf2h+wIDAQABAoIBAEQcrHmRACTADdNS +IjkFYALt2l8EOfMAbryfDSJtapr1kqz59JPNvmq0EIHnixo0n/APYdmReLML1ZR3 +tYkSpjVwgkLVUC1CcIjMQoGYXaZf8PLnGJHZk45RR8m6hsTV0mQ5bfBaeVa2jbma +OzJMjcnxg/3l9cPQZ2G/3AUfEPccMxOXp1KRz3mUQcGnKJGtDbN/kfmntcwYoxaE +Zg4RoeKAoMpK1SSHAiJKe7TnztINJ7uygR9XSzNd6auY8A3vomSIjpYO7XL+lh7L +izm4Ir3Gb/eCYBvWgQyQa2KCJgK/sQyEs3a09ngofSEUhQJQYhgZDwUj+fDDOGqj +hCZOA8ECgYEA+ZWuHdcUQ3ygYhLds2QcogUlIsx7C8n/Gk/FUrqqXJrTkuO0Eqqa +B47lCITvmn2zm0ODfSFIARgKEUEDLS/biZYv7SUTrFqBLcet+aGI7Dpv91CgB75R +tNzcIf8VxoiP0jPqdbh9mLbbxGi5Uc4p9TVXRljC4hkswaouebWee0sCgYEA3L2E +YB3kiHrhPI9LHS5Px9C1w+NOu5wP5snxrDGEgaFCvL6zgY6PflacppgnmTXl8D1x +im0IDKSw5dP3FFonSVXReq3CXDql7UnhfTCiLDahV7bLxTH42FofcBpDN3ERdOal +58RwQh6VrLkzQRVoObo+hbGlFiwwSAfQC509FhECgYBsRSBpVXo25IN2yBRg09cP ++gdoFyhxrsj5kw1YnB13WrrZh+oABv4WtUhp77E5ZbpaamlKCPwBbXpAjeFg4tfr +0bksuN7V79UGFQ9FsWuCfr8/nDwv38H2IbFlFhFONMOfPmJBey0Q6JJhm8R41mSh +OOiJXcv85UrjIH5U0hLUDQKBgQDVLOU5WcUJlPoOXSgiT0ZW5xWSzuOLRUUKEf6l +19BqzAzCcLy0orOrRAPW01xylt2v6/bJw1Ahva7k1ZZo/kOwjANYoZPxM+ZoSZBN +MXl8j2mzZuJVV1RFxItV3NcLJNPB/Lk+IbRz9kt/2f9InF7iWR3mSU/wIM6j0X+2 +p6yFsQKBgQCM/ldWb511lA+SNkqXB2P6WXAgAM/7+jwsNHX2ia2Ikufm4SUEKMSv +mti/nZkHDHsrHU4wb/2cOAywMELzv9EHzdcoenjBQP65OAc/1qWJs+LnBcCXfqKk +aHjEZW6+brkHdRGLLY3YAHlt/AUL+RsKPJfN72i/FSpmu+52G36eeQ== +-----END RSA PRIVATE KEY----- diff --git a/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/public_key.pem b/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/public_key.pem new file mode 100644 index 000000000..f9772b533 --- /dev/null +++ b/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/public_key.pem @@ -0,0 +1,9 @@ +-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1zVmMhPqpSPMmYkKh5ww +lRD5XuS8YWJKEM6tjFx61VK8qxHEYngkC2KnL5EuKAjQZIF3tJskwt0hAat047CC +CZxrkNEpbVvSnvnk+A/8bg/Ww1n3qxzfifhsWfpUKlDnwrtH+ftt+5rZeEkf37XA +Py7ZjzecAF9SDV6WSiPeAxUX2+hNdId42Pf45woo4LFGUlQeagCFkD/R0dpNIMGw +cnkKCUikiBqr2ijSIgvRtBfZ9fBGjFGER2uE/Eay4AgcQsHue8skRwDCng8OnqtP +nBtTytmqTy9V/BRgsVKUoksm6wsxkUYwgHeaq7UCvlCm25SZ7yRyd4k8t0BKDf2h ++wIDAQAB +-----END PUBLIC KEY----- diff --git a/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/server-cert.pem b/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/server-cert.pem new file mode 100644 index 000000000..a2f9688df --- /dev/null +++ b/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/server-cert.pem @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDBDCCAeygAwIBAgIBAjANBgkqhkiG9w0BAQsFADA8MTowOAYDVQQDDDFNeVNR +TF9TZXJ2ZXJfOC4wLjE5X0F1dG9fR2VuZXJhdGVkX0NBX0NlcnRpZmljYXRlMB4X +DTIwMDYxMTAzMzg0NloXDTMwMDYwOTAzMzg0NlowQDE+MDwGA1UEAww1TXlTUUxf +U2VydmVyXzguMC4xOV9BdXRvX0dlbmVyYXRlZF9TZXJ2ZXJfQ2VydGlmaWNhdGUw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCcEnEm5hqP1EbEJycOz8Ua +NWp29QdpFUzTWhkKGhVXk+0msmNTw4NBAFB42moY44OU8wvDideOlJNhPRWveD8z +G2lxzJA91p0UK4et8ia9MmeuCGhdC9jxJ8X69WNlUiPyy0hI/ZsqRq9Z0C2eW0iL +JPXsy4X8Xpw3SFwoXf5pR9RFY5Pb2tuyxqmSestu2VXT/NQjJg4CVDR3mFcHPXZB +4elRzH0WshExEGkgy0bg20MJeRc2Qdb5Xx+EakbmwroDWaCn3NSGqQ7jv6Vw0doy +TGvS6h6RHBxnyqRfRgKGlCoOMG9/5+rFJC00QpCUG2vHXHWGoWlMlJ3foN7rj5v9 +AgMBAAGjDTALMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAJ5zt2rj4Ag6 +zpN59AWC1Fur8g8l41ksHkSpKPp+PtyO/ngvbMqBpfmK1e7JCKZv/68QXfMyWWAI +hwalqZkXXWHKjuz3wE7dE25PXFXtGJtcZAaj10xt98fzdqt8lQSwh2kbfNwZIz1F +sgAStgE7+ZTcqTgvNB76Os1UK0to+/P0VBWktaVFdyub4Nc2SdPVnZNvrRBXBwOD +3V8ViwywDOFoE7DvCvwx/SVsvoC0Z4j3AMMovO6oHicP7uU83qsQgm1Qru3YeoLR ++DoVi7IPHbWvN7MqFYn3YjNlByO2geblY7MR0BlqbFlmFrqLsUfjsh2ys7/U/knC +dN/klu446fI= +-----END CERTIFICATE----- diff --git a/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/server-key.pem b/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/server-key.pem new file mode 100644 index 000000000..a1dfd5f78 --- /dev/null +++ b/apps/emqx_auth_mysql/test/emqx_auth_mysql_SUITE_data/server-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAnBJxJuYaj9RGxCcnDs/FGjVqdvUHaRVM01oZChoVV5PtJrJj +U8ODQQBQeNpqGOODlPMLw4nXjpSTYT0Vr3g/MxtpccyQPdadFCuHrfImvTJnrgho +XQvY8SfF+vVjZVIj8stISP2bKkavWdAtnltIiyT17MuF/F6cN0hcKF3+aUfURWOT +29rbssapknrLbtlV0/zUIyYOAlQ0d5hXBz12QeHpUcx9FrIRMRBpIMtG4NtDCXkX +NkHW+V8fhGpG5sK6A1mgp9zUhqkO47+lcNHaMkxr0uoekRwcZ8qkX0YChpQqDjBv +f+fqxSQtNEKQlBtrx1x1hqFpTJSd36De64+b/QIDAQABAoIBAFiah66Dt9SruLkn +WR8piUaFyLlcBib8Nq9OWSTJBhDAJERxxb4KIvvGB+l0ZgNXNp5bFPSfzsZdRwZP +PX5uj8Kd71Dxx3mz211WESMJdEC42u+MSmN4lGLkJ5t/sDwXU91E1vbJM0ve8THV +4/Ag9qA4DX2vVZOeyqT/6YHpSsPNZplqzrbAiwrfHwkctHfgqwOf3QLfhmVQgfCS +VwidBldEUv2whSIiIxh4Rv5St4kA68IBCbJxdpOpyuQBkk6CkxZ7VN9FqOuSd4Pk +Wm7iWyBMZsCmELZh5XAXld4BEt87C5R4CvbPBDZxAv3THk1DNNvpy3PFQfwARRFb +SAToYMECgYEAyL7U8yxpzHDYWd3oCx6vTi9p9N/z0FfAkWrRF6dm4UcSklNiT1Aq +EOnTA+SaW8tV3E64gCWcY23gNP8so/ZseWj6L+peHwtchaP9+KB7yGw2A+05+lOx +VetLTjAOmfpiUXFe5w1q4C1RGhLjZjjzW+GvwdAuchQgUEFaomrV+PUCgYEAxwfH +cmVGFbAktcjU4HSRjKSfawCrut+3YUOLybyku3Q/hP9amG8qkVTFe95CTLjLe2D0 +ccaTTpofFEJ32COeck0g0Ujn/qQ+KXRoauOYs4FB1DtqMpqB78wufWEUpDpbd9/h +J+gJdC/IADd4tJW9zA92g8IA7ZtFmqDtiSpQ0ekCgYAQGkaorvJZpN+l7cf0RGTZ +h7IfI2vCVZer0n6tQA9fmLzjoe6r4AlPzAHSOR8sp9XeUy43kUzHKQQoHCPvjw/K +eWJAP7OHF/k2+x2fOPhU7mEy1W+mJdp+wt4Kio5RSaVjVQ3AyPG+w8PSrJszEvRq +dWMMz+851WV2KpfjmWBKlQKBgQC++4j4DZQV5aMkSKV1CIZOBf3vaIJhXKEUFQPD +PmB4fBEjpwCg+zNGp6iktt65zi17o8qMjrb1mtCt2SY04eD932LZUHNFlwcLMmes +Ad+aiDLJ24WJL1f16eDGcOyktlblDZB5gZ/ovJzXEGOkLXglosTfo77OQculmDy2 +/UL2WQKBgGeKasmGNfiYAcWio+KXgFkHXWtAXB9B91B1OFnCa40wx+qnl71MIWQH +PQ/CZFNWOfGiNEJIZjrHsfNJoeXkhq48oKcT0AVCDYyLV0VxDO4ejT95mGW6njNd +JpvmhwwAjOvuWVr0tn4iXlSK8irjlJHmwcRjLTJq97vE9fsA2MjI +-----END RSA PRIVATE KEY----- diff --git a/apps/emqx_auth_pgsql/.ci/docker-compose.yml b/apps/emqx_auth_pgsql/.ci/docker-compose.yml new file mode 100644 index 000000000..8782a841d --- /dev/null +++ b/apps/emqx_auth_pgsql/.ci/docker-compose.yml @@ -0,0 +1,30 @@ +version: '3' + +services: + erlang: + image: erlang:22.3 + volumes: + - ../:/emqx_auth_pgsql + networks: + - emqx_bridge + depends_on: + - pgsql_server + tty: true + + pgsql_server: + build: + context: ./pgsql + args: + BUILD_FROM: postgres:${PGSQL_TAG} + image: emqx-pgsql + restart: always + environment: + POSTGRES_PASSWORD: public + POSTGRES_USER: root + POSTGRES_DB: mqtt + networks: + - emqx_bridge + +networks: + emqx_bridge: + driver: bridge diff --git a/apps/emqx_auth_pgsql/.ci/pgsql/Dockerfile b/apps/emqx_auth_pgsql/.ci/pgsql/Dockerfile new file mode 100644 index 000000000..785bb875f --- /dev/null +++ b/apps/emqx_auth_pgsql/.ci/pgsql/Dockerfile @@ -0,0 +1,8 @@ +ARG BUILD_FROM=postgres:11 +FROM ${BUILD_FROM} +COPY pg.conf /etc/postgresql/postgresql.conf +COPY server-cert.pem /etc/postgresql/server-cert.pem +COPY server-key.pem /etc/postgresql/server-key.pem +RUN chown -R postgres:postgres /etc/postgresql \ + && chmod 600 /etc/postgresql/*.pem +CMD ["-c", "config_file=/etc/postgresql/postgresql.conf"] diff --git a/apps/emqx_auth_pgsql/README.md b/apps/emqx_auth_pgsql/README.md new file mode 100644 index 000000000..2dccd6f53 --- /dev/null +++ b/apps/emqx_auth_pgsql/README.md @@ -0,0 +1,183 @@ +emqx_auth_pgsql +=============== + +Authentication/ACL with PostgreSQL Database. + +Build Plugin +------------ + +make && make tests + +Configuration +------------- + +File: etc/emqx_auth_pgsql.conf + +``` +## PostgreSQL server address. +## +## Value: Port | IP:Port +## +## Examples: 5432, 127.0.0.1:5432, localhost:5432 +auth.pgsql.server = 127.0.0.1:5432 + +## PostgreSQL pool size. +## +## Value: Number +auth.pgsql.pool = 8 + +## PostgreSQL username. +## +## Value: String +auth.pgsql.username = root + +## PostgreSQL password. +## +## Value: String +## auth.pgsql.password = + +## PostgreSQL database. +## +## Value: String +auth.pgsql.database = mqtt + +## PostgreSQL database encoding. +## +## Value: String +auth.pgsql.encoding = utf8 + +## Whether to enable SSL connection. +## +## Value: true | false +auth.pgsql.ssl = false + +## SSL keyfile. +## +## Value: File +## auth.pgsql.ssl_opts.keyfile = + +## SSL certfile. +## +## Value: File +## auth.pgsql.ssl_opts.certfile = + +## SSL cacertfile. +## +## Value: File +## auth.pgsql.ssl_opts.cacertfile = + +## Authentication query. +## +## Value: SQL +## +## Variables: +## - %u: username +## - %c: clientid +## +auth.pgsql.auth_query = select password from mqtt_user where username = '%u' limit 1 + +## Password hash. +## +## Value: plain | md5 | sha | sha256 | bcrypt +auth.pgsql.password_hash = sha256 + +## sha256 with salt prefix +## auth.pgsql.password_hash = salt,sha256 + +## sha256 with salt suffix +## auth.pgsql.password_hash = sha256,salt + +## bcrypt with salt prefix +## auth.pgsql.password_hash = salt,bcrypt + +## pbkdf2 with macfun iterations dklen +## macfun: md4, md5, ripemd160, sha, sha224, sha256, sha384, sha512 +## auth.pgsql.password_hash = pbkdf2,sha256,1000,20 + +## Superuser query. +## +## Value: SQL +## +## Variables: +## - %u: username +## - %c: clientid +auth.pgsql.super_query = select is_superuser from mqtt_user where username = '%u' limit 1 + +## ACL query. Comment this query, the ACL will be disabled. +## +## Value: SQL +## +## Variables: +## - %a: ipaddress +## - %u: username +## - %c: clientid +auth.pgsql.acl_query = select allow, ipaddr, username, clientid, access, topic from mqtt_acl where ipaddr = '%a' or username = '%u' or username = '$all' or clientid = '%c' +``` + +Load Plugin +----------- + +./bin/emqx_ctl plugins load emqx_auth_pgsql + +Auth Table +---------- + +Notice: This is a demo table. You could authenticate with any user table. + +```sql +CREATE TABLE mqtt_user ( + id SERIAL primary key, + is_superuser boolean, + username character varying(100), + password character varying(100), + salt character varying(40) +) +``` + +ACL Table +--------- + +```sql +CREATE TABLE mqtt_acl ( + id SERIAL primary key, + allow integer, + ipaddr character varying(60), + username character varying(100), + clientid character varying(100), + access integer, + topic character varying(100) +) + +INSERT INTO mqtt_acl (id, allow, ipaddr, username, clientid, access, topic) +VALUES + (1,1,NULL,'$all',NULL,2,'#'), + (2,0,NULL,'$all',NULL,1,'$SYS/#'), + (3,0,NULL,'$all',NULL,1,'eq #'), + (5,1,'127.0.0.1',NULL,NULL,2,'$SYS/#'), + (6,1,'127.0.0.1',NULL,NULL,2,'#'), + (7,1,NULL,'dashboard',NULL,1,'$SYS/#'); +``` +**allow:** Client's permission to access a topic. '0' means that the client does not have permission to access the topic, '1' means that the client have permission to access the topic. + +**ipaddr:** Client IP address. For all ip addresses it can be '$all' or 'NULL'. + +**username:** Client username. For all users it can be '$all' or 'NULL'. + +**clientid:** Client id. For all client ids it can be '$all' or 'NULL'. + +**access:** Operations that the client can perform. '1' means that the client can subscribe to a topic, '2' means that the client can publish to a topic, '3' means that the client can subscribe and can publish to a topic. + +**topic:** Topic name. Topic wildcards are supported. + +**Notice that only one value allowed for ipaddr, username and clientid fields.** + +License +------- + +Apache License Version 2.0 + +Author +------ + +EMQ X Team. + diff --git a/apps/emqx_auth_pgsql/include/emqx_auth_pgsql.hrl b/apps/emqx_auth_pgsql/include/emqx_auth_pgsql.hrl new file mode 100644 index 000000000..b86692752 --- /dev/null +++ b/apps/emqx_auth_pgsql/include/emqx_auth_pgsql.hrl @@ -0,0 +1,23 @@ +-define(APP, emqx_auth_pgsql). + +-record(auth_metrics, { + success = 'client.auth.success', + failure = 'client.auth.failure', + ignore = 'client.auth.ignore' + }). + +-record(acl_metrics, { + allow = 'client.acl.allow', + deny = 'client.acl.deny', + ignore = 'client.acl.ignore' + }). + +-define(METRICS(Type), tl(tuple_to_list(#Type{}))). +-define(METRICS(Type, K), #Type{}#Type.K). + +-define(AUTH_METRICS, ?METRICS(auth_metrics)). +-define(AUTH_METRICS(K), ?METRICS(auth_metrics, K)). + +-define(ACL_METRICS, ?METRICS(acl_metrics)). +-define(ACL_METRICS(K), ?METRICS(acl_metrics, K)). + diff --git a/apps/emqx_auth_pgsql/mqtt.sql b/apps/emqx_auth_pgsql/mqtt.sql new file mode 100644 index 000000000..933b0058a --- /dev/null +++ b/apps/emqx_auth_pgsql/mqtt.sql @@ -0,0 +1,28 @@ + +CREATE TABLE mqtt_user ( + id SERIAL primary key, + is_superuser boolean, + username character varying(100), + password character varying(100), + salt character varying(40) +); + +CREATE TABLE mqtt_acl ( + id SERIAL primary key, + allow integer, + ipaddr character varying(60), + username character varying(100), + clientid character varying(100), + access integer, + topic character varying(100) +); + +INSERT INTO mqtt_acl (id, allow, ipaddr, username, clientid, access, topic) +VALUES + (1,1,NULL,'$all',NULL,2,'#'), + (2,0,NULL,'$all',NULL,1,'$SYS/#'), + (3,0,NULL,'$all',NULL,1,'eq #'), + (5,1,'127.0.0.1',NULL,NULL,2,'$SYS/#'), + (6,1,'127.0.0.1',NULL,NULL,2,'#'), + (7,1,NULL,'dashboard',NULL,1,'$SYS/#'); + diff --git a/apps/emqx_auth_pgsql/priv/emqx_auth_pgsql.schema b/apps/emqx_auth_pgsql/priv/emqx_auth_pgsql.schema new file mode 100644 index 000000000..4a475ee0e --- /dev/null +++ b/apps/emqx_auth_pgsql/priv/emqx_auth_pgsql.schema @@ -0,0 +1,127 @@ +%%-*- mode: erlang -*- +%% emqx_auth_pgsl config mapping + +{mapping, "auth.pgsql.server", "emqx_auth_pgsql.server", [ + {default, {"127.0.0.1", 5432}}, + {datatype, [integer, ip, string]} +]}. + +{mapping, "auth.pgsql.pool", "emqx_auth_pgsql.server", [ + {default, 8}, + {datatype, integer} +]}. + +{mapping, "auth.pgsql.database", "emqx_auth_pgsql.server", [ + {datatype, string} +]}. + +{mapping, "auth.pgsql.username", "emqx_auth_pgsql.server", [ + {default, ""}, + {datatype, string} +]}. + +{mapping, "auth.pgsql.password", "emqx_auth_pgsql.server", [ + {default, ""}, + {datatype, string} +]}. + +{mapping, "auth.pgsql.encoding", "emqx_auth_pgsql.server", [ + {default, utf8}, + {datatype, atom} +]}. + +{mapping, "auth.pgsql.ssl", "emqx_auth_pgsql.server", [ + {default, false}, + {datatype, {enum, [true, false]}} +]}. + +{mapping, "auth.pgsql.ssl_opts.keyfile", "emqx_auth_pgsql.server", [ + {datatype, string} +]}. + +{mapping, "auth.pgsql.ssl_opts.certfile", "emqx_auth_pgsql.server", [ + {datatype, string} +]}. + +{mapping, "auth.pgsql.ssl_opts.cacertfile", "emqx_auth_pgsql.server", [ + {datatype, string} +]}. + +{translation, "emqx_auth_pgsql.server", fun(Conf) -> + {PgHost, PgPort} = + case cuttlefish:conf_get("auth.pgsql.server", Conf) of + {Ip, Port} -> {Ip, Port}; + S -> case string:tokens(S, ":") of + [Domain] -> {Domain, 5432}; + [Domain, Port] -> {Domain, list_to_integer(Port)} + end + end, + Pool = cuttlefish:conf_get("auth.pgsql.pool", Conf), + Username = cuttlefish:conf_get("auth.pgsql.username", Conf), + Passwd = cuttlefish:conf_get("auth.pgsql.password", Conf, ""), + DB = cuttlefish:conf_get("auth.pgsql.database", Conf), + Encoding = cuttlefish:conf_get("auth.pgsql.encoding", Conf), + Ssl = cuttlefish:conf_get("auth.pgsql.ssl", Conf), + + Filter = fun(Opts) -> [{K, V} || {K, V} <- Opts, V =/= undefined] end, + SslOpts = fun(Prefix) -> + Filter([{keyfile, cuttlefish:conf_get(Prefix ++ ".keyfile", Conf, undefined)}, + {certfile, cuttlefish:conf_get(Prefix ++ ".certfile", Conf, undefined)}, + {cacertfile, cuttlefish:conf_get(Prefix ++ ".cacertfile", Conf, undefined)}]) + end, + + TempHost = case inet:parse_address(PgHost) of + {ok, IpAddr} -> + IpAddr; + _ -> + PgHost + end, + [{pool_size, Pool}, + {auto_reconnect, 1}, + {host, TempHost}, + {port, PgPort}, + {username, Username}, + {password, Passwd}, + {database, DB}, + {encoding, Encoding}, + {ssl, Ssl}, + {ssl_opts, SslOpts("auth.pgsql.ssl_opts")}] +end}. + +{mapping, "auth.pgsql.auth_query", "emqx_auth_pgsql.auth_query", [ + {datatype, string} +]}. + +{mapping, "auth.pgsql.password_hash", "emqx_auth_pgsql.password_hash", [ + {datatype, string} +]}. + +{mapping, "auth.pgsql.pbkdf2_macfun", "emqx_auth_pgsql.pbkdf2_macfun", [ + {datatype, atom} +]}. + +{mapping, "auth.pgsql.pbkdf2_iterations", "emqx_auth_pgsql.pbkdf2_iterations", [ + {datatype, integer} +]}. + +{mapping, "auth.pgsql.pbkdf2_dklen", "emqx_auth_pgsql.pbkdf2_dklen", [ + {datatype, integer} +]}. + +{mapping, "auth.pgsql.super_query", "emqx_auth_pgsql.super_query", [ + {datatype, string} +]}. + +{mapping, "auth.pgsql.acl_query", "emqx_auth_pgsql.acl_query", [ + {datatype, string} +]}. + +{translation, "emqx_auth_pgsql.password_hash", fun(Conf) -> + HashValue = cuttlefish:conf_get("auth.pgsql.password_hash", Conf), + case string:tokens(HashValue, ",") of + [Hash] -> list_to_atom(Hash); + [Prefix, Suffix] -> {list_to_atom(Prefix), list_to_atom(Suffix)}; + [Hash, MacFun, Iterations, Dklen] -> {list_to_atom(Hash), list_to_atom(MacFun), list_to_integer(Iterations), list_to_integer(Dklen)}; + _ -> plain + end +end}. diff --git a/apps/emqx_auth_pgsql/rebar.config b/apps/emqx_auth_pgsql/rebar.config new file mode 100644 index 000000000..a56845649 --- /dev/null +++ b/apps/emqx_auth_pgsql/rebar.config @@ -0,0 +1,3 @@ +{deps, + [{epgsql, {git, "https://github.com/epgsql/epgsql", {tag, "4.4.0"}}} + ]}. \ No newline at end of file diff --git a/apps/emqx_auth_pgsql/src/emqx_acl_pgsql.erl b/apps/emqx_auth_pgsql/src/emqx_acl_pgsql.erl new file mode 100644 index 000000000..fcad696e2 --- /dev/null +++ b/apps/emqx_auth_pgsql/src/emqx_acl_pgsql.erl @@ -0,0 +1,117 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_acl_pgsql). + +-include("emqx_auth_pgsql.hrl"). +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). + +%% ACL callbacks +-export([ register_metrics/0 + , check_acl/5 + , description/0 + ]). + +-spec(register_metrics() -> ok). +register_metrics() -> + lists:foreach(fun emqx_metrics:ensure/1, ?ACL_METRICS). + +check_acl(ClientInfo, PubSub, Topic, NoMatchAction, #{pool := Pool} = State) -> + case do_check_acl(Pool, ClientInfo, PubSub, Topic, NoMatchAction, State) of + ok -> emqx_metrics:inc(?ACL_METRICS(ignore)), ok; + {stop, allow} -> emqx_metrics:inc(?ACL_METRICS(allow)), {stop, allow}; + {stop, deny} -> emqx_metrics:inc(?ACL_METRICS(deny)), {stop, deny} + end. + +do_check_acl(_Pool, #{username := <<$$, _/binary>>}, _PubSub, _Topic, _NoMatchAction, _State) -> + ok; +do_check_acl(Pool, ClientInfo, PubSub, Topic, _NoMatchAction, #{acl_query := {AclSql, AclParams}}) -> + case emqx_auth_pgsql_cli:equery(Pool, AclSql, AclParams, ClientInfo) of + {ok, _, []} -> ok; + {ok, _, Rows} -> + Rules = filter(PubSub, compile(Rows)), + case match(ClientInfo, Topic, Rules) of + {matched, allow} -> {stop, allow}; + {matched, deny} -> {stop, deny}; + nomatch -> ok + end; + {error, Reason} -> + ?LOG(error, "[Postgres] do_check_acl error: ~p~n", [Reason]), + ok + end. + +match(_ClientInfo, _Topic, []) -> + nomatch; + +match(ClientInfo, Topic, [Rule|Rules]) -> + case emqx_access_rule:match(ClientInfo, Topic, Rule) of + nomatch -> match(ClientInfo, Topic, Rules); + {matched, AllowDeny} -> {matched, AllowDeny} + end. + +filter(PubSub, Rules) -> + [Term || Term = {_, _, Access, _} <- Rules, + Access =:= PubSub orelse Access =:= pubsub]. + +compile(Rows) -> + compile(Rows, []). +compile([], Acc) -> + Acc; +compile([{Allow, IpAddr, Username, ClientId, Access, Topic}|T], Acc) -> + Who = who(IpAddr, Username, ClientId), + Term = {allow(Allow), Who, access(Access), [topic(Topic)]}, + compile(T, [emqx_access_rule:compile(Term) | Acc]). + +who(_, <<"$all">>, _) -> + all; +who(null, null, null) -> + throw(undefined_who); +who(CIDR, Username, ClientId) -> + Cols = [{ipaddr, b2l(CIDR)}, {user, Username}, {client, ClientId}], + case [{C, V} || {C, V} <- Cols, not empty(V)] of + [Who] -> Who; + Conds -> {'and', Conds} + end. + +allow(1) -> allow; +allow(0) -> deny; +allow(<<"1">>) -> allow; +allow(<<"0">>) -> deny. + +access(1) -> subscribe; +access(2) -> publish; +access(3) -> pubsub; +access(<<"1">>) -> subscribe; +access(<<"2">>) -> publish; +access(<<"3">>) -> pubsub. + +topic(<<"eq ", Topic/binary>>) -> + {eq, Topic}; +topic(Topic) -> + Topic. + +description() -> + "ACL with Postgres". + +b2l(null) -> null; +b2l(B) -> binary_to_list(B). + +empty(null) -> true; +empty("") -> true; +empty(<<>>) -> true; +empty(_) -> false. + diff --git a/apps/emqx_auth_pgsql/src/emqx_auth_pgsql.app.src b/apps/emqx_auth_pgsql/src/emqx_auth_pgsql.app.src new file mode 100644 index 000000000..000d7d105 --- /dev/null +++ b/apps/emqx_auth_pgsql/src/emqx_auth_pgsql.app.src @@ -0,0 +1,14 @@ +{application, emqx_auth_pgsql, + [{description, "EMQ X Authentication/ACL with PostgreSQL"}, + {vsn, "git"}, + {modules, []}, + {registered, [emqx_auth_pgsql_sup]}, + {applications, [kernel,stdlib,epgsql,ecpool,emqx_passwd,emqx_libs]}, + {mod, {emqx_auth_pgsql_app,[]}}, + {env, []}, + {licenses, ["Apache-2.0"]}, + {maintainers, ["EMQ X Team "]}, + {links, [{"Homepage", "https://emqx.io/"}, + {"Github", "https://github.com/emqx/emqx-auth-pgsql"} + ]} + ]}. diff --git a/apps/emqx_auth_pgsql/src/emqx_auth_pgsql.app.src.script b/apps/emqx_auth_pgsql/src/emqx_auth_pgsql.app.src.script new file mode 100644 index 000000000..0e14ff23f --- /dev/null +++ b/apps/emqx_auth_pgsql/src/emqx_auth_pgsql.app.src.script @@ -0,0 +1,24 @@ +%%-*- mode: erlang -*- +%% .app.src.script + +RemoveLeadingV = + fun(Tag) -> + case re:run(Tag, "^[v|e]?[0-9]\.[0-9]\.([0-9]|(rc|beta|alpha)\.[0-9])", [{capture, none}]) of + nomatch -> + re:replace(Tag, "/", "-", [{return ,list}]); + _ -> + %% if it is a version number prefixed by 'v' or 'e', then remove it + re:replace(Tag, "[v|e]", "", [{return ,list}]) + end + end, + +case os:getenv("EMQX_DEPS_DEFAULT_VSN") of + false -> CONFIG; % env var not defined + [] -> CONFIG; % env var set to empty string + Tag -> + [begin + AppConf0 = lists:keystore(vsn, 1, AppConf, {vsn, RemoveLeadingV(Tag)}), + {application, App, AppConf0} + end || Conf = {application, App, AppConf} <- CONFIG] +end. + diff --git a/apps/emqx_auth_pgsql/src/emqx_auth_pgsql.erl b/apps/emqx_auth_pgsql/src/emqx_auth_pgsql.erl new file mode 100644 index 000000000..ad1973737 --- /dev/null +++ b/apps/emqx_auth_pgsql/src/emqx_auth_pgsql.erl @@ -0,0 +1,91 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_pgsql). + +-include("emqx_auth_pgsql.hrl"). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). + +-export([ register_metrics/0 + , check/3 + , description/0 + ]). + +-spec(register_metrics() -> ok). +register_metrics() -> + lists:foreach(fun emqx_metrics:ensure/1, ?AUTH_METRICS). + +%%-------------------------------------------------------------------- +%% Auth Module Callbacks +%%-------------------------------------------------------------------- + +check(ClientInfo = #{password := Password}, AuthResult, + #{auth_query := {AuthSql, AuthParams}, + super_query := SuperQuery, + hash_type := HashType, + pool := Pool}) -> + CheckPass = case emqx_auth_pgsql_cli:equery(Pool, AuthSql, AuthParams, ClientInfo) of + {ok, _, [Record]} -> + check_pass(erlang:append_element(Record, Password), HashType); + {ok, _, []} -> + {error, not_found}; + {error, Reason} -> + ?LOG(error, "[Postgres] query '~p' failed: ~p", [AuthSql, Reason]), + {error, not_found} + end, + case CheckPass of + ok -> + emqx_metrics:inc(?AUTH_METRICS(success)), + {stop, AuthResult#{is_superuser => is_superuser(Pool, SuperQuery, ClientInfo), + anonymous => false, + auth_result => success}}; + {error, not_found} -> + emqx_metrics:inc(?AUTH_METRICS(ignore)), ok; + {error, ResultCode} -> + ?LOG(error, "[Postgres] Auth from pgsql failed: ~p", [ResultCode]), + emqx_metrics:inc(?AUTH_METRICS(failure)), + {stop, AuthResult#{auth_result => ResultCode, anonymous => false}} + end. + +%%-------------------------------------------------------------------- +%% Is Superuser? +%%-------------------------------------------------------------------- + +-spec(is_superuser(atom(),undefined | {string(), list()}, emqx_types:client()) -> boolean()). +is_superuser(_Pool, undefined, _Client) -> + false; +is_superuser(Pool, {SuperSql, Params}, ClientInfo) -> + case emqx_auth_pgsql_cli:equery(Pool, SuperSql, Params, ClientInfo) of + {ok, [_Super], [{true}]} -> + true; + {ok, [_Super], [_False]} -> + false; + {ok, [_Super], []} -> + false; + {error, _Error} -> + false + end. + +check_pass(Password, HashType) -> + case emqx_passwd:check_pass(Password, HashType) of + ok -> ok; + {error, _Reason} -> {error, not_authorized} + end. + +description() -> "Authentication with PostgreSQL". + diff --git a/apps/emqx_auth_pgsql/src/emqx_auth_pgsql_app.erl b/apps/emqx_auth_pgsql/src/emqx_auth_pgsql_app.erl new file mode 100644 index 000000000..1d05f6b8a --- /dev/null +++ b/apps/emqx_auth_pgsql/src/emqx_auth_pgsql_app.erl @@ -0,0 +1,63 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_pgsql_app). + +-behaviour(application). + +-emqx_plugin(auth). + +-include("emqx_auth_pgsql.hrl"). + +-import(emqx_auth_pgsql_cli, [parse_query/2]). + +%% Application callbacks +-export([ start/2 + , stop/1 + ]). + +%%-------------------------------------------------------------------- +%% Application callbacks +%%-------------------------------------------------------------------- + +start(_StartType, _StartArgs) -> + {ok, Sup} = emqx_auth_pgsql_sup:start_link(), + if_enabled(auth_query, fun(AuthQuery) -> + SuperQuery = parse_query(super_query, application:get_env(?APP, super_query, undefined)), + {ok, HashType} = application:get_env(?APP, password_hash), + AuthEnv = #{auth_query => AuthQuery, + super_query => SuperQuery, + hash_type => HashType, + pool => ?APP}, + ok = emqx_auth_pgsql:register_metrics(), + ok = emqx:hook('client.authenticate', fun emqx_auth_pgsql:check/3, [AuthEnv]) + end), + if_enabled(acl_query, fun(AclQuery) -> + ok = emqx_acl_pgsql:register_metrics(), + ok = emqx:hook('client.check_acl', fun emqx_acl_pgsql:check_acl/5, [#{acl_query => AclQuery, pool => ?APP}]) + end), + {ok, Sup}. + +stop(_State) -> + ok = emqx:unhook('client.authenticate', fun emqx_auth_pgsql:check/3), + ok = emqx:unhook('client.check_acl', fun emqx_acl_pgsql:check_acl/5). + +if_enabled(Par, Fun) -> + case application:get_env(?APP, Par) of + {ok, Query} -> Fun(parse_query(Par, Query)); + undefined -> ok + end. + diff --git a/apps/emqx_auth_pgsql/src/emqx_auth_pgsql_cli.erl b/apps/emqx_auth_pgsql/src/emqx_auth_pgsql_cli.erl new file mode 100644 index 000000000..27d25f35b --- /dev/null +++ b/apps/emqx_auth_pgsql/src/emqx_auth_pgsql_cli.erl @@ -0,0 +1,138 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_pgsql_cli). + +-behaviour(ecpool_worker). + +-include("emqx_auth_pgsql.hrl"). + +-include_lib("emqx/include/emqx.hrl"). +-include_lib("emqx/include/logger.hrl"). + +-export([connect/1]). +-export([parse_query/2]). +-export([ equery/4 + , equery/3 + ]). + +%%-------------------------------------------------------------------- +%% Avoid SQL Injection: Parse SQL to Parameter Query. +%%-------------------------------------------------------------------- + +parse_query(_Par, undefined) -> + undefined; +parse_query(Par, Sql) -> + case re:run(Sql, "'%[ucCad]'", [global, {capture, all, list}]) of + {match, Variables} -> + Params = [Var || [Var] <- Variables], + {atom_to_list(Par), Params}; + nomatch -> + {atom_to_list(Par), []} + end. + +pgvar(Sql, Params) -> + Vars = ["$" ++ integer_to_list(I) || I <- lists:seq(1, length(Params))], + lists:foldl(fun({Param, Var}, S) -> + re:replace(S, Param, Var, [{return, list}]) + end, Sql, lists:zip(Params, Vars)). + +%%-------------------------------------------------------------------- +%% PostgreSQL Connect/Query +%%-------------------------------------------------------------------- + +connect(Opts) -> + Host = proplists:get_value(host, Opts), + Username = proplists:get_value(username, Opts), + Password = proplists:get_value(password, Opts), + case epgsql:connect(Host, Username, Password, conn_opts(Opts)) of + {ok, C} -> + conn_post(C), + {ok, C}; + {error, Reason = econnrefused} -> + ?LOG(error, "[Postgres] Can't connect to Postgres server: Connection refused."), + {error, Reason}; + {error, Reason = invalid_authorization_specification} -> + ?LOG(error, "[Postgres] Can't connect to Postgres server: Invalid authorization specification."), + {error, Reason}; + {error, Reason = invalid_password} -> + ?LOG(error, "[Postgres] Can't connect to Postgres server: Invalid password."), + {error, Reason}; + {error, Reason} -> + ?LOG(error, "[Postgres] Can't connect to Postgres server: ~p", [Reason]), + {error, Reason} + end. + +conn_post(Connection) -> + lists:foreach(fun(Par) -> + Sql0 = application:get_env(?APP, Par, undefined), + case parse_query(Par, Sql0) of + undefined -> ok; + {_, Params} -> + Sql = pgvar(Sql0, Params), + epgsql:parse(Connection, atom_to_list(Par), Sql, []) + end + end, [auth_query, acl_query, super_query]). + +conn_opts(Opts) -> + conn_opts(Opts, []). +conn_opts([], Acc) -> + Acc; +conn_opts([Opt = {database, _}|Opts], Acc) -> + conn_opts(Opts, [Opt|Acc]); +conn_opts([Opt = {ssl, _}|Opts], Acc) -> + conn_opts(Opts, [Opt|Acc]); +conn_opts([Opt = {port, _}|Opts], Acc) -> + conn_opts(Opts, [Opt|Acc]); +conn_opts([Opt = {timeout, _}|Opts], Acc) -> + conn_opts(Opts, [Opt|Acc]); +conn_opts([Opt = {ssl_opts, _}|Opts], Acc) -> + conn_opts(Opts, [Opt|Acc]); +conn_opts([_Opt|Opts], Acc) -> + conn_opts(Opts, Acc). + +equery(Pool, Sql, Params) -> + ecpool:with_client(Pool, fun(C) -> epgsql:prepared_query(C, Sql, Params) end). + +equery(Pool, Sql, Params, ClientInfo) -> + ecpool:with_client(Pool, fun(C) -> epgsql:prepared_query(C, Sql, replvar(Params, ClientInfo)) end). + +replvar(Params, ClientInfo) -> + replvar(Params, ClientInfo, []). + +replvar([], _ClientInfo, Acc) -> + lists:reverse(Acc); + +replvar(["'%u'" | Params], ClientInfo = #{username := Username}, Acc) -> + replvar(Params, ClientInfo, [Username | Acc]); +replvar(["'%c'" | Params], ClientInfo = #{clientid := ClientId}, Acc) -> + replvar(Params, ClientInfo, [ClientId | Acc]); +replvar(["'%a'" | Params], ClientInfo = #{peerhost := IpAddr}, Acc) -> + replvar(Params, ClientInfo, [inet_parse:ntoa(IpAddr) | Acc]); +replvar(["'%C'" | Params], ClientInfo, Acc) -> + replvar(Params, ClientInfo, [safe_get(cn, ClientInfo)| Acc]); +replvar(["'%d'" | Params], ClientInfo, Acc) -> + replvar(Params, ClientInfo, [safe_get(dn, ClientInfo)| Acc]); +replvar([Param | Params], ClientInfo, Acc) -> + replvar(Params, ClientInfo, [Param | Acc]). + +safe_get(K, ClientInfo) -> + bin(maps:get(K, ClientInfo, undefined)). + +bin(A) when is_atom(A) -> atom_to_binary(A, utf8); +bin(B) when is_binary(B) -> B; +bin(X) -> X. + diff --git a/apps/emqx_auth_pgsql/src/emqx_auth_pgsql_sup.erl b/apps/emqx_auth_pgsql/src/emqx_auth_pgsql_sup.erl new file mode 100644 index 000000000..162d04747 --- /dev/null +++ b/apps/emqx_auth_pgsql/src/emqx_auth_pgsql_sup.erl @@ -0,0 +1,37 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_pgsql_sup). + +-behaviour(supervisor). + +-include("emqx_auth_pgsql.hrl"). + +%% API +-export([start_link/0]). + +%% Supervisor callbacks +-export([init/1]). + +start_link() -> + supervisor:start_link({local, ?MODULE}, ?MODULE, []). + +init([]) -> + %% PgSQL Connection Pool + {ok, Opts} = application:get_env(?APP, server), + PoolSpec = ecpool:pool_spec(?APP, ?APP, emqx_auth_pgsql_cli, Opts), + {ok, {{one_for_one, 10, 100}, [PoolSpec]}}. + diff --git a/apps/emqx_auth_pgsql/test/.placeholder b/apps/emqx_auth_pgsql/test/.placeholder new file mode 100644 index 000000000..e69de29bb diff --git a/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE.erl b/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE.erl new file mode 100644 index 000000000..e4aefdcd3 --- /dev/null +++ b/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE.erl @@ -0,0 +1,247 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_pgsql_SUITE). + +-compile(export_all). + +-define(POOL, emqx_auth_pgsql). + +-define(APP, emqx_auth_pgsql). + +-include_lib("emqx/include/emqx.hrl"). + +-include_lib("eunit/include/eunit.hrl"). + +-include_lib("common_test/include/ct.hrl"). + +%%setp1 init table +-define(DROP_ACL_TABLE, "DROP TABLE IF EXISTS mqtt_acl_test"). + +-define(CREATE_ACL_TABLE, "CREATE TABLE mqtt_acl_test ( + id SERIAL primary key, + allow integer, + ipaddr character varying(60), + username character varying(100), + clientid character varying(100), + access integer, + topic character varying(100))"). + +-define(INIT_ACL, "INSERT INTO mqtt_acl_test (id, allow, ipaddr, username, clientid, access, topic) + VALUES + (1,1,'127.0.0.1','u1','c1',1,'t1'), + (2,0,'127.0.0.1','u2','c2',1,'t1'), + (3,1,'10.10.0.110','u1','c1',1,'t1'), + (4,1,'127.0.0.1','u3','c3',3,'t1')"). + +-define(DROP_AUTH_TABLE, "DROP TABLE IF EXISTS mqtt_user_test"). + +-define(CREATE_AUTH_TABLE, "CREATE TABLE mqtt_user_test ( + id SERIAL primary key, + is_superuser boolean, + username character varying(100), + password character varying(100), + salt character varying(40))"). + +-define(INIT_AUTH, "INSERT INTO mqtt_user_test (id, is_superuser, username, password, salt) + VALUES + (1, true, 'plain', 'plain', 'salt'), + (2, false, 'md5', '1bc29b36f623ba82aaf6724fd3b16718', 'salt'), + (3, false, 'sha', 'd8f4590320e1343a915b6394170650a8f35d6926', 'salt'), + (4, false, 'sha256', '5d5b09f6dcb2d53a5fffc60c4ac0d55fabdf556069d6631545f42aa6e3500f2e', 'salt'), + (5, false, 'pbkdf2_password', 'cdedb5281bb2f801565a1122b2563515', 'ATHENA.MIT.EDUraeburn'), + (6, false, 'bcrypt_foo', '$2a$12$sSS8Eg.ovVzaHzi1nUHYK.HbUIOdlQI0iS22Q5rd5z.JVVYH6sfm6', '$2a$12$sSS8Eg.ovVzaHzi1nUHYK.'), + (7, false, 'bcrypt', '$2y$16$rEVsDarhgHYB0TGnDFJzyu5f.T.Ha9iXMTk9J36NCMWWM7O16qyaK', 'salt')"). + +all() -> + [{group, ssl}, {group, nossl}]. + +groups() -> + Cases = emqx_ct:all(?MODULE), + [{ssl, [sequence], Cases}, {nossl, [sequence], Cases}]. + +init_per_group(Name, Config) -> + case Name of + ssl -> + emqx_ct_helpers:start_apps([emqx_auth_pgsql], fun set_special_configs_ssl/1); + nossl -> + emqx_ct_helpers:start_apps([emqx_auth_pgsql], fun set_special_configs/1) + end, + init_auth_(), + init_acl_(), + Config. + +end_per_group(_, Config) -> + drop_auth_(), + drop_acl_(), + emqx_ct_helpers:stop_apps([emqx_auth_pgsql]), + Config. + +set_special_configs_ssl(Name) -> + Server = application:get_env(?APP, server, []), + Path = emqx_ct_helpers:deps_path(emqx_auth_pgsql, "test/emqx_auth_pgsql_SUITE_data/"), + Sslopts = [{keyfile, Path ++ "/client-key.pem"}, + {certfile, Path ++ "/client-cert.pem"}, + {cacertfile, Path ++ "/ca.pem"}], + Temp = lists:keyreplace(ssl, 1, Server, {ssl, true}), + application:set_env(?APP, server, Temp), + application:set_env(?APP, server, lists:keyreplace(ssl_opts, 1, Temp, {ssl_opts, Sslopts})), + set_special_configs(Name). + +set_special_configs(emqx) -> + application:set_env(emqx, acl_nomatch, deny), + application:set_env(emqx, acl_file, + emqx_ct_helpers:deps_path(emqx, "test/emqx_SUITE_data/acl.conf")), + application:set_env(emqx, allow_anonymous, false), + application:set_env(emqx, enable_acl_cache, false), + application:set_env(emqx, plugins_loaded_file, + emqx_ct_helpers:deps_path(emqx, "test/emqx_SUITE_data/loaded_plugins")); + +set_special_configs(emqx_auth_pgsql) -> + Server = application:get_env(?APP, server, []), + application:set_env(?APP, server, + lists:keyreplace(password, + 1, + lists:keyreplace(pool_size, 1, Server, {pool_size, 1}), + {password, "public"})), + application:set_env(?APP, acl_query, "select allow, ipaddr, username, clientid, access, topic from mqtt_acl_test where ipaddr = '%a' or username = '%u' or username = '$all' or clientid = '%c'"), + application:set_env(?APP, super_query, "select is_superuser from mqtt_user_test where username = '%u' limit 1"), + application:set_env(?APP, auth_query, "select password from mqtt_user_test where username = '%u' limit 1"); +set_special_configs(_App) -> + ok. + +t_comment_config(_) -> + AuthCount = length(emqx_hooks:lookup('client.authenticate')), + AclCount = length(emqx_hooks:lookup('client.check_acl')), + application:stop(?APP), + [application:unset_env(?APP, Par) || Par <- [acl_query, auth_query]], + application:start(?APP), + ?assertEqual([], emqx_hooks:lookup('client.authenticate')), + ?assertEqual(AuthCount - 1, length(emqx_hooks:lookup('client.authenticate'))), + ?assertEqual(AclCount - 1, length(emqx_hooks:lookup('client.check_acl'))). + +t_placeholders(_) -> + ClientA = #{username => <<"plain">>, clientid => <<"plain">>, zone => external}, + reload([{password_hash, plain}, + {auth_query, "select password from mqtt_user_test where username = '%u' and 'a_cn_val' = '%C' limit 1"}]), + {error, not_authorized} = + emqx_access_control:authenticate(ClientA#{password => <<"plain">>}), + {error, not_authorized} = + emqx_access_control:authenticate(ClientA#{password => <<"plain">>, cn => undefined}), + {ok, _} = + emqx_access_control:authenticate(ClientA#{password => <<"plain">>, cn => <<"a_cn_val">>}), + + reload([{auth_query, "select password from mqtt_user_test where username = '%c' and 'a_dn_val' = '%d' limit 1"}]), + {error, not_authorized} = + emqx_access_control:authenticate(ClientA#{password => <<"plain">>}), + {error, not_authorized} = + emqx_access_control:authenticate(ClientA#{password => <<"plain">>, dn => undefined}), + {ok, _} = + emqx_access_control:authenticate(ClientA#{password => <<"plain">>, dn => <<"a_dn_val">>}), + + reload([{auth_query, "select password from mqtt_user_test where username = '%u' and '192.168.1.5' = '%a' limit 1"}]), + {error, not_authorized} = + emqx_access_control:authenticate(ClientA#{password => <<"plain">>}), + {ok, _} = + emqx_access_control:authenticate(ClientA#{password => <<"plain">>, peerhost => {192,168,1,5}}). + +t_check_auth(_) -> + Plain = #{clientid => <<"client1">>, username => <<"plain">>, zone => external}, + Md5 = #{clientid => <<"md5">>, username => <<"md5">>, zone => external}, + Sha = #{clientid => <<"sha">>, username => <<"sha">>, zone => external}, + Sha256 = #{clientid => <<"sha256">>, username => <<"sha256">>, zone => external}, + Pbkdf2 = #{clientid => <<"pbkdf2_password">>, username => <<"pbkdf2_password">>, zone => external}, + BcryptFoo = #{clientid => <<"bcrypt_foo">>, username => <<"bcrypt_foo">>, zone => external}, + User1 = #{clientid => <<"bcrypt_foo">>, username => <<"user">>, zone => external}, + Bcrypt = #{clientid => <<"bcrypt">>, username => <<"bcrypt">>, zone => external}, + reload([{password_hash, plain}, + {auth_query, "select password from mqtt_user_test where username = '%u' limit 1"}]), + {ok, #{is_superuser := true}} = emqx_access_control:authenticate(Plain#{password => <<"plain">>}), + reload([{password_hash, md5}]), + {ok, #{is_superuser := false}} = emqx_access_control:authenticate(Md5#{password => <<"md5">>}), + reload([{password_hash, sha}]), + {ok, #{is_superuser := false}} = emqx_access_control:authenticate(Sha#{password => <<"sha">>}), + reload([{password_hash, sha256}]), + {ok, #{is_superuser := false}} = emqx_access_control:authenticate(Sha256#{password => <<"sha256">>}), + reload([{password_hash, bcrypt}]), + {ok, #{is_superuser := false}} = emqx_access_control:authenticate(Bcrypt#{password => <<"password">>}), + %%pbkdf2 sha + reload([{password_hash, {pbkdf2, sha, 1, 16}}, {auth_query, "select password, salt from mqtt_user_test where username = '%u' limit 1"}]), + {ok, #{is_superuser := false}} = emqx_access_control:authenticate(Pbkdf2#{password => <<"password">>}), + reload([{password_hash, {salt, bcrypt}}]), + {ok, #{is_superuser := false}} = emqx_access_control:authenticate(BcryptFoo#{password => <<"foo">>}), + {error, _} = emqx_access_control:authenticate(User1#{password => <<"foo">>}), + {error, not_authorized} = emqx_access_control:authenticate(Bcrypt#{password => <<"password">>}). +t_check_acl(_) -> + emqx_modules:load_module(emqx_mod_acl_internal, false), + User1 = #{zone => external, peerhost => {127,0,0,1}, clientid => <<"c1">>, username => <<"u1">>}, + User2 = #{zone => external, peerhost => {127,0,0,1}, clientid => <<"c2">>, username => <<"u2">>}, + reload([{acl_query, "select allow, ipaddr, username, clientid, access, topic from mqtt_acl_test where ipaddr = '%a' or username = '%u' or username = '$all' or clientid = '%c'"}]), + allow = emqx_access_control:check_acl(User1, subscribe, <<"t1">>), + deny = emqx_access_control:check_acl(User2, subscribe, <<"t1">>), + User3 = #{zone => external, peerhost => {10,10,0,110}, clientid => <<"c1">>, username => <<"u1">>}, + User4 = #{zone => external, peerhost => {10,10,10,110}, clientid => <<"c1">>, username => <<"u1">>}, + allow = emqx_access_control:check_acl(User3, subscribe, <<"t1">>), + allow = emqx_access_control:check_acl(User3, subscribe, <<"t1">>), + allow = emqx_access_control:check_acl(User3, subscribe, <<"t2">>),%% nomatch -> ignore -> emqttd acl + allow = emqx_access_control:check_acl(User4, subscribe, <<"t1">>),%% nomatch -> ignore -> emqttd acl + User5 = #{zone => external, peerhost => {127,0,0,1}, clientid => <<"c3">>, username => <<"u3">>}, + allow = emqx_access_control:check_acl(User5, subscribe, <<"t1">>), + allow = emqx_access_control:check_acl(User5, publish, <<"t1">>). + +t_acl_super(_) -> + reload([{password_hash, plain}, {auth_query, "select password from mqtt_user_test where username = '%u' limit 1"}]), + {ok, C} = emqtt:start_link([{host, "localhost"}, {clientid, <<"simpleClient">>}, + {username, <<"plain">>}, {password, <<"plain">>}]), + {ok, _} = emqtt:connect(C), + timer:sleep(10), + emqtt:subscribe(C, <<"TopicA">>, qos2), + emqtt:publish(C, <<"TopicA">>, <<"Payload">>, qos2), + timer:sleep(1000), + receive + {publish, #{payload := Payload}} -> + ?assertEqual(<<"Payload">>, Payload) + after + 1000 -> + ct:fail({receive_timeout, <<"Payload">>}), + ok + end, + emqtt:disconnect(C). + +reload(Config) when is_list(Config) -> + application:stop(?APP), + [application:set_env(?APP, K, V) || {K, V} <- Config], + application:start(?APP). + +init_acl_() -> + {ok, Pid} = ecpool_worker:client(gproc_pool:pick_worker({ecpool, ?POOL})), + {ok, [], []} = epgsql:squery(Pid, ?DROP_ACL_TABLE), + {ok, [], []} = epgsql:squery(Pid, ?CREATE_ACL_TABLE), + {ok, _} = epgsql:equery(Pid, ?INIT_ACL). + +drop_acl_() -> + {ok, Pid} = ecpool_worker:client(gproc_pool:pick_worker({ecpool, ?POOL})), + {ok, [], []}= epgsql:squery(Pid, ?DROP_ACL_TABLE). + +init_auth_() -> + {ok, Pid} = ecpool_worker:client(gproc_pool:pick_worker({ecpool, ?POOL})), + {ok, [], []} = epgsql:squery(Pid, ?DROP_AUTH_TABLE), + {ok, [], []} = epgsql:squery(Pid, ?CREATE_AUTH_TABLE), + {ok, _} = epgsql:equery(Pid, ?INIT_AUTH). + +drop_auth_() -> + {ok, Pid} = ecpool_worker:client(gproc_pool:pick_worker({ecpool, ?POOL})), + {ok, [], []} = epgsql:squery(Pid, ?DROP_AUTH_TABLE). diff --git a/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/ca.pem b/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/ca.pem new file mode 100644 index 000000000..00b31d8a4 --- /dev/null +++ b/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/ca.pem @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDAzCCAeugAwIBAgIBATANBgkqhkiG9w0BAQsFADA8MTowOAYDVQQDDDFNeVNR +TF9TZXJ2ZXJfOC4wLjE5X0F1dG9fR2VuZXJhdGVkX0NBX0NlcnRpZmljYXRlMB4X +DTIwMDYxMTAzMzg0NloXDTMwMDYwOTAzMzg0NlowPDE6MDgGA1UEAwwxTXlTUUxf +U2VydmVyXzguMC4xOV9BdXRvX0dlbmVyYXRlZF9DQV9DZXJ0aWZpY2F0ZTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANJBlAYvTQ6euY4HcSn4syH7kq9s +KcG+OMjPUrj+KFEElCzgNuIhaS0f3ORQGB1PNcvVcfdXUI3WX332gWbr9s1b7Xl1 +JKJfDXs+26Cm6NhONTE3sPHnbTSmQEFb52hwAtjQmcY3IQs1AgxKFFHJfnCBEWfE +ePBQaiuYk1XDESMdWpMLrPnYQaj9MpAOUxjlmZCayzPWlF0j0IWvfsF5TqZL7tFK +9p5F/DzyZ4n1mqPVEoUmq5ZdSKj2TQkpWTMHBWHEDQQqXbyE1FGJR7zEUFeuG1KT +sVBg7iZEC93SygZTbgUZSQXIwQCsO6xZ8MB2XDJkPbWp/3Wc6c8I6P09F48CAwEA +AaMQMA4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEADKz6bIpP5anp +GgLB0jkclRWuMlS4qqIt4itSsMXPJ/ezpHwECixmgW2TIQl6S1woRkUeMxhT2/Ay +Sn/7aKxuzRagyE5NEGOvrOuAP5RO2ZdNJ/X3/Rh533fK1sOTEEbSsWUvW6iSkZef +rsfZBVP32xBhRWkKRdLeLB4W99ADMa0IrTmZPCXHSSE2V4e1o6zWLXcOZeH1Qh8N +SkelBweR+8r1Fbvy1r3s7eH7DCbYoGEDVLQGOLvzHKBisQHmoDnnF5E9g1eeNRdg +o+vhOKfYCOzeNREJIqS42PHcGhdNRk90ycigPmfUJclz1mDHoMjKR2S5oosTpr65 +tNPx3CL7GA== +-----END CERTIFICATE----- diff --git a/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/client-cert.pem b/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/client-cert.pem new file mode 100644 index 000000000..aad1404ca --- /dev/null +++ b/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/client-cert.pem @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDBDCCAeygAwIBAgIBAzANBgkqhkiG9w0BAQsFADA8MTowOAYDVQQDDDFNeVNR +TF9TZXJ2ZXJfOC4wLjE5X0F1dG9fR2VuZXJhdGVkX0NBX0NlcnRpZmljYXRlMB4X +DTIwMDYxMTAzMzg0N1oXDTMwMDYwOTAzMzg0N1owQDE+MDwGA1UEAww1TXlTUUxf +U2VydmVyXzguMC4xOV9BdXRvX0dlbmVyYXRlZF9DbGllbnRfQ2VydGlmaWNhdGUw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVYSWpOvCTupz82fc85Opv +EQ7rkB8X2oOMyBCpkyHKBIr1ZQgRDWBp9UVOASq3GnSElm6+T3Kb1QbOffa8GIlw +sjAueKdq5L2eSkmPIEQ7eoO5kEW+4V866hE1LeL/PmHg2lGP0iqZiJYtElhHNQO8 +3y9I7cm3xWMAA3SSWikVtpJRn3qIp2QSrH+tK+/HHbE5QwtPxdir4ULSCSOaM5Yh +Wi5Oto88TZqe1v7SXC864JVvO4LuS7TuSreCdWZyPXTJFBFeCEWSAxonKZrqHbBe +CwKML6/0NuzjaQ51c2tzmVI6xpHj3nnu4cSRx6Jf9WBm+35vm0wk4pohX3ptdzeV +AgMBAAGjDTALMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAByQ5zSNeFUH +Aw7JlpZHtHaSEeiiyBHke20ziQ07BK1yi/ms2HAWwQkpZv149sjNuIRH8pkTmkZn +g8PDzSefjLbC9AsWpWV0XNV22T/cdobqLqMBDDZ2+5bsV+jTrOigWd9/AHVZ93PP +IJN8HJn6rtvo2l1bh/CdsX14uVSdofXnuWGabNTydqtMvmCerZsdf6qKqLL+PYwm +RDpgWiRUY7KPBSSlKm/9lJzA+bOe4dHeJzxWFVCJcbpoiTFs1je1V8kKQaHtuW39 +ifX6LTKUMlwEECCbDKM8Yq2tm8NjkjCcnFDtKg8zKGPUu+jrFMN5otiC3wnKcP7r +O9EkaPcgYH8= +-----END CERTIFICATE----- diff --git a/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/client-key.pem b/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/client-key.pem new file mode 100644 index 000000000..6789d0291 --- /dev/null +++ b/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/client-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA1WElqTrwk7qc/Nn3POTqbxEO65AfF9qDjMgQqZMhygSK9WUI +EQ1gafVFTgEqtxp0hJZuvk9ym9UGzn32vBiJcLIwLninauS9nkpJjyBEO3qDuZBF +vuFfOuoRNS3i/z5h4NpRj9IqmYiWLRJYRzUDvN8vSO3Jt8VjAAN0klopFbaSUZ96 +iKdkEqx/rSvvxx2xOUMLT8XYq+FC0gkjmjOWIVouTraPPE2antb+0lwvOuCVbzuC +7ku07kq3gnVmcj10yRQRXghFkgMaJyma6h2wXgsCjC+v9Dbs42kOdXNrc5lSOsaR +49557uHEkceiX/VgZvt+b5tMJOKaIV96bXc3lQIDAQABAoIBAF7yjXmSOn7h6P0y +WCuGiTLG2mbDiLJqj2LTm2Z5i+2Cu/qZ7E76Ls63TxF4v3MemH5vGfQhEhR5ZD/6 +GRJ1sKKvB3WGRqjwA9gtojHH39S/nWGy6vYW/vMOOH37XyjIr3EIdIaUtFQBTSHd +Kd71niYrAbVn6fyWHolhADwnVmTMOl5OOAhCdEF4GN3b5aIhIu8BJ7EUzTtHBJIj +CAEfjZFjDs1y1cIgGFJkuIQxMfCpq5recU2qwip7YO6fk//WEjOPu7kSf5IEswL8 +jg1dea9rGBV6KaD2xsgsC6Ll6Sb4BbsrHMfflG3K2Lk3RdVqqTFp1Fn1PTLQE/1S +S/SZPYECgYEA9qYcHKHd0+Q5Ty5wgpxKGa4UCWkpwvfvyv4bh8qlmxueB+l2AIdo +ZvkM8gTPagPQ3WypAyC2b9iQu70uOJo1NizTtKnpjDdN1YpDjISJuS/P0x73gZwy +gmoM5AzMtN4D6IbxXtXnPaYICvwLKU80ouEN5ZPM4/ODLUu6gsp0v2UCgYEA3Xgi +zMC4JF0vEKEaK0H6QstaoXUmw/lToZGH3TEojBIkb/2LrHUclygtONh9kJSFb89/ +jbmRRLAOrx3HZKCNGUmF4H9k5OQyAIv6OGBinvLGqcbqnyNlI+Le8zxySYwKMlEj +EMrBCLmSyi0CGFrbZ3mlj/oCET/ql9rNvcK+DHECgYAEx5dH3sMjtgp+RFId1dWB +xePRgt4yTwewkVgLO5wV82UOljGZNQaK6Eyd7AXw8f38LHzh+KJQbIvxd2sL4cEi +OaAoohpKg0/Y0YMZl//rPMf0OWdmdZZs/I0fZjgZUSwWN3c59T8z7KG/RL8an9RP +S7kvN7wCttdV61/D5RR6GQKBgDxCe/WKWpBKaovzydMLWLTj7/0Oi0W3iXHkzzr4 +LTgvl4qBSofaNbVLUUKuZTv5rXUG2IYPf99YqCYtzBstNDc1MiAriaBeFtzfOW4t +i6gEFtoLLbuvPc3N5Sv5vn8Ug5G9UfU3td5R4AbyyCcoUZqOFuZd+EIJSiOXfXOs +kVmBAoGBAIU9aPAqhU5LX902oq8KsrpdySONqv5mtoStvl3wo95WIqXNEsFY60wO +q02jKQmJJ2MqhkJm2EoF2Mq8+40EZ5sz8LdgeQ/M0yQ9lAhPi4rftwhpe55Ma9dk +SE9X1c/DMCBEaIjJqVXdy0/EeArwpb8sHkguVVAZUWxzD+phm1gs +-----END RSA PRIVATE KEY----- diff --git a/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/pg.conf b/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/pg.conf new file mode 100644 index 000000000..7b78cd1e3 --- /dev/null +++ b/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/pg.conf @@ -0,0 +1,21 @@ +# - Connection Settings - + +listen_addresses = '*' +port = 5432 # (change requires restart) +max_connections = 100 # (change requires restart) +# - SSL - + +ssl = on +ssl_cert_file = '/etc/postgresql/server-cert.pem' +ssl_key_file = '/etc/postgresql/server-key.pem' +shared_buffers = 128MB # min 128kB +checkpoint_timeout = 5min # range 30s-1d +max_wal_size = 1GB +min_wal_size = 80MB +datestyle = 'iso, mdy' +timezone = 'Etc/UTC' +lc_messages = 'en_US.utf8' # locale for system error message +lc_monetary = 'en_US.utf8' # locale for monetary formatting +lc_numeric = 'en_US.utf8' # locale for number formatting +lc_time = 'en_US.utf8' # locale for time formatting +default_text_search_config = 'pg_catalog.english' diff --git a/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/server-cert.pem b/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/server-cert.pem new file mode 100644 index 000000000..a2f9688df --- /dev/null +++ b/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/server-cert.pem @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDBDCCAeygAwIBAgIBAjANBgkqhkiG9w0BAQsFADA8MTowOAYDVQQDDDFNeVNR +TF9TZXJ2ZXJfOC4wLjE5X0F1dG9fR2VuZXJhdGVkX0NBX0NlcnRpZmljYXRlMB4X +DTIwMDYxMTAzMzg0NloXDTMwMDYwOTAzMzg0NlowQDE+MDwGA1UEAww1TXlTUUxf +U2VydmVyXzguMC4xOV9BdXRvX0dlbmVyYXRlZF9TZXJ2ZXJfQ2VydGlmaWNhdGUw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCcEnEm5hqP1EbEJycOz8Ua +NWp29QdpFUzTWhkKGhVXk+0msmNTw4NBAFB42moY44OU8wvDideOlJNhPRWveD8z +G2lxzJA91p0UK4et8ia9MmeuCGhdC9jxJ8X69WNlUiPyy0hI/ZsqRq9Z0C2eW0iL +JPXsy4X8Xpw3SFwoXf5pR9RFY5Pb2tuyxqmSestu2VXT/NQjJg4CVDR3mFcHPXZB +4elRzH0WshExEGkgy0bg20MJeRc2Qdb5Xx+EakbmwroDWaCn3NSGqQ7jv6Vw0doy +TGvS6h6RHBxnyqRfRgKGlCoOMG9/5+rFJC00QpCUG2vHXHWGoWlMlJ3foN7rj5v9 +AgMBAAGjDTALMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAJ5zt2rj4Ag6 +zpN59AWC1Fur8g8l41ksHkSpKPp+PtyO/ngvbMqBpfmK1e7JCKZv/68QXfMyWWAI +hwalqZkXXWHKjuz3wE7dE25PXFXtGJtcZAaj10xt98fzdqt8lQSwh2kbfNwZIz1F +sgAStgE7+ZTcqTgvNB76Os1UK0to+/P0VBWktaVFdyub4Nc2SdPVnZNvrRBXBwOD +3V8ViwywDOFoE7DvCvwx/SVsvoC0Z4j3AMMovO6oHicP7uU83qsQgm1Qru3YeoLR ++DoVi7IPHbWvN7MqFYn3YjNlByO2geblY7MR0BlqbFlmFrqLsUfjsh2ys7/U/knC +dN/klu446fI= +-----END CERTIFICATE----- diff --git a/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/server-key.pem b/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/server-key.pem new file mode 100644 index 000000000..a1dfd5f78 --- /dev/null +++ b/apps/emqx_auth_pgsql/test/emqx_auth_pgsql_SUITE_data/server-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAnBJxJuYaj9RGxCcnDs/FGjVqdvUHaRVM01oZChoVV5PtJrJj +U8ODQQBQeNpqGOODlPMLw4nXjpSTYT0Vr3g/MxtpccyQPdadFCuHrfImvTJnrgho +XQvY8SfF+vVjZVIj8stISP2bKkavWdAtnltIiyT17MuF/F6cN0hcKF3+aUfURWOT +29rbssapknrLbtlV0/zUIyYOAlQ0d5hXBz12QeHpUcx9FrIRMRBpIMtG4NtDCXkX +NkHW+V8fhGpG5sK6A1mgp9zUhqkO47+lcNHaMkxr0uoekRwcZ8qkX0YChpQqDjBv +f+fqxSQtNEKQlBtrx1x1hqFpTJSd36De64+b/QIDAQABAoIBAFiah66Dt9SruLkn +WR8piUaFyLlcBib8Nq9OWSTJBhDAJERxxb4KIvvGB+l0ZgNXNp5bFPSfzsZdRwZP +PX5uj8Kd71Dxx3mz211WESMJdEC42u+MSmN4lGLkJ5t/sDwXU91E1vbJM0ve8THV +4/Ag9qA4DX2vVZOeyqT/6YHpSsPNZplqzrbAiwrfHwkctHfgqwOf3QLfhmVQgfCS +VwidBldEUv2whSIiIxh4Rv5St4kA68IBCbJxdpOpyuQBkk6CkxZ7VN9FqOuSd4Pk +Wm7iWyBMZsCmELZh5XAXld4BEt87C5R4CvbPBDZxAv3THk1DNNvpy3PFQfwARRFb +SAToYMECgYEAyL7U8yxpzHDYWd3oCx6vTi9p9N/z0FfAkWrRF6dm4UcSklNiT1Aq +EOnTA+SaW8tV3E64gCWcY23gNP8so/ZseWj6L+peHwtchaP9+KB7yGw2A+05+lOx +VetLTjAOmfpiUXFe5w1q4C1RGhLjZjjzW+GvwdAuchQgUEFaomrV+PUCgYEAxwfH +cmVGFbAktcjU4HSRjKSfawCrut+3YUOLybyku3Q/hP9amG8qkVTFe95CTLjLe2D0 +ccaTTpofFEJ32COeck0g0Ujn/qQ+KXRoauOYs4FB1DtqMpqB78wufWEUpDpbd9/h +J+gJdC/IADd4tJW9zA92g8IA7ZtFmqDtiSpQ0ekCgYAQGkaorvJZpN+l7cf0RGTZ +h7IfI2vCVZer0n6tQA9fmLzjoe6r4AlPzAHSOR8sp9XeUy43kUzHKQQoHCPvjw/K +eWJAP7OHF/k2+x2fOPhU7mEy1W+mJdp+wt4Kio5RSaVjVQ3AyPG+w8PSrJszEvRq +dWMMz+851WV2KpfjmWBKlQKBgQC++4j4DZQV5aMkSKV1CIZOBf3vaIJhXKEUFQPD +PmB4fBEjpwCg+zNGp6iktt65zi17o8qMjrb1mtCt2SY04eD932LZUHNFlwcLMmes +Ad+aiDLJ24WJL1f16eDGcOyktlblDZB5gZ/ovJzXEGOkLXglosTfo77OQculmDy2 +/UL2WQKBgGeKasmGNfiYAcWio+KXgFkHXWtAXB9B91B1OFnCa40wx+qnl71MIWQH +PQ/CZFNWOfGiNEJIZjrHsfNJoeXkhq48oKcT0AVCDYyLV0VxDO4ejT95mGW6njNd +JpvmhwwAjOvuWVr0tn4iXlSK8irjlJHmwcRjLTJq97vE9fsA2MjI +-----END RSA PRIVATE KEY----- diff --git a/apps/emqx_auth_redis/.ci/docker-compose.yml b/apps/emqx_auth_redis/.ci/docker-compose.yml new file mode 100644 index 000000000..27794546e --- /dev/null +++ b/apps/emqx_auth_redis/.ci/docker-compose.yml @@ -0,0 +1,26 @@ +version: '3' + +services: + erlang: + image: erlang:22.1 + volumes: + - ../:/emqx_auth_redis + networks: + - emqx_bridge + depends_on: + - redis_server + tty: true + + redis_server: + build: + context: ./emqx-redis + args: + BUILD_FROM: redis:${REDIS_TAG} + image: emqx-redis + restart: always + networks: + - emqx_bridge + +networks: + emqx_bridge: + driver: bridge diff --git a/apps/emqx_auth_redis/.ci/emqx-redis/Dockerfile b/apps/emqx_auth_redis/.ci/emqx-redis/Dockerfile new file mode 100644 index 000000000..9fe51e86e --- /dev/null +++ b/apps/emqx_auth_redis/.ci/emqx-redis/Dockerfile @@ -0,0 +1,4 @@ +ARG BUILD_FROM=redis:5 +FROM ${BUILD_FROM} +COPY redis.conf /usr/local/etc/redis/redis.conf +CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ] diff --git a/apps/emqx_auth_redis/.ci/emqx-redis/redis.conf b/apps/emqx_auth_redis/.ci/emqx-redis/redis.conf new file mode 100644 index 000000000..8415f9d5f --- /dev/null +++ b/apps/emqx_auth_redis/.ci/emqx-redis/redis.conf @@ -0,0 +1,1377 @@ +# Redis configuration file example. +# +# Note that in order to read the configuration file, Redis must be +# started with the file path as first argument: +# +# ./redis-server /path/to/redis.conf + +# Note on units: when memory size is needed, it is possible to specify +# it in the usual form of 1k 5GB 4M and so forth: +# +# 1k => 1000 bytes +# 1kb => 1024 bytes +# 1m => 1000000 bytes +# 1mb => 1024*1024 bytes +# 1g => 1000000000 bytes +# 1gb => 1024*1024*1024 bytes +# +# units are case insensitive so 1GB 1Gb 1gB are all the same. + +################################## INCLUDES ################################### + +# Include one or more other config files here. This is useful if you +# have a standard template that goes to all Redis servers but also need +# to customize a few per-server settings. Include files can include +# other files, so use this wisely. +# +# Notice option "include" won't be rewritten by command "CONFIG REWRITE" +# from admin or Redis Sentinel. Since Redis always uses the last processed +# line as value of a configuration directive, you'd better put includes +# at the beginning of this file to avoid overwriting config change at runtime. +# +# If instead you are interested in using includes to override configuration +# options, it is better to use include as the last line. +# +# include /path/to/local.conf +# include /path/to/other.conf + +################################## MODULES ##################################### + +# Load modules at startup. If the server is not able to load modules +# it will abort. It is possible to use multiple loadmodule directives. +# +# loadmodule /path/to/my_module.so +# loadmodule /path/to/other_module.so + +################################## NETWORK ##################################### + +# By default, if no "bind" configuration directive is specified, Redis listens +# for connections from all the network interfaces available on the server. +# It is possible to listen to just one or multiple selected interfaces using +# the "bind" configuration directive, followed by one or more IP addresses. +# +# Examples: +# +# bind 192.168.1.100 10.0.0.1 +# bind 127.0.0.1 ::1 +# +# ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the +# internet, binding to all the interfaces is dangerous and will expose the +# instance to everybody on the internet. So by default we uncomment the +# following bind directive, that will force Redis to listen only into +# the IPv4 loopback interface address (this means Redis will be able to +# accept connections only from clients running into the same computer it +# is running). +# +# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES +# JUST COMMENT THE FOLLOWING LINE. +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +bind 0.0.0.0 :: + +# Protected mode is a layer of security protection, in order to avoid that +# Redis instances left open on the internet are accessed and exploited. +# +# When protected mode is on and if: +# +# 1) The server is not binding explicitly to a set of addresses using the +# "bind" directive. +# 2) No password is configured. +# +# The server only accepts connections from clients connecting from the +# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain +# sockets. +# +# By default protected mode is enabled. You should disable it only if +# you are sure you want clients from other hosts to connect to Redis +# even if no authentication is configured, nor a specific set of interfaces +# are explicitly listed using the "bind" directive. +protected-mode no + +# Accept connections on the specified port, default is 6379 (IANA #815344). +# If port 0 is specified Redis will not listen on a TCP socket. +port 6379 + +# TCP listen() backlog. +# +# In high requests-per-second environments you need an high backlog in order +# to avoid slow clients connections issues. Note that the Linux kernel +# will silently truncate it to the value of /proc/sys/net/core/somaxconn so +# make sure to raise both the value of somaxconn and tcp_max_syn_backlog +# in order to get the desired effect. +tcp-backlog 511 + +# Unix socket. +# +# Specify the path for the Unix socket that will be used to listen for +# incoming connections. There is no default, so Redis will not listen +# on a unix socket when not specified. +# +# unixsocket /tmp/redis.sock +# unixsocketperm 700 + +# Close the connection after a client is idle for N seconds (0 to disable) +timeout 0 + +# TCP keepalive. +# +# If non-zero, use SO_KEEPALIVE to send TCP ACKs to clients in absence +# of communication. This is useful for two reasons: +# +# 1) Detect dead peers. +# 2) Take the connection alive from the point of view of network +# equipment in the middle. +# +# On Linux, the specified value (in seconds) is the period used to send ACKs. +# Note that to close the connection the double of the time is needed. +# On other kernels the period depends on the kernel configuration. +# +# A reasonable value for this option is 300 seconds, which is the new +# Redis default starting with Redis 3.2.1. +tcp-keepalive 300 + +################################# GENERAL ##################################### + +# By default Redis does not run as a daemon. Use 'yes' if you need it. +# Note that Redis will write a pid file in /var/run/redis.pid when daemonized. +daemonize no + +# If you run Redis from upstart or systemd, Redis can interact with your +# supervision tree. Options: +# supervised no - no supervision interaction +# supervised upstart - signal upstart by putting Redis into SIGSTOP mode +# supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET +# supervised auto - detect upstart or systemd method based on +# UPSTART_JOB or NOTIFY_SOCKET environment variables +# Note: these supervision methods only signal "process is ready." +# They do not enable continuous liveness pings back to your supervisor. +supervised no + +# If a pid file is specified, Redis writes it where specified at startup +# and removes it at exit. +# +# When the server runs non daemonized, no pid file is created if none is +# specified in the configuration. When the server is daemonized, the pid file +# is used even if not specified, defaulting to "/var/run/redis.pid". +# +# Creating a pid file is best effort: if Redis is not able to create it +# nothing bad happens, the server will start and run normally. +pidfile /var/run/redis_6379.pid + +# Specify the server verbosity level. +# This can be one of: +# debug (a lot of information, useful for development/testing) +# verbose (many rarely useful info, but not a mess like the debug level) +# notice (moderately verbose, what you want in production probably) +# warning (only very important / critical messages are logged) +loglevel notice + +# Specify the log file name. Also the empty string can be used to force +# Redis to log on the standard output. Note that if you use standard +# output for logging but daemonize, logs will be sent to /dev/null +logfile "" + +# To enable logging to the system logger, just set 'syslog-enabled' to yes, +# and optionally update the other syslog parameters to suit your needs. +# syslog-enabled no + +# Specify the syslog identity. +# syslog-ident redis + +# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. +# syslog-facility local0 + +# Set the number of databases. The default database is DB 0, you can select +# a different one on a per-connection basis using SELECT where +# dbid is a number between 0 and 'databases'-1 +databases 16 + +# By default Redis shows an ASCII art logo only when started to log to the +# standard output and if the standard output is a TTY. Basically this means +# that normally a logo is displayed only in interactive sessions. +# +# However it is possible to force the pre-4.0 behavior and always show a +# ASCII art logo in startup logs by setting the following option to yes. +always-show-logo yes + +################################ SNAPSHOTTING ################################ +# +# Save the DB on disk: +# +# save +# +# Will save the DB if both the given number of seconds and the given +# number of write operations against the DB occurred. +# +# In the example below the behaviour will be to save: +# after 900 sec (15 min) if at least 1 key changed +# after 300 sec (5 min) if at least 10 keys changed +# after 60 sec if at least 10000 keys changed +# +# Note: you can disable saving completely by commenting out all "save" lines. +# +# It is also possible to remove all the previously configured save +# points by adding a save directive with a single empty string argument +# like in the following example: +# +# save "" + +save 900 1 +save 300 10 +save 60 10000 + +# By default Redis will stop accepting writes if RDB snapshots are enabled +# (at least one save point) and the latest background save failed. +# This will make the user aware (in a hard way) that data is not persisting +# on disk properly, otherwise chances are that no one will notice and some +# disaster will happen. +# +# If the background saving process will start working again Redis will +# automatically allow writes again. +# +# However if you have setup your proper monitoring of the Redis server +# and persistence, you may want to disable this feature so that Redis will +# continue to work as usual even if there are problems with disk, +# permissions, and so forth. +stop-writes-on-bgsave-error yes + +# Compress string objects using LZF when dump .rdb databases? +# For default that's set to 'yes' as it's almost always a win. +# If you want to save some CPU in the saving child set it to 'no' but +# the dataset will likely be bigger if you have compressible values or keys. +rdbcompression yes + +# Since version 5 of RDB a CRC64 checksum is placed at the end of the file. +# This makes the format more resistant to corruption but there is a performance +# hit to pay (around 10%) when saving and loading RDB files, so you can disable it +# for maximum performances. +# +# RDB files created with checksum disabled have a checksum of zero that will +# tell the loading code to skip the check. +rdbchecksum yes + +# The filename where to dump the DB +dbfilename dump.rdb + +# The working directory. +# +# The DB will be written inside this directory, with the filename specified +# above using the 'dbfilename' configuration directive. +# +# The Append Only File will also be created inside this directory. +# +# Note that you must specify a directory here, not a file name. +dir ./ + +################################# REPLICATION ################################# + +# Master-Replica replication. Use replicaof to make a Redis instance a copy of +# another Redis server. A few things to understand ASAP about Redis replication. +# +# +------------------+ +---------------+ +# | Master | ---> | Replica | +# | (receive writes) | | (exact copy) | +# +------------------+ +---------------+ +# +# 1) Redis replication is asynchronous, but you can configure a master to +# stop accepting writes if it appears to be not connected with at least +# a given number of replicas. +# 2) Redis replicas are able to perform a partial resynchronization with the +# master if the replication link is lost for a relatively small amount of +# time. You may want to configure the replication backlog size (see the next +# sections of this file) with a sensible value depending on your needs. +# 3) Replication is automatic and does not need user intervention. After a +# network partition replicas automatically try to reconnect to masters +# and resynchronize with them. +# +# replicaof + +# If the master is password protected (using the "requirepass" configuration +# directive below) it is possible to tell the replica to authenticate before +# starting the replication synchronization process, otherwise the master will +# refuse the replica request. +# +# masterauth + +# When a replica loses its connection with the master, or when the replication +# is still in progress, the replica can act in two different ways: +# +# 1) if replica-serve-stale-data is set to 'yes' (the default) the replica will +# still reply to client requests, possibly with out of date data, or the +# data set may just be empty if this is the first synchronization. +# +# 2) if replica-serve-stale-data is set to 'no' the replica will reply with +# an error "SYNC with master in progress" to all the kind of commands +# but to INFO, replicaOF, AUTH, PING, SHUTDOWN, REPLCONF, ROLE, CONFIG, +# SUBSCRIBE, UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB, +# COMMAND, POST, HOST: and LATENCY. +# +replica-serve-stale-data yes + +# You can configure a replica instance to accept writes or not. Writing against +# a replica instance may be useful to store some ephemeral data (because data +# written on a replica will be easily deleted after resync with the master) but +# may also cause problems if clients are writing to it because of a +# misconfiguration. +# +# Since Redis 2.6 by default replicas are read-only. +# +# Note: read only replicas are not designed to be exposed to untrusted clients +# on the internet. It's just a protection layer against misuse of the instance. +# Still a read only replica exports by default all the administrative commands +# such as CONFIG, DEBUG, and so forth. To a limited extent you can improve +# security of read only replicas using 'rename-command' to shadow all the +# administrative / dangerous commands. +replica-read-only yes + +# Replication SYNC strategy: disk or socket. +# +# ------------------------------------------------------- +# WARNING: DISKLESS REPLICATION IS EXPERIMENTAL CURRENTLY +# ------------------------------------------------------- +# +# New replicas and reconnecting replicas that are not able to continue the replication +# process just receiving differences, need to do what is called a "full +# synchronization". An RDB file is transmitted from the master to the replicas. +# The transmission can happen in two different ways: +# +# 1) Disk-backed: The Redis master creates a new process that writes the RDB +# file on disk. Later the file is transferred by the parent +# process to the replicas incrementally. +# 2) Diskless: The Redis master creates a new process that directly writes the +# RDB file to replica sockets, without touching the disk at all. +# +# With disk-backed replication, while the RDB file is generated, more replicas +# can be queued and served with the RDB file as soon as the current child producing +# the RDB file finishes its work. With diskless replication instead once +# the transfer starts, new replicas arriving will be queued and a new transfer +# will start when the current one terminates. +# +# When diskless replication is used, the master waits a configurable amount of +# time (in seconds) before starting the transfer in the hope that multiple replicas +# will arrive and the transfer can be parallelized. +# +# With slow disks and fast (large bandwidth) networks, diskless replication +# works better. +repl-diskless-sync no + +# When diskless replication is enabled, it is possible to configure the delay +# the server waits in order to spawn the child that transfers the RDB via socket +# to the replicas. +# +# This is important since once the transfer starts, it is not possible to serve +# new replicas arriving, that will be queued for the next RDB transfer, so the server +# waits a delay in order to let more replicas arrive. +# +# The delay is specified in seconds, and by default is 5 seconds. To disable +# it entirely just set it to 0 seconds and the transfer will start ASAP. +repl-diskless-sync-delay 5 + +# Replicas send PINGs to server in a predefined interval. It's possible to change +# this interval with the repl_ping_replica_period option. The default value is 10 +# seconds. +# +# repl-ping-replica-period 10 + +# The following option sets the replication timeout for: +# +# 1) Bulk transfer I/O during SYNC, from the point of view of replica. +# 2) Master timeout from the point of view of replicas (data, pings). +# 3) Replica timeout from the point of view of masters (REPLCONF ACK pings). +# +# It is important to make sure that this value is greater than the value +# specified for repl-ping-replica-period otherwise a timeout will be detected +# every time there is low traffic between the master and the replica. +# +# repl-timeout 60 + +# Disable TCP_NODELAY on the replica socket after SYNC? +# +# If you select "yes" Redis will use a smaller number of TCP packets and +# less bandwidth to send data to replicas. But this can add a delay for +# the data to appear on the replica side, up to 40 milliseconds with +# Linux kernels using a default configuration. +# +# If you select "no" the delay for data to appear on the replica side will +# be reduced but more bandwidth will be used for replication. +# +# By default we optimize for low latency, but in very high traffic conditions +# or when the master and replicas are many hops away, turning this to "yes" may +# be a good idea. +repl-disable-tcp-nodelay no + +# Set the replication backlog size. The backlog is a buffer that accumulates +# replica data when replicas are disconnected for some time, so that when a replica +# wants to reconnect again, often a full resync is not needed, but a partial +# resync is enough, just passing the portion of data the replica missed while +# disconnected. +# +# The bigger the replication backlog, the longer the time the replica can be +# disconnected and later be able to perform a partial resynchronization. +# +# The backlog is only allocated once there is at least a replica connected. +# +# repl-backlog-size 1mb + +# After a master has no longer connected replicas for some time, the backlog +# will be freed. The following option configures the amount of seconds that +# need to elapse, starting from the time the last replica disconnected, for +# the backlog buffer to be freed. +# +# Note that replicas never free the backlog for timeout, since they may be +# promoted to masters later, and should be able to correctly "partially +# resynchronize" with the replicas: hence they should always accumulate backlog. +# +# A value of 0 means to never release the backlog. +# +# repl-backlog-ttl 3600 + +# The replica priority is an integer number published by Redis in the INFO output. +# It is used by Redis Sentinel in order to select a replica to promote into a +# master if the master is no longer working correctly. +# +# A replica with a low priority number is considered better for promotion, so +# for instance if there are three replicas with priority 10, 100, 25 Sentinel will +# pick the one with priority 10, that is the lowest. +# +# However a special priority of 0 marks the replica as not able to perform the +# role of master, so a replica with priority of 0 will never be selected by +# Redis Sentinel for promotion. +# +# By default the priority is 100. +replica-priority 100 + +# It is possible for a master to stop accepting writes if there are less than +# N replicas connected, having a lag less or equal than M seconds. +# +# The N replicas need to be in "online" state. +# +# The lag in seconds, that must be <= the specified value, is calculated from +# the last ping received from the replica, that is usually sent every second. +# +# This option does not GUARANTEE that N replicas will accept the write, but +# will limit the window of exposure for lost writes in case not enough replicas +# are available, to the specified number of seconds. +# +# For example to require at least 3 replicas with a lag <= 10 seconds use: +# +# min-replicas-to-write 3 +# min-replicas-max-lag 10 +# +# Setting one or the other to 0 disables the feature. +# +# By default min-replicas-to-write is set to 0 (feature disabled) and +# min-replicas-max-lag is set to 10. + +# A Redis master is able to list the address and port of the attached +# replicas in different ways. For example the "INFO replication" section +# offers this information, which is used, among other tools, by +# Redis Sentinel in order to discover replica instances. +# Another place where this info is available is in the output of the +# "ROLE" command of a master. +# +# The listed IP and address normally reported by a replica is obtained +# in the following way: +# +# IP: The address is auto detected by checking the peer address +# of the socket used by the replica to connect with the master. +# +# Port: The port is communicated by the replica during the replication +# handshake, and is normally the port that the replica is using to +# listen for connections. +# +# However when port forwarding or Network Address Translation (NAT) is +# used, the replica may be actually reachable via different IP and port +# pairs. The following two options can be used by a replica in order to +# report to its master a specific set of IP and port, so that both INFO +# and ROLE will report those values. +# +# There is no need to use both the options if you need to override just +# the port or the IP address. +# +# replica-announce-ip 5.5.5.5 +# replica-announce-port 1234 + +################################## SECURITY ################################### + +# Require clients to issue AUTH before processing any other +# commands. This might be useful in environments in which you do not trust +# others with access to the host running redis-server. +# +# This should stay commented out for backward compatibility and because most +# people do not need auth (e.g. they run their own servers). +# +# Warning: since Redis is pretty fast an outside user can try up to +# 150k passwords per second against a good box. This means that you should +# use a very strong password otherwise it will be very easy to break. +# +# requirepass foobared + +# Command renaming. +# +# It is possible to change the name of dangerous commands in a shared +# environment. For instance the CONFIG command may be renamed into something +# hard to guess so that it will still be available for internal-use tools +# but not available for general clients. +# +# Example: +# +# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 +# +# It is also possible to completely kill a command by renaming it into +# an empty string: +# +# rename-command CONFIG "" +# +# Please note that changing the name of commands that are logged into the +# AOF file or transmitted to replicas may cause problems. + +################################### CLIENTS #################################### + +# Set the max number of connected clients at the same time. By default +# this limit is set to 10000 clients, however if the Redis server is not +# able to configure the process file limit to allow for the specified limit +# the max number of allowed clients is set to the current file limit +# minus 32 (as Redis reserves a few file descriptors for internal uses). +# +# Once the limit is reached Redis will close all the new connections sending +# an error 'max number of clients reached'. +# +# maxclients 10000 + +############################## MEMORY MANAGEMENT ################################ + +# Set a memory usage limit to the specified amount of bytes. +# When the memory limit is reached Redis will try to remove keys +# according to the eviction policy selected (see maxmemory-policy). +# +# If Redis can't remove keys according to the policy, or if the policy is +# set to 'noeviction', Redis will start to reply with errors to commands +# that would use more memory, like SET, LPUSH, and so on, and will continue +# to reply to read-only commands like GET. +# +# This option is usually useful when using Redis as an LRU or LFU cache, or to +# set a hard memory limit for an instance (using the 'noeviction' policy). +# +# WARNING: If you have replicas attached to an instance with maxmemory on, +# the size of the output buffers needed to feed the replicas are subtracted +# from the used memory count, so that network problems / resyncs will +# not trigger a loop where keys are evicted, and in turn the output +# buffer of replicas is full with DELs of keys evicted triggering the deletion +# of more keys, and so forth until the database is completely emptied. +# +# In short... if you have replicas attached it is suggested that you set a lower +# limit for maxmemory so that there is some free RAM on the system for replica +# output buffers (but this is not needed if the policy is 'noeviction'). +# +# maxmemory + +# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory +# is reached. You can select among five behaviors: +# +# volatile-lru -> Evict using approximated LRU among the keys with an expire set. +# allkeys-lru -> Evict any key using approximated LRU. +# volatile-lfu -> Evict using approximated LFU among the keys with an expire set. +# allkeys-lfu -> Evict any key using approximated LFU. +# volatile-random -> Remove a random key among the ones with an expire set. +# allkeys-random -> Remove a random key, any key. +# volatile-ttl -> Remove the key with the nearest expire time (minor TTL) +# noeviction -> Don't evict anything, just return an error on write operations. +# +# LRU means Least Recently Used +# LFU means Least Frequently Used +# +# Both LRU, LFU and volatile-ttl are implemented using approximated +# randomized algorithms. +# +# Note: with any of the above policies, Redis will return an error on write +# operations, when there are no suitable keys for eviction. +# +# At the date of writing these commands are: set setnx setex append +# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd +# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby +# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby +# getset mset msetnx exec sort +# +# The default is: +# +# maxmemory-policy noeviction + +# LRU, LFU and minimal TTL algorithms are not precise algorithms but approximated +# algorithms (in order to save memory), so you can tune it for speed or +# accuracy. For default Redis will check five keys and pick the one that was +# used less recently, you can change the sample size using the following +# configuration directive. +# +# The default of 5 produces good enough results. 10 Approximates very closely +# true LRU but costs more CPU. 3 is faster but not very accurate. +# +# maxmemory-samples 5 + +# Starting from Redis 5, by default a replica will ignore its maxmemory setting +# (unless it is promoted to master after a failover or manually). It means +# that the eviction of keys will be just handled by the master, sending the +# DEL commands to the replica as keys evict in the master side. +# +# This behavior ensures that masters and replicas stay consistent, and is usually +# what you want, however if your replica is writable, or you want the replica to have +# a different memory setting, and you are sure all the writes performed to the +# replica are idempotent, then you may change this default (but be sure to understand +# what you are doing). +# +# Note that since the replica by default does not evict, it may end using more +# memory than the one set via maxmemory (there are certain buffers that may +# be larger on the replica, or data structures may sometimes take more memory and so +# forth). So make sure you monitor your replicas and make sure they have enough +# memory to never hit a real out-of-memory condition before the master hits +# the configured maxmemory setting. +# +# replica-ignore-maxmemory yes + +############################# LAZY FREEING #################################### + +# Redis has two primitives to delete keys. One is called DEL and is a blocking +# deletion of the object. It means that the server stops processing new commands +# in order to reclaim all the memory associated with an object in a synchronous +# way. If the key deleted is associated with a small object, the time needed +# in order to execute the DEL command is very small and comparable to most other +# O(1) or O(log_N) commands in Redis. However if the key is associated with an +# aggregated value containing millions of elements, the server can block for +# a long time (even seconds) in order to complete the operation. +# +# For the above reasons Redis also offers non blocking deletion primitives +# such as UNLINK (non blocking DEL) and the ASYNC option of FLUSHALL and +# FLUSHDB commands, in order to reclaim memory in background. Those commands +# are executed in constant time. Another thread will incrementally free the +# object in the background as fast as possible. +# +# DEL, UNLINK and ASYNC option of FLUSHALL and FLUSHDB are user-controlled. +# It's up to the design of the application to understand when it is a good +# idea to use one or the other. However the Redis server sometimes has to +# delete keys or flush the whole database as a side effect of other operations. +# Specifically Redis deletes objects independently of a user call in the +# following scenarios: +# +# 1) On eviction, because of the maxmemory and maxmemory policy configurations, +# in order to make room for new data, without going over the specified +# memory limit. +# 2) Because of expire: when a key with an associated time to live (see the +# EXPIRE command) must be deleted from memory. +# 3) Because of a side effect of a command that stores data on a key that may +# already exist. For example the RENAME command may delete the old key +# content when it is replaced with another one. Similarly SUNIONSTORE +# or SORT with STORE option may delete existing keys. The SET command +# itself removes any old content of the specified key in order to replace +# it with the specified string. +# 4) During replication, when a replica performs a full resynchronization with +# its master, the content of the whole database is removed in order to +# load the RDB file just transferred. +# +# In all the above cases the default is to delete objects in a blocking way, +# like if DEL was called. However you can configure each case specifically +# in order to instead release memory in a non-blocking way like if UNLINK +# was called, using the following configuration directives: + +lazyfree-lazy-eviction no +lazyfree-lazy-expire no +lazyfree-lazy-server-del no +replica-lazy-flush no + +############################## APPEND ONLY MODE ############################### + +# By default Redis asynchronously dumps the dataset on disk. This mode is +# good enough in many applications, but an issue with the Redis process or +# a power outage may result into a few minutes of writes lost (depending on +# the configured save points). +# +# The Append Only File is an alternative persistence mode that provides +# much better durability. For instance using the default data fsync policy +# (see later in the config file) Redis can lose just one second of writes in a +# dramatic event like a server power outage, or a single write if something +# wrong with the Redis process itself happens, but the operating system is +# still running correctly. +# +# AOF and RDB persistence can be enabled at the same time without problems. +# If the AOF is enabled on startup Redis will load the AOF, that is the file +# with the better durability guarantees. +# +# Please check http://redis.io/topics/persistence for more information. + +appendonly no + +# The name of the append only file (default: "appendonly.aof") + +appendfilename "appendonly.aof" + +# The fsync() call tells the Operating System to actually write data on disk +# instead of waiting for more data in the output buffer. Some OS will really flush +# data on disk, some other OS will just try to do it ASAP. +# +# Redis supports three different modes: +# +# no: don't fsync, just let the OS flush the data when it wants. Faster. +# always: fsync after every write to the append only log. Slow, Safest. +# everysec: fsync only one time every second. Compromise. +# +# The default is "everysec", as that's usually the right compromise between +# speed and data safety. It's up to you to understand if you can relax this to +# "no" that will let the operating system flush the output buffer when +# it wants, for better performances (but if you can live with the idea of +# some data loss consider the default persistence mode that's snapshotting), +# or on the contrary, use "always" that's very slow but a bit safer than +# everysec. +# +# More details please check the following article: +# http://antirez.com/post/redis-persistence-demystified.html +# +# If unsure, use "everysec". + +# appendfsync always +appendfsync everysec +# appendfsync no + +# When the AOF fsync policy is set to always or everysec, and a background +# saving process (a background save or AOF log background rewriting) is +# performing a lot of I/O against the disk, in some Linux configurations +# Redis may block too long on the fsync() call. Note that there is no fix for +# this currently, as even performing fsync in a different thread will block +# our synchronous write(2) call. +# +# In order to mitigate this problem it's possible to use the following option +# that will prevent fsync() from being called in the main process while a +# BGSAVE or BGREWRITEAOF is in progress. +# +# This means that while another child is saving, the durability of Redis is +# the same as "appendfsync none". In practical terms, this means that it is +# possible to lose up to 30 seconds of log in the worst scenario (with the +# default Linux settings). +# +# If you have latency problems turn this to "yes". Otherwise leave it as +# "no" that is the safest pick from the point of view of durability. + +no-appendfsync-on-rewrite no + +# Automatic rewrite of the append only file. +# Redis is able to automatically rewrite the log file implicitly calling +# BGREWRITEAOF when the AOF log size grows by the specified percentage. +# +# This is how it works: Redis remembers the size of the AOF file after the +# latest rewrite (if no rewrite has happened since the restart, the size of +# the AOF at startup is used). +# +# This base size is compared to the current size. If the current size is +# bigger than the specified percentage, the rewrite is triggered. Also +# you need to specify a minimal size for the AOF file to be rewritten, this +# is useful to avoid rewriting the AOF file even if the percentage increase +# is reached but it is still pretty small. +# +# Specify a percentage of zero in order to disable the automatic AOF +# rewrite feature. + +auto-aof-rewrite-percentage 100 +auto-aof-rewrite-min-size 64mb + +# An AOF file may be found to be truncated at the end during the Redis +# startup process, when the AOF data gets loaded back into memory. +# This may happen when the system where Redis is running +# crashes, especially when an ext4 filesystem is mounted without the +# data=ordered option (however this can't happen when Redis itself +# crashes or aborts but the operating system still works correctly). +# +# Redis can either exit with an error when this happens, or load as much +# data as possible (the default now) and start if the AOF file is found +# to be truncated at the end. The following option controls this behavior. +# +# If aof-load-truncated is set to yes, a truncated AOF file is loaded and +# the Redis server starts emitting a log to inform the user of the event. +# Otherwise if the option is set to no, the server aborts with an error +# and refuses to start. When the option is set to no, the user requires +# to fix the AOF file using the "redis-check-aof" utility before to restart +# the server. +# +# Note that if the AOF file will be found to be corrupted in the middle +# the server will still exit with an error. This option only applies when +# Redis will try to read more data from the AOF file but not enough bytes +# will be found. +aof-load-truncated yes + +# When rewriting the AOF file, Redis is able to use an RDB preamble in the +# AOF file for faster rewrites and recoveries. When this option is turned +# on the rewritten AOF file is composed of two different stanzas: +# +# [RDB file][AOF tail] +# +# When loading Redis recognizes that the AOF file starts with the "REDIS" +# string and loads the prefixed RDB file, and continues loading the AOF +# tail. +aof-use-rdb-preamble yes + +################################ LUA SCRIPTING ############################### + +# Max execution time of a Lua script in milliseconds. +# +# If the maximum execution time is reached Redis will log that a script is +# still in execution after the maximum allowed time and will start to +# reply to queries with an error. +# +# When a long running script exceeds the maximum execution time only the +# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be +# used to stop a script that did not yet called write commands. The second +# is the only way to shut down the server in the case a write command was +# already issued by the script but the user doesn't want to wait for the natural +# termination of the script. +# +# Set it to 0 or a negative value for unlimited execution without warnings. +lua-time-limit 5000 + +################################ REDIS CLUSTER ############################### +# +# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# WARNING EXPERIMENTAL: Redis Cluster is considered to be stable code, however +# in order to mark it as "mature" we need to wait for a non trivial percentage +# of users to deploy it in production. +# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +# +# Normal Redis instances can't be part of a Redis Cluster; only nodes that are +# started as cluster nodes can. In order to start a Redis instance as a +# cluster node enable the cluster support uncommenting the following: +# +# cluster-enabled yes + +# Every cluster node has a cluster configuration file. This file is not +# intended to be edited by hand. It is created and updated by Redis nodes. +# Every Redis Cluster node requires a different cluster configuration file. +# Make sure that instances running in the same system do not have +# overlapping cluster configuration file names. +# +# cluster-config-file nodes-6379.conf + +# Cluster node timeout is the amount of milliseconds a node must be unreachable +# for it to be considered in failure state. +# Most other internal time limits are multiple of the node timeout. +# +# cluster-node-timeout 15000 + +# A replica of a failing master will avoid to start a failover if its data +# looks too old. +# +# There is no simple way for a replica to actually have an exact measure of +# its "data age", so the following two checks are performed: +# +# 1) If there are multiple replicas able to failover, they exchange messages +# in order to try to give an advantage to the replica with the best +# replication offset (more data from the master processed). +# Replicas will try to get their rank by offset, and apply to the start +# of the failover a delay proportional to their rank. +# +# 2) Every single replica computes the time of the last interaction with +# its master. This can be the last ping or command received (if the master +# is still in the "connected" state), or the time that elapsed since the +# disconnection with the master (if the replication link is currently down). +# If the last interaction is too old, the replica will not try to failover +# at all. +# +# The point "2" can be tuned by user. Specifically a replica will not perform +# the failover if, since the last interaction with the master, the time +# elapsed is greater than: +# +# (node-timeout * replica-validity-factor) + repl-ping-replica-period +# +# So for example if node-timeout is 30 seconds, and the replica-validity-factor +# is 10, and assuming a default repl-ping-replica-period of 10 seconds, the +# replica will not try to failover if it was not able to talk with the master +# for longer than 310 seconds. +# +# A large replica-validity-factor may allow replicas with too old data to failover +# a master, while a too small value may prevent the cluster from being able to +# elect a replica at all. +# +# For maximum availability, it is possible to set the replica-validity-factor +# to a value of 0, which means, that replicas will always try to failover the +# master regardless of the last time they interacted with the master. +# (However they'll always try to apply a delay proportional to their +# offset rank). +# +# Zero is the only value able to guarantee that when all the partitions heal +# the cluster will always be able to continue. +# +# cluster-replica-validity-factor 10 + +# Cluster replicas are able to migrate to orphaned masters, that are masters +# that are left without working replicas. This improves the cluster ability +# to resist to failures as otherwise an orphaned master can't be failed over +# in case of failure if it has no working replicas. +# +# Replicas migrate to orphaned masters only if there are still at least a +# given number of other working replicas for their old master. This number +# is the "migration barrier". A migration barrier of 1 means that a replica +# will migrate only if there is at least 1 other working replica for its master +# and so forth. It usually reflects the number of replicas you want for every +# master in your cluster. +# +# Default is 1 (replicas migrate only if their masters remain with at least +# one replica). To disable migration just set it to a very large value. +# A value of 0 can be set but is useful only for debugging and dangerous +# in production. +# +# cluster-migration-barrier 1 + +# By default Redis Cluster nodes stop accepting queries if they detect there +# is at least an hash slot uncovered (no available node is serving it). +# This way if the cluster is partially down (for example a range of hash slots +# are no longer covered) all the cluster becomes, eventually, unavailable. +# It automatically returns available as soon as all the slots are covered again. +# +# However sometimes you want the subset of the cluster which is working, +# to continue to accept queries for the part of the key space that is still +# covered. In order to do so, just set the cluster-require-full-coverage +# option to no. +# +# cluster-require-full-coverage yes + +# This option, when set to yes, prevents replicas from trying to failover its +# master during master failures. However the master can still perform a +# manual failover, if forced to do so. +# +# This is useful in different scenarios, especially in the case of multiple +# data center operations, where we want one side to never be promoted if not +# in the case of a total DC failure. +# +# cluster-replica-no-failover no + +# In order to setup your cluster make sure to read the documentation +# available at http://redis.io web site. + +########################## CLUSTER DOCKER/NAT support ######################## + +# In certain deployments, Redis Cluster nodes address discovery fails, because +# addresses are NAT-ted or because ports are forwarded (the typical case is +# Docker and other containers). +# +# In order to make Redis Cluster working in such environments, a static +# configuration where each node knows its public address is needed. The +# following two options are used for this scope, and are: +# +# * cluster-announce-ip +# * cluster-announce-port +# * cluster-announce-bus-port +# +# Each instruct the node about its address, client port, and cluster message +# bus port. The information is then published in the header of the bus packets +# so that other nodes will be able to correctly map the address of the node +# publishing the information. +# +# If the above options are not used, the normal Redis Cluster auto-detection +# will be used instead. +# +# Note that when remapped, the bus port may not be at the fixed offset of +# clients port + 10000, so you can specify any port and bus-port depending +# on how they get remapped. If the bus-port is not set, a fixed offset of +# 10000 will be used as usually. +# +# Example: +# +# cluster-announce-ip 10.1.1.5 +# cluster-announce-port 6379 +# cluster-announce-bus-port 6380 + +################################## SLOW LOG ################################### + +# The Redis Slow Log is a system to log queries that exceeded a specified +# execution time. The execution time does not include the I/O operations +# like talking with the client, sending the reply and so forth, +# but just the time needed to actually execute the command (this is the only +# stage of command execution where the thread is blocked and can not serve +# other requests in the meantime). +# +# You can configure the slow log with two parameters: one tells Redis +# what is the execution time, in microseconds, to exceed in order for the +# command to get logged, and the other parameter is the length of the +# slow log. When a new command is logged the oldest one is removed from the +# queue of logged commands. + +# The following time is expressed in microseconds, so 1000000 is equivalent +# to one second. Note that a negative number disables the slow log, while +# a value of zero forces the logging of every command. +slowlog-log-slower-than 10000 + +# There is no limit to this length. Just be aware that it will consume memory. +# You can reclaim memory used by the slow log with SLOWLOG RESET. +slowlog-max-len 128 + +################################ LATENCY MONITOR ############################## + +# The Redis latency monitoring subsystem samples different operations +# at runtime in order to collect data related to possible sources of +# latency of a Redis instance. +# +# Via the LATENCY command this information is available to the user that can +# print graphs and obtain reports. +# +# The system only logs operations that were performed in a time equal or +# greater than the amount of milliseconds specified via the +# latency-monitor-threshold configuration directive. When its value is set +# to zero, the latency monitor is turned off. +# +# By default latency monitoring is disabled since it is mostly not needed +# if you don't have latency issues, and collecting data has a performance +# impact, that while very small, can be measured under big load. Latency +# monitoring can easily be enabled at runtime using the command +# "CONFIG SET latency-monitor-threshold " if needed. +latency-monitor-threshold 0 + +############################# EVENT NOTIFICATION ############################## + +# Redis can notify Pub/Sub clients about events happening in the key space. +# This feature is documented at http://redis.io/topics/notifications +# +# For instance if keyspace events notification is enabled, and a client +# performs a DEL operation on key "foo" stored in the Database 0, two +# messages will be published via Pub/Sub: +# +# PUBLISH __keyspace@0__:foo del +# PUBLISH __keyevent@0__:del foo +# +# It is possible to select the events that Redis will notify among a set +# of classes. Every class is identified by a single character: +# +# K Keyspace events, published with __keyspace@__ prefix. +# E Keyevent events, published with __keyevent@__ prefix. +# g Generic commands (non-type specific) like DEL, EXPIRE, RENAME, ... +# $ String commands +# l List commands +# s Set commands +# h Hash commands +# z Sorted set commands +# x Expired events (events generated every time a key expires) +# e Evicted events (events generated when a key is evicted for maxmemory) +# A Alias for g$lshzxe, so that the "AKE" string means all the events. +# +# The "notify-keyspace-events" takes as argument a string that is composed +# of zero or multiple characters. The empty string means that notifications +# are disabled. +# +# Example: to enable list and generic events, from the point of view of the +# event name, use: +# +# notify-keyspace-events Elg +# +# Example 2: to get the stream of the expired keys subscribing to channel +# name __keyevent@0__:expired use: +# +# notify-keyspace-events Ex +# +# By default all notifications are disabled because most users don't need +# this feature and the feature has some overhead. Note that if you don't +# specify at least one of K or E, no events will be delivered. +notify-keyspace-events "" + +############################### ADVANCED CONFIG ############################### + +# Hashes are encoded using a memory efficient data structure when they have a +# small number of entries, and the biggest entry does not exceed a given +# threshold. These thresholds can be configured using the following directives. +hash-max-ziplist-entries 512 +hash-max-ziplist-value 64 + +# Lists are also encoded in a special way to save a lot of space. +# The number of entries allowed per internal list node can be specified +# as a fixed maximum size or a maximum number of elements. +# For a fixed maximum size, use -5 through -1, meaning: +# -5: max size: 64 Kb <-- not recommended for normal workloads +# -4: max size: 32 Kb <-- not recommended +# -3: max size: 16 Kb <-- probably not recommended +# -2: max size: 8 Kb <-- good +# -1: max size: 4 Kb <-- good +# Positive numbers mean store up to _exactly_ that number of elements +# per list node. +# The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size), +# but if your use case is unique, adjust the settings as necessary. +list-max-ziplist-size -2 + +# Lists may also be compressed. +# Compress depth is the number of quicklist ziplist nodes from *each* side of +# the list to *exclude* from compression. The head and tail of the list +# are always uncompressed for fast push/pop operations. Settings are: +# 0: disable all list compression +# 1: depth 1 means "don't start compressing until after 1 node into the list, +# going from either the head or tail" +# So: [head]->node->node->...->node->[tail] +# [head], [tail] will always be uncompressed; inner nodes will compress. +# 2: [head]->[next]->node->node->...->node->[prev]->[tail] +# 2 here means: don't compress head or head->next or tail->prev or tail, +# but compress all nodes between them. +# 3: [head]->[next]->[next]->node->node->...->node->[prev]->[prev]->[tail] +# etc. +list-compress-depth 0 + +# Sets have a special encoding in just one case: when a set is composed +# of just strings that happen to be integers in radix 10 in the range +# of 64 bit signed integers. +# The following configuration setting sets the limit in the size of the +# set in order to use this special memory saving encoding. +set-max-intset-entries 512 + +# Similarly to hashes and lists, sorted sets are also specially encoded in +# order to save a lot of space. This encoding is only used when the length and +# elements of a sorted set are below the following limits: +zset-max-ziplist-entries 128 +zset-max-ziplist-value 64 + +# HyperLogLog sparse representation bytes limit. The limit includes the +# 16 bytes header. When an HyperLogLog using the sparse representation crosses +# this limit, it is converted into the dense representation. +# +# A value greater than 16000 is totally useless, since at that point the +# dense representation is more memory efficient. +# +# The suggested value is ~ 3000 in order to have the benefits of +# the space efficient encoding without slowing down too much PFADD, +# which is O(N) with the sparse encoding. The value can be raised to +# ~ 10000 when CPU is not a concern, but space is, and the data set is +# composed of many HyperLogLogs with cardinality in the 0 - 15000 range. +hll-sparse-max-bytes 3000 + +# Streams macro node max size / items. The stream data structure is a radix +# tree of big nodes that encode multiple items inside. Using this configuration +# it is possible to configure how big a single node can be in bytes, and the +# maximum number of items it may contain before switching to a new node when +# appending new stream entries. If any of the following settings are set to +# zero, the limit is ignored, so for instance it is possible to set just a +# max entires limit by setting max-bytes to 0 and max-entries to the desired +# value. +stream-node-max-bytes 4096 +stream-node-max-entries 100 + +# Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in +# order to help rehashing the main Redis hash table (the one mapping top-level +# keys to values). The hash table implementation Redis uses (see dict.c) +# performs a lazy rehashing: the more operation you run into a hash table +# that is rehashing, the more rehashing "steps" are performed, so if the +# server is idle the rehashing is never complete and some more memory is used +# by the hash table. +# +# The default is to use this millisecond 10 times every second in order to +# actively rehash the main dictionaries, freeing memory when possible. +# +# If unsure: +# use "activerehashing no" if you have hard latency requirements and it is +# not a good thing in your environment that Redis can reply from time to time +# to queries with 2 milliseconds delay. +# +# use "activerehashing yes" if you don't have such hard requirements but +# want to free memory asap when possible. +activerehashing yes + +# The client output buffer limits can be used to force disconnection of clients +# that are not reading data from the server fast enough for some reason (a +# common reason is that a Pub/Sub client can't consume messages as fast as the +# publisher can produce them). +# +# The limit can be set differently for the three different classes of clients: +# +# normal -> normal clients including MONITOR clients +# replica -> replica clients +# pubsub -> clients subscribed to at least one pubsub channel or pattern +# +# The syntax of every client-output-buffer-limit directive is the following: +# +# client-output-buffer-limit +# +# A client is immediately disconnected once the hard limit is reached, or if +# the soft limit is reached and remains reached for the specified number of +# seconds (continuously). +# So for instance if the hard limit is 32 megabytes and the soft limit is +# 16 megabytes / 10 seconds, the client will get disconnected immediately +# if the size of the output buffers reach 32 megabytes, but will also get +# disconnected if the client reaches 16 megabytes and continuously overcomes +# the limit for 10 seconds. +# +# By default normal clients are not limited because they don't receive data +# without asking (in a push way), but just after a request, so only +# asynchronous clients may create a scenario where data is requested faster +# than it can read. +# +# Instead there is a default limit for pubsub and replica clients, since +# subscribers and replicas receive data in a push fashion. +# +# Both the hard or the soft limit can be disabled by setting them to zero. +client-output-buffer-limit normal 0 0 0 +client-output-buffer-limit replica 256mb 64mb 60 +client-output-buffer-limit pubsub 32mb 8mb 60 + +# Client query buffers accumulate new commands. They are limited to a fixed +# amount by default in order to avoid that a protocol desynchronization (for +# instance due to a bug in the client) will lead to unbound memory usage in +# the query buffer. However you can configure it here if you have very special +# needs, such us huge multi/exec requests or alike. +# +# client-query-buffer-limit 1gb + +# In the Redis protocol, bulk requests, that are, elements representing single +# strings, are normally limited ot 512 mb. However you can change this limit +# here. +# +# proto-max-bulk-len 512mb + +# Redis calls an internal function to perform many background tasks, like +# closing connections of clients in timeout, purging expired keys that are +# never requested, and so forth. +# +# Not all tasks are performed with the same frequency, but Redis checks for +# tasks to perform according to the specified "hz" value. +# +# By default "hz" is set to 10. Raising the value will use more CPU when +# Redis is idle, but at the same time will make Redis more responsive when +# there are many keys expiring at the same time, and timeouts may be +# handled with more precision. +# +# The range is between 1 and 500, however a value over 100 is usually not +# a good idea. Most users should use the default of 10 and raise this up to +# 100 only in environments where very low latency is required. +hz 10 + +# Normally it is useful to have an HZ value which is proportional to the +# number of clients connected. This is useful in order, for instance, to +# avoid too many clients are processed for each background task invocation +# in order to avoid latency spikes. +# +# Since the default HZ value by default is conservatively set to 10, Redis +# offers, and enables by default, the ability to use an adaptive HZ value +# which will temporary raise when there are many connected clients. +# +# When dynamic HZ is enabled, the actual configured HZ will be used as +# as a baseline, but multiples of the configured HZ value will be actually +# used as needed once more clients are connected. In this way an idle +# instance will use very little CPU time while a busy instance will be +# more responsive. +dynamic-hz yes + +# When a child rewrites the AOF file, if the following option is enabled +# the file will be fsync-ed every 32 MB of data generated. This is useful +# in order to commit the file to the disk more incrementally and avoid +# big latency spikes. +aof-rewrite-incremental-fsync yes + +# When redis saves RDB file, if the following option is enabled +# the file will be fsync-ed every 32 MB of data generated. This is useful +# in order to commit the file to the disk more incrementally and avoid +# big latency spikes. +rdb-save-incremental-fsync yes + +# Redis LFU eviction (see maxmemory setting) can be tuned. However it is a good +# idea to start with the default settings and only change them after investigating +# how to improve the performances and how the keys LFU change over time, which +# is possible to inspect via the OBJECT FREQ command. +# +# There are two tunable parameters in the Redis LFU implementation: the +# counter logarithm factor and the counter decay time. It is important to +# understand what the two parameters mean before changing them. +# +# The LFU counter is just 8 bits per key, it's maximum value is 255, so Redis +# uses a probabilistic increment with logarithmic behavior. Given the value +# of the old counter, when a key is accessed, the counter is incremented in +# this way: +# +# 1. A random number R between 0 and 1 is extracted. +# 2. A probability P is calculated as 1/(old_value*lfu_log_factor+1). +# 3. The counter is incremented only if R < P. +# +# The default lfu-log-factor is 10. This is a table of how the frequency +# counter changes with a different number of accesses with different +# logarithmic factors: +# +# +--------+------------+------------+------------+------------+------------+ +# | factor | 100 hits | 1000 hits | 100K hits | 1M hits | 10M hits | +# +--------+------------+------------+------------+------------+------------+ +# | 0 | 104 | 255 | 255 | 255 | 255 | +# +--------+------------+------------+------------+------------+------------+ +# | 1 | 18 | 49 | 255 | 255 | 255 | +# +--------+------------+------------+------------+------------+------------+ +# | 10 | 10 | 18 | 142 | 255 | 255 | +# +--------+------------+------------+------------+------------+------------+ +# | 100 | 8 | 11 | 49 | 143 | 255 | +# +--------+------------+------------+------------+------------+------------+ +# +# NOTE: The above table was obtained by running the following commands: +# +# redis-benchmark -n 1000000 incr foo +# redis-cli object freq foo +# +# NOTE 2: The counter initial value is 5 in order to give new objects a chance +# to accumulate hits. +# +# The counter decay time is the time, in minutes, that must elapse in order +# for the key counter to be divided by two (or decremented if it has a value +# less <= 10). +# +# The default value for the lfu-decay-time is 1. A Special value of 0 means to +# decay the counter every time it happens to be scanned. +# +# lfu-log-factor 10 +# lfu-decay-time 1 + +########################### ACTIVE DEFRAGMENTATION ####################### +# +# WARNING THIS FEATURE IS EXPERIMENTAL. However it was stress tested +# even in production and manually tested by multiple engineers for some +# time. +# +# What is active defragmentation? +# ------------------------------- +# +# Active (online) defragmentation allows a Redis server to compact the +# spaces left between small allocations and deallocations of data in memory, +# thus allowing to reclaim back memory. +# +# Fragmentation is a natural process that happens with every allocator (but +# less so with Jemalloc, fortunately) and certain workloads. Normally a server +# restart is needed in order to lower the fragmentation, or at least to flush +# away all the data and create it again. However thanks to this feature +# implemented by Oran Agra for Redis 4.0 this process can happen at runtime +# in an "hot" way, while the server is running. +# +# Basically when the fragmentation is over a certain level (see the +# configuration options below) Redis will start to create new copies of the +# values in contiguous memory regions by exploiting certain specific Jemalloc +# features (in order to understand if an allocation is causing fragmentation +# and to allocate it in a better place), and at the same time, will release the +# old copies of the data. This process, repeated incrementally for all the keys +# will cause the fragmentation to drop back to normal values. +# +# Important things to understand: +# +# 1. This feature is disabled by default, and only works if you compiled Redis +# to use the copy of Jemalloc we ship with the source code of Redis. +# This is the default with Linux builds. +# +# 2. You never need to enable this feature if you don't have fragmentation +# issues. +# +# 3. Once you experience fragmentation, you can enable this feature when +# needed with the command "CONFIG SET activedefrag yes". +# +# The configuration parameters are able to fine tune the behavior of the +# defragmentation process. If you are not sure about what they mean it is +# a good idea to leave the defaults untouched. + +# Enabled active defragmentation +# activedefrag yes + +# Minimum amount of fragmentation waste to start active defrag +# active-defrag-ignore-bytes 100mb + +# Minimum percentage of fragmentation to start active defrag +# active-defrag-threshold-lower 10 + +# Maximum percentage of fragmentation at which we use maximum effort +# active-defrag-threshold-upper 100 + +# Minimal effort for defrag in CPU percentage +# active-defrag-cycle-min 5 + +# Maximal effort for defrag in CPU percentage +# active-defrag-cycle-max 75 + +# Maximum number of set/hash/zset/list fields that will be processed from +# the main dictionary scan +# active-defrag-max-scan-fields 1000 diff --git a/apps/emqx_auth_redis/README.md b/apps/emqx_auth_redis/README.md new file mode 100644 index 000000000..9aa851f88 --- /dev/null +++ b/apps/emqx_auth_redis/README.md @@ -0,0 +1,171 @@ +emqx_auth_redis +=============== + +EMQ X Redis Authentication/ACL Plugin + +Features +--------- + +- Full *Authentication*, *Superuser*, *ACL* support +- IPv4, IPv6 support +- Connection pool by [ecpool](https://github.com/emqx/ecpool) +- Support `single`, `sentinel`, `cluster` deployment structures of Redis +- Completely cover Redis 5, Redis 6 in our tests + + +Build Plugin +------------ + +``` +make && make tests +``` + +Configure Plugin +---------------- + +File: etc/emqx_auth_redis.conf + +``` +## Redis server address. +## +## Value: Port | IP:Port +## +## Redis Server: 6379, 127.0.0.1:6379, localhost:6379, Redis Sentinel: 127.0.0.1:26379 +auth.redis.server = 127.0.0.1:6379 + +## redis sentinel cluster name +## auth.redis.sentinel = mymaster + +## Redis pool size. +## +## Value: Number +auth.redis.pool = 8 + +## Redis database no. +## +## Value: Number +auth.redis.database = 0 + +## Redis password. +## +## Value: String +## auth.redis.password = + +## Authentication query command. +## +## Value: Redis cmd +## +## Variables: +## - %u: username +## - %c: clientid +## - %C: common name of client TLS cert +## - %d: subject of client TLS cert +## +## Examples: +## - HGET mqtt_user:%u password +## - HMGET mqtt_user:%u password +## - HMGET mqtt_user:%u password salt +auth.redis.auth_cmd = HMGET mqtt_user:%u password + +## Password hash. +## +## Value: plain | md5 | sha | sha256 | bcrypt +auth.redis.password_hash = plain + +## sha256 with salt prefix +## auth.redis.password_hash = salt,sha256 + +## sha256 with salt suffix +## auth.redis.password_hash = sha256,salt + +## bcrypt with salt prefix +## auth.redis.password_hash = salt,bcrypt + +## pbkdf2 with macfun iterations dklen +## macfun: md4, md5, ripemd160, sha, sha224, sha256, sha384, sha512 +## auth.redis.password_hash = pbkdf2,sha256,1000,20 + +## Superuser query command. +## +## Value: Redis cmd +## +## Variables: +## - %u: username +## - %c: clientid +## - %C: common name of client TLS cert +## - %d: subject of client TLS cert +auth.redis.super_cmd = HGET mqtt_user:%u is_superuser + +## ACL query command. +## +## Value: Redis cmd +## +## Variables: +## - %u: username +## - %c: clientid +auth.redis.acl_cmd = HGETALL mqtt_acl:%u +``` + +SuperUser +--------- + +``` +HSET mqtt_user: is_superuser 1 +``` + +User Hash with Password Salt +---------------------------- + +Set a 'user' hash with 'password' 'salt' field, for example: + +``` +HMSET mqtt_user: password "password" salt "salt" +``` + +User Set with Password +----------------------- + +Set a 'user' Set with 'password' field for example: + +``` +HSET mqtt_user: password "password" +``` + +ACL Rule Hash +------------- + +The plugin uses a redis hash to store ACL rules: + +``` +HSET mqtt_acl: topic1 1 +HSET mqtt_acl: topic2 2 +HSET mqtt_acl: topic3 3 +``` + +NOTE: 1: subscribe, 2: publish, 3: pubsub + +Subscription Hash +----------------- + +NOTICE: Move to emqx_backend_redis... + +The plugin could store the static subscriptions into a redis Hash: + +``` +HSET mqtt_sub: topic1 0 +HSET mqtt_sub: topic2 1 +HSET mqtt_sub: topic3 2 +``` + +Load Plugin +----------- + +``` +./bin/emqx_ctl plugins load emqx_auth_redis +``` + +Author +------ + +EMQ X Team. + diff --git a/apps/emqx_auth_redis/include/emqx_auth_redis.hrl b/apps/emqx_auth_redis/include/emqx_auth_redis.hrl new file mode 100644 index 000000000..204d8ef70 --- /dev/null +++ b/apps/emqx_auth_redis/include/emqx_auth_redis.hrl @@ -0,0 +1,23 @@ + +-define(APP, emqx_auth_redis). + +-record(auth_metrics, { + success = 'client.auth.success', + failure = 'client.auth.failure', + ignore = 'client.auth.ignore' + }). + +-record(acl_metrics, { + allow = 'client.acl.allow', + deny = 'client.acl.deny', + ignore = 'client.acl.ignore' + }). + +-define(METRICS(Type), tl(tuple_to_list(#Type{}))). +-define(METRICS(Type, K), #Type{}#Type.K). + +-define(AUTH_METRICS, ?METRICS(auth_metrics)). +-define(AUTH_METRICS(K), ?METRICS(auth_metrics, K)). + +-define(ACL_METRICS, ?METRICS(acl_metrics)). +-define(ACL_METRICS(K), ?METRICS(acl_metrics, K)). diff --git a/apps/emqx_auth_redis/priv/emqx_auth_redis.schema b/apps/emqx_auth_redis/priv/emqx_auth_redis.schema new file mode 100644 index 000000000..eb09fa627 --- /dev/null +++ b/apps/emqx_auth_redis/priv/emqx_auth_redis.schema @@ -0,0 +1,106 @@ +%%-*- mode: erlang -*- +%% emqx_auth_redis config mapping + +{mapping, "auth.redis.type", "emqx_auth_redis.server", [ + {default, single}, + {datatype, {enum, [single, sentinel, cluster]}} +]}. + +{mapping, "auth.redis.server", "emqx_auth_redis.server", [ + {default, "127.0.0.1:6379"}, + {datatype, [string]} +]}. + +{mapping, "auth.redis.sentinel", "emqx_auth_redis.server", [ + {default, ""}, + {datatype, string}, + hidden +]}. + +{mapping, "auth.redis.pool", "emqx_auth_redis.server", [ + {default, 8}, + {datatype, integer} +]}. + +{mapping, "auth.redis.database", "emqx_auth_redis.server", [ + {default, 0}, + {datatype, integer} +]}. + +{mapping, "auth.redis.password", "emqx_auth_redis.server", [ + {default, ""}, + {datatype, string}, + hidden +]}. + +{translation, "emqx_auth_redis.server", fun(Conf) -> + Fun = fun(S) -> + case string:split(S, ":", trailing) of + [Domain] -> {Domain, 6379}; + [Domain, Port] -> {Domain, list_to_integer(Port)} + end + end, + Servers = cuttlefish:conf_get("auth.redis.server", Conf), + Type = cuttlefish:conf_get("auth.redis.type", Conf), + Server = case Type of + single -> + {Host, Port} = Fun(Servers), + [{host, Host}, {port, Port}]; + _ -> + S = string:tokens(Servers, ","), + [{servers, [Fun(S1) || S1 <- S]}] + end, + Pool = cuttlefish:conf_get("auth.redis.pool", Conf), + Passwd = cuttlefish:conf_get("auth.redis.password", Conf), + DB = cuttlefish:conf_get("auth.redis.database", Conf), + Sentinel = cuttlefish:conf_get("auth.redis.sentinel", Conf), + [{type, Type}, + {pool_size, Pool}, + {auto_reconnect, 1}, + {database, DB}, + {password, Passwd}, + {sentinel, Sentinel}] ++ Server +end}. + +{mapping, "auth.redis.query_timeout", "emqx_auth_redis.query_timeout", [ + {default, ""}, + {datatype, string} +]}. + +{translation, "emqx_auth_redis.query_timeout", fun(Conf) -> + case cuttlefish:conf_get("auth.redis.query_timeout", Conf) of + "" -> infinity; + Duration -> + case cuttlefish_duration:parse(Duration, ms) of + {error, Reason} -> error(Reason); + Ms when is_integer(Ms) -> Ms + end + end +end}. + +{mapping, "auth.redis.auth_cmd", "emqx_auth_redis.auth_cmd", [ + {datatype, string} +]}. + +{mapping, "auth.redis.password_hash", "emqx_auth_redis.password_hash", [ + {datatype, string} +]}. + +{mapping, "auth.redis.super_cmd", "emqx_auth_redis.super_cmd", [ + {datatype, string} +]}. + +{mapping, "auth.redis.acl_cmd", "emqx_auth_redis.acl_cmd", [ + {datatype, string} +]}. + +{translation, "emqx_auth_redis.password_hash", fun(Conf) -> + HashValue = cuttlefish:conf_get("auth.redis.password_hash", Conf), + case string:tokens(HashValue, ",") of + [Hash] -> list_to_atom(Hash); + [Prefix, Suffix] -> {list_to_atom(Prefix), list_to_atom(Suffix)}; + [Hash, MacFun, Iterations, Dklen] -> {list_to_atom(Hash), list_to_atom(MacFun), list_to_integer(Iterations), list_to_integer(Dklen)}; + _ -> plain + end +end}. + diff --git a/apps/emqx_auth_redis/rebar.config b/apps/emqx_auth_redis/rebar.config new file mode 100644 index 000000000..dfdf44cc2 --- /dev/null +++ b/apps/emqx_auth_redis/rebar.config @@ -0,0 +1,3 @@ +{deps, + [{eredis_cluster, {git, "https://github.com/emqx/eredis_cluster", {tag, "v0.6.1"}}} + ]}. \ No newline at end of file diff --git a/apps/emqx_auth_redis/src/emqx_acl_redis.erl b/apps/emqx_auth_redis/src/emqx_acl_redis.erl new file mode 100644 index 000000000..efaccb461 --- /dev/null +++ b/apps/emqx_auth_redis/src/emqx_acl_redis.erl @@ -0,0 +1,86 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_acl_redis). + +-include("emqx_auth_redis.hrl"). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). + +-export([ register_metrics/0 + , check_acl/5 + , description/0 + ]). + +-spec(register_metrics() -> ok). +register_metrics() -> + lists:foreach(fun emqx_metrics:ensure/1, ?ACL_METRICS). + +check_acl(ClientInfo, PubSub, Topic, AclResult, Config) -> + case do_check_acl(ClientInfo, PubSub, Topic, AclResult, Config) of + ok -> emqx_metrics:inc(?ACL_METRICS(ignore)), ok; + {stop, allow} -> emqx_metrics:inc(?ACL_METRICS(allow)), {stop, allow}; + {stop, deny} -> emqx_metrics:inc(?ACL_METRICS(deny)), {stop, deny} + end. + +do_check_acl(#{username := <<$$, _/binary>>}, _PubSub, _Topic, _AclResult, _Config) -> + ok; +do_check_acl(ClientInfo, PubSub, Topic, _AclResult, + #{acl_cmd := AclCmd, timeout := Timeout, type := Type, pool := Pool}) -> + case emqx_auth_redis_cli:q(Pool, Type, AclCmd, ClientInfo, Timeout) of + {ok, []} -> ok; + {ok, Rules} -> + case match(ClientInfo, PubSub, Topic, Rules) of + allow -> {stop, allow}; + nomatch -> {stop, deny} + end; + {error, Reason} -> + ?LOG(error, "[Redis] do_check_acl error: ~p", [Reason]), + ok + end. + +match(_ClientInfo, _PubSub, _Topic, []) -> + nomatch; +match(ClientInfo, PubSub, Topic, [Filter, Access | Rules]) -> + case {match_topic(Topic, feed_var(ClientInfo, Filter)), + match_access(PubSub, b2i(Access))} of + {true, true} -> allow; + {_, _} -> match(ClientInfo, PubSub, Topic, Rules) + end. + +match_topic(Topic, Filter) -> + emqx_topic:match(Topic, Filter). + +match_access(subscribe, Access) -> + (1 band Access) > 0; +match_access(publish, Access) -> + (2 band Access) > 0. + +feed_var(#{clientid := ClientId, username := Username}, Str) -> + lists:foldl(fun({Var, Val}, Acc) -> + feed_var(Acc, Var, Val) + end, Str, [{"%u", Username}, {"%c", ClientId}]). + +feed_var(Str, _Var, undefined) -> + Str; +feed_var(Str, Var, Val) -> + re:replace(Str, Var, Val, [global, {return, binary}]). + +b2i(Bin) -> list_to_integer(binary_to_list(Bin)). + +description() -> "Redis ACL Module". + diff --git a/apps/emqx_auth_redis/src/emqx_auth_redis.app.src b/apps/emqx_auth_redis/src/emqx_auth_redis.app.src new file mode 100644 index 000000000..bd2e0be30 --- /dev/null +++ b/apps/emqx_auth_redis/src/emqx_auth_redis.app.src @@ -0,0 +1,14 @@ +{application, emqx_auth_redis, + [{description, "EMQ X Authentication/ACL with Redis"}, + {vsn, "git"}, + {modules, []}, + {registered, [emqx_auth_redis_sup]}, + {applications, [kernel,stdlib,eredis,eredis_cluster,ecpool,emqx_passwd,emqx_libs]}, + {mod, {emqx_auth_redis_app, []}}, + {env, []}, + {licenses, ["Apache-2.0"]}, + {maintainers, ["EMQ X Team "]}, + {links, [{"Homepage", "https://emqx.io/"}, + {"Github", "https://github.com/emqx/emqx-auth-redis"} + ]} + ]}. diff --git a/apps/emqx_auth_redis/src/emqx_auth_redis.app.src.script b/apps/emqx_auth_redis/src/emqx_auth_redis.app.src.script new file mode 100644 index 000000000..0e14ff23f --- /dev/null +++ b/apps/emqx_auth_redis/src/emqx_auth_redis.app.src.script @@ -0,0 +1,24 @@ +%%-*- mode: erlang -*- +%% .app.src.script + +RemoveLeadingV = + fun(Tag) -> + case re:run(Tag, "^[v|e]?[0-9]\.[0-9]\.([0-9]|(rc|beta|alpha)\.[0-9])", [{capture, none}]) of + nomatch -> + re:replace(Tag, "/", "-", [{return ,list}]); + _ -> + %% if it is a version number prefixed by 'v' or 'e', then remove it + re:replace(Tag, "[v|e]", "", [{return ,list}]) + end + end, + +case os:getenv("EMQX_DEPS_DEFAULT_VSN") of + false -> CONFIG; % env var not defined + [] -> CONFIG; % env var set to empty string + Tag -> + [begin + AppConf0 = lists:keystore(vsn, 1, AppConf, {vsn, RemoveLeadingV(Tag)}), + {application, App, AppConf0} + end || Conf = {application, App, AppConf} <- CONFIG] +end. + diff --git a/apps/emqx_auth_redis/src/emqx_auth_redis.erl b/apps/emqx_auth_redis/src/emqx_auth_redis.erl new file mode 100644 index 000000000..1b4b6046f --- /dev/null +++ b/apps/emqx_auth_redis/src/emqx_auth_redis.erl @@ -0,0 +1,85 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_redis). + +-include("emqx_auth_redis.hrl"). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). + +-export([ register_metrics/0 + , check/3 + , description/0 + ]). + +-spec(register_metrics() -> ok). +register_metrics() -> + lists:foreach(fun emqx_metrics:ensure/1, ?AUTH_METRICS). + +check(ClientInfo = #{password := Password}, AuthResult, + #{auth_cmd := AuthCmd, + super_cmd := SuperCmd, + hash_type := HashType, + timeout := Timeout, + type := Type, + pool := Pool}) -> + CheckPass = case emqx_auth_redis_cli:q(Pool, Type, AuthCmd, ClientInfo, Timeout) of + {ok, PassHash} when is_binary(PassHash) -> + check_pass({PassHash, Password}, HashType); + {ok, [undefined|_]} -> + {error, not_found}; + {ok, [PassHash]} -> + check_pass({PassHash, Password}, HashType); + {ok, [PassHash, Salt|_]} -> + check_pass({PassHash, Salt, Password}, HashType); + {error, Reason} -> + ?LOG(error, "[Redis] Command: ~p failed: ~p", [AuthCmd, Reason]), + {error, not_found} + end, + case CheckPass of + ok -> + ok = emqx_metrics:inc(?AUTH_METRICS(success)), + IsSuperuser = is_superuser(Pool, Type, SuperCmd, ClientInfo, Timeout), + {stop, AuthResult#{is_superuser => IsSuperuser, + anonymous => false, + auth_result => success}}; + {error, not_found} -> + ok = emqx_metrics:inc(?AUTH_METRICS(ignore)); + {error, ResultCode} -> + ok = emqx_metrics:inc(?AUTH_METRICS(failure)), + ?LOG(error, "[Redis] Auth from redis failed: ~p", [ResultCode]), + {stop, AuthResult#{auth_result => ResultCode, anonymous => false}} + end. + +description() -> "Authentication with Redis". + +-spec(is_superuser(atom(), atom(), undefined|list(), emqx_types:client(), timeout()) -> boolean()). +is_superuser(_Pool, _Type, undefined, _ClientInfo, _Timeout) -> false; +is_superuser(Pool, Type, SuperCmd, ClientInfo, Timeout) -> + case emqx_auth_redis_cli:q(Pool, Type, SuperCmd, ClientInfo, Timeout) of + {ok, undefined} -> false; + {ok, <<"1">>} -> true; + {ok, _Other} -> false; + {error, _Error} -> false + end. + +check_pass(Password, HashType) -> + case emqx_passwd:check_pass(Password, HashType) of + ok -> ok; + {error, _Reason} -> {error, not_authorized} + end. + diff --git a/apps/emqx_auth_redis/src/emqx_auth_redis_app.erl b/apps/emqx_auth_redis/src/emqx_auth_redis_app.erl new file mode 100644 index 000000000..345f9f87d --- /dev/null +++ b/apps/emqx_auth_redis/src/emqx_auth_redis_app.erl @@ -0,0 +1,70 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_redis_app). + +-behaviour(application). + +-emqx_plugin(auth). + +-include("emqx_auth_redis.hrl"). + +-export([ start/2 + , stop/1 + ]). + +start(_StartType, _StartArgs) -> + {ok, Sup} = emqx_auth_redis_sup:start_link(), + if_cmd_enabled(auth_cmd, fun load_auth_hook/1), + if_cmd_enabled(acl_cmd, fun load_acl_hook/1), + {ok, Sup}. + +stop(_State) -> + emqx:unhook('client.authenticate', fun emqx_auth_redis:check/3), + emqx:unhook('client.check_acl', fun emqx_acl_redis:check_acl/5), + %% Ensure stop cluster pool if the server type is cluster + eredis_cluster:stop_pool(?APP). + +load_auth_hook(AuthCmd) -> + SuperCmd = application:get_env(?APP, super_cmd, undefined), + {ok, HashType} = application:get_env(?APP, password_hash), + {ok, Timeout} = application:get_env(?APP, query_timeout), + Type = proplists:get_value(type, application:get_env(?APP, server, [])), + Config = #{auth_cmd => AuthCmd, + super_cmd => SuperCmd, + hash_type => HashType, + timeout => Timeout, + type => Type, + pool => ?APP}, + ok = emqx_auth_redis:register_metrics(), + emqx:hook('client.authenticate', fun emqx_auth_redis:check/3, [Config]). + +load_acl_hook(AclCmd) -> + {ok, Timeout} = application:get_env(?APP, query_timeout), + Type = proplists:get_value(type, application:get_env(?APP, server, [])), + Config = #{acl_cmd => AclCmd, + timeout => Timeout, + type => Type, + pool => ?APP}, + ok = emqx_acl_redis:register_metrics(), + emqx:hook('client.check_acl', fun emqx_acl_redis:check_acl/5, [Config]). + +if_cmd_enabled(Par, Fun) -> + case application:get_env(?APP, Par) of + {ok, Cmd} -> Fun(Cmd); + undefined -> ok + end. + diff --git a/apps/emqx_auth_redis/src/emqx_auth_redis_cli.erl b/apps/emqx_auth_redis/src/emqx_auth_redis_cli.erl new file mode 100644 index 000000000..c1eb2a1bc --- /dev/null +++ b/apps/emqx_auth_redis/src/emqx_auth_redis_cli.erl @@ -0,0 +1,89 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_redis_cli). + +-behaviour(ecpool_worker). + +-include("emqx_auth_redis.hrl"). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). + +-import(proplists, [get_value/2, get_value/3]). + +-export([ connect/1 + , q/5 + ]). + +%%-------------------------------------------------------------------- +%% Redis Connect/Query +%%-------------------------------------------------------------------- + +connect(Opts) -> + Sentinel = get_value(sentinel, Opts), + Host = case Sentinel =:= "" of + true -> get_value(host, Opts); + false -> + eredis_sentinel:start_link(get_value(servers, Opts)), + "sentinel:" ++ Sentinel + end, + case eredis:start_link( + Host, + get_value(port, Opts, 6379), + get_value(database, Opts), + get_value(password, Opts), + no_reconnect + ) of + {ok, Pid} -> {ok, Pid}; + {error, Reason = {connection_error, _}} -> + ?LOG(error, "[Redis] Can't connect to Redis server: Connection refused."), + {error, Reason}; + {error, Reason = {authentication_error, _}} -> + ?LOG(error, "[Redis] Can't connect to Redis server: Authentication failed."), + {error, Reason}; + {error, Reason} -> + ?LOG(error, "[Redis] Can't connect to Redis server: ~p", [Reason]), + {error, Reason} + end. + +%% Redis Query. +-spec(q(atom(), atom(), string(), emqx_types:credentials(), timeout()) + -> {ok, undefined | binary() | list()} | {error, atom() | binary()}). +q(Pool, Type, CmdStr, Credentials, Timeout) -> + Cmd = string:tokens(replvar(CmdStr, Credentials), " "), + case Type of + cluster -> eredis_cluster:q(Pool, Cmd); + _ -> ecpool:with_client(Pool, fun(C) -> eredis:q(C, Cmd, Timeout) end) + end. + +replvar(Cmd, Credentials = #{cn := CN}) -> + replvar(repl(Cmd, "%C", CN), maps:remove(cn, Credentials)); +replvar(Cmd, Credentials = #{dn := DN}) -> + replvar(repl(Cmd, "%d", DN), maps:remove(dn, Credentials)); +replvar(Cmd, Credentials = #{clientid := ClientId}) -> + replvar(repl(Cmd, "%c", ClientId), maps:remove(clientid, Credentials)); +replvar(Cmd, Credentials = #{username := Username}) -> + replvar(repl(Cmd, "%u", Username), maps:remove(username, Credentials)); +replvar(Cmd, _) -> + Cmd. + +repl(S, _Var, undefined) -> + S; +repl(S, Var, Val) -> + NVal = re:replace(Val, "&", "\\\\&", [global, {return, list}]), + re:replace(S, Var, NVal, [{return, list}]). + diff --git a/apps/emqx_auth_redis/src/emqx_auth_redis_sup.erl b/apps/emqx_auth_redis/src/emqx_auth_redis_sup.erl new file mode 100644 index 000000000..41148c88e --- /dev/null +++ b/apps/emqx_auth_redis/src/emqx_auth_redis_sup.erl @@ -0,0 +1,42 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_redis_sup). + +-behaviour(supervisor). + +-include("emqx_auth_redis.hrl"). + +-export([start_link/0]). + +-export([init/1]). + +start_link() -> + supervisor:start_link({local, ?MODULE}, ?MODULE, []). + +init([]) -> + {ok, Server} = application:get_env(?APP, server), + {ok, {{one_for_one, 10, 100}, pool_spec(Server)}}. + +pool_spec(Server) -> + case proplists:get_value(type, Server) of + cluster -> + eredis_cluster:start_pool(?APP, Server), + []; + _ -> + [ecpool:pool_spec(?APP, ?APP, emqx_auth_redis_cli, Server)] + end. + diff --git a/apps/emqx_auth_redis/test/emqx_auth_redis_SUITE.erl b/apps/emqx_auth_redis/test/emqx_auth_redis_SUITE.erl new file mode 100644 index 000000000..3b827e74d --- /dev/null +++ b/apps/emqx_auth_redis/test/emqx_auth_redis_SUITE.erl @@ -0,0 +1,174 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_redis_SUITE). + +-compile(export_all). + +-include_lib("emqx_libs/include/emqx.hrl"). + +-include_lib("common_test/include/ct.hrl"). + +-include_lib("eunit/include/eunit.hrl"). + +-define(APP, emqx_auth_redis). + +-define(POOL(App), ecpool_worker:client(gproc_pool:pick_worker({ecpool, App}))). + +-define(INIT_ACL, [{"mqtt_acl:test1", "topic1", "2"}, + {"mqtt_acl:test2", "topic2", "1"}, + {"mqtt_acl:test3", "topic3", "3"}]). + +-define(INIT_AUTH, [{"mqtt_user:plain", ["password", "plain", "salt", "salt", "is_superuser", "1"]}, + {"mqtt_user:special&symbol", ["password", "plain", "salt", "salt", "is_superuser", "0"]}, + {"mqtt_user:md5", ["password", "1bc29b36f623ba82aaf6724fd3b16718", "salt", "salt", "is_superuser", "0"]}, + {"mqtt_user:sha", ["password", "d8f4590320e1343a915b6394170650a8f35d6926", "salt", "salt", "is_superuser", "0"]}, + {"mqtt_user:sha256", ["password", "5d5b09f6dcb2d53a5fffc60c4ac0d55fabdf556069d6631545f42aa6e3500f2e", "salt", "salt", "is_superuser", "0"]}, + {"mqtt_user:pbkdf2_password", ["password", "cdedb5281bb2f801565a1122b2563515", "salt", "ATHENA.MIT.EDUraeburn", "is_superuser", "0"]}, + {"mqtt_user:bcrypt_foo", ["password", "$2a$12$sSS8Eg.ovVzaHzi1nUHYK.HbUIOdlQI0iS22Q5rd5z.JVVYH6sfm6", "salt", "$2a$12$sSS8Eg.ovVzaHzi1nUHYK.", "is_superuser", "0"]}, + {"mqtt_user:bcrypt", ["password", "$2y$16$rEVsDarhgHYB0TGnDFJzyu5f.T.Ha9iXMTk9J36NCMWWM7O16qyaK", "salt", "salt", "is_superuser", "0"]}]). + +%%-------------------------------------------------------------------- +%% Setups +%%-------------------------------------------------------------------- + +all() -> + emqx_ct:all(?MODULE). + +init_per_suite(Cfg) -> + emqx_ct_helpers:start_apps([emqx_auth_redis], fun set_special_configs/1), + init_redis_rows(), + Cfg. + +end_per_suite(_Cfg) -> + deinit_redis_rows(), + emqx_ct_helpers:stop_apps([emqx_auth_redis]). + +set_special_configs(emqx) -> + application:set_env(emqx, allow_anonymous, false), + application:set_env(emqx, acl_nomatch, deny), + application:set_env(emqx, acl_file, + emqx_ct_helpers:deps_path(emqx, "test/emqx_SUITE_data/acl.conf")), + application:set_env(emqx, enable_acl_cache, false), + application:set_env(emqx, plugins_loaded_file, + emqx_ct_helpers:deps_path(emqx, "test/emqx_SUITE_data/loaded_plugins")); +set_special_configs(_App) -> + ok. + +init_redis_rows() -> + {ok, Connection} = ?POOL(?APP), + %% Users + [eredis:q(Connection, ["HMSET", Key|FiledValue]) || {Key, FiledValue} <- ?INIT_AUTH], + + %% ACLs + emqx_modules:load_module(emqx_mod_acl_internal, false), + Result = [eredis:q(Connection, ["HSET", Key, Filed, Value]) || {Key, Filed, Value} <- ?INIT_ACL], + ct:pal("redis init result: ~p~n", [Result]). + +deinit_redis_rows() -> + {ok, Connection} = ?POOL(?APP), + AuthKeys = [Key || {Key, _Filed, _Value} <- ?INIT_AUTH], + AclKeys = [Key || {Key, _Value} <- ?INIT_ACL], + eredis:q(Connection, ["DEL" | AuthKeys]), + eredis:q(Connection, ["DEL" | AclKeys]). + +%%-------------------------------------------------------------------- +%% Cases +%%-------------------------------------------------------------------- + +t_check_auth(_) -> + Plain = #{clientid => <<"client1">>, username => <<"plain">>, zone => external}, + SpecialSymbol = #{clientid => <<"special_symbol">>, username => <<"special&symbol">>, zone => external}, + Md5 = #{clientid => <<"md5">>, username => <<"md5">>, zone => external}, + Sha = #{clientid => <<"sha">>, username => <<"sha">>, zone => external}, + Sha256 = #{clientid => <<"sha256">>, username => <<"sha256">>, zone => external}, + Pbkdf2 = #{clientid => <<"pbkdf2_password">>, username => <<"pbkdf2_password">>, zone => external}, + BcryptFoo = #{clientid => <<"bcrypt_foo">>, username => <<"bcrypt_foo">>, zone => external}, + User1 = #{clientid => <<"bcrypt_foo">>, username => <<"user">>, zone => external}, + User3 = #{clientid => <<"client3">>, zone => external}, + Bcrypt = #{clientid => <<"bcrypt">>, username => <<"bcrypt">>, zone => external}, + {error, _} = emqx_access_control:authenticate(User3#{password => <<>>}), + reload([{password_hash, plain}]), + {ok, #{is_superuser := true}} = emqx_access_control:authenticate(Plain#{password => <<"plain">>}), + {ok, #{is_superuser := false}} = emqx_access_control:authenticate(SpecialSymbol#{password => <<"plain">>}), + reload([{password_hash, md5}]), + {ok, #{is_superuser := false}} = emqx_access_control:authenticate(Md5#{password => <<"md5">>}), + reload([{password_hash, sha}]), + {ok, #{is_superuser := false}} = emqx_access_control:authenticate(Sha#{password => <<"sha">>}), + reload([{password_hash, sha256}]), + {ok, #{is_superuser := false}} = emqx_access_control:authenticate(Sha256#{password => <<"sha256">>}), + reload([{password_hash, bcrypt}]), + {ok, #{is_superuser := false}} = emqx_access_control:authenticate(Bcrypt#{password => <<"password">>}), + %%pbkdf2 sha + reload([{password_hash, {pbkdf2, sha, 1, 16}}, {auth_cmd, "HMGET mqtt_user:%u password salt"}]), + {ok, #{is_superuser := false}} = emqx_access_control:authenticate(Pbkdf2#{password => <<"password">>}), + reload([{password_hash, {salt, bcrypt}}]), + {ok, #{is_superuser := false}} = emqx_access_control:authenticate(BcryptFoo#{password => <<"foo">>}), + {error,_} = emqx_access_control:authenticate(User1#{password => <<"foo">>}), + {error, _} = emqx_access_control:authenticate(Bcrypt#{password => <<"password">>}). + +t_check_auth_hget(_) -> + {ok, Connection} = ?POOL(?APP), + eredis:q(Connection, ["HSET", "mqtt_user:hset", "password", "hset"]), + eredis:q(Connection, ["HSET", "mqtt_user:hset", "is_superuser", "1"]), + reload([{password_hash, plain}, {auth_cmd, "HGET mqtt_user:%u password"}]), + Hset = #{clientid => <<"hset">>, username => <<"hset">>, zone => external}, + {ok, #{is_superuser := true}} = emqx_access_control:authenticate(Hset#{password => <<"hset">>}). + +t_check_acl(_) -> + User1 = #{zone => external, clientid => <<"client1">>, username => <<"test1">>}, + User2 = #{zone => external, clientid => <<"client2">>, username => <<"test2">>}, + User3 = #{zone => external, clientid => <<"client3">>, username => <<"test3">>}, + User4 = #{zone => external, clientid => <<"client4">>, username => <<"$$user4">>}, + deny = emqx_access_control:check_acl(User1, subscribe, <<"topic1">>), + allow = emqx_access_control:check_acl(User1, publish, <<"topic1">>), + + deny = emqx_access_control:check_acl(User2, publish, <<"topic2">>), + allow = emqx_access_control:check_acl(User2, subscribe, <<"topic2">>), + allow = emqx_access_control:check_acl(User3, publish, <<"topic3">>), + allow = emqx_access_control:check_acl(User3, subscribe, <<"topic3">>), + allow = emqx_access_control:check_acl(User4, publish, <<"a/b/c">>). + +t_acl_super(_) -> + reload([{password_hash, plain}]), + {ok, C} = emqtt:start_link([{host, "localhost"}, + {clientid, <<"simpleClient">>}, + {username, <<"plain">>}, + {password, <<"plain">>}]), + {ok, _} = emqtt:connect(C), + timer:sleep(10), + emqtt:subscribe(C, <<"TopicA">>, qos2), + timer:sleep(1000), + emqtt:publish(C, <<"TopicA">>, <<"Payload">>, qos2), + timer:sleep(1000), + receive + {publish, #{payload := Payload}} -> + ?assertEqual(<<"Payload">>, Payload) + after + 1000 -> + ct:fail({receive_timeout, <<"Payload">>}), + ok + end, + emqtt:disconnect(C). + +%%-------------------------------------------------------------------- +%% Internal funcs +%%-------------------------------------------------------------------- + +reload(Config) when is_list(Config) -> + application:stop(?APP), + [application:set_env(?APP, K, V) || {K, V} <- Config], + application:start(?APP). diff --git a/apps/emqx_auth_username/README.md b/apps/emqx_auth_username/README.md new file mode 100644 index 000000000..bc0dd6e04 --- /dev/null +++ b/apps/emqx_auth_username/README.md @@ -0,0 +1,111 @@ +emqx_auth_username +================== + +EMQ X Authentication with Username and Password + +Build +----- + +``` +make && make tests +``` + +Configuration +------------- + +etc/emqx_auth_username.conf: + +``` +## Password hash. +## +## Value: plain | md5 | sha | sha256 +auth.user.password_hash = sha256 +``` + +[REST API](https://developer.emqx.io/docs/emq/v3/en/rest.html) +------------ + +List all usernames +``` +# Request +GET api/v4/auth_username + +# Response +{ + "code": 0, + "data": ["username1"] +} +``` + +Add a username: +``` +# Request +POST api/v4/auth_username +{ + "username": "some_name", + "password": "password" +} + +# Response +{ + "code": 0 +} +``` + +Update password for a username: +``` +# Request +PUT api/v4/auth_username/$NAME +{ + "password": "password" +} + +# Response +{ + "code", 0 +} +``` + +Lookup a username info: +``` +# Request +GET api/v4/auth_username/$NAME + +# Response +{ + "code": 0, + "data": { + "username": "some_username", + "password": "hashed_password" + } +} +``` + +Delete a username: +``` +# Request +DELETE api/v4/auth_username/$NAME + +# Response +{ + "code": 0 +} +``` + +Load the Plugin +--------------- + +``` +./bin/emqx_ctl plugins load emqx_auth_username +``` + +License +------- + +Apache License Version 2.0 + +Author +------ + +EMQ X Team. + diff --git a/apps/emqx_auth_username/TODO b/apps/emqx_auth_username/TODO new file mode 100644 index 000000000..c968cc25a --- /dev/null +++ b/apps/emqx_auth_username/TODO @@ -0,0 +1 @@ +Upgrade test cases for 3.0 diff --git a/apps/emqx_auth_username/include/emqx_auth_username.hrl b/apps/emqx_auth_username/include/emqx_auth_username.hrl new file mode 100644 index 000000000..b70129858 --- /dev/null +++ b/apps/emqx_auth_username/include/emqx_auth_username.hrl @@ -0,0 +1,14 @@ +-define(APP, emqx_auth_username). + +-record(auth_metrics, { + success = 'client.auth.success', + failure = 'client.auth.failure', + ignore = 'client.auth.ignore' + }). + +-define(METRICS(Type), tl(tuple_to_list(#Type{}))). +-define(METRICS(Type, K), #Type{}#Type.K). + +-define(AUTH_METRICS, ?METRICS(auth_metrics)). +-define(AUTH_METRICS(K), ?METRICS(auth_metrics, K)). + diff --git a/apps/emqx_auth_username/priv/emqx_auth_username.schema b/apps/emqx_auth_username/priv/emqx_auth_username.schema new file mode 100644 index 000000000..6e449fee6 --- /dev/null +++ b/apps/emqx_auth_username/priv/emqx_auth_username.schema @@ -0,0 +1,26 @@ +%%-*- mode: erlang -*- +%% emqx_auth_username config mapping + +{mapping, "auth.user.password_hash", "emqx_auth_username.password_hash", [ + {default, sha256}, + {datatype, {enum, [plain, md5, sha, sha256]}} +]}. + +{mapping, "auth.user.$id.username", "emqx_auth_username.userlist", [ + {datatype, string} +]}. + +{mapping, "auth.user.$id.password", "emqx_auth_username.userlist", [ + {datatype, string} +]}. + +{translation, "emqx_auth_username.userlist", fun(Conf) -> + Userlist = cuttlefish_variable:filter_by_prefix("auth.user", Conf), + lists:foldl( + fun({["auth", "user", Id, "username"], Username}, AccIn) -> + [{Username, cuttlefish:conf_get("auth.user." ++ Id ++ ".password", Conf)} | AccIn]; + (_, AccIn) -> + AccIn + end, [], Userlist) +end}. + diff --git a/apps/emqx_auth_username/rebar.config b/apps/emqx_auth_username/rebar.config new file mode 100644 index 000000000..7b30a8fd8 --- /dev/null +++ b/apps/emqx_auth_username/rebar.config @@ -0,0 +1 @@ +{deps, []}. diff --git a/apps/emqx_auth_username/src/emqx_auth_username.app.src b/apps/emqx_auth_username/src/emqx_auth_username.app.src new file mode 100644 index 000000000..83ef521ab --- /dev/null +++ b/apps/emqx_auth_username/src/emqx_auth_username.app.src @@ -0,0 +1,14 @@ +{application, emqx_auth_username, + [{description, "EMQ X Authentication with Username and Password"}, + {vsn, "git"}, + {modules, []}, + {registered, []}, + {applications, [kernel,stdlib,emqx_libs]}, + {mod, {emqx_auth_username_app,[]}}, + {env, []}, + {licenses, ["Apache-2.0"]}, + {maintainers, ["EMQ X Team "]}, + {links, [{"Homepage", "https://emqx.io/"}, + {"Github", "https://github.com/emqx/emqx-auth-username"} + ]} + ]}. diff --git a/apps/emqx_auth_username/src/emqx_auth_username.app.src.script b/apps/emqx_auth_username/src/emqx_auth_username.app.src.script new file mode 100644 index 000000000..0e14ff23f --- /dev/null +++ b/apps/emqx_auth_username/src/emqx_auth_username.app.src.script @@ -0,0 +1,24 @@ +%%-*- mode: erlang -*- +%% .app.src.script + +RemoveLeadingV = + fun(Tag) -> + case re:run(Tag, "^[v|e]?[0-9]\.[0-9]\.([0-9]|(rc|beta|alpha)\.[0-9])", [{capture, none}]) of + nomatch -> + re:replace(Tag, "/", "-", [{return ,list}]); + _ -> + %% if it is a version number prefixed by 'v' or 'e', then remove it + re:replace(Tag, "[v|e]", "", [{return ,list}]) + end + end, + +case os:getenv("EMQX_DEPS_DEFAULT_VSN") of + false -> CONFIG; % env var not defined + [] -> CONFIG; % env var set to empty string + Tag -> + [begin + AppConf0 = lists:keystore(vsn, 1, AppConf, {vsn, RemoveLeadingV(Tag)}), + {application, App, AppConf0} + end || Conf = {application, App, AppConf} <- CONFIG] +end. + diff --git a/apps/emqx_auth_username/src/emqx_auth_username.erl b/apps/emqx_auth_username/src/emqx_auth_username.erl new file mode 100644 index 000000000..b5c089b49 --- /dev/null +++ b/apps/emqx_auth_username/src/emqx_auth_username.erl @@ -0,0 +1,173 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_username). + +-include("emqx_auth_username.hrl"). +-include_lib("emqx_libs/include/emqx.hrl"). + +%% CLI callbacks +-export([cli/1]). + +%% APIs +-export([ add_user/2 + , update_password/2 + , remove_user/1 + , lookup_user/1 + , all_users/0 + ]). + +-export([unwrap_salt/1]). + +%% Auth callbacks +-export([ init/1 + , register_metrics/0 + , check/3 + , description/0 + ]). + +-define(TAB, ?MODULE). + +-record(?TAB, {username, password}). + +%%-------------------------------------------------------------------- +%% CLI +%%-------------------------------------------------------------------- + +cli(["list"]) -> + Usernames = mnesia:dirty_all_keys(?TAB), + [emqx_ctl:print("~s~n", [Username]) || Username <- Usernames]; + +cli(["add", Username, Password]) -> + Ok = add_user(iolist_to_binary(Username), iolist_to_binary(Password)), + emqx_ctl:print("~p~n", [Ok]); + +cli(["update", Username, NewPassword]) -> + Ok = update_password(iolist_to_binary(Username), iolist_to_binary(NewPassword)), + emqx_ctl:print("~p~n", [Ok]); + +cli(["del", Username]) -> + emqx_ctl:print("~p~n", [remove_user(iolist_to_binary(Username))]); + +cli(_) -> + emqx_ctl:usage([{"users list", "List users"}, + {"users add ", "Add User"}, + {"users update ", "Update User"}, + {"users del ", "Delete User"}]). + +%%-------------------------------------------------------------------- +%% API +%%-------------------------------------------------------------------- + +%% @doc Add User +-spec(add_user(binary(), binary()) -> ok | {error, any()}). +add_user(Username, Password) -> + User = #?TAB{username = Username, password = encrypted_data(Password)}, + ret(mnesia:transaction(fun insert_user/1, [User])). + +insert_user(User = #?TAB{username = Username}) -> + case mnesia:read(?TAB, Username) of + [] -> mnesia:write(User); + [_|_] -> mnesia:abort(existed) + end. + +%% @doc Update User +-spec(update_password(binary(), binary()) -> ok | {error, any()}). +update_password(Username, NewPassword) -> + User = #?TAB{username = Username, password = encrypted_data(NewPassword)}, + ret(mnesia:transaction(fun do_update_password/1, [User])). + +do_update_password(User = #?TAB{username = Username}) -> + case mnesia:read(?TAB, Username) of + [_|_] -> mnesia:write(User); + [] -> mnesia:abort(noexisted) + end. + +%% @doc Lookup user by username +-spec(lookup_user(binary()) -> list()). +lookup_user(Username) -> + mnesia:dirty_read(?TAB, Username). + +%% @doc Remove user +-spec(remove_user(binary()) -> ok | {error, any()}). +remove_user(Username) -> + ret(mnesia:transaction(fun mnesia:delete/1, [{?TAB, Username}])). + +ret({atomic, ok}) -> ok; +ret({aborted, Error}) -> {error, Error}. + +%% @doc All usernames +-spec(all_users() -> list()). +all_users() -> mnesia:dirty_all_keys(?TAB). + +unwrap_salt(<<_Salt:4/binary, HashPasswd/binary>>) -> + HashPasswd. + +%%-------------------------------------------------------------------- +%% Auth callbacks +%%-------------------------------------------------------------------- + +init(DefaultUsers) -> + ok = ekka_mnesia:create_table(?TAB, [ + {disc_copies, [node()]}, + {attributes, record_info(fields, ?TAB)}, + {storage_properties, [{ets, [{read_concurrency, true}]}]}]), + ok = lists:foreach(fun add_default_user/1, DefaultUsers), + ok = ekka_mnesia:copy_table(?TAB, disc_copies). + +%% @private +add_default_user({Username, Password}) -> + add_user(iolist_to_binary(Username), iolist_to_binary(Password)). + +-spec(register_metrics() -> ok). +register_metrics() -> + lists:foreach(fun emqx_metrics:ensure/1, ?AUTH_METRICS). + +check(#{username := Username, password := Password}, AuthResult, #{hash_type := HashType}) -> + case mnesia:dirty_read(?TAB, Username) of + [] -> emqx_metrics:inc(?AUTH_METRICS(ignore)); + [#?TAB{password = <>}] -> + case Hash =:= hash(Password, Salt, HashType) of + true -> + ok = emqx_metrics:inc(?AUTH_METRICS(success)), + {stop, AuthResult#{auth_result => success, anonymous => false}}; + false -> + ok = emqx_metrics:inc(?AUTH_METRICS(failure)), + {stop, AuthResult#{auth_result => not_authorized, anonymous => false}} + end + end. + +description() -> + "Username password Authentication Module". + +%%-------------------------------------------------------------------- +%% Internal functions +%%-------------------------------------------------------------------- + +encrypted_data(Password) -> + HashType = application:get_env(emqx_auth_username, password_hash, sha256), + SaltBin = salt(), + <>. + +hash(undefined, SaltBin, HashType) -> + hash(<<>>, SaltBin, HashType); +hash(Password, SaltBin, HashType) -> + emqx_passwd:hash(HashType, <>). + +salt() -> + rand:seed(exsplus, erlang:timestamp()), + Salt = rand:uniform(16#ffffffff), <>. + diff --git a/apps/emqx_auth_username/src/emqx_auth_username_api.erl b/apps/emqx_auth_username/src/emqx_auth_username_api.erl new file mode 100644 index 000000000..725a7471d --- /dev/null +++ b/apps/emqx_auth_username/src/emqx_auth_username_api.erl @@ -0,0 +1,123 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_username_api). + +-include("emqx_auth_username.hrl"). + +-import(proplists, [get_value/2]). + +-import(minirest, [return/0, return/1]). + +-rest_api(#{name => list_username, + method => 'GET', + path => "/auth_username", + func => list, + descr => "List available username in the cluster" + }). + +-rest_api(#{name => lookup_username, + method => 'GET', + path => "/auth_username/:bin:username", + func => lookup, + descr => "Lookup username in the cluster" + }). + +-rest_api(#{name => add_username, + method => 'POST', + path => "/auth_username", + func => add, + descr => "Add username in the cluster" + }). + +-rest_api(#{name => update_username, + method => 'PUT', + path => "/auth_username/:bin:username", + func => update, + descr => "Update username in the cluster" + }). + +-rest_api(#{name => delete_username, + method => 'DELETE', + path => "/auth_username/:bin:username", + func => delete, + descr => "Delete username in the cluster" + }). + +-export([ list/2 + , lookup/2 + , add/2 + , update/2 + , delete/2 + ]). + +list(_Bindings, _Params) -> + return({ok, emqx_auth_username:all_users()}). + +lookup(#{username := Username}, _Params) -> + return({ok, format(emqx_auth_username:lookup_user(Username))}). + +add(_Bindings, Params) -> + Username = get_value(<<"username">>, Params), + Password = get_value(<<"password">>, Params), + case validate([username, password], [Username, Password]) of + ok -> + case emqx_auth_username:add_user(Username, Password) of + ok -> return(); + Err -> return(Err) + end; + Err -> return(Err) + end. + +update(#{username := Username}, Params) -> + Password = get_value(<<"password">>, Params), + case validate([password], [Password]) of + ok -> + case emqx_auth_username:update_password(Username, Password) of + ok -> return(); + Err -> return(Err) + end; + Err -> return(Err) + end. + +delete(#{username := Username}, _) -> + ok = emqx_auth_username:remove_user(Username), + return(). + +%%------------------------------------------------------------------------------ +%% Interval Funcs +%%------------------------------------------------------------------------------ + +format([{?APP, Username, Password}]) -> + #{username => Username, + password => emqx_auth_username:unwrap_salt(Password)}. + +validate([], []) -> + ok; +validate([K|Keys], [V|Values]) -> + case validation(K, V) of + false -> {error, K}; + true -> validate(Keys, Values) + end. + +validation(username, V) when is_binary(V) + andalso byte_size(V) > 0 -> + true; +validation(password, V) when is_binary(V) + andalso byte_size(V) > 0 -> + true; +validation(_, _) -> + false. diff --git a/apps/emqx_auth_username/src/emqx_auth_username_app.erl b/apps/emqx_auth_username/src/emqx_auth_username_app.erl new file mode 100644 index 000000000..5308d2cdb --- /dev/null +++ b/apps/emqx_auth_username/src/emqx_auth_username_app.erl @@ -0,0 +1,49 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_auth_username_app). + +-include("emqx_auth_username.hrl"). + +-behaviour(application). +-behaviour(supervisor). + +-emqx_plugin(auth). + +-export([ start/2 + , stop/1 + ]). +-export([init/1]). + +start(_Type, _Args) -> + emqx_ctl:register_command(users, {?APP, cli}, []), + ok = emqx_auth_username:register_metrics(), + HashType = application:get_env(?APP, password_hash, sha256), + Params = #{hash_type => HashType}, + emqx:hook('client.authenticate', fun emqx_auth_username:check/3, [Params]), + DefaultUsers = application:get_env(?APP, userlist, []), + ok = emqx_auth_username:init(DefaultUsers), + supervisor:start_link({local, ?MODULE}, ?MODULE, []). + +stop(_State) -> + emqx:unhook('client.authenticate', fun emqx_auth_username:check/3), + emqx_ctl:unregister_command(users). + +%%-------------------------------------------------------------------- + +init([]) -> + {ok, { {one_for_all, 1, 10}, []} }. + diff --git a/apps/emqx_auth_username/test/emqx_auth_username_SUITE.erl b/apps/emqx_auth_username/test/emqx_auth_username_SUITE.erl new file mode 100644 index 000000000..872f0c3e0 --- /dev/null +++ b/apps/emqx_auth_username/test/emqx_auth_username_SUITE.erl @@ -0,0 +1,176 @@ +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. + +-module(emqx_auth_username_SUITE). + +-compile(nowarn_export_all). +-compile(export_all). + +-include_lib("emqx_libs/include/emqx.hrl"). + +-include_lib("eunit/include/eunit.hrl"). +-include_lib("common_test/include/ct.hrl"). + +-define(TAB, emqx_auth_username). + +all() -> + emqx_ct:all(?MODULE). + +init_per_suite(Config) -> + emqx_ct_helpers:start_apps([emqx_auth_username], fun set_special_configs/1), + Config. + +end_per_suite(_Config) -> + emqx_ct_helpers:stop_apps([emqx_auth_username]). + +set_special_configs(emqx) -> + application:set_env(emqx, allow_anonymous, true), + application:set_env(emqx, enable_acl_cache, false), + LoadedPluginPath = filename:join(["test", "emqx_SUITE_data", "loaded_plugins"]), + application:set_env(emqx, plugins_loaded_file, + emqx_ct_helpers:deps_path(emqx, LoadedPluginPath)); + +set_special_configs(_App) -> + ok. + +%%------------------------------------------------------------------------------ +%% Testcases +%%------------------------------------------------------------------------------ + +t_managing(_Config) -> + clean_all_users(), + + ok = emqx_auth_username:add_user(<<"test_username">>, <<"password">>), + [{?TAB, <<"test_username">>, _HashedPass}] = + emqx_auth_username:lookup_user(<<"test_username">>), + User1 = #{username => <<"test_username">>, + password => <<"password">>, + zone => external}, + + {ok, #{auth_result := success, + anonymous := false}} = emqx_access_control:authenticate(User1), + + ok = emqx_auth_username:remove_user(<<"test_username">>), + {ok, #{auth_result := success, + anonymous := true }} = emqx_access_control:authenticate(User1). + +t_rest_api(_Config) -> + clean_all_users(), + + Username = <<"username">>, + Password = <<"password">>, + Password1 = <<"password1">>, + User = #{username => Username, zone => external}, + + ?assertEqual(return(), + emqx_auth_username_api:add(#{}, rest_params(Username, Password))), + ?assertEqual(return({error, existed}), + emqx_auth_username_api:add(#{}, rest_params(Username, Password))), + ?assertEqual(return([Username]), + emqx_auth_username_api:list(#{}, [])), + + {ok, #{code := 0, data := Data}} = + emqx_auth_username_api:lookup(rest_binding(Username), []), + ?assertEqual(true, match_password(maps:get(username, Data), Password)), + + {ok, _} = emqx_access_control:authenticate(User#{password => Password}), + + ?assertEqual(return(), + emqx_auth_username_api:update(rest_binding(Username), rest_params(Password))), + ?assertEqual(return({error, noexisted}), + emqx_auth_username_api:update(#{username => <<"another_user">>}, rest_params(<<"another_passwd">>))), + + {error, _} = emqx_access_control:authenticate(User#{password => Password1}), + + ?assertEqual(return(), + emqx_auth_username_api:delete(rest_binding(Username), [])), + {ok, #{auth_result := success, + anonymous := true}} = emqx_access_control:authenticate(User#{password => Password}). + +t_cli(_Config) -> + clean_all_users(), + + emqx_auth_username:cli(["add", "username", "password"]), + ?assertEqual(true, match_password(<<"username">>, <<"password">>)), + + emqx_auth_username:cli(["update", "username", "newpassword"]), + ?assertEqual(true, match_password(<<"username">>, <<"newpassword">>)), + + emqx_auth_username:cli(["del", "username"]), + [] = emqx_auth_username:lookup_user(<<"username">>), + emqx_auth_username:cli(["add", "user1", "pass1"]), + emqx_auth_username:cli(["add", "user2", "pass2"]), + UserList = emqx_auth_username:cli(["list"]), + 2 = length(UserList), + emqx_auth_username:cli(usage). + +t_conf_not_override_existed(_) -> + clean_all_users(), + + Username = <<"username">>, + Password = <<"password">>, + NPassword = <<"password1">>, + User = #{username => Username, zone => external}, + + application:stop(emqx_auth_username), + application:set_env(emqx_auth_username, userlist, [{Username, Password}]), + application:ensure_all_started(emqx_auth_username), + + {ok, _} = emqx_access_control:authenticate(User#{password => Password}), + emqx_auth_username:cli(["update", Username, NPassword]), + + {error, _} = emqx_access_control:authenticate(User#{password => Password}), + {ok, _} = emqx_access_control:authenticate(User#{password => NPassword}), + + application:stop(emqx_auth_username), + application:ensure_all_started(emqx_auth_username), + {ok, _} = emqx_access_control:authenticate(User#{password => NPassword}), + + ?assertEqual(return(), + emqx_auth_username_api:update(rest_binding(Username), rest_params(Password))), + application:stop(emqx_auth_username), + application:ensure_all_started(emqx_auth_username), + {ok, _} = emqx_access_control:authenticate(User#{password => Password}). + +%%------------------------------------------------------------------------------ +%% Helpers +%%------------------------------------------------------------------------------ + +clean_all_users() -> + [ mnesia:dirty_delete({emqx_auth_username, Username}) + || Username <- mnesia:dirty_all_keys(emqx_auth_username)]. + +match_password(Username, PlainPassword) -> + HashType = application:get_env(emqx_auth_username, password_hash, sha256), + [{?TAB, Username, <>}] = + emqx_auth_username:lookup_user(Username), + Hash =:= emqx_passwd:hash(HashType, <>). + +rest_params(Passwd) -> + [{<<"password">>, Passwd}]. + +rest_params(Username, Passwd) -> + [{<<"username">>, Username}, + {<<"password">>, Passwd}]. + +rest_binding(Username) -> + #{username => Username}. + +return() -> + {ok, #{code => 0}}. +return({error, Err}) -> + {ok, #{message => Err}}; +return(Data) -> + {ok, #{code => 0, data => Data}}. + diff --git a/apps/emqx_bridge_mqtt/README.md b/apps/emqx_bridge_mqtt/README.md new file mode 100644 index 000000000..6656aa36f --- /dev/null +++ b/apps/emqx_bridge_mqtt/README.md @@ -0,0 +1,265 @@ +# EMQ Bridge MQTT + +The concept of **Bridge** means that EMQ X supports forwarding messages +of one of its own topics to another MQTT Broker in some way. + +**Bridge** differs from **Cluster** in that the bridge does not +replicate the topic trie and routing tables and only forwards MQTT +messages based on bridging rules. + +At present, the bridging methods supported by EMQ X are as follows: + +- RPC bridge: RPC Bridge only supports message forwarding and does not + support subscribing to the topic of remote nodes to synchronize + data; +- MQTT Bridge: MQTT Bridge supports both forwarding and data + synchronization through subscription topic. + +These concepts are shown below: + +![bridge](docs/images/bridge.png) + +In addition, the EMQ X message broker supports multi-node bridge mode interconnection + +``` + --------- --------- --------- +Publisher --> | Node1 | --Bridge Forward--> | Node2 | --Bridge Forward--> | Node3 | --> Subscriber + --------- --------- --------- +``` + +In EMQ X, bridge is configured by modifying `etc/emqx.conf`. EMQ X distinguishes between different bridges based on different names. E.g + +``` +## Bridge address: node name for local bridge, host:port for remote. +bridge.mqtt.aws.address = 127.0.0.1:1883 +``` + +This configuration declares a bridge named `aws` and specifies that it is bridged to the MQTT broker of 127.0.0.1:1883 by MQTT mode. + +In case of creating multiple bridges, it is convenient to replicate all configuration items of the first bridge, and modify the bridge name and other configuration items if necessary (such as bridge.$name.address, where $name refers to the name of bridge) + +The next two sections describe how to create a bridge in RPC and MQTT mode respectively and create a forwarding rule that forwards the messages from sensors. Assuming that two EMQ X nodes are running on two hosts: + + +| Name | Node | MQTT Port | +|------|-------------------|-----------| +| emqx1| emqx1@192.168.1.1.| 1883 | +| emqx2| emqx2@192.168.1.2 | 1883 | + + +## EMQ X RPC Bridge Configuration + +The following is the basic configuration of RPC bridging. A simplest RPC bridging only requires the following three items + +``` +## Bridge Address: Use node name (nodename@host) for rpc bridging, and host:port for mqtt connection +bridge.mqtt.emqx2.address = emqx2@192.168.1.2 + +## Forwarding topics of the message +bridge.mqtt.emqx2.forwards = sensor1/#,sensor2/# + +## bridged mountpoint +bridge.mqtt.emqx2.mountpoint = bridge/emqx2/${node}/ +``` + +If the messages received by the local node emqx1 matches the topic `sersor1/#` or `sensor2/#`, these messages will be forwarded to the `sensor1/#` or `sensor2/#` topic of the remote node emqx2. + +`forwards` is used to specify topics. Messages of the in `forwards` specified topics on local node are forwarded to the remote node. + +`mountpoint` is used to add a topic prefix when forwarding a message. To use `mountpoint`, the `forwards` directive must be set. In the above example, a message with the topic `sensor1/hello` received by the local node will be forwarded to the remote node with the topic `bridge/emqx2/emqx1@192.168.1.1/sensor1/hello`. + +Limitations of RPC bridging: + +1. The RPC bridge of emqx can only forward local messages to the remote node, and cannot synchronize the messages of the remote node to the local node; + +2. RPC bridge can only bridge two EMQ X broker together and cannot bridge EMQ X broker to other MQTT brokers. + +## EMQ X MQTT Bridge Configuration + +EMQ X 3.0 officially introduced MQTT bridge, so that EMQ X can bridge any MQTT broker. Because of the characteristics of the MQTT protocol, EMQ X can subscribe to the remote mqtt broker's topic through MQTT bridge, and then synchronize the remote MQTT broker's message to the local. + +EMQ X MQTT bridging principle: Create an MQTT client on the EMQ X broker, and connect this MQTT client to the remote MQTT broker. Therefore, in the MQTT bridge configuration, following fields may be set for the EMQ X to connect to the remote broker as an mqtt client + +``` +## Bridge Address: Use node name for rpc bridging, use host:port for mqtt connection +bridge.mqtt.emqx2.address = 192.168.1.2:1883 + +## Bridged Protocol Version +## Enumeration value: mqttv3 | mqttv4 | mqttv5 +bridge.mqtt.emqx2.proto_ver = mqttv4 + +## mqtt client's clientid +bridge.mqtt.emqx2.clientid = bridge_emq + +## mqtt client's clean_start field +## Note: Some MQTT Brokers need to set the clean_start value as `true` +bridge.mqtt.emqx2.clean_start = true + +## mqtt client's username field +bridge.mqtt.emqx2.username = user + +## mqtt client's password field +bridge.mqtt.emqx2.password = passwd + +## Whether the mqtt client uses ssl to connect to a remote serve or not +bridge.mqtt.emqx2.ssl = off + +## CA Certificate of Client SSL Connection (PEM format) +bridge.mqtt.emqx2.cacertfile = etc/certs/cacert.pem + +## SSL certificate of Client SSL connection +bridge.mqtt.emqx2.certfile = etc/certs/client-cert.pem + +## Key file of Client SSL connection +bridge.mqtt.emqx2.keyfile = etc/certs/client-key.pem + +## SSL encryption +bridge.mqtt.emqx2.ciphers = ECDHE-ECDSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-GCM-SHA384 + +## TTLS PSK password +## Note 'listener.ssl.external.ciphers' and 'listener.ssl.external.psk_ciphers' cannot be configured at the same time +## +## See 'https://tools.ietf.org/html/rfc4279#section-2'. +## bridge.mqtt.emqx2.psk_ciphers = PSK-AES128-CBC-SHA,PSK-AES256-CBC-SHA,PSK-3DES-EDE-CBC-SHA,PSK-RC4-SHA + +## Client's heartbeat interval +bridge.mqtt.emqx2.keepalive = 60s + +## Supported TLS version +bridge.mqtt.emqx2.tls_versions = tlsv1.2,tlsv1.1,tlsv1 + +## Forwarding topics of the message +bridge.mqtt.emqx2.forwards = sensor1/#,sensor2/# + +## Bridged mountpoint +bridge.mqtt.emqx2.mountpoint = bridge/emqx2/${node}/ + +## Subscription topic for bridging +bridge.mqtt.emqx2.subscription.1.topic = cmd/topic1 + +## Subscription qos for bridging +bridge.mqtt.emqx2.subscription.1.qos = 1 + +## Subscription topic for bridging +bridge.mqtt.emqx2.subscription.2.topic = cmd/topic2 + +## Subscription qos for bridging +bridge.mqtt.emqx2.subscription.2.qos = 1 + +## Bridging reconnection interval +## Default: 30s +bridge.mqtt.emqx2.reconnect_interval = 30s + +## QoS1 message retransmission interval +bridge.mqtt.emqx2.retry_interval = 20s + +## Inflight Size. +bridge.mqtt.emqx2.max_inflight_batches = 32 +``` + +## Bridge Cache Configuration + +The bridge of EMQ X has a message caching mechanism. The caching mechanism is applicable to both RPC bridging and MQTT bridging. When the bridge is disconnected (such as when the network connection is unstable), the messages with a topic specified in `forwards` can be cached to the local message queue. Until the bridge is restored, these messages are re-forwarded to the remote node. The configuration of the cache queue is as follows + +``` +## emqx_bridge internal number of messages used for batch +bridge.mqtt.emqx2.queue.batch_count_limit = 32 + +## emqx_bridge internal number of message bytes used for batch +bridge.mqtt.emqx2.queue.batch_bytes_limit = 1000MB + +## The path for placing replayq queue. If it is not specified, then replayq will run in `mem-only` mode and messages will not be cached on disk. +bridge.mqtt.emqx2.queue.replayq_dir = data/emqx_emqx2_bridge/ + +## Replayq data segment size +bridge.mqtt.emqx2.queue.replayq_seg_bytes = 10MB +``` + +`bridge.mqtt.emqx2.queue.replayq_dir` is a configuration parameter for specifying the path of the bridge storage queue. + +`bridge.mqtt.emqx2.queue.replayq_seg_bytes` is used to specify the size of the largest single file of the message queue that is cached on disk. If the message queue size exceeds the specified value, a new file is created to store the message queue. + +## CLI for EMQ X Bridge MQTT + +CLI for EMQ X Bridge MQTT: + +``` bash +$ cd emqx1/ && ./bin/emqx_ctl bridges +bridges list # List bridges +bridges start # Start a bridge +bridges stop # Stop a bridge +bridges forwards # Show a bridge forward topic +bridges add-forward # Add bridge forward topic +bridges del-forward # Delete bridge forward topic +bridges subscriptions # Show a bridge subscriptions topic +bridges add-subscription # Add bridge subscriptions topic +``` + +List all bridge states + +``` bash +$ ./bin/emqx_ctl bridges list +name: emqx status: Stopped $ ./bin/emqx_ctl bridges list +name: emqx status: Stopped +``` + +Start the specified bridge + +``` bash +$ ./bin/emqx_ctl bridges start emqx +Start bridge successfully. +``` + +Stop the specified bridge + +``` bash +$ ./bin/emqx_ctl bridges stop emqx +Stop bridge successfully. +``` +List the forwarding topics for the specified bridge + +``` bash +$ ./bin/emqx_ctl bridges forwards emqx +topic: topic1/# +topic: topic2/# +``` + +Add a forwarding topic for the specified bridge + +``` bash +$ ./bin/emqx_ctl bridges add-forwards emqx topic3/# +Add-forward topic successfully. +``` + +Delete the forwarding topic for the specified bridge + + +``` bash +$ ./bin/emqx_ctl bridges del-forwards emqx topic3/# +Del-forward topic successfully. +``` + +List subscriptions for the specified bridge + +``` bash +$ ./bin/emqx_ctl bridges subscriptions emqx +topic: cmd/topic1, qos: 1 +topic: cmd/topic2, qos: 1 +``` + +Add a subscription topic for the specified bridge + +``` bash +$ ./bin/emqx_ctl bridges add-subscription emqx cmd/topic3 1 +Add-subscription topic successfully. +``` + +Delete the subscription topic for the specified bridge + +``` bash +$ ./bin/emqx_ctl bridges del-subscription emqx cmd/topic3 +Del-subscription topic successfully. +``` + +Note: In case of creating multiple bridges, it is convenient to replicate all configuration items of the first bridge, and modify the bridge name and other configuration items if necessary. + diff --git a/apps/emqx_bridge_mqtt/docs/guide.rst b/apps/emqx_bridge_mqtt/docs/guide.rst new file mode 100644 index 000000000..73350ca1f --- /dev/null +++ b/apps/emqx_bridge_mqtt/docs/guide.rst @@ -0,0 +1,286 @@ + +EMQ Bridge MQTT +=============== + +The concept of **Bridge** means that EMQ X supports forwarding messages +of one of its own topics to another MQTT Broker in some way. + +**Bridge** differs from **Cluster** in that the bridge does not +replicate the topic trie and routing tables and only forwards MQTT +messages based on bridging rules. + +At present, the bridging methods supported by EMQ X are as follows: + + +* RPC bridge: RPC Bridge only supports message forwarding and does not + support subscribing to the topic of remote nodes to synchronize + data; +* MQTT Bridge: MQTT Bridge supports both forwarding and data + synchronization through subscription topic. + +These concepts are shown below: + + +.. image:: images/bridge.png + :target: images/bridge.png + :alt: bridge + + +In addition, the EMQ X message broker supports multi-node bridge mode interconnection + +.. code-block:: + + --------- --------- --------- + Publisher --> | Node1 | --Bridge Forward--> | Node2 | --Bridge Forward--> | Node3 | --> Subscriber + --------- --------- --------- + +In EMQ X, bridge is configured by modifying ``etc/emqx.conf``. EMQ X distinguishes between different bridges based on different names. E.g + +.. code-block:: + + ## Bridge address: node name for local bridge, host:port for remote. + bridge.mqtt.aws.address = 127.0.0.1:1883 + +This configuration declares a bridge named ``aws`` and specifies that it is bridged to the MQTT broker of 127.0.0.1:1883 by MQTT mode. + +In case of creating multiple bridges, it is convenient to replicate all configuration items of the first bridge, and modify the bridge name and other configuration items if necessary (such as bridge.$name.address, where $name refers to the name of bridge) + +The next two sections describe how to create a bridge in RPC and MQTT mode respectively and create a forwarding rule that forwards the messages from sensors. Assuming that two EMQ X nodes are running on two hosts: + +.. list-table:: + :header-rows: 1 + + * - Name + - Node + - MQTT Port + * - emqx1 + - emqx1@192.168.1.1. + - 1883 + * - emqx2 + - emqx2@192.168.1.2 + - 1883 + + +EMQ X RPC Bridge Configuration +------------------------------ + +The following is the basic configuration of RPC bridging. A simplest RPC bridging only requires the following three items + +.. code-block:: + + ## Bridge Address: Use node name (nodename@host) for rpc bridging, and host:port for mqtt connection + bridge.mqtt.emqx2.address = emqx2@192.168.1.2 + + ## Forwarding topics of the message + bridge.mqtt.emqx2.forwards = sensor1/#,sensor2/# + + ## bridged mountpoint + bridge.mqtt.emqx2.mountpoint = bridge/emqx2/${node}/ + +If the messages received by the local node emqx1 matches the topic ``sersor1/#`` or ``sensor2/#``\ , these messages will be forwarded to the ``sensor1/#`` or ``sensor2/#`` topic of the remote node emqx2. + +``forwards`` is used to specify topics. Messages of the in ``forwards`` specified topics on local node are forwarded to the remote node. + +``mountpoint`` is used to add a topic prefix when forwarding a message. To use ``mountpoint``\ , the ``forwards`` directive must be set. In the above example, a message with the topic ``sensor1/hello`` received by the local node will be forwarded to the remote node with the topic ``bridge/emqx2/emqx1@192.168.1.1/sensor1/hello``. + +Limitations of RPC bridging: + + +#. + The RPC bridge of emqx can only forward local messages to the remote node, and cannot synchronize the messages of the remote node to the local node; + +#. + RPC bridge can only bridge two EMQ X broker together and cannot bridge EMQ X broker to other MQTT brokers. + +EMQ X MQTT Bridge Configuration +------------------------------- + +EMQ X 3.0 officially introduced MQTT bridge, so that EMQ X can bridge any MQTT broker. Because of the characteristics of the MQTT protocol, EMQ X can subscribe to the remote mqtt broker's topic through MQTT bridge, and then synchronize the remote MQTT broker's message to the local. + +EMQ X MQTT bridging principle: Create an MQTT client on the EMQ X broker, and connect this MQTT client to the remote MQTT broker. Therefore, in the MQTT bridge configuration, following fields may be set for the EMQ X to connect to the remote broker as an mqtt client + +.. code-block:: + + ## Bridge Address: Use node name for rpc bridging, use host:port for mqtt connection + bridge.mqtt.emqx2.address = 192.168.1.2:1883 + + ## Bridged Protocol Version + ## Enumeration value: mqttv3 | mqttv4 | mqttv5 + bridge.mqtt.emqx2.proto_ver = mqttv4 + + ## mqtt client's clientid + bridge.mqtt.emqx2.clientid = bridge_emq + + ## mqtt client's clean_start field + ## Note: Some MQTT Brokers need to set the clean_start value as `true` + bridge.mqtt.emqx2.clean_start = true + + ## mqtt client's username field + bridge.mqtt.emqx2.username = user + + ## mqtt client's password field + bridge.mqtt.emqx2.password = passwd + + ## Whether the mqtt client uses ssl to connect to a remote serve or not + bridge.mqtt.emqx2.ssl = off + + ## CA Certificate of Client SSL Connection (PEM format) + bridge.mqtt.emqx2.cacertfile = etc/certs/cacert.pem + + ## SSL certificate of Client SSL connection + bridge.mqtt.emqx2.certfile = etc/certs/client-cert.pem + + ## Key file of Client SSL connection + bridge.mqtt.emqx2.keyfile = etc/certs/client-key.pem + + ## SSL encryption + bridge.mqtt.emqx2.ciphers = ECDHE-ECDSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-GCM-SHA384 + + ## TTLS PSK password + ## Note 'listener.ssl.external.ciphers' and 'listener.ssl.external.psk_ciphers' cannot be configured at the same time + ## + ## See 'https://tools.ietf.org/html/rfc4279#section-2'. + ## bridge.mqtt.emqx2.psk_ciphers = PSK-AES128-CBC-SHA,PSK-AES256-CBC-SHA,PSK-3DES-EDE-CBC-SHA,PSK-RC4-SHA + + ## Client's heartbeat interval + bridge.mqtt.emqx2.keepalive = 60s + + ## Supported TLS version + bridge.mqtt.emqx2.tls_versions = tlsv1.2,tlsv1.1,tlsv1 + + ## Forwarding topics of the message + bridge.mqtt.emqx2.forwards = sensor1/#,sensor2/# + + ## Bridged mountpoint + bridge.mqtt.emqx2.mountpoint = bridge/emqx2/${node}/ + + ## Subscription topic for bridging + bridge.mqtt.emqx2.subscription.1.topic = cmd/topic1 + + ## Subscription qos for bridging + bridge.mqtt.emqx2.subscription.1.qos = 1 + + ## Subscription topic for bridging + bridge.mqtt.emqx2.subscription.2.topic = cmd/topic2 + + ## Subscription qos for bridging + bridge.mqtt.emqx2.subscription.2.qos = 1 + + ## Bridging reconnection interval + ## Default: 30s + bridge.mqtt.emqx2.reconnect_interval = 30s + + ## QoS1 message retransmission interval + bridge.mqtt.emqx2.retry_interval = 20s + + ## Inflight Size. + bridge.mqtt.emqx2.max_inflight_batches = 32 + +Bridge Cache Configuration +-------------------------- + +The bridge of EMQ X has a message caching mechanism. The caching mechanism is applicable to both RPC bridging and MQTT bridging. When the bridge is disconnected (such as when the network connection is unstable), the messages with a topic specified in ``forwards`` can be cached to the local message queue. Until the bridge is restored, these messages are re-forwarded to the remote node. The configuration of the cache queue is as follows + +.. code-block:: + + ## emqx_bridge internal number of messages used for batch + bridge.mqtt.emqx2.queue.batch_count_limit = 32 + + ## emqx_bridge internal number of message bytes used for batch + bridge.mqtt.emqx2.queue.batch_bytes_limit = 1000MB + + ## The path for placing replayq queue. If it is not specified, then replayq will run in `mem-only` mode and messages will not be cached on disk. + bridge.mqtt.emqx2.queue.replayq_dir = data/emqx_emqx2_bridge/ + + ## Replayq data segment size + bridge.mqtt.emqx2.queue.replayq_seg_bytes = 10MB + +``bridge.mqtt.emqx2.queue.replayq_dir`` is a configuration parameter for specifying the path of the bridge storage queue. + +``bridge.mqtt.emqx2.queue.replayq_seg_bytes`` is used to specify the size of the largest single file of the message queue that is cached on disk. If the message queue size exceeds the specified value, a new file is created to store the message queue. + +CLI for EMQ X Bridge MQTT +------------------------- + +CLI for EMQ X Bridge MQTT: + +.. code-block:: bash + + $ cd emqx1/ && ./bin/emqx_ctl bridges + bridges list # List bridges + bridges start # Start a bridge + bridges stop # Stop a bridge + bridges forwards # Show a bridge forward topic + bridges add-forward # Add bridge forward topic + bridges del-forward # Delete bridge forward topic + bridges subscriptions # Show a bridge subscriptions topic + bridges add-subscription # Add bridge subscriptions topic + +List all bridge states + +.. code-block:: bash + + $ ./bin/emqx_ctl bridges list + name: emqx status: Stopped $ ./bin/emqx_ctl bridges list + name: emqx status: Stopped + +Start the specified bridge + +.. code-block:: bash + + $ ./bin/emqx_ctl bridges start emqx + Start bridge successfully. + +Stop the specified bridge + +.. code-block:: bash + + $ ./bin/emqx_ctl bridges stop emqx + Stop bridge successfully. + +List the forwarding topics for the specified bridge + +.. code-block:: bash + + $ ./bin/emqx_ctl bridges forwards emqx + topic: topic1/# + topic: topic2/# + +Add a forwarding topic for the specified bridge + +.. code-block:: bash + + $ ./bin/emqx_ctl bridges add-forwards emqx topic3/# + Add-forward topic successfully. + +Delete the forwarding topic for the specified bridge + +.. code-block:: bash + + $ ./bin/emqx_ctl bridges del-forwards emqx topic3/# + Del-forward topic successfully. + +List subscriptions for the specified bridge + +.. code-block:: bash + + $ ./bin/emqx_ctl bridges subscriptions emqx + topic: cmd/topic1, qos: 1 + topic: cmd/topic2, qos: 1 + +Add a subscription topic for the specified bridge + +.. code-block:: bash + + $ ./bin/emqx_ctl bridges add-subscription emqx cmd/topic3 1 + Add-subscription topic successfully. + +Delete the subscription topic for the specified bridge + +.. code-block:: bash + + $ ./bin/emqx_ctl bridges del-subscription emqx cmd/topic3 + Del-subscription topic successfully. + +Note: In case of creating multiple bridges, it is convenient to replicate all configuration items of the first bridge, and modify the bridge name and other configuration items if necessary. + diff --git a/apps/emqx_bridge_mqtt/docs/images/bridge.png b/apps/emqx_bridge_mqtt/docs/images/bridge.png new file mode 100644 index 0000000000000000000000000000000000000000..9bb9c024c9b30600d194d30f0b763b90fcb04ec9 GIT binary patch literal 147486 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

    ()tPcaXYm%S-P)Pz0toF&0B;|4K0pXVlYp{fsTT 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 `~M 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 + + MapPSKCiphers = fun(PSKCiphers) -> + lists:map( + fun("PSK-AES128-CBC-SHA") -> {psk, aes_128_cbc, sha}; + ("PSK-AES256-CBC-SHA") -> {psk, aes_256_cbc, sha}; + ("PSK-3DES-EDE-CBC-SHA") -> {psk, '3des_ede_cbc', sha}; + ("PSK-RC4-SHA") -> {psk, rc4_128, sha} + end, PSKCiphers) + end, + + Split = fun(undefined) -> undefined; (S) -> string:tokens(S, ",") end, + + IsSsl = fun(cacertfile) -> true; + (certfile) -> true; + (keyfile) -> true; + (ciphers) -> true; + (psk_ciphers) -> true; + (tls_versions) -> true; + (_Opt) -> false + end, + + Parse = fun(tls_versions, Vers) -> + [{versions, [list_to_atom(S) || S <- Split(Vers)]}]; + (ciphers, Ciphers) -> + [{ciphers, Split(Ciphers)}]; + (psk_ciphers, Ciphers) -> + [{ciphers, MapPSKCiphers(Split(Ciphers))}, {user_lookup_fun, {fun emqx_psk:lookup/3, <<>>}}]; + (Opt, Val) -> + [{Opt, Val}] + end, + + Merge = fun(forwards, Val, Opts) -> + [{forwards, string:tokens(Val, ",")}|Opts]; + (Opt, Val, Opts) -> + case IsSsl(Opt) of + true -> + SslOpts = Parse(Opt, Val) ++ proplists:get_value(ssl_opts, Opts, []), + lists:ukeymerge(1, [{ssl_opts, SslOpts}], lists:usort(Opts)); + false -> + [{Opt, Val}|Opts] + end + end, + Queue = fun(Name) -> + Configs = cuttlefish_variable:filter_by_prefix("bridge.mqtt." ++ Name ++ ".queue", Conf), + + QOpts = [{list_to_atom(QOpt), QValue}|| {[_, _, _, "queue", QOpt], QValue} <- Configs], + maps:from_list(QOpts) + end, + Subscriptions = fun(Name) -> + Configs = cuttlefish_variable:filter_by_prefix("bridge.mqtt." ++ Name ++ ".subscription", Conf), + lists:zip([Topic || {_, Topic} <- lists:sort([{I, Topic} || {[_, _, _, "subscription", I, "topic"], Topic} <- Configs])], + [QoS || {_, QoS} <- lists:sort([{I, QoS} || {[_, _, _, "subscription", I, "qos"], QoS} <- Configs])]) + end, + IsNodeAddr = fun(Addr) -> + case string:tokens(Addr, "@") of + [_NodeName, _Hostname] -> true; + _ -> false + end + end, + ConnMod = fun(Name) -> + + [AddrConfig] = cuttlefish_variable:filter_by_prefix("bridge.mqtt." ++ Name ++ ".address", Conf), + {_, Addr} = AddrConfig, + + Subs = Subscriptions(Name), + case IsNodeAddr(Addr) of + true when Subs =/= [] -> + error({"subscriptions are not supported when bridging between emqx nodes", Name, Subs}); + true -> + emqx_bridge_rpc; + false -> + emqx_bridge_mqtt + end + end, + + %% to be backward compatible + Translate = + fun Tr(queue, Q, Cfg) -> + NewQ = maps:fold(Tr, #{}, Q), + Cfg#{queue => NewQ}; + Tr(address, Addr0, Cfg) -> + Addr = case IsNodeAddr(Addr0) of + true -> list_to_atom(Addr0); + false -> Addr0 + end, + Cfg#{address => Addr}; + Tr(reconnect_interval, Ms, Cfg) -> + Cfg#{reconnect_delay_ms => Ms}; + Tr(proto_ver, Ver, Cfg) -> + Cfg#{proto_ver => + case Ver of + mqttv3 -> v3; + mqttv4 -> v4; + mqttv5 -> v5; + _ -> v4 + end}; + Tr(Key, Value, Cfg) -> + Cfg#{Key => Value} + end, + C = lists:foldl( + fun({["bridge", "mqtt", Name, Opt], Val}, Acc) -> + %% e.g #{aws => [{OptKey, OptVal}]} + Init = [{list_to_atom(Opt), Val}, + {connect_module, ConnMod(Name)}, + {subscriptions, Subscriptions(Name)}, + {queue, Queue(Name)}], + maps:update_with(list_to_atom(Name), fun(Opts) -> Merge(list_to_atom(Opt), Val, Opts) end, Init, Acc); + (_, Acc) -> Acc + end, #{}, lists:usort(cuttlefish_variable:filter_by_prefix("bridge.mqtt", Conf))), + C1 = maps:map(fun(Bn, Bc) -> + maps:to_list(maps:fold(Translate, #{}, maps:from_list(Bc))) + end, C), + maps:to_list(C1) +end}. diff --git a/apps/emqx_bridge_mqtt/rebar.config b/apps/emqx_bridge_mqtt/rebar.config new file mode 100644 index 000000000..7b1f06cca --- /dev/null +++ b/apps/emqx_bridge_mqtt/rebar.config @@ -0,0 +1 @@ +{deps, []}. \ No newline at end of file diff --git a/apps/emqx_bridge_mqtt/src/emqx_bridge_connect.erl b/apps/emqx_bridge_mqtt/src/emqx_bridge_connect.erl new file mode 100644 index 000000000..fedc2ceb2 --- /dev/null +++ b/apps/emqx_bridge_mqtt/src/emqx_bridge_connect.erl @@ -0,0 +1,74 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_bridge_connect). + +-export([start/2]). + +-export_type([config/0, connection/0]). + +-optional_callbacks([ensure_subscribed/3, ensure_unsubscribed/2]). + +%% map fields depend on implementation +-type(config() :: map()). +-type(connection() :: term()). +-type(batch() :: emqx_protal:batch()). +-type(ack_ref() :: emqx_bridge_worker:ack_ref()). +-type(topic() :: emqx_topic:topic()). +-type(qos() :: emqx_mqtt_types:qos()). + +-include_lib("emqx_libs/include/logger.hrl"). + +-logger_header("[Bridge Connect]"). + +%% establish the connection to remote node/cluster +%% protal worker (the caller process) should be expecting +%% a message {disconnected, conn_ref()} when disconnected. +-callback start(config()) -> {ok, connection()} | {error, any()}. + +%% send to remote node/cluster +%% bridge worker (the caller process) should be expecting +%% a message {batch_ack, reference()} when batch is acknowledged by remote node/cluster +-callback send(connection(), batch()) -> {ok, ack_ref()} | {ok, integer()} | {error, any()}. + +%% called when owner is shutting down. +-callback stop(connection()) -> ok. + +-callback ensure_subscribed(connection(), topic(), qos()) -> ok. + +-callback ensure_unsubscribed(connection(), topic()) -> ok. + +start(Module, Config) -> + case Module:start(Config) of + {ok, Conn} -> + {ok, Conn}; + {error, Reason} -> + Config1 = obfuscate(Config), + ?LOG(error, "Failed to connect with module=~p\n" + "config=~p\nreason:~p", [Module, Config1, Reason]), + {error, Reason} + end. + +obfuscate(Map) -> + maps:fold(fun(K, V, Acc) -> + case is_sensitive(K) of + true -> [{K, '***'} | Acc]; + false -> [{K, V} | Acc] + end + end, [], Map). + +is_sensitive(password) -> true; +is_sensitive(_) -> false. diff --git a/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt.app.src b/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt.app.src new file mode 100644 index 000000000..14dca2d9f --- /dev/null +++ b/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt.app.src @@ -0,0 +1,14 @@ +{application, emqx_bridge_mqtt, + [{description, "EMQ X Bridge to MQTT Broker"}, + {vsn, "git"}, + {modules, []}, + {registered, []}, + {applications, [kernel,stdlib,replayq,emqtt,emqx_libs]}, + {mod, {emqx_bridge_mqtt_app, []}}, + {env, []}, + {licenses, ["Apache-2.0"]}, + {maintainers, ["EMQ X Team "]}, + {links, [{"Homepage", "https://emqx.io/"}, + {"Github", "https://github.com/emqx/emqx-bridge-mqtt"} + ]} + ]}. diff --git a/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt.app.src.script b/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt.app.src.script new file mode 100644 index 000000000..0e14ff23f --- /dev/null +++ b/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt.app.src.script @@ -0,0 +1,24 @@ +%%-*- mode: erlang -*- +%% .app.src.script + +RemoveLeadingV = + fun(Tag) -> + case re:run(Tag, "^[v|e]?[0-9]\.[0-9]\.([0-9]|(rc|beta|alpha)\.[0-9])", [{capture, none}]) of + nomatch -> + re:replace(Tag, "/", "-", [{return ,list}]); + _ -> + %% if it is a version number prefixed by 'v' or 'e', then remove it + re:replace(Tag, "[v|e]", "", [{return ,list}]) + end + end, + +case os:getenv("EMQX_DEPS_DEFAULT_VSN") of + false -> CONFIG; % env var not defined + [] -> CONFIG; % env var set to empty string + Tag -> + [begin + AppConf0 = lists:keystore(vsn, 1, AppConf, {vsn, RemoveLeadingV(Tag)}), + {application, App, AppConf0} + end || Conf = {application, App, AppConf} <- CONFIG] +end. + diff --git a/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt.erl b/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt.erl new file mode 100644 index 000000000..52762990c --- /dev/null +++ b/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt.erl @@ -0,0 +1,185 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +%% @doc This module implements EMQX Bridge transport layer on top of MQTT protocol + +-module(emqx_bridge_mqtt). + +-behaviour(emqx_bridge_connect). + +%% behaviour callbacks +-export([ start/1 + , send/2 + , stop/1 + ]). + +%% optional behaviour callbacks +-export([ ensure_subscribed/3 + , ensure_unsubscribed/2 + ]). + +-include_lib("emqx_libs/include/logger.hrl"). +-include_lib("emqx_libs/include/emqx_mqtt.hrl"). + +-define(ACK_REF(ClientPid, PktId), {ClientPid, PktId}). + +%% Messages towards ack collector process +-define(REF_IDS(Ref, Ids), {Ref, Ids}). + +%%-------------------------------------------------------------------- +%% emqx_bridge_connect callbacks +%%-------------------------------------------------------------------- + +start(Config = #{address := Address}) -> + Parent = self(), + Mountpoint = maps:get(receive_mountpoint, Config, undefined), + Handlers = make_hdlr(Parent, Mountpoint), + {Host, Port} = case string:tokens(Address, ":") of + [H] -> {H, 1883}; + [H, P] -> {H, list_to_integer(P)} + end, + ClientConfig = Config#{msg_handler => Handlers, + host => Host, + port => Port, + force_ping => true + }, + case emqtt:start_link(replvar(ClientConfig)) of + {ok, Pid} -> + case emqtt:connect(Pid) of + {ok, _} -> + try + subscribe_remote_topics(Pid, maps:get(subscriptions, Config, [])), + {ok, #{client_pid => Pid}} + catch + throw : Reason -> + ok = stop(#{client_pid => Pid}), + {error, Reason} + end; + {error, Reason} -> + ok = stop(#{client_pid => Pid}), + {error, Reason} + end; + {error, Reason} -> + {error, Reason} + end. + +stop(#{client_pid := Pid}) -> + safe_stop(Pid, fun() -> emqtt:stop(Pid) end, 1000), + ok. + +ensure_subscribed(#{client_pid := Pid}, Topic, QoS) when is_pid(Pid) -> + case emqtt:subscribe(Pid, Topic, QoS) of + {ok, _, _} -> ok; + Error -> Error + end; +ensure_subscribed(_Conn, _Topic, _QoS) -> + %% return ok for now, next re-connect should should call start with new topic added to config + ok. + +ensure_unsubscribed(#{client_pid := Pid}, Topic) when is_pid(Pid) -> + case emqtt:unsubscribe(Pid, Topic) of + {ok, _, _} -> ok; + Error -> Error + end; +ensure_unsubscribed(_, _) -> + %% return ok for now, next re-connect should should call start with this topic deleted from config + ok. + +safe_stop(Pid, StopF, Timeout) -> + MRef = monitor(process, Pid), + unlink(Pid), + try + StopF() + catch + _ : _ -> + ok + end, + receive + {'DOWN', MRef, _, _, _} -> + ok + after + Timeout -> + exit(Pid, kill) + end. + +send(Conn, Msgs) -> + send(Conn, Msgs, undefined). +send(_Conn, [], PktId) -> + {ok, PktId}; +send(#{client_pid := ClientPid} = Conn, [Msg | Rest], _PktId) -> + case emqtt:publish(ClientPid, Msg) of + ok -> + Ref = make_ref(), + self() ! {batch_ack, Ref}, + send(Conn, Rest, Ref); + {ok, PktId} -> + send(Conn, Rest, PktId); + {error, Reason} -> + %% NOTE: There is no partial sucess of a batch and recover from the middle + %% only to retry all messages in one batch + {error, Reason} + end. + + +handle_puback(Parent, #{packet_id := PktId, reason_code := RC}) + when RC =:= ?RC_SUCCESS; + RC =:= ?RC_NO_MATCHING_SUBSCRIBERS -> + Parent ! {batch_ack, PktId}, ok; +handle_puback(_Parent, #{packet_id := PktId, reason_code := RC}) -> + ?LOG(warning, "Publish ~p to remote node falied, reason_code: ~p", [PktId, RC]). + +handle_publish(Msg, Mountpoint) -> + emqx_broker:publish(emqx_bridge_msg:to_broker_msg(Msg, Mountpoint)). + +handle_disconnected(Parent, Reason) -> + Parent ! {disconnected, self(), Reason}. + +make_hdlr(Parent, Mountpoint) -> + #{puback => fun(Ack) -> handle_puback(Parent, Ack) end, + publish => fun(Msg) -> handle_publish(Msg, Mountpoint) end, + disconnected => fun(Reason) -> handle_disconnected(Parent, Reason) end + }. + +subscribe_remote_topics(ClientPid, Subscriptions) -> + lists:foreach(fun({Topic, Qos}) -> + case emqtt:subscribe(ClientPid, Topic, Qos) of + {ok, _, _} -> ok; + Error -> throw(Error) + end + end, Subscriptions). + +%%-------------------------------------------------------------------- +%% Internal funcs +%%-------------------------------------------------------------------- + +replvar(Options) -> + replvar([clientid], Options). + +replvar([], Options) -> + Options; +replvar([Key|More], Options) -> + case maps:get(Key, Options, undefined) of + undefined -> + replvar(More, Options); + Val -> + replvar(More, maps:put(Key, feedvar(Key, Val, Options), Options)) + end. + +%% ${node} => node() +feedvar(clientid, ClientId, _) -> + iolist_to_binary(re:replace(ClientId, "\\${node}", atom_to_list(node()))); +feedvar(_, Val, _) -> + Val. diff --git a/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_actions.erl b/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_actions.erl new file mode 100644 index 000000000..ca3bba095 --- /dev/null +++ b/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_actions.erl @@ -0,0 +1,771 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +%% @doc This module implements EMQX Bridge transport layer on top of MQTT protocol + +-module(emqx_bridge_mqtt_actions). + +-include_lib("emqx/include/emqx.hrl"). +-include_lib("emqx/include/logger.hrl"). + +-import(emqx_rule_utils, [str/1]). + +-export([ on_resource_create/2 + , on_get_resource_status/2 + , on_resource_destroy/2 + ]). + +%% Callbacks of ecpool Worker +-export([connect/1]). + +-export([subscriptions/1]). + +-export([on_action_create_data_to_mqtt_broker/2]). + +-define(RESOURCE_TYPE_MQTT, 'bridge_mqtt'). +-define(RESOURCE_TYPE_MQTT_SUB, 'bridge_mqtt_sub'). +-define(RESOURCE_TYPE_RPC, 'bridge_rpc'). + +-define(RESOURCE_CONFIG_SPEC_MQTT, #{ + address => #{ + order => 1, + type => string, + required => true, + default => <<"127.0.0.1:1883">>, + title => #{en => <<" Broker Address">>, + zh => <<"远程 broker 地址"/utf8>>}, + description => #{en => <<"The MQTT Remote Address">>, + zh => <<"远程 MQTT Broker 的地址"/utf8>>} + }, + pool_size => #{ + order => 2, + type => number, + required => true, + default => 8, + title => #{en => <<"Pool Size">>, + zh => <<"连接池大小"/utf8>>}, + description => #{en => <<"MQTT Connection Pool Size">>, + zh => <<"连接池大小"/utf8>>} + }, + clientid => #{ + order => 3, + type => string, + required => true, + default => <<"client">>, + title => #{en => <<"ClientId">>, + zh => <<"客户端 Id"/utf8>>}, + description => #{en => <<"ClientId for connecting to remote MQTT broker">>, + zh => <<"连接远程 Broker 的 ClientId"/utf8>>} + }, + append => #{ + order => 4, + type => boolean, + required => false, + default => true, + title => #{en => <<"Append GUID">>, + zh => <<"附加 GUID"/utf8>>}, + description => #{en => <<"Append GUID to MQTT ClientId?">>, + zh => <<"是否将GUID附加到 MQTT ClientId 后"/utf8>>} + }, + username => #{ + order => 5, + type => string, + required => false, + default => <<"">>, + title => #{en => <<"Username">>, zh => <<"用户名"/utf8>>}, + description => #{en => <<"Username for connecting to remote MQTT Broker">>, + zh => <<"连接远程 Broker 的用户名"/utf8>>} + }, + password => #{ + order => 6, + type => string, + required => false, + default => <<"">>, + title => #{en => <<"Password">>, + zh => <<"密码"/utf8>>}, + description => #{en => <<"Password for connecting to remote MQTT Broker">>, + zh => <<"连接远程 Broker 的密码"/utf8>>} + }, + mountpoint => #{ + order => 7, + type => string, + required => false, + default => <<"bridge/aws/${node}/">>, + title => #{en => <<"Bridge MountPoint">>, + zh => <<"桥接挂载点"/utf8>>}, + description => #{ + en => <<"MountPoint for bridge topic:
    " + "Example: The topic of messages sent to `topic1` on local node" + "will be transformed to `bridge/aws/${node}/topic1`">>, + zh => <<"桥接主题的挂载点:
    " + "示例: 本地节点向 `topic1` 发消息,远程桥接节点的主题" + "会变换为 `bridge/aws/${node}/topic1`"/utf8>> + } + }, + disk_cache => #{ + order => 8, + type => string, + required => false, + default => <<"off">>, + enum => [<<"on">>, <<"off">>], + title => #{en => <<"Disk Cache">>, + zh => <<"磁盘缓存"/utf8>>}, + description => #{en => <<"The flag which determines whether messages" + "can be cached on local disk when bridge is" + "disconnected">>, + zh => <<"当桥接断开时用于控制是否将消息缓存到本地磁" + "盘队列上"/utf8>>} + }, + proto_ver => #{ + order => 9, + type => string, + required => false, + default => <<"mqttv4">>, + enum => [<<"mqttv3">>, <<"mqttv4">>, <<"mqttv5">>], + title => #{en => <<"Protocol Version">>, + zh => <<"协议版本"/utf8>>}, + description => #{en => <<"MQTTT Protocol version">>, + zh => <<"MQTT 协议版本"/utf8>>} + }, + keepalive => #{ + order => 10, + type => string, + required => false, + default => <<"60s">> , + title => #{en => <<"Keepalive">>, + zh => <<"心跳间隔"/utf8>>}, + description => #{en => <<"Keepalive">>, + zh => <<"心跳间隔"/utf8>>} + }, + reconnect_interval => #{ + order => 11, + type => string, + required => false, + default => <<"30s">>, + title => #{en => <<"Reconnect Interval">>, + zh => <<"重连间隔"/utf8>>}, + description => #{en => <<"Reconnect interval of bridge:
    ">>, + zh => <<"重连间隔"/utf8>>} + }, + retry_interval => #{ + order => 12, + type => string, + required => false, + default => <<"20s">>, + title => #{en => <<"Retry interval">>, + zh => <<"重传间隔"/utf8>>}, + description => #{en => <<"Retry interval for bridge QoS1 message delivering">>, + zh => <<"消息重传间隔"/utf8>>} + }, + bridge_mode => #{ + order => 13, + type => boolean, + required => false, + default => false, + title => #{en => <<"Bridge Mode">>, + zh => <<"桥接模式"/utf8>>}, + description => #{en => <<"Bridge mode for MQTT bridge connection">>, + zh => <<"MQTT 连接是否为桥接模式"/utf8>>} + }, + ssl => #{ + order => 14, + type => string, + required => false, + default => <<"off">>, + enum => [<<"on">>, <<"off">>], + title => #{en => <<"Bridge SSL">>, + zh => <<"Bridge SSL"/utf8>>}, + description => #{en => <<"Switch which used to enable ssl connection of the bridge">>, + zh => <<"是否启用 Bridge SSL 连接"/utf8>>} + }, + cacertfile => #{ + order => 15, + type => string, + required => false, + default => <<"etc/certs/cacert.pem">>, + title => #{en => <<"CA certificates">>, + zh => <<"CA 证书"/utf8>>}, + description => #{en => <<"The file path of the CA certificates">>, + zh => <<"CA 证书路径"/utf8>>} + }, + certfile => #{ + order => 16, + type => string, + required => false, + default => <<"etc/certs/client-cert.pem">>, + title => #{en => <<"SSL Certfile">>, + zh => <<"SSL 客户端证书"/utf8>>}, + description => #{en => <<"The file path of the client certfile">>, + zh => <<"客户端证书路径"/utf8>>} + }, + keyfile => #{ + order => 17, + type => string, + required => false, + default => <<"etc/certs/client-key.pem">>, + title => #{en => <<"SSL Keyfile">>, + zh => <<"SSL 密钥文件"/utf8>>}, + description => #{en => <<"The file path of the client keyfile">>, + zh => <<"客户端密钥路径"/utf8>>} + }, + ciphers => #{ + order => 18, + type => string, + required => false, + default => <<"ECDHE-ECDSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-GCM-SHA384,", + "ECDHE-ECDSA-AES256-SHA384,ECDHE-RSA-AES256-SHA384,ECDHE-ECDSA-DES-CBC3-SHA,", + "ECDH-ECDSA-AES256-GCM-SHA384,ECDH-RSA-AES256-GCM-SHA384,ECDH-ECDSA-AES256-SHA384,", + "ECDH-RSA-AES256-SHA384,DHE-DSS-AES256-GCM-SHA384,DHE-DSS-AES256-SHA256,AES256-GCM-SHA384,", + "AES256-SHA256,ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,", + "ECDHE-ECDSA-AES128-SHA256,ECDHE-RSA-AES128-SHA256,ECDH-ECDSA-AES128-GCM-SHA256,", + "ECDH-RSA-AES128-GCM-SHA256,ECDH-ECDSA-AES128-SHA256,ECDH-RSA-AES128-SHA256,", + "DHE-DSS-AES128-GCM-SHA256,DHE-DSS-AES128-SHA256,AES128-GCM-SHA256,AES128-SHA256,", + "ECDHE-ECDSA-AES256-SHA,ECDHE-RSA-AES256-SHA,DHE-DSS-AES256-SHA,ECDH-ECDSA-AES256-SHA,", + "ECDH-RSA-AES256-SHA,AES256-SHA,ECDHE-ECDSA-AES128-SHA,ECDHE-RSA-AES128-SHA,", + "DHE-DSS-AES128-SHA,ECDH-ECDSA-AES128-SHA,ECDH-RSA-AES128-SHA,AES128-SHA">>, + title => #{en => <<"SSL Ciphers">>, + zh => <<"SSL 加密算法"/utf8>>}, + description => #{en => <<"SSL Ciphers">>, + zh => <<"SSL 加密算法"/utf8>>} + } + }). + + +-define(RESOURCE_CONFIG_SPEC_MQTT_SUB, #{ + address => #{ + order => 1, + type => string, + required => true, + default => <<"127.0.0.1:1883">>, + title => #{en => <<" Broker Address">>, + zh => <<"远程 broker 地址"/utf8>>}, + description => #{en => <<"The MQTT Remote Address">>, + zh => <<"远程 MQTT Broker 的地址"/utf8>>} + }, + pool_size => #{ + order => 2, + type => number, + required => true, + default => 8, + title => #{en => <<"Pool Size">>, + zh => <<"连接池大小"/utf8>>}, + description => #{en => <<"MQTT Connection Pool Size">>, + zh => <<"连接池大小"/utf8>>} + }, + clientid => #{ + order => 3, + type => string, + required => true, + default => <<"client">>, + title => #{en => <<"ClientId">>, + zh => <<"客户端 Id"/utf8>>}, + description => #{en => <<"ClientId for connecting to remote MQTT broker">>, + zh => <<"连接远程 Broker 的 ClientId"/utf8>>} + }, + append => #{ + order => 4, + type => boolean, + required => true, + default => true, + title => #{en => <<"Append GUID">>, + zh => <<"附加 GUID"/utf8>>}, + description => #{en => <<"Append GUID to MQTT ClientId?">>, + zh => <<"是否将GUID附加到 MQTT ClientId 后"/utf8>>} + }, + username => #{ + order => 5, + type => string, + required => false, + default => <<"">>, + title => #{en => <<"Username">>, zh => <<"用户名"/utf8>>}, + description => #{en => <<"Username for connecting to remote MQTT Broker">>, + zh => <<"连接远程 Broker 的用户名"/utf8>>} + }, + password => #{ + order => 6, + type => string, + required => false, + default => <<"">>, + title => #{en => <<"Password">>, + zh => <<"密码"/utf8>>}, + description => #{en => <<"Password for connecting to remote MQTT Broker">>, + zh => <<"连接远程 Broker 的密码"/utf8>>} + }, + subscription_opts => #{ + order => 7, + type => array, + items => #{ + type => object, + schema => #{ + topic => #{ + order => 1, + type => string, + default => <<>>, + title => #{en => <<"MQTT Topic">>, + zh => <<"MQTT 主题"/utf8>>}, + description => #{en => <<"MQTT Topic">>, + zh => <<"MQTT 主题"/utf8>>} + }, + qos => #{ + order => 2, + type => number, + enum => [0, 1, 2], + default => 0, + title => #{en => <<"MQTT Topic QoS">>, + zh => <<"MQTT 服务质量"/utf8>>}, + description => #{en => <<"MQTT Topic QoS">>, + zh => <<"MQTT 服务质量"/utf8>>} + } + } + }, + default => [], + title => #{en => <<"Subscription Opts">>, + zh => <<"订阅选项"/utf8>>}, + description => #{en => <<"Subscription Opts">>, + zh => <<"订阅选项"/utf8>>} + }, + proto_ver => #{ + order => 8, + type => string, + required => false, + default => <<"mqttv4">>, + enum => [<<"mqttv3">>, <<"mqttv4">>, <<"mqttv5">>], + title => #{en => <<"Protocol Version">>, + zh => <<"协议版本"/utf8>>}, + description => #{en => <<"MQTTT Protocol version">>, + zh => <<"MQTT 协议版本"/utf8>>} + }, + keepalive => #{ + order => 9, + type => string, + required => false, + default => <<"60s">> , + title => #{en => <<"Keepalive">>, + zh => <<"心跳间隔"/utf8>>}, + description => #{en => <<"Keepalive">>, + zh => <<"心跳间隔"/utf8>>} + }, + reconnect_interval => #{ + order => 10, + type => string, + required => false, + default => <<"30s">>, + title => #{en => <<"Reconnect Interval">>, + zh => <<"重连间隔"/utf8>>}, + description => #{en => <<"Reconnect interval of bridge">>, + zh => <<"重连间隔"/utf8>>} + }, + ssl => #{ + order => 11, + type => string, + required => false, + default => <<"off">>, + enum => [<<"on">>, <<"off">>], + title => #{en => <<"Bridge SSL">>, + zh => <<"Bridge SSL"/utf8>>}, + description => #{en => <<"Switch which used to enable ssl connection of the bridge">>, + zh => <<"是否启用 Bridge SSL 连接"/utf8>>} + }, + cacertfile => #{ + order => 12, + type => string, + required => false, + default => <<"etc/certs/cacert.pem">>, + title => #{en => <<"CA certificates">>, + zh => <<"CA 证书"/utf8>>}, + description => #{en => <<"The file path of the CA certificates">>, + zh => <<"CA 证书路径"/utf8>>} + }, + certfile => #{ + order => 13, + type => string, + required => false, + default => <<"etc/certs/client-cert.pem">>, + title => #{en => <<"SSL Certfile">>, + zh => <<"SSL 客户端证书"/utf8>>}, + description => #{en => <<"The file path of the client certfile">>, + zh => <<"客户端证书路径"/utf8>>} + }, + keyfile => #{ + order => 14, + type => string, + required => false, + default => <<"etc/certs/client-key.pem">>, + title => #{en => <<"SSL Keyfile">>, + zh => <<"SSL 密钥文件"/utf8>>}, + description => #{en => <<"The file path of the client keyfile">>, + zh => <<"客户端密钥路径"/utf8>>} + }, + ciphers => #{ + order => 15, + type => string, + required => false, + default => <<"ECDHE-ECDSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-GCM-SHA384">>, + title => #{en => <<"SSL Ciphers">>, + zh => <<"SSL 加密算法"/utf8>>}, + description => #{en => <<"SSL Ciphers">>, + zh => <<"SSL 加密算法"/utf8>>} + } + }). + + +-define(RESOURCE_CONFIG_SPEC_RPC, #{ + address => #{ + order => 1, + type => string, + required => true, + default => <<"emqx2@127.0.0.1">>, + title => #{en => <<"EMQ X Node Name">>, + zh => <<"EMQ X 节点名称"/utf8>>}, + description => #{en => <<"EMQ X Remote Node Name">>, + zh => <<"远程 EMQ X 节点名称 "/utf8>>} + }, + mountpoint => #{ + order => 2, + type => string, + required => false, + default => <<"bridge/emqx/${node}/">>, + title => #{en => <<"Bridge MountPoint">>, + zh => <<"桥接挂载点"/utf8>>}, + description => #{en => <<"MountPoint for bridge topic
    " + "Example: The topic of messages sent to `topic1` on local node" + "will be transformed to `bridge/aws/${node}/topic1`">>, + zh => <<"桥接主题的挂载点
    " + "示例: 本地节点向 `topic1` 发消息,远程桥接节点的主题" + "会变换为 `bridge/aws/${node}/topic1`"/utf8>>} + }, + pool_size => #{ + order => 3, + type => number, + required => true, + default => 8, + title => #{en => <<"Pool Size">>, + zh => <<"连接池大小"/utf8>>}, + description => #{en => <<"MQTT/RPC Connection Pool Size">>, + zh => <<"连接池大小"/utf8>>} + }, + reconnect_interval => #{ + order => 4, + type => string, + required => false, + default => <<"30s">>, + title => #{en => <<"Reconnect Interval">>, + zh => <<"重连间隔"/utf8>>}, + description => #{en => <<"Reconnect Interval of bridge">>, + zh => <<"重连间隔"/utf8>>} + }, + batch_size => #{ + order => 5, + type => number, + required => false, + default => 32, + title => #{en => <<"Batch Size">>, + zh => <<"批处理大小"/utf8>>}, + description => #{en => <<"Batch Size">>, + zh => <<"批处理大小"/utf8>>} + }, + disk_cache => #{ + order => 6, + type => string, + required => false, + default => <<"off">>, + enum => [<<"on">>, <<"off">>], + title => #{en => <<"Disk Cache">>, + zh => <<"磁盘缓存"/utf8>>}, + description => #{en => <<"The flag which determines whether messages" + "can be cached on local disk when bridge is" + "disconnected">>, + zh => <<"当桥接断开时用于控制是否将消息缓存到本地磁" + "盘队列上"/utf8>>} + } + }). + +-define(ACTION_PARAM_RESOURCE, #{ + type => string, + required => true, + title => #{en => <<"Resource ID">>, zh => <<"资源 ID"/utf8>>}, + description => #{en => <<"Bind a resource to this action">>, + zh => <<"给动作绑定一个资源"/utf8>>} + }). + +-resource_type(#{ + name => ?RESOURCE_TYPE_MQTT, + create => on_resource_create, + status => on_get_resource_status, + destroy => on_resource_destroy, + params => ?RESOURCE_CONFIG_SPEC_MQTT, + title => #{en => <<"MQTT Bridge">>, zh => <<"MQTT Bridge"/utf8>>}, + description => #{en => <<"MQTT Message Bridge">>, zh => <<"MQTT 消息桥接"/utf8>>} + }). + +-resource_type(#{ + name => ?RESOURCE_TYPE_MQTT_SUB, + create => on_resource_create, + status => on_get_resource_status, + destroy => on_resource_destroy, + params => ?RESOURCE_CONFIG_SPEC_MQTT_SUB, + title => #{en => <<"MQTT Subscribe">>, zh => <<"MQTT Subscribe"/utf8>>}, + description => #{en => <<"MQTT Subscribe">>, zh => <<"MQTT 订阅消息"/utf8>>} + }). + +-resource_type(#{ + name => ?RESOURCE_TYPE_RPC, + create => on_resource_create, + status => on_get_resource_status, + destroy => on_resource_destroy, + params => ?RESOURCE_CONFIG_SPEC_RPC, + title => #{en => <<"EMQX Bridge">>, zh => <<"EMQX Bridge"/utf8>>}, + description => #{en => <<"EMQ X RPC Bridge">>, zh => <<"EMQ X RPC 消息桥接"/utf8>>} + }). + +-rule_action(#{ + name => data_to_mqtt_broker, + category => data_forward, + for => 'message.publish', + types => [?RESOURCE_TYPE_MQTT, ?RESOURCE_TYPE_RPC], + create => on_action_create_data_to_mqtt_broker, + params => #{'$resource' => ?ACTION_PARAM_RESOURCE, + forward_topic => #{ + order => 1, + type => string, + required => false, + default => <<"">>, + title => #{en => <<"Forward Topic">>, + zh => <<"转发消息主题"/utf8>>}, + description => #{en => <<"The topic used when forwarding the message. Defaults to the topic of the bridge message if not provided.">>, + zh => <<"转发消息时使用的主题。如果未提供,则默认为桥接消息的主题。"/utf8>>} + }, + payload_tmpl => #{ + order => 2, + type => string, + input => textarea, + required => false, + default => <<"">>, + title => #{en => <<"Payload Template">>, + zh => <<"消息内容模板"/utf8>>}, + description => #{en => <<"The payload template, variable interpolation is supported. If using empty template (default), then the payload will be all the available vars in JOSN format">>, + zh => <<"消息内容模板,支持变量。若使用空模板(默认),消息内容为 JSON 格式的所有字段"/utf8>>} + } + }, + title => #{en => <<"Data bridge to MQTT Broker">>, + zh => <<"桥接数据到 MQTT Broker"/utf8>>}, + description => #{en => <<"Bridge Data to MQTT Broker">>, + zh => <<"桥接数据到 MQTT Broker"/utf8>>} + }). + +on_resource_create(ResId, Params) -> + ?LOG(info, "Initiating Resource ~p, ResId: ~p", [?RESOURCE_TYPE_MQTT, ResId]), + {ok, _} = application:ensure_all_started(ecpool), + PoolName = pool_name(ResId), + Options = options(Params, PoolName), + start_resource(ResId, PoolName, Options), + case test_resource_status(PoolName) of + true -> ok; + false -> + on_resource_destroy(ResId, #{<<"pool">> => PoolName}), + error({{?RESOURCE_TYPE_MQTT, ResId}, connection_failed}) + end, + #{<<"pool">> => PoolName}. + +start_resource(ResId, PoolName, Options) -> + case ecpool:start_sup_pool(PoolName, ?MODULE, Options) of + {ok, _} -> + ?LOG(info, "Initiated Resource ~p Successfully, ResId: ~p", [?RESOURCE_TYPE_MQTT, ResId]); + {error, {already_started, _Pid}} -> + on_resource_destroy(ResId, #{<<"pool">> => PoolName}), + start_resource(ResId, PoolName, Options); + {error, Reason} -> + ?LOG(error, "Initiate Resource ~p failed, ResId: ~p, ~p", [?RESOURCE_TYPE_MQTT, ResId, Reason]), + on_resource_destroy(ResId, #{<<"pool">> => PoolName}), + error({{?RESOURCE_TYPE_MQTT, ResId}, create_failed}) + end. + +test_resource_status(PoolName) -> + IsConnected = fun(Worker) -> + case ecpool_worker:client(Worker) of + {ok, Bridge} -> + try emqx_bridge_worker:status(Bridge) of + connected -> true; + _ -> false + catch _Error:_Reason -> + false + end; + {error, _} -> + false + end + end, + Status = [IsConnected(Worker) || {_WorkerName, Worker} <- ecpool:workers(PoolName)], + lists:any(fun(St) -> St =:= true end, Status). + +-spec(on_get_resource_status(ResId::binary(), Params::map()) -> Status::map()). +on_get_resource_status(_ResId, #{<<"pool">> := PoolName}) -> + IsAlive = test_resource_status(PoolName), + #{is_alive => IsAlive}. + +on_resource_destroy(ResId, #{<<"pool">> := PoolName}) -> + ?LOG(info, "Destroying Resource ~p, ResId: ~p", [?RESOURCE_TYPE_MQTT, ResId]), + case ecpool:stop_sup_pool(PoolName) of + ok -> + ?LOG(info, "Destroyed Resource ~p Successfully, ResId: ~p", [?RESOURCE_TYPE_MQTT, ResId]); + {error, Reason} -> + ?LOG(error, "Destroy Resource ~p failed, ResId: ~p, ~p", [?RESOURCE_TYPE_MQTT, ResId, Reason]), + error({{?RESOURCE_TYPE_MQTT, ResId}, destroy_failed}) + end. + +on_action_create_data_to_mqtt_broker(_Id, #{<<"pool">> := PoolName, + <<"forward_topic">> := ForwardTopic, + <<"payload_tmpl">> := PayloadTmpl}) -> + ?LOG(info, "Initiating Action ~p.", [?FUNCTION_NAME]), + PayloadTks = emqx_rule_utils:preproc_tmpl(PayloadTmpl), + TopicTks = case ForwardTopic == <<"">> of + true -> undefined; + false -> emqx_rule_utils:preproc_tmpl(ForwardTopic) + end, + fun(Msg, _Env = #{id := Id, clientid := From, flags := Flags, + topic := Topic, timestamp := TimeStamp, qos := QoS}) -> + Topic1 = case TopicTks =:= undefined of + true -> Topic; + false -> emqx_rule_utils:proc_tmpl(TopicTks, Msg) + end, + BrokerMsg = #message{id = Id, + qos = QoS, + from = From, + flags = Flags, + topic = Topic1, + payload = format_data(PayloadTks, Msg), + timestamp = TimeStamp}, + ecpool:with_client(PoolName, fun(BridgePid) -> + BridgePid ! {deliver, rule_engine, BrokerMsg} + end) + end. + +format_data([], Msg) -> + emqx_json:encode(Msg); + +format_data(Tokens, Msg) -> + emqx_rule_utils:proc_tmpl(Tokens, Msg). + +tls_versions() -> + ['tlsv1.2','tlsv1.1', tlsv1]. + +ciphers(Ciphers) -> + string:tokens(str(Ciphers), ", "). + +subscriptions(Subscriptions) -> + scan_binary(<<"[", Subscriptions/binary, "].">>). + +is_node_addr(Addr0) -> + Addr = binary_to_list(Addr0), + case string:tokens(Addr, "@") of + [_NodeName, _Hostname] -> true; + _ -> false + end. + +scan_binary(Bin) -> + TermString = binary_to_list(Bin), + scan_string(TermString). + +scan_string(TermString) -> + {ok, Tokens, _} = erl_scan:string(TermString), + {ok, Term} = erl_parse:parse_term(Tokens), + Term. + +connect(Options) when is_list(Options) -> + connect(maps:from_list(Options)); +connect(Options = #{disk_cache := DiskCache, ecpool_worker_id := Id, pool_name := Pool}) -> + Options0 = case DiskCache of + true -> + DataDir = filename:join([emqx:get_env(data_dir), replayq, Pool, integer_to_list(Id)]), + QueueOption = #{replayq_dir => DataDir}, + Options#{queue => QueueOption}; + false -> + Options + end, + Options1 = case maps:is_key(append, Options0) of + false -> Options0; + true -> + case maps:get(append, Options0, false) of + true -> + ClientId = lists:concat([str(maps:get(clientid, Options0)), "_", str(emqx_guid:to_hexstr(emqx_guid:gen()))]), + Options0#{clientid => ClientId}; + false -> + Options0 + end + end, + Options2 = maps:without([ecpool_worker_id, pool_name, append], Options1), + emqx_bridge_worker:start_link(name(Pool, Id), Options2). +name(Pool, Id) -> + list_to_atom(atom_to_list(Pool) ++ ":" ++ integer_to_list(Id)). +pool_name(ResId) -> + list_to_atom("bridge_mqtt:" ++ str(ResId)). + +options(Options, PoolName) -> + GetD = fun(Key, Default) -> maps:get(Key, Options, Default) end, + Get = fun(Key) -> GetD(Key, undefined) end, + Address = Get(<<"address">>), + [{max_inflight_batches, 32}, + {forward_mountpoint, str(Get(<<"mountpoint">>))}, + {disk_cache, cuttlefish_flag:parse(str(GetD(<<"disk_cache">>, "off")))}, + {start_type, auto}, + {reconnect_delay_ms, cuttlefish_duration:parse(str(Get(<<"reconnect_interval">>)), ms)}, + {if_record_metrics, false}, + {pool_size, GetD(<<"pool_size">>, 1)}, + {pool_name, PoolName} + ] ++ case is_node_addr(Address) of + true -> + [{address, binary_to_atom(Get(<<"address">>), utf8)}, + {connect_module, emqx_bridge_rpc}, + {batch_size, Get(<<"batch_size">>)}]; + false -> + Subscriptions = format_subscriptions(GetD(<<"subscription_opts">>, [])), + Subscriptions1 = case Get(<<"topic">>) of + undefined -> Subscriptions; + Topic -> + [{subscriptions, [{Topic, Get(<<"qos">>)}]} | Subscriptions] + end, + [{address, binary_to_list(Address)}, + {bridge_mode, GetD(<<"bridge_mode">>, true)}, + {clean_start, true}, + {clientid, str(Get(<<"clientid">>))}, + {append, Get(<<"append">>)}, + {connect_module, emqx_bridge_mqtt}, + {keepalive, cuttlefish_duration:parse(str(Get(<<"keepalive">>)), s)}, + {username, str(Get(<<"username">>))}, + {password, str(Get(<<"password">>))}, + {proto_ver, mqtt_ver(Get(<<"proto_ver">>))}, + {retry_interval, cuttlefish_duration:parse(str(GetD(<<"retry_interval">>, "30s")), ms)}, + {ssl, cuttlefish_flag:parse(str(Get(<<"ssl">>)))}, + {ssl_opts, [{versions, tls_versions()}, + {ciphers, ciphers(Get(<<"ciphers">>))}, + {keyfile, str(Get(<<"keyfile">>))}, + {certfile, str(Get(<<"certfile">>))}, + {cacertfile, str(Get(<<"cacertfile">>))} + ]}] ++ Subscriptions1 + end. + + +mqtt_ver(ProtoVer) -> + case ProtoVer of + <<"mqttv3">> -> v3; + <<"mqttv4">> -> v4; + <<"mqttv5">> -> v5; + _ -> v4 + end. + +format_subscriptions(SubOpts) -> + lists:map(fun(Sub) -> + {maps:get(<<"topic">>, Sub), maps:get(<<"qos">>, Sub)} + end, SubOpts). diff --git a/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_app.erl b/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_app.erl new file mode 100644 index 000000000..2c0a0b9a9 --- /dev/null +++ b/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_app.erl @@ -0,0 +1,33 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_bridge_mqtt_app). + +-emqx_plugin(bridge). + +-behaviour(application). + +-export([start/2, stop/1]). + +start(_StartType, _StartArgs) -> + emqx_ctl:register_command(bridges, {emqx_bridge_mqtt_cli, cli}, []), + emqx_bridge_worker:register_metrics(), + emqx_bridge_mqtt_sup:start_link(). + +stop(_State) -> + emqx_ctl:unregister_command(bridges), + ok. + diff --git a/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_cli.erl b/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_cli.erl new file mode 100644 index 000000000..1ee5a90c6 --- /dev/null +++ b/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_cli.erl @@ -0,0 +1,98 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_bridge_mqtt_cli). + +-include("emqx_bridge_mqtt.hrl"). + +-import(lists, [foreach/2]). + +-export([cli/1]). + +cli(["list"]) -> + foreach(fun({Name, State0}) -> + State = case State0 of + connected -> <<"Running">>; + _ -> <<"Stopped">> + end, + emqx_ctl:print("name: ~s status: ~s~n", [Name, State]) + end, emqx_bridge_mqtt_sup:bridges()); + +cli(["start", Name]) -> + emqx_ctl:print("~s.~n", [try emqx_bridge_worker:ensure_started(Name) of + ok -> <<"Start bridge successfully">>; + connected -> <<"Bridge already started">>; + _ -> <<"Start bridge failed">> + catch + _Error:_Reason -> + <<"Start bridge failed">> + end]); + +cli(["stop", Name]) -> + emqx_ctl:print("~s.~n", [try emqx_bridge_worker:ensure_stopped(Name) of + ok -> <<"Stop bridge successfully">>; + _ -> <<"Stop bridge failed">> + catch + _Error:_Reason -> + <<"Stop bridge failed">> + end]); + +cli(["forwards", Name]) -> + foreach(fun(Topic) -> + emqx_ctl:print("topic: ~s~n", [Topic]) + end, emqx_bridge_worker:get_forwards(Name)); + +cli(["add-forward", Name, Topic]) -> + case emqx_bridge_worker:ensure_forward_present(Name, iolist_to_binary(Topic)) of + ok -> emqx_ctl:print("Add-forward topic successfully.~n"); + {error, Reason} -> emqx_ctl:print("Add-forward failed reason: ~p.~n", [Reason]) + end; + +cli(["del-forward", Name, Topic]) -> + case emqx_bridge_worker:ensure_forward_absent(Name, iolist_to_binary(Topic)) of + ok -> emqx_ctl:print("Del-forward topic successfully.~n"); + {error, Reason} -> emqx_ctl:print("Del-forward failed reason: ~p.~n", [Reason]) + end; + +cli(["subscriptions", Name]) -> + foreach(fun({Topic, Qos}) -> + emqx_ctl:print("topic: ~s, qos: ~p~n", [Topic, Qos]) + end, emqx_bridge_worker:get_subscriptions(Name)); + +cli(["add-subscription", Name, Topic, Qos]) -> + case emqx_bridge_worker:ensure_subscription_present(Name, Topic, list_to_integer(Qos)) of + ok -> emqx_ctl:print("Add-subscription topic successfully.~n"); + {error, Reason} -> emqx_ctl:print("Add-subscription failed reason: ~p.~n", [Reason]) + end; + +cli(["del-subscription", Name, Topic]) -> + case emqx_bridge_worker:ensure_subscription_absent(Name, Topic) of + ok -> emqx_ctl:print("Del-subscription topic successfully.~n"); + {error, Reason} -> emqx_ctl:print("Del-subscription failed reason: ~p.~n", [Reason]) + end; + +cli(_) -> + emqx_ctl:usage([{"bridges list", "List bridges"}, + {"bridges start ", "Start a bridge"}, + {"bridges stop ", "Stop a bridge"}, + {"bridges forwards ", "Show a bridge forward topic"}, + {"bridges add-forward ", "Add bridge forward topic"}, + {"bridges del-forward ", "Delete bridge forward topic"}, + {"bridges subscriptions ", "Show a bridge subscriptions topic"}, + {"bridges add-subscription ", "Add bridge subscriptions topic"}, + {"bridges del-subscription ", "Delete bridge subscriptions topic"}]). + + diff --git a/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_sup.erl b/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_sup.erl new file mode 100644 index 000000000..e549b43ce --- /dev/null +++ b/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_sup.erl @@ -0,0 +1,84 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_bridge_mqtt_sup). +-behaviour(supervisor). + +-include("emqx_bridge_mqtt.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). + +-logger_header("[Bridge]"). + +%% APIs +-export([ start_link/0 + , start_link/1 + ]). + +-export([ create_bridge/2 + , drop_bridge/1 + , bridges/0 + , is_bridge_exist/1 + ]). + +%% supervisor callbacks +-export([init/1]). + +-define(SUP, ?MODULE). +-define(WORKER_SUP, emqx_bridge_worker_sup). + +start_link() -> start_link(?SUP). + +start_link(Name) -> + supervisor:start_link({local, Name}, ?MODULE, Name). + +init(?SUP) -> + BridgesConf = application:get_env(?APP, bridges, []), + BridgeSpec = lists:map(fun bridge_spec/1, BridgesConf), + SupFlag = #{strategy => one_for_one, + intensity => 100, + period => 10}, + {ok, {SupFlag, BridgeSpec}}. + +bridge_spec({Name, Config}) -> + #{id => Name, + start => {emqx_bridge_worker, start_link, [Name, Config]}, + restart => permanent, + shutdown => 5000, + type => worker, + modules => [emqx_bridge_worker]}. + +-spec(bridges() -> [{node(), map()}]). +bridges() -> + [{Name, emqx_bridge_worker:status(Pid)} || {Name, Pid, _, _} <- supervisor:which_children(?SUP)]. + +-spec(is_bridge_exist(atom() | pid()) -> boolean()). +is_bridge_exist(Id) -> + case supervisor:get_childspec(?SUP, Id) of + {ok, _ChildSpec} -> true; + {error, _Error} -> false + end. + +create_bridge(Id, Config) -> + supervisor:start_child(?SUP, bridge_spec({Id, Config})). + +drop_bridge(Id) -> + case supervisor:terminate_child(?SUP, Id) of + ok -> + supervisor:delete_child(?SUP, Id); + {error, Error} -> + ?LOG(error, "Delete bridge failed, error : ~p", [Error]), + {error, Error} + end. diff --git a/apps/emqx_bridge_mqtt/src/emqx_bridge_msg.erl b/apps/emqx_bridge_mqtt/src/emqx_bridge_msg.erl new file mode 100644 index 000000000..dca69d3df --- /dev/null +++ b/apps/emqx_bridge_mqtt/src/emqx_bridge_msg.erl @@ -0,0 +1,98 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_bridge_msg). + +-export([ to_binary/1 + , from_binary/1 + , to_export/3 + , to_broker_msgs/1 + , to_broker_msg/1 + , to_broker_msg/2 + , estimate_size/1 + ]). + +-export_type([msg/0]). + +-include_lib("emqx_libs/include/emqx.hrl"). + +-include_lib("emqx_bridge_mqtt/include/emqx_bridge_mqtt.hrl"). +-include_lib("emqtt/include/emqtt.hrl"). + + +-type msg() :: emqx_types:message(). +-type exp_msg() :: emqx_types:message() | #mqtt_msg{}. + +%% @doc Make export format: +%% 1. Mount topic to a prefix +%% 2. Fix QoS to 1 +%% @end +%% Shame that we have to know the callback module here +%% would be great if we can get rid of #mqtt_msg{} record +%% and use #message{} in all places. +-spec to_export(emqx_bridge_rpc | emqx_bridge_worker, + undefined | binary(), msg()) -> exp_msg(). +to_export(emqx_bridge_mqtt, Mountpoint, + #message{topic = Topic, + payload = Payload, + flags = Flags, + qos = QoS + }) -> + Retain = maps:get(retain, Flags, false), + #mqtt_msg{qos = QoS, + retain = Retain, + topic = topic(Mountpoint, Topic), + payload = Payload}; +to_export(_Module, Mountpoint, + #message{topic = Topic} = Msg) -> + Msg#message{topic = topic(Mountpoint, Topic)}. + +%% @doc Make `binary()' in order to make iodata to be persisted on disk. +-spec to_binary(msg()) -> binary(). +to_binary(Msg) -> term_to_binary(Msg). + +%% @doc Unmarshal binary into `msg()'. +-spec from_binary(binary()) -> msg(). +from_binary(Bin) -> binary_to_term(Bin). + +%% @doc Estimate the size of a message. +%% Count only the topic length + payload size +-spec estimate_size(msg()) -> integer(). +estimate_size(#message{topic = Topic, payload = Payload}) -> + size(Topic) + size(Payload). + +%% @doc By message/batch receiver, transform received batch into +%% messages to deliver to local brokers. +to_broker_msgs(Batch) -> lists:map(fun to_broker_msg/1, Batch). + +to_broker_msg(#message{} = Msg) -> + %% internal format from another EMQX node via rpc + Msg; +to_broker_msg(Msg) -> + to_broker_msg(Msg, undefined). +to_broker_msg(#{qos := QoS, dup := Dup, retain := Retain, topic := Topic, + properties := Props, payload := Payload}, Mountpoint) -> + %% published from remote node over a MQTT connection + set_headers(Props, + emqx_message:set_flags(#{dup => Dup, retain => Retain}, + emqx_message:make(bridge, QoS, topic(Mountpoint, Topic), Payload))). + +set_headers(undefined, Msg) -> + Msg; +set_headers(Val, Msg) -> + emqx_message:set_headers(Val, Msg). +topic(undefined, Topic) -> Topic; +topic(Prefix, Topic) -> emqx_topic:prepend(Prefix, Topic). diff --git a/apps/emqx_bridge_mqtt/src/emqx_bridge_rpc.erl b/apps/emqx_bridge_mqtt/src/emqx_bridge_rpc.erl new file mode 100644 index 000000000..92ef0c60a --- /dev/null +++ b/apps/emqx_bridge_mqtt/src/emqx_bridge_rpc.erl @@ -0,0 +1,99 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +%% @doc This module implements EMQX Bridge transport layer based on gen_rpc. + +-module(emqx_bridge_rpc). + +-behaviour(emqx_bridge_connect). + +%% behaviour callbacks +-export([ start/1 + , send/2 + , stop/1 + ]). + +%% Internal exports +-export([ handle_send/1 + , heartbeat/2 + ]). + +-type ack_ref() :: emqx_bridge_worker:ack_ref(). +-type batch() :: emqx_bridge_worker:batch(). + +-define(HEARTBEAT_INTERVAL, timer:seconds(1)). + +-define(RPC, emqx_rpc). + +start(#{address := Remote}) -> + case poke(Remote) of + ok -> + Pid = proc_lib:spawn_link(?MODULE, heartbeat, [self(), Remote]), + {ok, #{client_pid => Pid, address => Remote}}; + Error -> + Error + end. + +stop(#{client_pid := Pid}) when is_pid(Pid) -> + Ref = erlang:monitor(process, Pid), + unlink(Pid), + Pid ! stop, + receive + {'DOWN', Ref, process, Pid, _Reason} -> + ok + after + 1000 -> + exit(Pid, kill) + end, + ok. + +%% @doc Callback for `emqx_bridge_connect' behaviour +-spec send(node(), batch()) -> {ok, ack_ref()} | {error, any()}. +send(#{address := Remote}, Batch) -> + case ?RPC:call(Remote, ?MODULE, handle_send, [Batch]) of + ok -> + Ref = make_ref(), + self() ! {batch_ack, Ref}, + {ok, Ref}; + {badrpc, Reason} -> {error, Reason} + end. + +%% @doc Handle send on receiver side. +-spec handle_send(batch()) -> ok. +handle_send(Batch) -> + lists:foreach(fun(Msg) -> emqx_broker:publish(Msg) end, Batch). + +%% @hidden Heartbeat loop +heartbeat(Parent, RemoteNode) -> + Interval = ?HEARTBEAT_INTERVAL, + receive + stop -> exit(normal) + after + Interval -> + case poke(RemoteNode) of + ok -> + ?MODULE:heartbeat(Parent, RemoteNode); + {error, Reason} -> + Parent ! {disconnected, self(), Reason}, + exit(normal) + end + end. + +poke(Node) -> + case ?RPC:call(Node, erlang, node, []) of + Node -> ok; + {badrpc, Reason} -> {error, Reason} + end. diff --git a/apps/emqx_bridge_mqtt/src/emqx_bridge_worker.erl b/apps/emqx_bridge_mqtt/src/emqx_bridge_worker.erl new file mode 100644 index 000000000..57bd04d25 --- /dev/null +++ b/apps/emqx_bridge_mqtt/src/emqx_bridge_worker.erl @@ -0,0 +1,595 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +%% @doc Bridge works in two layers (1) batching layer (2) transport layer +%% The `bridge' batching layer collects local messages in batches and sends over +%% to remote MQTT node/cluster via `connetion' transport layer. +%% In case `REMOTE' is also an EMQX node, `connection' is recommended to be +%% the `gen_rpc' based implementation `emqx_bridge_rpc'. Otherwise `connection' +%% has to be `emqx_bridge_mqtt'. +%% +%% ``` +%% +------+ +--------+ +%% | EMQX | | REMOTE | +%% | | | | +%% | (bridge) <==(connection)==> | | +%% | | | | +%% | | | | +%% +------+ +--------+ +%% ''' +%% +%% +%% This module implements 2 kinds of APIs with regards to batching and +%% messaging protocol. (1) A `gen_statem' based local batch collector; +%% (2) APIs for incoming remote batches/messages. +%% +%% Batch collector state diagram +%% +%% [idle] --(0) --> [connecting] --(2)--> [connected] +%% | ^ | +%% | | | +%% '--(1)---'--------(3)------' +%% +%% (0): auto or manual start +%% (1): retry timeout +%% (2): successfuly connected to remote node/cluster +%% (3): received {disconnected, Reason} OR +%% failed to send to remote node/cluster. +%% +%% NOTE: A bridge worker may subscribe to multiple (including wildcard) +%% local topics, and the underlying `emqx_bridge_connect' may subscribe to +%% multiple remote topics, however, worker/connections are not designed +%% to support automatic load-balancing, i.e. in case it can not keep up +%% with the amount of messages comming in, administrator should split and +%% balance topics between worker/connections manually. +%% +%% NOTES: +%% * Local messages are all normalised to QoS-1 when exporting to remote + +-module(emqx_bridge_worker). +-behaviour(gen_statem). + +%% APIs +-export([ start_link/1 + , start_link/2 + , register_metrics/0 + , stop/1 + ]). + +%% gen_statem callbacks +-export([ terminate/3 + , code_change/4 + , init/1 + , callback_mode/0 + ]). + +%% state functions +-export([ idle/3 + , connected/3 + ]). + +%% management APIs +-export([ ensure_started/1 + , ensure_stopped/1 + , ensure_stopped/2 + , status/1 + ]). + +-export([ get_forwards/1 + , ensure_forward_present/2 + , ensure_forward_absent/2 + ]). + +-export([ get_subscriptions/1 + , ensure_subscription_present/3 + , ensure_subscription_absent/2 + ]). + +-export_type([ config/0 + , batch/0 + , ack_ref/0 + ]). + +-type id() :: atom() | string() | pid(). +-type qos() :: emqx_mqtt_types:qos(). +-type config() :: map(). +-type batch() :: [emqx_bridge_msg:exp_msg()]. +-type ack_ref() :: term(). +-type topic() :: emqx_topic:topic(). + +-include_lib("emqx_libs/include/logger.hrl"). +-include_lib("emqx_libs/include/emqx_mqtt.hrl"). + +-logger_header("[Bridge]"). + +%% same as default in-flight limit for emqtt +-define(DEFAULT_BATCH_SIZE, 32). +-define(DEFAULT_RECONNECT_DELAY_MS, timer:seconds(5)). +-define(DEFAULT_SEG_BYTES, (1 bsl 20)). +-define(DEFAULT_MAX_TOTAL_SIZE, (1 bsl 31)). +-define(NO_BRIDGE_HANDLER, undefined). + +%% @doc Start a bridge worker. Supported configs: +%% start_type: 'manual' (default) or 'auto', when manual, bridge will stay +%% at 'idle' state until a manual call to start it. +%% connect_module: The module which implements emqx_bridge_connect behaviour +%% and work as message batch transport layer +%% reconnect_delay_ms: Delay in milli-seconds for the bridge worker to retry +%% in case of transportation failure. +%% max_inflight_batches: Max number of batches allowed to send-ahead before +%% receiving confirmation from remote node/cluster +%% mountpoint: The topic mount point for messages sent to remote node/cluster +%% `undefined', `<<>>' or `""' to disable +%% forwards: Local topics to subscribe. +%% queue.batch_bytes_limit: Max number of bytes to collect in a batch for each +%% send call towards emqx_bridge_connect +%% queue.batch_count_limit: Max number of messages to collect in a batch for +%% each send call towards emqx_bridge_connect +%% queue.replayq_dir: Directory where replayq should persist messages +%% queue.replayq_seg_bytes: Size in bytes for each replayq segment file +%% +%% Find more connection specific configs in the callback modules +%% of emqx_bridge_connect behaviour. +start_link(Config) when is_list(Config) -> + start_link(maps:from_list(Config)); +start_link(Config) -> + gen_statem:start_link(?MODULE, Config, []). + +start_link(Name, Config) when is_list(Config) -> + start_link(Name, maps:from_list(Config)); +start_link(Name, Config) -> + Name1 = name(Name), + gen_statem:start_link({local, Name1}, ?MODULE, Config#{name => Name1}, []). + +ensure_started(Name) -> + gen_statem:call(name(Name), ensure_started). + +%% @doc Manually stop bridge worker. State idempotency ensured. +ensure_stopped(Id) -> + ensure_stopped(Id, 1000). + +ensure_stopped(Id, Timeout) -> + Pid = case id(Id) of + P when is_pid(P) -> P; + N -> whereis(N) + end, + case Pid of + undefined -> + ok; + _ -> + MRef = monitor(process, Pid), + unlink(Pid), + _ = gen_statem:call(id(Id), ensure_stopped, Timeout), + receive + {'DOWN', MRef, _, _, _} -> + ok + after + Timeout -> + exit(Pid, kill) + end + end. + +stop(Pid) -> gen_statem:stop(Pid). + +status(Pid) when is_pid(Pid) -> + gen_statem:call(Pid, status); +status(Id) -> + gen_statem:call(name(Id), status). + +%% @doc Return all forwards (local subscriptions). +-spec get_forwards(id()) -> [topic()]. +get_forwards(Id) -> gen_statem:call(id(Id), get_forwards, timer:seconds(1000)). + +%% @doc Return all subscriptions (subscription over mqtt connection to remote broker). +-spec get_subscriptions(id()) -> [{emqx_topic:topic(), qos()}]. +get_subscriptions(Id) -> gen_statem:call(id(Id), get_subscriptions). + +%% @doc Add a new forward (local topic subscription). +-spec ensure_forward_present(id(), topic()) -> ok. +ensure_forward_present(Id, Topic) -> + gen_statem:call(id(Id), {ensure_present, forwards, topic(Topic)}). + +%% @doc Ensure a forward topic is deleted. +-spec ensure_forward_absent(id(), topic()) -> ok. +ensure_forward_absent(Id, Topic) -> + gen_statem:call(id(Id), {ensure_absent, forwards, topic(Topic)}). + +%% @doc Ensure subscribed to remote topic. +%% NOTE: only applicable when connection module is emqx_bridge_mqtt +%% return `{error, no_remote_subscription_support}' otherwise. +-spec ensure_subscription_present(id(), topic(), qos()) -> ok | {error, any()}. +ensure_subscription_present(Id, Topic, QoS) -> + gen_statem:call(id(Id), {ensure_present, subscriptions, {topic(Topic), QoS}}). + +%% @doc Ensure unsubscribed from remote topic. +%% NOTE: only applicable when connection module is emqx_bridge_mqtt +-spec ensure_subscription_absent(id(), topic()) -> ok. +ensure_subscription_absent(Id, Topic) -> + gen_statem:call(id(Id), {ensure_absent, subscriptions, topic(Topic)}). + +callback_mode() -> [state_functions]. + +%% @doc Config should be a map(). +init(Config) -> + erlang:process_flag(trap_exit, true), + ConnectModule = maps:get(connect_module, Config), + Subscriptions = maps:get(subscriptions, Config, []), + Forwards = maps:get(forwards, Config, []), + Queue = open_replayq(Config), + State = init_opts(Config), + Topics = [iolist_to_binary(T) || T <- Forwards], + Subs = check_subscriptions(Subscriptions), + ConnectConfig = get_conn_cfg(Config), + ConnectFun = fun(SubsX) -> + emqx_bridge_connect:start(ConnectModule, ConnectConfig#{subscriptions => SubsX}) + end, + self() ! idle, + {ok, idle, State#{connect_module => ConnectModule, + connect_fun => ConnectFun, + forwards => Topics, + subscriptions => Subs, + replayq => Queue + }}. + +init_opts(Config) -> + IfRecordMetrics = maps:get(if_record_metrics, Config, true), + ReconnDelayMs = maps:get(reconnect_delay_ms, Config, ?DEFAULT_RECONNECT_DELAY_MS), + StartType = maps:get(start_type, Config, manual), + BridgeHandler = maps:get(bridge_handler, Config, ?NO_BRIDGE_HANDLER), + Mountpoint = maps:get(forward_mountpoint, Config, undefined), + ReceiveMountpoint = maps:get(receive_mountpoint, Config, undefined), + MaxInflightSize = maps:get(max_inflight_batches, Config, ?DEFAULT_BATCH_SIZE), + BatchSize = maps:get(batch_size, Config, ?DEFAULT_BATCH_SIZE), + Name = maps:get(name, Config, undefined), + #{start_type => StartType, + reconnect_delay_ms => ReconnDelayMs, + batch_size => BatchSize, + mountpoint => format_mountpoint(Mountpoint), + receive_mountpoint => ReceiveMountpoint, + inflight => [], + max_inflight => MaxInflightSize, + connection => undefined, + bridge_handler => BridgeHandler, + if_record_metrics => IfRecordMetrics, + name => Name}. + +open_replayq(Config) -> + QCfg = maps:get(queue, Config, #{}), + Dir = maps:get(replayq_dir, QCfg, undefined), + SegBytes = maps:get(replayq_seg_bytes, QCfg, ?DEFAULT_SEG_BYTES), + MaxTotalSize = maps:get(max_total_size, QCfg, ?DEFAULT_MAX_TOTAL_SIZE), + QueueConfig = case Dir =:= undefined orelse Dir =:= "" of + true -> #{mem_only => true}; + false -> #{dir => Dir, seg_bytes => SegBytes, max_total_size => MaxTotalSize} + end, + replayq:open(QueueConfig#{sizer => fun emqx_bridge_msg:estimate_size/1, + marshaller => fun msg_marshaller/1}). + +check_subscriptions(Subscriptions) -> + lists:map(fun({Topic, QoS}) -> + Topic1 = iolist_to_binary(Topic), + true = emqx_topic:validate({filter, Topic1}), + {Topic1, QoS} + end, Subscriptions). + +get_conn_cfg(Config) -> + maps:without([connect_module, + queue, + reconnect_delay_ms, + forwards, + mountpoint, + name + ], Config). + +code_change(_Vsn, State, Data, _Extra) -> + {ok, State, Data}. + +terminate(_Reason, _StateName, #{replayq := Q} = State) -> + _ = disconnect(State), + _ = replayq:close(Q), + ok. + +%% ensure_started will be deprecated in the future +idle({call, From}, ensure_started, State) -> + case do_connect(State) of + {ok, State1} -> + {next_state, connected, State1, [{reply, From, ok}, {state_timeout, 0, connected}]}; + {error, Reason} -> + {keep_state_and_data, [{reply, From, {error, Reason}}]} + end; +%% @doc Standing by for manual start. +idle(info, idle, #{start_type := manual}) -> + keep_state_and_data; +%% @doc Standing by for auto start. +idle(info, idle, #{start_type := auto} = State) -> + connecting(State); +idle(state_timeout, reconnect, State) -> + connecting(State); + +idle(info, {batch_ack, Ref}, State) -> + case do_ack(State, Ref) of + {ok, NewState} -> + {keep_state, NewState}; + _ -> + keep_state_and_data + end; + +idle(Type, Content, State) -> + common(idle, Type, Content, State). + +connecting(#{reconnect_delay_ms := ReconnectDelayMs} = State) -> + case do_connect(State) of + {ok, State1} -> + {next_state, connected, State1, {state_timeout, 0, connected}}; + _ -> + {keep_state_and_data, {state_timeout, ReconnectDelayMs, reconnect}} + end. + +connected(state_timeout, connected, #{inflight := Inflight} = State) -> + case retry_inflight(State, Inflight) of + {ok, NewState} -> + {keep_state, NewState, {next_event, internal, maybe_send}}; + {error, NewState} -> + {keep_state, NewState} + end; +connected(internal, maybe_send, State) -> + {_, NewState} = pop_and_send(State), + {keep_state, NewState}; + +connected(info, {disconnected, Conn, Reason}, + #{connection := Connection, name := Name, reconnect_delay_ms := ReconnectDelayMs} = State) -> + case Conn =:= maps:get(client_pid, Connection, undefined) of + true -> + ?LOG(info, "Bridge ~p diconnected~nreason=~p", [Name, Reason]), + {next_state, idle, State#{connection => undefined}, {state_timeout, ReconnectDelayMs, reconnect}}; + false -> + keep_state_and_data + end; +connected(info, {batch_ack, Ref}, State) -> + case do_ack(State, Ref) of + {ok, NewState} -> + {keep_state, NewState, {next_event, internal, maybe_send}}; + _ -> + keep_state_and_data + end; +connected(Type, Content, State) -> + common(connected, Type, Content, State). + +%% Common handlers +common(StateName, {call, From}, status, _State) -> + {keep_state_and_data, [{reply, From, StateName}]}; +common(_StateName, {call, From}, ensure_started, _State) -> + {keep_state_and_data, [{reply, From, connected}]}; +common(_StateName, {call, From}, ensure_stopped, _State) -> + {stop_and_reply, {shutdown, manual}, [{reply, From, ok}]}; +common(_StateName, {call, From}, get_forwards, #{forwards := Forwards}) -> + {keep_state_and_data, [{reply, From, Forwards}]}; +common(_StateName, {call, From}, get_subscriptions, #{subscriptions := Subs}) -> + {keep_state_and_data, [{reply, From, Subs}]}; +common(_StateName, {call, From}, {ensure_present, What, Topic}, State) -> + {Result, NewState} = ensure_present(What, Topic, State), + {keep_state, NewState, [{reply, From, Result}]}; +common(_StateName, {call, From}, {ensure_absent, What, Topic}, State) -> + {Result, NewState} = ensure_absent(What, Topic, State), + {keep_state, NewState, [{reply, From, Result}]}; +common(_StateName, info, {deliver, _, Msg}, #{replayq := Q, if_record_metrics := IfRecordMetric} = State) -> + bridges_metrics_inc(IfRecordMetric, 'bridge.mqtt.message_received'), + NewQ = replayq:append(Q, collect([Msg])), + {keep_state, State#{replayq => NewQ}, {next_event, internal, maybe_send}}; +common(_StateName, info, {'EXIT', _, _}, State) -> + {keep_state, State}; +common(StateName, Type, Content, #{name := Name} = State) -> + ?LOG(notice, "Bridge ~p discarded ~p type event at state ~p:~p", + [Name, Type, StateName, Content]), + {keep_state, State}. + +eval_bridge_handler(State = #{bridge_handler := ?NO_BRIDGE_HANDLER}, _Msg) -> + State; +eval_bridge_handler(State = #{bridge_handler := Handler}, Msg) -> + Handler(Msg), + State. + +ensure_present(Key, Topic, State) -> + Topics = maps:get(Key, State), + case is_topic_present(Topic, Topics) of + true -> + {ok, State}; + false -> + R = do_ensure_present(Key, Topic, State), + {R, State#{Key := lists:usort([Topic | Topics])}} + end. + +ensure_absent(Key, Topic, State) -> + Topics = maps:get(Key, State), + case is_topic_present(Topic, Topics) of + true -> + R = do_ensure_absent(Key, Topic, State), + {R, State#{Key := ensure_topic_absent(Topic, Topics)}}; + false -> + {ok, State} + end. + +ensure_topic_absent(_Topic, []) -> []; +ensure_topic_absent(Topic, [{_, _} | _] = L) -> lists:keydelete(Topic, 1, L); +ensure_topic_absent(Topic, L) -> lists:delete(Topic, L). + +is_topic_present({Topic, _QoS}, Topics) -> + is_topic_present(Topic, Topics); +is_topic_present(Topic, Topics) -> + lists:member(Topic, Topics) orelse false =/= lists:keyfind(Topic, 1, Topics). + +do_connect(#{forwards := Forwards, + subscriptions := Subs, + connect_fun := ConnectFun, + name := Name} = State) -> + ok = subscribe_local_topics(Forwards, Name), + case ConnectFun(Subs) of + {ok, Conn} -> + ?LOG(info, "Bridge ~p is connecting......", [Name]), + {ok, eval_bridge_handler(State#{connection => Conn}, connected)}; + {error, Reason} -> + {error, Reason, State} + end. + +do_ensure_present(forwards, Topic, #{name := Name}) -> + subscribe_local_topic(Topic, Name); +do_ensure_present(subscriptions, _Topic, #{connection := undefined}) -> + {error, no_connection}; +do_ensure_present(subscriptions, _Topic, #{connect_module := emqx_bridge_rpc}) -> + {error, no_remote_subscription_support}; +do_ensure_present(subscriptions, {Topic, QoS}, #{connect_module := ConnectModule, + connection := Conn}) -> + ConnectModule:ensure_subscribed(Conn, Topic, QoS). + +do_ensure_absent(forwards, Topic, _) -> + do_unsubscribe(Topic); +do_ensure_absent(subscriptions, _Topic, #{connection := undefined}) -> + {error, no_connection}; +do_ensure_absent(subscriptions, _Topic, #{connect_module := emqx_bridge_rpc}) -> + {error, no_remote_subscription_support}; +do_ensure_absent(subscriptions, Topic, #{connect_module := ConnectModule, + connection := Conn}) -> + ConnectModule:ensure_unsubscribed(Conn, Topic). + +collect(Acc) -> + receive + {deliver, _, Msg} -> + collect([Msg | Acc]) + after + 0 -> + lists:reverse(Acc) + end. + +%% Retry all inflight (previously sent but not acked) batches. +retry_inflight(State, []) -> {ok, State}; +retry_inflight(State, [#{q_ack_ref := QAckRef, batch := Batch} | Inflight]) -> + case do_send(State#{inflight := Inflight}, QAckRef, Batch) of + {ok, State1} -> retry_inflight(State1, Inflight); + {error, State1} -> {error, State1} + end. + +pop_and_send(#{inflight := Inflight, max_inflight := Max } = State) when length(Inflight) >= Max -> + {ok, State}; +pop_and_send(#{replayq := Q, connect_module := Module} = State) -> + case replayq:is_empty(Q) of + true -> + {ok, State}; + false -> + BatchSize = case Module of + emqx_bridge_rpc -> maps:get(batch_size, State); + _ -> 1 + end, + Opts = #{count_limit => BatchSize, bytes_limit => 999999999}, + {Q1, QAckRef, Batch} = replayq:pop(Q, Opts), + do_send(State#{replayq := Q1}, QAckRef, Batch) + end. + +%% Assert non-empty batch because we have a is_empty check earlier. +do_send(#{inflight := Inflight, + connect_module := Module, + connection := Connection, + mountpoint := Mountpoint, + if_record_metrics := IfRecordMetrics} = State, QAckRef, Batch) -> + ExportMsg = fun(Message) -> + bridges_metrics_inc(IfRecordMetrics, 'bridge.mqtt.message_sent'), + emqx_bridge_msg:to_export(Module, Mountpoint, Message) + end, + case Module:send(Connection, [ExportMsg(M) || M <- Batch]) of + {ok, Ref} -> + {ok, State#{inflight := Inflight ++ [#{q_ack_ref => QAckRef, + send_ack_ref => Ref, + batch => Batch}]}}; + {error, Reason} -> + ?LOG(info, "Batch produce failed~p", [Reason]), + {error, State} + end. + + +do_ack(#{inflight := []} = State, Ref) -> + ?LOG(error, "Can't be found from the inflight:~p", [Ref]), + {ok, State}; + +do_ack(#{inflight := [#{send_ack_ref := Ref, + q_ack_ref := QAckRef}| Rest], replayq := Q} = State, Ref) -> + ok = replayq:ack(Q, QAckRef), + {ok, State#{inflight => Rest}}; + +do_ack(#{inflight := [#{q_ack_ref := QAckRef, + batch := Batch}| Rest], replayq := Q} = State, Ref) -> + ok = replayq:ack(Q, QAckRef), + NewQ = replayq:append(Q, Batch), + do_ack(State#{replayq => NewQ, inflight => Rest}, Ref). + +subscribe_local_topics(Topics, Name) -> + lists:foreach(fun(Topic) -> subscribe_local_topic(Topic, Name) end, Topics). + +subscribe_local_topic(Topic, Name) -> + do_subscribe(Topic, Name). + +topic(T) -> iolist_to_binary(T). + +validate(RawTopic) -> + Topic = topic(RawTopic), + try emqx_topic:validate(Topic) of + _Success -> Topic + catch + error:Reason -> + error({bad_topic, Topic, Reason}) + end. + +do_subscribe(RawTopic, Name) -> + TopicFilter = validate(RawTopic), + {Topic, SubOpts} = emqx_topic:parse(TopicFilter, #{qos => ?QOS_1}), + emqx_broker:subscribe(Topic, Name, SubOpts). + +do_unsubscribe(RawTopic) -> + TopicFilter = validate(RawTopic), + {Topic, _SubOpts} = emqx_topic:parse(TopicFilter), + emqx_broker:unsubscribe(Topic). + +disconnect(#{connection := Conn, + connect_module := Module + } = State) when Conn =/= undefined -> + Module:stop(Conn), + State0 = State#{connection => undefined}, + eval_bridge_handler(State0, disconnected); +disconnect(State) -> + eval_bridge_handler(State, disconnected). + +%% Called only when replayq needs to dump it to disk. +msg_marshaller(Bin) when is_binary(Bin) -> emqx_bridge_msg:from_binary(Bin); +msg_marshaller(Msg) -> emqx_bridge_msg:to_binary(Msg). + +format_mountpoint(undefined) -> + undefined; +format_mountpoint(Prefix) -> + binary:replace(iolist_to_binary(Prefix), <<"${node}">>, atom_to_binary(node(), utf8)). + +name(Id) -> list_to_atom(lists:concat([?MODULE, "_", Id])). + +id(Pid) when is_pid(Pid) -> Pid; +id(Name) -> name(Name). + +register_metrics() -> + lists:foreach(fun emqx_metrics:ensure/1, + ['bridge.mqtt.message_sent', + 'bridge.mqtt.message_received' + ]). + +bridges_metrics_inc(true, Metric) -> + emqx_metrics:inc(Metric); +bridges_metrics_inc(_IsRecordMetric, _Metric) -> + ok. diff --git a/apps/emqx_bridge_mqtt/test/emqx_bridge_mqtt_tests.erl b/apps/emqx_bridge_mqtt/test/emqx_bridge_mqtt_tests.erl new file mode 100644 index 000000000..37db49e95 --- /dev/null +++ b/apps/emqx_bridge_mqtt/test/emqx_bridge_mqtt_tests.erl @@ -0,0 +1,47 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_bridge_mqtt_tests). + +-include_lib("eunit/include/eunit.hrl"). +-include_lib("emqx_libs/include/emqx_mqtt.hrl"). + +send_and_ack_test() -> + %% delegate from gen_rpc to rpc for unit test + meck:new(emqtt, [passthrough, no_history]), + meck:expect(emqtt, start_link, 1, + fun(_) -> + {ok, spawn_link(fun() -> ok end)} + end), + meck:expect(emqtt, connect, 1, {ok, dummy}), + meck:expect(emqtt, stop, 1, + fun(Pid) -> Pid ! stop end), + meck:expect(emqtt, publish, 2, + fun(Client, Msg) -> + Client ! {publish, Msg}, + {ok, Msg} %% as packet id + end), + try + Max = 1, + Batch = lists:seq(1, Max), + {ok, Conn} = emqx_bridge_mqtt:start(#{address => "127.0.0.1:1883"}), + % %% return last packet id as batch reference + {ok, _AckRef} = emqx_bridge_mqtt:send(Conn, Batch), + + ok = emqx_bridge_mqtt:stop(Conn) + after + meck:unload(emqtt) + end. \ No newline at end of file diff --git a/apps/emqx_bridge_mqtt/test/emqx_bridge_rpc_tests.erl b/apps/emqx_bridge_mqtt/test/emqx_bridge_rpc_tests.erl new file mode 100644 index 000000000..f79d12dfb --- /dev/null +++ b/apps/emqx_bridge_mqtt/test/emqx_bridge_rpc_tests.erl @@ -0,0 +1,42 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_bridge_rpc_tests). +-include_lib("eunit/include/eunit.hrl"). + +send_and_ack_test() -> + %% delegate from emqx_rpc to rpc for unit test + meck:new(emqx_rpc, [passthrough, no_history]), + meck:expect(emqx_rpc, call, 4, + fun(Node, Module, Fun, Args) -> + rpc:call(Node, Module, Fun, Args) + end), + meck:expect(emqx_rpc, cast, 4, + fun(Node, Module, Fun, Args) -> + rpc:cast(Node, Module, Fun, Args) + end), + meck:new(emqx_bridge_worker, [passthrough, no_history]), + try + {ok, #{client_pid := Pid, address := Node}} = emqx_bridge_rpc:start(#{address => node()}), + {ok, Ref} = emqx_bridge_rpc:send(#{address => Node}, []), + receive + {batch_ack, Ref} -> + ok + end, + ok = emqx_bridge_rpc:stop( #{client_pid => Pid}) + after + meck:unload(emqx_rpc) + end. diff --git a/apps/emqx_bridge_mqtt/test/emqx_bridge_worker_SUITE.erl b/apps/emqx_bridge_mqtt/test/emqx_bridge_worker_SUITE.erl new file mode 100644 index 000000000..3a2c541e7 --- /dev/null +++ b/apps/emqx_bridge_mqtt/test/emqx_bridge_worker_SUITE.erl @@ -0,0 +1,176 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_bridge_worker_SUITE). + +-export([ all/0 + , init_per_suite/1 + , end_per_suite/1]). +-export([ t_rpc/1 + , t_mqtt/1 + , t_mngr/1]). + +-include_lib("eunit/include/eunit.hrl"). +-include_lib("common_test/include/ct.hrl"). +-include_lib("emqx_libs/include/emqx_mqtt.hrl"). +-include_lib("emqx_libs/include/emqx.hrl"). + +-define(wait(For, Timeout), emqx_ct_helpers:wait_for(?FUNCTION_NAME, ?LINE, fun() -> For end, Timeout)). + +receive_messages(Count) -> + receive_messages(Count, []). + +receive_messages(0, Msgs) -> + Msgs; +receive_messages(Count, Msgs) -> + receive + {publish, Msg} -> + receive_messages(Count-1, [Msg|Msgs]); + _Other -> + receive_messages(Count, Msgs) + after 1000 -> + Msgs + end. + +all() -> [ t_rpc + , t_mqtt + , t_mngr + ]. + +init_per_suite(Config) -> + case node() of + nonode@nohost -> net_kernel:start(['emqx@127.0.0.1', longnames]); + _ -> ok + end, + ok = application:set_env(gen_rpc, tcp_client_num, 1), + emqx_ct_helpers:start_apps([emqx_bridge_mqtt]), + emqx_logger:set_log_level(error), + [{log_level, error} | Config]. + +end_per_suite(_Config) -> + emqx_ct_helpers:stop_apps([emqx_bridge_mqtt]). + +t_mngr(Config) when is_list(Config) -> + Subs = [{<<"a">>, 1}, {<<"b">>, 2}], + Cfg = #{address => node(), + forwards => [<<"mngr">>], + connect_module => emqx_bridge_rpc, + mountpoint => <<"forwarded">>, + subscriptions => Subs, + start_type => auto}, + Name = ?FUNCTION_NAME, + {ok, Pid} = emqx_bridge_worker:start_link(Name, Cfg), + try + ?assertEqual([<<"mngr">>], emqx_bridge_worker:get_forwards(Name)), + ?assertEqual(ok, emqx_bridge_worker:ensure_forward_present(Name, "mngr")), + ?assertEqual(ok, emqx_bridge_worker:ensure_forward_present(Name, "mngr2")), + ?assertEqual([<<"mngr">>, <<"mngr2">>], emqx_bridge_worker:get_forwards(Pid)), + ?assertEqual(ok, emqx_bridge_worker:ensure_forward_absent(Name, "mngr2")), + ?assertEqual(ok, emqx_bridge_worker:ensure_forward_absent(Name, "mngr3")), + ?assertEqual([<<"mngr">>], emqx_bridge_worker:get_forwards(Pid)), + ?assertEqual({error, no_remote_subscription_support}, + emqx_bridge_worker:ensure_subscription_present(Pid, <<"t">>, 0)), + ?assertEqual({error, no_remote_subscription_support}, + emqx_bridge_worker:ensure_subscription_absent(Pid, <<"t">>)), + ?assertEqual(Subs, emqx_bridge_worker:get_subscriptions(Pid)) + after + ok = emqx_bridge_worker:stop(Pid) + end. + +%% A loopback RPC to local node +t_rpc(Config) when is_list(Config) -> + Cfg = #{address => node(), + forwards => [<<"t_rpc/#">>], + connect_module => emqx_bridge_rpc, + forward_mountpoint => <<"forwarded">>, + start_type => auto}, + {ok, Pid} = emqx_bridge_worker:start_link(?FUNCTION_NAME, Cfg), + ClientId = <<"ClientId">>, + try + {ok, ConnPid} = emqtt:start_link([{clientid, ClientId}]), + {ok, _Props} = emqtt:connect(ConnPid), + {ok, _Props, [1]} = emqtt:subscribe(ConnPid, {<<"forwarded/t_rpc/one">>, ?QOS_1}), + timer:sleep(100), + {ok, _PacketId} = emqtt:publish(ConnPid, <<"t_rpc/one">>, <<"hello">>, ?QOS_1), + timer:sleep(100), + ?assertEqual(1, length(receive_messages(1))), + emqtt:disconnect(ConnPid) + after + ok = emqx_bridge_worker:stop(Pid) + end. + +%% Full data loopback flow explained: +%% mqtt-client ----> local-broker ---(local-subscription)---> +%% bridge(export) --- (mqtt-connection)--> local-broker ---(remote-subscription) --> +%% bridge(import) --> mqtt-client +t_mqtt(Config) when is_list(Config) -> + SendToTopic = <<"t_mqtt/one">>, + SendToTopic2 = <<"t_mqtt/two">>, + SendToTopic3 = <<"t_mqtt/three">>, + Mountpoint = <<"forwarded/${node}/">>, + Cfg = #{address => "127.0.0.1:1883", + forwards => [SendToTopic], + connect_module => emqx_bridge_mqtt, + forward_mountpoint => Mountpoint, + username => "user", + clean_start => true, + clientid => "bridge_aws", + keepalive => 60000, + password => "passwd", + proto_ver => mqttv4, + queue => #{replayq_dir => "data/t_mqtt/", + replayq_seg_bytes => 10000, + batch_bytes_limit => 1000, + batch_count_limit => 10 + }, + reconnect_delay_ms => 1000, + ssl => false, + %% Consume back to forwarded message for verification + %% NOTE: this is a indefenite loopback without mocking emqx_bridge_worker:import_batch/1 + subscriptions => [{SendToTopic2, _QoS = 1}], + receive_mountpoint => <<"receive/aws/">>, + start_type => auto}, + {ok, Pid} = emqx_bridge_worker:start_link(?FUNCTION_NAME, Cfg), + ClientId = <<"client-1">>, + try + ?assertEqual([{SendToTopic2, 1}], emqx_bridge_worker:get_subscriptions(Pid)), + ok = emqx_bridge_worker:ensure_subscription_present(Pid, SendToTopic3, _QoS = 1), + ?assertEqual([{SendToTopic3, 1},{SendToTopic2, 1}], + emqx_bridge_worker:get_subscriptions(Pid)), + {ok, ConnPid} = emqtt:start_link([{clientid, ClientId}]), + {ok, _Props} = emqtt:connect(ConnPid), + emqtt:subscribe(ConnPid, <<"forwarded/+/t_mqtt/one">>, 1), + %% message from a different client, to avoid getting terminated by no-local + Max = 10, + Msgs = lists:seq(1, Max), + lists:foreach(fun(I) -> + {ok, _PacketId} = emqtt:publish(ConnPid, SendToTopic, integer_to_binary(I), ?QOS_1) + end, Msgs), + ?assertEqual(10, length(receive_messages(200))), + + emqtt:subscribe(ConnPid, <<"receive/aws/t_mqtt/two">>, 1), + %% message from a different client, to avoid getting terminated by no-local + Max = 10, + Msgs = lists:seq(1, Max), + lists:foreach(fun(I) -> + {ok, _PacketId} = emqtt:publish(ConnPid, SendToTopic2, integer_to_binary(I), ?QOS_1) + end, Msgs), + ?assertEqual(10, length(receive_messages(200))), + + emqtt:disconnect(ConnPid) + after + ok = emqx_bridge_worker:stop(Pid) + end. diff --git a/apps/emqx_bridge_mqtt/test/emqx_bridge_worker_tests.erl b/apps/emqx_bridge_mqtt/test/emqx_bridge_worker_tests.erl new file mode 100644 index 000000000..1bf55d99d --- /dev/null +++ b/apps/emqx_bridge_mqtt/test/emqx_bridge_worker_tests.erl @@ -0,0 +1,172 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_bridge_worker_tests). +-behaviour(emqx_bridge_connect). + +-include_lib("eunit/include/eunit.hrl"). +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("emqx_libs/include/emqx_mqtt.hrl"). + +-define(BRIDGE_NAME, test). +-define(BRIDGE_REG_NAME, emqx_bridge_worker_test). +-define(WAIT(PATTERN, TIMEOUT), + receive + PATTERN -> + ok + after + TIMEOUT -> + error(timeout) + end). + +%% stub callbacks +-export([start/1, send/2, stop/1]). + +start(#{connect_result := Result, test_pid := Pid, test_ref := Ref}) -> + case is_pid(Pid) of + true -> Pid ! {connection_start_attempt, Ref}; + false -> ok + end, + Result. + +send(SendFun, Batch) when is_function(SendFun, 2) -> + SendFun(Batch). + +stop(_Pid) -> ok. + +%% bridge worker should retry connecting remote node indefinitely +% reconnect_test() -> +% emqx_metrics:start_link(), +% emqx_bridge_worker:register_metrics(), +% Ref = make_ref(), +% Config = make_config(Ref, self(), {error, test}), +% {ok, Pid} = emqx_bridge_worker:start_link(?BRIDGE_NAME, Config), +% %% assert name registered +% ?assertEqual(Pid, whereis(?BRIDGE_REG_NAME)), +% ?WAIT({connection_start_attempt, Ref}, 1000), +% %% expect same message again +% ?WAIT({connection_start_attempt, Ref}, 1000), +% ok = emqx_bridge_worker:stop(?BRIDGE_REG_NAME), +% emqx_metrics:stop(), +% ok. + +%% connect first, disconnect, then connect again +disturbance_test() -> + emqx_metrics:start_link(), + emqx_bridge_worker:register_metrics(), + Ref = make_ref(), + TestPid = self(), + Config = make_config(Ref, TestPid, {ok, #{client_pid => TestPid}}), + {ok, Pid} = emqx_bridge_worker:start_link(?BRIDGE_NAME, Config), + ?assertEqual(Pid, whereis(?BRIDGE_REG_NAME)), + ?WAIT({connection_start_attempt, Ref}, 1000), + Pid ! {disconnected, TestPid, test}, + ?WAIT({connection_start_attempt, Ref}, 1000), + emqx_metrics:stop(), + ok = emqx_bridge_worker:stop(?BRIDGE_REG_NAME). + +% % %% buffer should continue taking in messages when disconnected +% buffer_when_disconnected_test_() -> +% {timeout, 10000, fun test_buffer_when_disconnected/0}. + +% test_buffer_when_disconnected() -> +% Ref = make_ref(), +% Nums = lists:seq(1, 100), +% Sender = spawn_link(fun() -> receive {bridge, Pid} -> sender_loop(Pid, Nums, _Interval = 5) end end), +% SenderMref = monitor(process, Sender), +% Receiver = spawn_link(fun() -> receive {bridge, Pid} -> receiver_loop(Pid, Nums, _Interval = 1) end end), +% ReceiverMref = monitor(process, Receiver), +% SendFun = fun(Batch) -> +% BatchRef = make_ref(), +% Receiver ! {batch, BatchRef, Batch}, +% {ok, BatchRef} +% end, +% Config0 = make_config(Ref, false, {ok, #{client_pid => undefined}}), +% Config = Config0#{reconnect_delay_ms => 100}, +% emqx_metrics:start_link(), +% emqx_bridge_worker:register_metrics(), +% {ok, Pid} = emqx_bridge_worker:start_link(?BRIDGE_NAME, Config), +% Sender ! {bridge, Pid}, +% Receiver ! {bridge, Pid}, +% ?assertEqual(Pid, whereis(?BRIDGE_REG_NAME)), +% Pid ! {disconnected, Ref, test}, +% ?WAIT({'DOWN', SenderMref, process, Sender, normal}, 5000), +% ?WAIT({'DOWN', ReceiverMref, process, Receiver, normal}, 1000), +% ok = emqx_bridge_worker:stop(?BRIDGE_REG_NAME), +% emqx_metrics:stop(). + +manual_start_stop_test() -> + emqx_metrics:start_link(), + emqx_bridge_worker:register_metrics(), + Ref = make_ref(), + TestPid = self(), + Config0 = make_config(Ref, TestPid, {ok, #{client_pid => TestPid}}), + Config = Config0#{start_type := manual}, + {ok, Pid} = emqx_bridge_worker:start_link(?BRIDGE_NAME, Config), + %% call ensure_started again should yeld the same result + ok = emqx_bridge_worker:ensure_started(?BRIDGE_NAME), + ?assertEqual(Pid, whereis(?BRIDGE_REG_NAME)), + emqx_bridge_worker:ensure_stopped(unknown), + emqx_bridge_worker:ensure_stopped(Pid), + emqx_bridge_worker:ensure_stopped(?BRIDGE_REG_NAME), + emqx_metrics:stop(). + +%% Feed messages to bridge +sender_loop(_Pid, [], _) -> exit(normal); +sender_loop(Pid, [Num | Rest], Interval) -> + random_sleep(Interval), + Pid ! {deliver, dummy, make_msg(Num)}, + sender_loop(Pid, Rest, Interval). + +%% Feed acknowledgments to bridge +receiver_loop(_Pid, [], _) -> ok; +receiver_loop(Pid, Nums, Interval) -> + receive + {batch, BatchRef, Batch} -> + Rest = match_nums(Batch, Nums), + random_sleep(Interval), + emqx_bridge_worker:handle_ack(Pid, BatchRef), + receiver_loop(Pid, Rest, Interval) + end. + +random_sleep(MaxInterval) -> + case rand:uniform(MaxInterval) - 1 of + 0 -> ok; + T -> timer:sleep(T) + end. + +match_nums([], Rest) -> Rest; +match_nums([#message{payload = P} | Rest], Nums) -> + I = binary_to_integer(P), + case Nums of + [I | NumsLeft] -> match_nums(Rest, NumsLeft); + [J | _] when J > I -> match_nums(Rest, Nums); %% allow retry + _ -> error([{received, I}, {expecting, Nums}]) + end. + +make_config(Ref, TestPid, Result) -> + #{test_pid => TestPid, + test_ref => Ref, + connect_module => ?MODULE, + reconnect_delay_ms => 50, + connect_result => Result, + start_type => auto + }. + +make_msg(I) -> + Payload = integer_to_binary(I), + emqx_message:make(<<"test/topic">>, Payload). + diff --git a/apps/emqx_coap/README.md b/apps/emqx_coap/README.md new file mode 100644 index 000000000..2da7b9fca --- /dev/null +++ b/apps/emqx_coap/README.md @@ -0,0 +1,254 @@ + +# emqx-coap + +emqx-coap is a CoAP Gateway for EMQ X Broker. It translates CoAP messages into MQTT messages and make it possible to communiate between CoAP clients and MQTT clients. + +### Client Usage Example +libcoap is an excellent coap library which has a simple client tool. It is recommended to use libcoap as a coap client. + +To compile libcoap, do following steps: + +``` +git clone http://github.com/obgm/libcoap +cd libcoap +./autogen.sh +./configure --enable-documentation=no --enable-tests=no +make +``` + +### Publish example: +``` +libcoap/examples/coap-client -m put -e 1234 "coap://127.0.0.1/mqtt/topic1?c=client1&u=tom&p=secret" +``` +- topic name is "topic1", NOT "/topic1" +- client id is client1 +- username is tom +- password is secret +- payload is a text string "1234" + +A mqtt message with topic="topic1", payload="1234" has been published. Any mqtt client or coap client, who has subscribed this topic could receive this message immediately. + +### Subscribe example: + +``` +libcoap/examples/coap-client -m get -s 10 "coap://127.0.0.1/mqtt/topic1?c=client1&u=tom&p=secret" +``` +- topic name is "topic1", NOT "/topic1" +- client id is client1 +- username is tom +- password is secret +- subscribe time is 10 seconds + +And you will get following result if any mqtt client or coap client sent message with text "1234567" to "topic1": + +``` +v:1 t:CON c:GET i:31ae {} [ ] +1234567v:1 t:CON c:GET i:31af {} [ Observe:1, Uri-Path:mqtt, Uri-Path:topic1, Uri-Query:c=client1, Uri-Query:u=tom, Uri-Query:p=secret ] +``` +The output message is not well formatted which hide "1234567" at the head of the 2nd line. + +### Configure + +#### Common + +File: etc/emqx_coap.conf + +```properties + +## The UDP port that CoAP is listening on. +## +## Value: Port +coap.port = 5683 + +## Interval for keepalive, specified in seconds. +## +## Value: Duration +## -s: seconds +## -m: minutes +## -h: hours +coap.keepalive = 120s + +## Whether to enable statistics for CoAP clients. +## +## Value: on | off +coap.enable_stats = off + +``` + +#### DTLS + +emqx_coap enable one-way authentication by default. + +If you want to disable it, comment these lines. + +File: etc/emqx_coap.conf + +```properties + +## The DTLS port that CoAP is listening on. +## +## Value: Port +coap.dtls.port = 5684 + +## Private key file for DTLS +## +## Value: File +coap.dtls.keyfile = {{ platform_etc_dir }}/certs/key.pem + +## Server certificate for DTLS. +## +## Value: File +coap.dtls.certfile = {{ platform_etc_dir }}/certs/cert.pem + +``` + +##### Enable two-way autentication + +For two-way autentication: + +```properties + +## A server only does x509-path validation in mode verify_peer, +## as it then sends a certificate request to the client (this +## message is not sent if the verify option is verify_none). +## You can then also want to specify option fail_if_no_peer_cert. +## More information at: http://erlang.org/doc/man/ssl.html +## +## Value: verify_peer | verify_none +## coap.dtls.verify = verify_peer + +## PEM-encoded CA certificates for DTLS +## +## Value: File +## coap.dtls.cacertfile = {{ platform_etc_dir }}/certs/cacert.pem + +## Used together with {verify, verify_peer} by an SSL server. If set to true, +## the server fails if the client does not have a certificate to send, that is, +## sends an empty certificate. +## +## Value: true | false +## coap.dtls.fail_if_no_peer_cert = false + +``` + +### Load emqx-coap + +```bash +./bin/emqx_ctl plugins load emqx_coap +``` + +CoAP Client Observe Operation (subscribe topic) +----------------------------------------------- +To subscribe any topic, issue following command: + +``` + GET coap://localhost/mqtt/{topicname}?c={clientid}&u={username}&p={password} with OBSERVE=0 +``` + +- "mqtt" in the path is mandatory. +- replace {topicname}, {clientid}, {username} and {password} with your true values. +- {topicname} and {clientid} is mandatory. +- if clientid is absent, a "bad_request" will be returned. +- {topicname} in URI should be percent-encoded to prevent special characters, such as + and #. +- {username} and {password} are optional. +- if {username} and {password} are not correct, an uauthorized error will be returned. +- topic is subscribed with qos1. + +CoAP Client Unobserve Operation (unsubscribe topic) +--------------------------------------------------- +To cancel observation, issue following command: + +``` + GET coap://localhost/mqtt/{topicname}?c={clientid}&u={username}&p={password} with OBSERVE=1 +``` + +- "mqtt" in the path is mandatory. +- replace {topicname}, {clientid}, {username} and {password} with your true values. +- {topicname} and {clientid} is mandatory. +- if clientid is absent, a "bad_request" will be returned. +- {topicname} in URI should be percent-encoded to prevent special characters, such as + and #. +- {username} and {password} are optional. +- if {username} and {password} are not correct, an uauthorized error will be returned. + +CoAP Client Notification Operation (subscribed Message) +------------------------------------------------------- +Server will issue an observe-notification as a subscribed message. + +- Its payload is exactly the mqtt payload. +- payload data type is "application/octet-stream". + +CoAP Client Publish Operation +----------------------------- +Issue a coap put command to do publishment. For example: + +``` + PUT coap://localhost/mqtt/{topicname}?c={clientid}&u={username}&p={password} +``` + +- "mqtt" in the path is mandatory. +- replace {topicname}, {clientid}, {username} and {password} with your true values. +- {topicname} and {clientid} is mandatory. +- if clientid is absent, a "bad_request" will be returned. +- {topicname} in URI should be percent-encoded to prevent special characters, such as + and #. +- {username} and {password} are optional. +- if {username} and {password} are not correct, an uauthorized error will be returned. +- payload could be any binary data. +- payload data type is "application/octet-stream". +- publish message will be sent with qos0. + +CoAP Client Keep Alive +---------------------- +Device should issue a get command periodically, serve as a ping to keep mqtt session online. + +``` + GET coap://localhost/mqtt/{any_topicname}?c={clientid}&u={username}&p={password} +``` + +- "mqtt" in the path is mandatory. +- replace {any_topicname}, {clientid}, {username} and {password} with your true values. +- {any_topicname} is optional, and should be percent-encoded to prevent special characters. +- {clientid} is mandatory. If clientid is absent, a "bad_request" will be returned. +- {username} and {password} are optional. +- if {username} and {password} are not correct, an uauthorized error will be returned. +- coap client should do keepalive work periodically to keep mqtt session online, especially those devices in a NAT network. + + +CoAP Client NOTES +----------------- +emqx-coap gateway does not accept POST and DELETE requests. + +Topics in URI should be percent-encoded, but corresponding uri_path option has percent-encoding converted. Please refer to RFC 7252 section 6.4, "Decomposing URIs into Options": + +> Note that these rules completely resolve any percent-encoding. + +That implies coap client is responsible to convert any percert-encoding into true character while assembling coap packet. + + +ClientId, Username, Password and Topic +-------------------------------------- +ClientId/username/password/topic in the coap URI are the concepts in mqtt. That is to say, emqx-coap is trying to fit coap message into mqtt system, by borrowing the client/username/password/topic from mqtt. + +The Auth/ACL/Hook features in mqtt also applies on coap stuff. For example: +- If username/password is not authorized, coap client will get an uauthorized error. +- If username or clientid is not allowed to published specific topic, coap message will be dropped in fact, although coap client will get an acknoledgement from emqx-coap. +- If a coap message is published, a 'message.publish' hook is able to capture this message as well. + +well-known locations +-------------------- +Discovery always return "," + +For example +``` +libcoap/examples/coap-client -m get "coap://127.0.0.1/.well-known/core" +``` + +License +------- + +Apache License Version 2.0 + +Author +------ + +EMQ X Team. + diff --git a/apps/emqx_coap/TODO b/apps/emqx_coap/TODO new file mode 100644 index 000000000..2af129d6c --- /dev/null +++ b/apps/emqx_coap/TODO @@ -0,0 +1,13 @@ +1. Remove the test/test_mqtt_broker and use emqx-ct-helpers -> Done! + - Enhance all test case + +2. Remove the mqtt adaptor +3. Remove the emqx_coap_ps_topics.erl + + +### Problems + +1. The coap-client of libcoap does not support Fragment DTLS handshake frame + * So, the connection will be established failed, if the 'Server Hello' frame is too big + * Why is the 'Server Hello' too big when enable the 'coap.dtls.cacertfile' option? +2. diff --git a/apps/emqx_coap/docs/rfc7049.pdf b/apps/emqx_coap/docs/rfc7049.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a16db36ef75fada5d370bef3e70df56b733547df GIT binary patch literal 157813 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

    ",u+='
    ';var f=this._decodeMetadata(t.tokens2[1+(s<<1)]);u+='',u+='",u+='",u+='",u+='",u+='",u+="",u+='
    ',n'+Object(a.o)(t.tokens1[n].type)+""),this._domNode.innerHTML=u,this._editor.layoutContentWidget(this)},t.prototype._decodeMetadata=function(e){var t=c.y.getColorMap(),n=c.x.getLanguageId(e),i=c.x.getTokenType(e),r=c.x.getFontStyle(e),o=c.x.getForeground(e),s=c.x.getBackground(e);return{languageIdentifier:this._modeService.getLanguageIdentifier(n),tokenType:i,fontStyle:r,foreground:t[o],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),n=this._tokenizationSupport.tokenize(this._model.getLineContent(e),t,0),i=this._tokenizationSupport.tokenize2(this._model.getLineContent(e),t,0);return{startState:t,tokens1:n.tokens,tokens2:i.tokens,endState:n.endState}},t.prototype._getStateBeforeLine=function(e){for(var t=this._tokenizationSupport.getInitialState(),n=1;n0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=o)return e;switch(e){case"%s":return String(i[n++]);case"%d":return Number(i[n++]);case"%j":try{return JSON.stringify(i[n++])}catch(e){return"[Circular]"}default:return e}}),u=i[n];n=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),p(n)?i.showHidden=n:n&&t._extend(i,n),_(i.showHidden)&&(i.showHidden=!1),_(i.depth)&&(i.depth=2),_(i.colors)&&(i.colors=!1),_(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=u),l(i,e,i.depth)}function u(e,t){var n=a.styles[t];return n?"["+a.colors[n][0]+"m"+e+"["+a.colors[n][1]+"m":e}function c(e,t){return e}function l(e,n,i){if(e.customInspect&&n&&S(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var r=n.inspect(i,e);return v(r)||(r=l(e,r,i)),r}var o=function(e,t){if(_(t))return e.stylize("undefined","undefined");if(v(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}if(m(t))return e.stylize(""+t,"number");if(p(t))return e.stylize(""+t,"boolean");if(g(t))return e.stylize("null","null")}(e,n);if(o)return o;var s=Object.keys(n),a=function(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(n)),C(n)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return d(n);if(0===s.length){if(S(n)){var u=n.name?": "+n.name:"";return e.stylize("[Function"+u+"]","special")}if(b(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(w(n))return e.stylize(Date.prototype.toString.call(n),"date");if(C(n))return d(n)}var c,y="",x=!1,L=["{","}"];(f(n)&&(x=!0,L=["[","]"]),S(n))&&(y=" [Function"+(n.name?": "+n.name:"")+"]");return b(n)&&(y=" "+RegExp.prototype.toString.call(n)),w(n)&&(y=" "+Date.prototype.toUTCString.call(n)),C(n)&&(y=" "+d(n)),0!==s.length||x&&0!=n.length?i<0?b(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special"):(e.seen.push(n),c=x?function(e,t,n,i,r){for(var o=[],s=0,a=t.length;s=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1];return n[0]+t+" "+e.join(", ")+" "+n[1]}(c,y,L)):L[0]+y+L[1]}function d(e){return"["+Error.prototype.toString.call(e)+"]"}function h(e,t,n,i,r,o){var s,a,u;if((u=Object.getOwnPropertyDescriptor(t,r)||{value:t[r]}).get?a=u.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):u.set&&(a=e.stylize("[Setter]","special")),k(i,r)||(s="["+r+"]"),a||(e.seen.indexOf(u.value)<0?(a=g(n)?l(e,u.value,null):l(e,u.value,n-1)).indexOf("\n")>-1&&(a=o?a.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+a.split("\n").map(function(e){return" "+e}).join("\n")):a=e.stylize("[Circular]","special")),_(s)){if(o&&r.match(/^\d+$/))return a;(s=JSON.stringify(""+r)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+a}function f(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function g(e){return null===e}function m(e){return"number"==typeof e}function v(e){return"string"==typeof e}function _(e){return void 0===e}function b(e){return y(e)&&"[object RegExp]"===x(e)}function y(e){return"object"==typeof e&&null!==e}function w(e){return y(e)&&"[object Date]"===x(e)}function C(e){return y(e)&&("[object Error]"===x(e)||e instanceof Error)}function S(e){return"function"==typeof e}function x(e){return Object.prototype.toString.call(e)}function L(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(n){if(_(o)&&(o=Object({NODE_ENV:"production"}).NODE_DEBUG||""),n=n.toUpperCase(),!s[n])if(new RegExp("\\b"+n+"\\b","i").test(o)){var i=e.pid;s[n]=function(){var e=t.format.apply(t,arguments);console.error("%s %d: %s",n,i,e)}}else s[n]=function(){};return s[n]},t.inspect=a,a.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},a.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=f,t.isBoolean=p,t.isNull=g,t.isNullOrUndefined=function(e){return null==e},t.isNumber=m,t.isString=v,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=_,t.isRegExp=b,t.isObject=y,t.isDate=w,t.isError=C,t.isFunction=S,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=n("fC4T");var O=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function k(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,n;console.log("%s - %s",(e=new Date,n=[L(e.getHours()),L(e.getMinutes()),L(e.getSeconds())].join(":"),[e.getDate(),O[e.getMonth()],n].join(" ")),t.format.apply(t,arguments))},t.inherits=n("ONRY"),t._extend=function(e,t){if(!t||!y(t))return e;for(var n=Object.keys(t),i=n.length;i--;)e[n[i]]=t[n[i]];return e};var N="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function E(e,t){if(!e){var n=new Error("Promise was rejected with a falsy value");n.reason=e,e=n}return t(e)}t.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(N&&e[N]){var t;if("function"!=typeof(t=e[N]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,N,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,n,i=new Promise(function(e,i){t=e,n=i}),r=[],o=0;or&&(r=a)}return r}if("string"==typeof e)return i?"*"===e?5:e===n?10:0:0;if(e){var l=e.language,d=e.pattern,h=e.scheme,f=e.hasAccessToAllModels;if(!i&&!f)return 0;r=0;if(h)if(h===t.scheme)r=10;else{if("*"!==h)return 0;r=5}if(l)if(l===n)r=10;else{if("*"!==l)return 0;r=Math.max(r,5)}if(d){if(d!==t.fsPath&&!Object(u.a)(d,t.fsPath))return 0;r=10}return r}return 0}var l=n("jIdl");function d(e){return"string"!=typeof e&&(Array.isArray(e)?e.every(d):!!e.exclusive)}var h=function(){function e(){this._clock=0,this._entries=[],this._onDidChange=new s.a}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){var n=this,i={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(i),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),Object(a.h)(function(){if(i){var e=n._entries.indexOf(i);e>=0&&(n._entries.splice(e,1),n._lastCandidate=void 0,n._onDidChange.fire(n._entries.length),i=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=[],n=0,i=this._entries;n0&&t.push(r.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,n,i=[];return this._orderedForEach(e,function(e){t&&n===e._score?t.push(e.provider):(n=e._score,t=[e.provider],i.push(t))}),i},e.prototype._orderedForEach=function(e,t){if(e){this._updateScores(e);for(var n=0,i=this._entries;n0&&t(r)}}},e.prototype._updateScores=function(t){var n={uri:t.uri.toString(),language:t.getLanguageIdentifier().language};if(!this._lastCandidate||this._lastCandidate.language!==n.language||this._lastCandidate.uri!==n.uri){this._lastCandidate=n;for(var i=0,r=this._entries;i0){for(var s=0,a=this._entries;st._score?-1:e._timet._time?-1:0},e}(),f=n("WTFd"),p=function(){function e(){this._map=new Map,this._promises=new Map,this._onDidChange=new s.a,this.onDidChange=this._onDidChange.event,this._colorMap=null}return e.prototype.fire=function(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})},e.prototype.register=function(e,t){var n=this;return this._map.set(e,t),this.fire([e]),Object(a.h)(function(){n._map.get(e)===t&&(n._map.delete(e),n.fire([e]))})},e.prototype.registerPromise=function(e,t){var n=this,i=null,r=!1;return this._promises.set(e,t.then(function(t){n._promises.delete(e),!r&&t&&(i=n.register(e,t))})),Object(a.h)(function(){r=!0,i&&i.dispose()})},e.prototype.getPromise=function(e){var t=this,n=this.get(e);if(n)return Promise.resolve(n);var i=this._promises.get(e);return i?i.then(function(n){return t.get(e)}):null},e.prototype.get=function(e){return Object(i.n)(this._map.get(e))},e.prototype.setColorMap=function(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Object(f.d)(this._map),changedColorMap:!0})},e.prototype.getColorMap=function(){return this._colorMap},e.prototype.getDefaultBackground=function(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null},e}();n.d(t,"p",function(){return _}),n.d(t,"x",function(){return b}),n.d(t,"B",function(){return y}),n.d(t,"A",function(){return w}),n.d(t,"w",function(){return m}),n.d(t,"h",function(){return v}),t.C=function(e){return e&&r.a.isUri(e.uri)&&o.a.isIRange(e.range)&&(o.a.isIRange(e.originSelectionRange)||o.a.isIRange(e.targetSelectionRange))},n.d(t,"E",function(){return S}),n.d(t,"l",function(){return x}),t.D=function(e){return Object(i.h)(e)&&e.resource&&Array.isArray(e.edits)},n.d(t,"s",function(){return L}),n.d(t,"t",function(){return O}),n.d(t,"d",function(){return k}),n.d(t,"v",function(){return N}),n.d(t,"n",function(){return E}),n.d(t,"k",function(){return I}),n.d(t,"i",function(){return D}),n.d(t,"f",function(){return M}),n.d(t,"e",function(){return T}),n.d(t,"o",function(){return P}),n.d(t,"z",function(){return A}),n.d(t,"b",function(){return R}),n.d(t,"a",function(){return F}),n.d(t,"g",function(){return j}),n.d(t,"j",function(){return W}),n.d(t,"r",function(){return B}),n.d(t,"q",function(){return V}),n.d(t,"c",function(){return H}),n.d(t,"u",function(){return z}),n.d(t,"m",function(){return U}),n.d(t,"y",function(){return K});var g,m,v,_=function(){return function(e,t){this.language=e,this.id=t}}(),b=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),n=this.getFontStyle(e);return 1&n&&(t+=" mtki"),2&n&&(t+=" mtkb"),4&n&&(t+=" mtku"),t},e.getInlineStyleFromMetadata=function(e,t){var n=this.getForeground(e),i=this.getFontStyle(e),r="color: "+t[n]+";";return 1&i&&(r+="font-style: italic;"),2&i&&(r+="font-weight: bold;"),4&i&&(r+="text-decoration: underline;"),r},e}(),y=((g=Object.create(null))[0]="method",g[1]="function",g[2]="constructor",g[3]="field",g[4]="variable",g[5]="class",g[6]="struct",g[7]="interface",g[8]="module",g[9]="property",g[10]="event",g[11]="operator",g[12]="unit",g[13]="value",g[14]="constant",g[15]="enum",g[16]="enum-member",g[17]="keyword",g[25]="snippet",g[18]="text",g[19]="color",g[20]="file",g[21]="reference",g[22]="customcolor",g[23]="folder",g[24]="type-parameter",function(e){return g[e]||"property"}),w=function(){var e=Object.create(null);return e.method=0,e.function=1,e.constructor=2,e.field=3,e.variable=4,e.class=5,e.struct=6,e.interface=7,e.module=8,e.property=9,e.event=10,e.operator=11,e.unit=12,e.value=13,e.constant=14,e.enum=15,e["enum-member"]=16,e.enumMember=16,e.keyword=17,e.snippet=25,e.text=18,e.color=19,e.file=20,e.reference=21,e.customcolor=22,e.folder=23,e["type-parameter"]=24,e.typeParameter=24,function(t,n){var i=e[t];return void 0!==i||n||(i=9),i}}();!function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(m||(m={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(v||(v={}));var C,S=((C=Object.create(null))[0]="file",C[1]="module",C[2]="namespace",C[3]="package",C[4]="class",C[5]="method",C[6]="property",C[7]="field",C[8]="constructor",C[9]="enum",C[10]="interface",C[11]="function",C[12]="variable",C[13]="constant",C[14]="string",C[15]="number",C[16]="boolean",C[17]="array",C[18]="object",C[19]="key",C[20]="null",C[21]="enum-member",C[22]="struct",C[23]="event",C[24]="operator",C[25]="type-parameter",function(e,t){return"symbol-icon "+(t?"inline":"block")+" "+(C[e]||"property")}),x=function(){function e(e){this.value=e}return e.Comment=new e("comment"),e.Imports=new e("imports"),e.Region=new e("region"),e}();var L=new h,O=new h,k=new h,N=new h,E=new h,I=new h,D=new h,M=new h,T=new h,P=new h,A=new h,R=new h,F=new h,j=new h,W=new h,B=new h,V=new h,H=new h,z=new h,U=new h,K=new p},Pb27:function(e,t,n){"use strict";n.d(t,"b",function(){return b}),n.d(t,"a",function(){return y});var i=n("hK2W"),r=n("zxiH"),o=n("tqet"),s=n("vORD"),a=n("JVO/"),u=n("7g0X"),c=n("Gzpe"),l=n("Cfmk"),d=n("ni2T"),h=n("vTy2"),f=n("artP"),p=n("fAkY"),g=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},v=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},_=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]0&&0===n.indexOf(":")){for(var g=null,m=null,v=0,_=0;_0)):v++}m&&m.setGroupLabel(this.typeToLabel(g||"",v))}else r.length>0&&r[0].setGroupLabel(s.r(I.e._symbols_,r.length));return r},t.prototype.typeToLabel=function(e,t){switch(e){case"module":return s.r(I.e._modules_,t);case"class":return s.r(I.e._class_,t);case"interface":return s.r(I.e._interface_,t);case"method":return s.r(I.e._method_,t);case"function":return s.r(I.e._function_,t);case"property":return s.r(I.e._property_,t);case"variable":return s.r(I.e._variable_,t);case"var":return s.r(I.e._variable2_,t);case"constructor":return s.r(I.e._constructor_,t);case"call":return s.r(I.e._call_,t)}return e},t.prototype.sortNormal=function(e,t,n){var i=t.getLabel().toLowerCase(),r=n.getLabel().toLowerCase(),o=i.localeCompare(r);if(0!==o)return o;var s=t.getRange(),a=n.getRange();return s.startLineNumber-a.startLineNumber},t.prototype.sortScoped=function(e,t,n){e=e.substr(":".length);var i=t.getType(),r=n.getType(),o=i.localeCompare(r);if(0!==o)return o;if(e){var s=t.getLabel().toLowerCase(),a=n.getLabel().toLowerCase(),u=s.localeCompare(a);if(0!==u)return u}var c=t.getRange(),l=n.getRange();return c.startLineNumber-l.startLineNumber},t}(E.a);Object(u.f)(T)},QfwU:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,r=n("UqCF"),o=n("odeJ"),s=n("uNfg"),a=n("ZfGv"),u=n("03Zz"),c=n("vORD"),l=n("vTy2"),d=n("/9db"),h=n("PCC9"),f=n("Cv8t"),p=n("fw2Z"),g=n("Pb27"),m=n("9uVW"),v=n("hK2W"),_=n("C3c5"),b=n("7g0X"),y=n("fAkY"),w=n("DBt1"),C=n("iLE3"),S=n("ItKl"),x=n("4tuZ"),L=n("JVO/"),O=n("8xpx"),k=n("Kx4b"),N=n("tqet"),E=n("Kp7x"),I=n("NqM+"),D=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),M=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},T=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},P=new b.d("hasSymbols",!1),A=Object(L.c)("ISymbolNavigationService"),R=function(){function e(e,t,n,i){this._editorService=t,this._notificationService=n,this._keybindingService=i,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=P.bindTo(e)}return e.prototype.reset=function(){this._ctxHasSymbols.reset(),Object(N.f)(this._currentState),Object(N.f)(this._currentMessage),this._currentModel=void 0,this._currentIdx=-1},e.prototype.put=function(e){var t=this,n=e.parent.parent;if(n.references.length<=1)this.reset();else{this._currentModel=n,this._currentIdx=n.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();var i=new F(this._editorService),r=i.onDidChange(function(e){if(!t._ignoreEditorChange){var i=t._editorService.getActiveCodeEditor();if(i){var r=i.getModel(),o=i.getPosition();if(r&&o){for(var s=!1,a=!1,u=0,c=n.references;u0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]1?v.a("meta.title"," – {0} definitions",e.references.length):""},t.prototype._onResult=function(e,t,n,i){return W(this,void 0,void 0,function(){var o,s,a,u;return B(this,function(c){switch(c.label){case 0:return o=i.getAriaMessage(),Object(r.a)(o),s=n.getConfiguration().contribInfo.gotoLocation,this._configuration.openInPeek||"peek"===s.multiple&&i.references.length>1?(this._openInPeek(e,n,i),[3,3]):[3,1];case 1:return n.hasModel()?(a=i.firstReference())?[4,this._openReference(n,e,a,this._configuration.openToSide)]:[2]:[3,3];case 2:(u=c.sent())&&i.references.length>1&&"gotoAndPeek"===s.multiple?this._openInPeek(e,u,i):i.dispose(),"goto"===s.multiple&&t.put(a),c.label=3;case 3:return[2]}})})},t.prototype._openReference=function(e,t,n,i){var r=void 0;return Object(h.C)(n)&&(r=n.targetSelectionRange),r||(r=n.range),t.openCodeEditor({resource:n.uri,options:{selection:l.a.collapseToStart(r),revealInCenterIfOutsideViewport:!0}},e,i)},t.prototype._openInPeek=function(e,t,n){var i=this,r=g.a.get(t);r&&t.hasModel()?r.toggleWidget(t.getSelection(),Object(o.f)(function(e){return Promise.resolve(n)}),{getMetaTitle:function(e){return i._getMetaTitle(e)},onGoto:function(n){return r.closeWidget(),i._openReference(t,e,n,!1)}}):n.dispose()},t}(u.b),z=a.f?2118:70,U=function(e){function t(){var n=e.call(this,new V,{id:t.id,label:v.a("actions.goToDecl.label","Go to Definition"),alias:"Go to Definition",precondition:b.a.and(d.a.hasDefinitionProvider,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:z,weight:100},menuOpts:{group:"navigation",order:1.1}})||this;return S.a.registerCommandAlias("editor.action.goToDeclaration",t.id),n}return j(t,e),t.id="editor.action.revealDefinition",t}(H),K=function(e){function t(){var n=e.call(this,new V(!0),{id:t.id,label:v.a("actions.goToDeclToSide.label","Open Definition to the Side"),alias:"Open Definition to the Side",precondition:b.a.and(d.a.hasDefinitionProvider,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:Object(s.a)(2089,z),weight:100}})||this;return S.a.registerCommandAlias("editor.action.openDeclarationToTheSide",t.id),n}return j(t,e),t.id="editor.action.revealDefinitionAside",t}(H),q=function(e){function t(){var n=e.call(this,new V(void 0,!0,!1),{id:t.id,label:v.a("actions.previewDecl.label","Peek Definition"),alias:"Peek Definition",precondition:b.a.and(d.a.hasDefinitionProvider,p.b.notInPeekEditor,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menuOpts:{group:"navigation",order:1.2}})||this;return S.a.registerCommandAlias("editor.action.previewDeclaration",t.id),n}return j(t,e),t.id="editor.action.peekDefinition",t}(H),G=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return j(t,e),t.prototype._getTargetLocationForPosition=function(e,t,n){return Object(C.a)(e,t,n)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?v.a("decl.noResultWord","No declaration found for '{0}'",e.word):v.a("decl.generic.noResults","No declaration found")},t.prototype._getMetaTitle=function(e){return e.references.length>1?v.a("decl.meta.title"," – {0} declarations",e.references.length):""},t}(H),Z=function(e){function t(){return e.call(this,new V,{id:t.id,label:v.a("actions.goToDeclaration.label","Go to Declaration"),alias:"Go to Declaration",precondition:b.a.and(d.a.hasDeclarationProvider,d.a.isInEmbeddedEditor.toNegated()),menuOpts:{group:"navigation",order:1.3}})||this}return j(t,e),t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?v.a("decl.noResultWord","No declaration found for '{0}'",e.word):v.a("decl.generic.noResults","No declaration found")},t.prototype._getMetaTitle=function(e){return e.references.length>1?v.a("decl.meta.title"," – {0} declarations",e.references.length):""},t.id="editor.action.revealDeclaration",t}(G),Y=function(e){function t(){return e.call(this,new V(void 0,!0,!1),{id:"editor.action.peekDeclaration",label:v.a("actions.peekDecl.label","Peek Declaration"),alias:"Peek Declaration",precondition:b.a.and(d.a.hasDeclarationProvider,p.b.notInPeekEditor,d.a.isInEmbeddedEditor.toNegated()),menuOpts:{group:"navigation",order:1.31}})||this}return j(t,e),t}(G),X=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return j(t,e),t.prototype._getTargetLocationForPosition=function(e,t,n){return Object(C.c)(e,t,n)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?v.a("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):v.a("goToImplementation.generic.noResults","No implementation found")},t.prototype._getMetaTitle=function(e){return e.references.length>1?v.a("meta.implementations.title"," – {0} implementations",e.references.length):""},t}(H),$=function(e){function t(){return e.call(this,new V,{id:t.ID,label:v.a("actions.goToImplementation.label","Go to Implementation"),alias:"Go to Implementation",precondition:b.a.and(d.a.hasImplementationProvider,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:2118,weight:100}})||this}return j(t,e),t.ID="editor.action.goToImplementation",t}(X),J=function(e){function t(){return e.call(this,new V(!1,!0,!1),{id:t.ID,label:v.a("actions.peekImplementation.label","Peek Implementation"),alias:"Peek Implementation",precondition:b.a.and(d.a.hasImplementationProvider,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:3142,weight:100}})||this}return j(t,e),t.ID="editor.action.peekImplementation",t}(X),Q=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return j(t,e),t.prototype._getTargetLocationForPosition=function(e,t,n){return Object(C.d)(e,t,n)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?v.a("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):v.a("goToTypeDefinition.generic.noResults","No type definition found")},t.prototype._getMetaTitle=function(e){return e.references.length>1?v.a("meta.typeDefinitions.title"," – {0} type definitions",e.references.length):""},t}(H),ee=function(e){function t(){return e.call(this,new V,{id:t.ID,label:v.a("actions.goToTypeDefinition.label","Go to Type Definition"),alias:"Go to Type Definition",precondition:b.a.and(d.a.hasTypeDefinitionProvider,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:0,weight:100},menuOpts:{group:"navigation",order:1.4}})||this}return j(t,e),t.ID="editor.action.goToTypeDefinition",t}(Q),te=function(e){function t(){return e.call(this,new V(!1,!0,!1),{id:t.ID,label:v.a("actions.peekTypeDefinition.label","Peek Type Definition"),alias:"Peek Type Definition",precondition:b.a.and(d.a.hasTypeDefinitionProvider,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:0,weight:100}})||this}return j(t,e),t.ID="editor.action.peekTypeDefinition",t}(Q);Object(u.f)(U),Object(u.f)(K),Object(u.f)(q),Object(u.f)(Z),Object(u.f)(Y),Object(u.f)($),Object(u.f)(J),Object(u.f)(ee),Object(u.f)(te),_.c.appendMenuItem(16,{group:"4_symbol_nav",command:{id:"editor.action.goToDeclaration",title:v.a({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},order:2}),_.c.appendMenuItem(16,{group:"4_symbol_nav",command:{id:"editor.action.goToTypeDefinition",title:v.a({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},order:3}),_.c.appendMenuItem(16,{group:"4_symbol_nav",command:{id:"editor.action.goToImplementation",title:v.a({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementation")},order:4})},QgSF:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("hK2W"),r=n("uNfg"),o=n("HZsc"),s=n("03Zz"),a=n("Ao9X"),u=n("aL7J"),c=n("0WPX"),l=n("vTy2"),d=function(){function e(e,t){this._selection=e,this._cursors=t,this._selectionId=null}return e.prototype.getEditOperations=function(e,t){for(var n=function(e,t){t.sort(function(e,t){return e.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber});for(var n=t.length-2;n>=0;n--)t[n].lineNumber===t[n+1].lineNumber&&t.splice(n,1);for(var i=[],r=0,o=0,s=t.length,a=1,d=e.getLineCount();a<=d;a++){var h=e.getLineContent(a),f=h.length+1,p=0;if(!(o=i.startLineNumber+1&&t<=i.endLineNumber+1?e.getLineContent(t-1):e.getLineContent(t)};var L=b.a.getGoodIndentForLine(d,e.getLanguageIdAtPosition(g,1),i.startLineNumber+1,c);if(null!==L){x=u.s(e.getLineContent(i.startLineNumber));if((E=y(L,o))!==(I=y(x,o))){var O=E-I;this.getIndentEditsOfMovingBlock(e,t,i,o,a,O)}}}}else t.addEditOperation(new l.a(i.startLineNumber,1,i.startLineNumber,1),v+"\n")}else{var k;if(g=i.startLineNumber-1,m=e.getLineContent(g),t.addEditOperation(new l.a(g,1,g+1,1),null),t.addEditOperation(new l.a(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),"\n"+m),this.shouldAutoIndent(e,i))if(d.getLineContent=function(t){return t===g?e.getLineContent(i.startLineNumber):e.getLineContent(t)},null!==(k=this.matchEnterRule(e,c,o,i.startLineNumber,i.startLineNumber-2)))0!==k&&this.getIndentEditsOfMovingBlock(e,t,i,o,a,k);else{var N=b.a.getGoodIndentForLine(d,e.getLanguageIdAtPosition(i.startLineNumber,1),g,c);if(null!==N){var E,I,D=u.s(e.getLineContent(i.startLineNumber));if((E=y(N,o))!==(I=y(D,o))){O=E-I;this.getIndentEditsOfMovingBlock(e,t,i,o,a,O)}}}}}this._selectionId=t.trackSelection(i)}else this._selectionId=t.trackSelection(this._selection)},e.prototype.buildIndentConverter=function(e,t,n){return{shiftIndent:function(i){return v.a.shiftIndent(i,i.length+1,e,t,n)},unshiftIndent:function(i){return v.a.unshiftIndent(i,i.length+1,e,t,n)}}},e.prototype.matchEnterRule=function(e,t,n,i,r,o){for(var s=r;s>=1;){var a=void 0;if(a=s===r&&void 0!==o?o:e.getLineContent(s),u.A(a)>=0)break;s--}if(s<1||i>e.getLineCount())return null;var c=e.getLineMaxColumn(s),d=b.a.getEnterAction(e,new l.a(s,c,s,c));if(d){var h=d.indentation,f=d.enterAction;f.indentAction===_.a.None?h=d.indentation+f.appendText:f.indentAction===_.a.Indent?h=d.indentation+f.appendText:f.indentAction===_.a.IndentOutdent?h=d.indentation:f.indentAction===_.a.Outdent&&(h=t.unshiftIndent(d.indentation)+f.appendText);var p=e.getLineContent(i);if(this.trimLeft(p).indexOf(this.trimLeft(h))>=0){var g=u.s(e.getLineContent(i)),m=u.s(h),v=b.a.getIndentMetadata(e,i);return null!==v&&2&v&&(m=t.unshiftIndent(m)),y(m,n)-y(g,n)}}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 n=e.getLanguageIdAtPosition(t.startLineNumber,1);return n===e.getLanguageIdAtPosition(t.endLineNumber,1)&&null!==b.a.getIndentRulesSupport(n)},e.prototype.getIndentEditsOfMovingBlock=function(e,t,n,i,r,o){for(var s=n.startLineNumber;s<=n.endLineNumber;s++){var a=e.getLineContent(s),c=u.s(a),d=w(y(c,i)+o,i,r);d!==c&&(t.addEditOperation(new l.a(s,1,s,c.length+1),d),s===n.endLineNumber&&n.endColumn<=c.length+1&&""===d&&(this._moveEndLineSelectionShrink=!0))}},e.prototype.computeCursorState=function(e,t){var n=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(n=n.setEndPosition(n.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&n.startLineNumber=r)return null;for(var o=[],s=i;s<=r;s++)o.push(e.getLineContent(s));var a=o.slice(0);return a.sort(function(e,t){return e.toLowerCase().localeCompare(t.toLowerCase())}),!0===n&&(a=a.reverse()),{startLineNumber:i,endLineNumber:r,before:o,after:a}}n.d(t,"AbstractSortLinesAction",function(){return T}),n.d(t,"SortLinesAscendingAction",function(){return P}),n.d(t,"SortLinesDescendingAction",function(){return A}),n.d(t,"TrimTrailingWhitespaceAction",function(){return R}),n.d(t,"DeleteLinesAction",function(){return F}),n.d(t,"IndentLinesAction",function(){return j}),n.d(t,"InsertLineBeforeAction",function(){return B}),n.d(t,"InsertLineAfterAction",function(){return V}),n.d(t,"AbstractDeleteAllToBoundaryAction",function(){return H}),n.d(t,"DeleteAllLeftAction",function(){return z}),n.d(t,"DeleteAllRightAction",function(){return U}),n.d(t,"JoinLinesAction",function(){return K}),n.d(t,"TransposeAction",function(){return q}),n.d(t,"AbstractCaseAction",function(){return G}),n.d(t,"UpperCaseAction",function(){return Z}),n.d(t,"LowerCaseAction",function(){return Y}),n.d(t,"TitleCaseAction",function(){return X});var L,O=this&&this.__extends||(L=function(e,t){return(L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}L(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),k=function(e){function t(t,n){var i=e.call(this,n)||this;return i.down=t,i}return O(t,e),t.prototype.run=function(e,t){for(var n=[],i=0,r=t.getSelections()||[];i1&&(d-=1,f=i.getLineMaxColumn(d)),o.push(c.a.replace(new p.a(d,f,h,g),"")),s.push(new p.a(d-r,l.positionColumn,d-r,l.positionColumn)),r+=l.endLineNumber-l.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,o,s),t.pushUndoStop()}}},t.prototype._getLinesToRemove=function(e){var t=e.getSelections().map(function(e){var t=e.endLineNumber;return e.startLineNumber=t[r].startLineNumber?i.endLineNumber=t[r].endLineNumber:(n.push(i),i=t[r]);return n.push(i),n},t}(s.b),j=function(e){function t(){return e.call(this,{id:"editor.action.indentLines",label:i.a("lines.indent","Indent Line"),alias:"Indent Line",precondition:g.a.writable,kbOpts:{kbExpr:g.a.editorTextFocus,primary:2137,weight:100}})||this}return O(t,e),t.prototype.run=function(e,t){var n=t._getCursors();n&&(t.pushUndoStop(),t.executeCommands(this.id,h.a.indent(n.context.config,t.getModel(),t.getSelections())),t.pushUndoStop())},t}(s.b),W=function(e){function t(){return e.call(this,{id:"editor.action.outdentLines",label:i.a("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:g.a.writable,kbOpts:{kbExpr:g.a.editorTextFocus,primary:2135,weight:100}})||this}return O(t,e),t.prototype.run=function(e,t){o.CoreEditingCommands.Outdent.runEditorCommand(e,t,null)},t}(s.b),B=function(e){function t(){return e.call(this,{id:"editor.action.insertLineBefore",label:i.a("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:g.a.writable,kbOpts:{kbExpr:g.a.editorTextFocus,primary:3075,weight:100}})||this}return O(t,e),t.prototype.run=function(e,t){var n=t._getCursors();n&&(t.pushUndoStop(),t.executeCommands(this.id,h.a.lineInsertBefore(n.context.config,t.getModel(),t.getSelections())))},t}(s.b),V=function(e){function t(){return e.call(this,{id:"editor.action.insertLineAfter",label:i.a("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:g.a.writable,kbOpts:{kbExpr:g.a.editorTextFocus,primary:2051,weight:100}})||this}return O(t,e),t.prototype.run=function(e,t){var n=t._getCursors();n&&(t.pushUndoStop(),t.executeCommands(this.id,h.a.lineInsertAfter(n.context.config,t.getModel(),t.getSelections())))},t}(s.b),H=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return O(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getSelection(),i=this._getRangesToDelete(t),r=[],o=0,s=i.length-1;o0){var s=t.startLineNumber-r;o=new p.a(s,t.startColumn,s,t.startColumn)}else o=new p.a(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);r+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?n=o:i.push(o)}),n&&i.unshift(n),i},t.prototype._getRangesToDelete=function(e){var t=e.getSelections();if(null===t)return[];var n=t,i=e.getModel();return null===i?[]:(n.sort(l.a.compareRangesUsingStarts),n=n.map(function(e){if(e.isEmpty()){if(1===e.startColumn){var t=Math.max(1,e.startLineNumber-1),n=1===e.startLineNumber?1:i.getLineContent(t).length+1;return new l.a(t,n,e.startLineNumber,1)}return new l.a(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return new l.a(e.startLineNumber,1,e.endLineNumber,e.endColumn)}))},t}(H),U=function(e){function t(){return e.call(this,{id:"deleteAllRight",label:i.a("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:g.a.writable,kbOpts:{kbExpr:g.a.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})||this}return O(t,e),t.prototype._getEndCursorState=function(e,t){for(var n=null,i=[],r=0,o=t.length;re.endLineNumber+1?(r.push(e),t):new p.a(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(r.push(e),t):new p.a(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn)});r.push(o);var s=t.getModel();if(null!==s){for(var a=[],u=[],d=i,h=0,f=0,g=r.length;f=1){var k=!0;""===S&&(k=!1),!k||" "!==S.charAt(S.length-1)&&"\t"!==S.charAt(S.length-1)||(k=!1,S=S.replace(/[\s\uFEFF\xA0]+$/g," "));var N=L.substr(O-1);S+=(k?" ":"")+N,_=k?N.length+1:N.length}else _=0}var E=new l.a(v,1,b,y);if(!E.isEmpty()){var I=void 0;m.isEmpty()?(a.push(c.a.replace(E,S)),I=new p.a(E.startLineNumber-h,S.length-_+1,v-h,S.length-_+1)):m.startLineNumber===m.endLineNumber?(a.push(c.a.replace(E,S)),I=new p.a(m.startLineNumber-h,m.startColumn,m.endLineNumber-h,m.endColumn)):(a.push(c.a.replace(E,S)),I=new p.a(m.startLineNumber-h,m.startColumn,m.startLineNumber-h,S.length-w)),null!==l.a.intersectRanges(E,i)?d=I:u.push(I)}h+=E.endLineNumber-E.startLineNumber}u.unshift(d),t.pushUndoStop(),t.executeEdits(this.id,a,u),t.pushUndoStop()}}}},t}(s.b),q=function(e){function t(){return e.call(this,{id:"editor.action.transpose",label:i.a("editor.transpose","Transpose characters around the cursor"),alias:"Transpose characters around the cursor",precondition:g.a.writable})||this}return O(t,e),t.prototype.run=function(e,t){var n=t.getSelections();if(null!==n){var i=t.getModel();if(null!==i){for(var r=[],o=0,s=n.length;o=d){if(c.lineNumber===i.getLineCount())continue;var h=new l.a(c.lineNumber,Math.max(1,c.column-1),c.lineNumber+1,1),f=i.getValueInRange(h).split("").reverse().join("");r.push(new a.a(new p.a(c.lineNumber,Math.max(1,c.column-1),c.lineNumber+1,1),f))}else{h=new l.a(c.lineNumber,Math.max(1,c.column-1),c.lineNumber,c.column+1),f=i.getValueInRange(h).split("").reverse().join("");r.push(new a.b(h,f,new p.a(c.lineNumber,c.column+1,c.lineNumber,c.column+1)))}}}t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop()}}},t}(s.b),G=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return O(t,e),t.prototype.run=function(e,t){var n=t.getSelections();if(null!==n){var i=t.getModel();if(null!==i){for(var r=t.getConfiguration().wordSeparators,o=[],s=0,u=n.length;s=0?(r=!0,i+=s):r?(r=!1,i+=s.toLocaleUpperCase()):i+=s.toLocaleLowerCase()}return i},t}(G);Object(s.f)(N),Object(s.f)(E),Object(s.f)(D),Object(s.f)(M),Object(s.f)(P),Object(s.f)(A),Object(s.f)(R),Object(s.f)(F),Object(s.f)(j),Object(s.f)(W),Object(s.f)(B),Object(s.f)(V),Object(s.f)(z),Object(s.f)(U),Object(s.f)(K),Object(s.f)(q),Object(s.f)(Z),Object(s.f)(Y),Object(s.f)(X)},Qv71:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var i=function(){return function(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=!1),this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=n}}()},Qxje:function(e,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"c",function(){return u}),n.d(t,"a",function(){return c}),t.d=d,t.e=function(e){var t=Object(r.a)(1e4),n=d(e,t);return new h(n.characterMapping,t.build(),n.containsRTL,n.containsForeignElements)};var i=n("aL7J"),r=n("ftXN"),o=n("t7eM"),s=function(){return function(e,t){this.endIndex=e,this.type=t}}(),a=function(){function e(e,t){this.startOffset=e,this.endOffset=t}return e.prototype.equals=function(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset},e}(),u=function(){function e(e,t,n,i,r,o,s,a,u,c,l,d,h,f,p,g){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=n,this.continuesWithWrappedLine=i,this.isBasicASCII=r,this.containsRTL=o,this.fauxIndentLength=s,this.lineTokens=a,this.lineDecorations=u,this.tabSize=c,this.spaceWidth=l,this.stopRenderingLineAfter=d,this.renderWhitespace="all"===h?3:"boundary"===h?1:"selection"===h?2:0,this.renderControlCharacters=f,this.fontLigatures=p,this.selectionsOnLine=g&&g.sort(function(e,t){return e.startOffset>>16},e.getCharIndex=function(e){return(65535&e)>>>0},e.prototype.setPartData=function(e,t,n,i){var r=(t<<16|n<<0)>>>0;this._data[e]=r,this._absoluteOffsets[e]=i+n},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,n,i){if(0===this.length)return 0;for(var r=(t<<16|i<<0)>>>0,o=0,s=this.length-1;o+1>>1,u=this._data[a];if(u===r)return a;u>r?s=a:o=a}if(o===s)return o;var c=this._data[o],l=this._data[s];if(c===r)return o;if(l===r)return s;var d=e.getPartIndex(c);return i-e.getCharIndex(c)<=(d!==e.getPartIndex(l)?n:e.getCharIndex(l))-i?o:s},e}(),l=function(){return function(e,t,n){this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=n}}();function d(e,t){if(0===e.lineContent.length){var n=0,r=" ";if(e.lineDecorations.length>0){for(var a=[],u=0,d=e.lineDecorations.length;u')}return t.appendASCIIString(r),new l(new c(0,0),!1,n)}return function(e,t){var n=e.fontIsMonospace,r=e.canUseHalfwidthRightwardsArrow,o=e.containsForeignElements,s=e.lineContent,a=e.len,u=e.isOverflowing,d=e.parts,h=e.tabSize,f=e.containsRTL,p=e.spaceWidth,g=e.renderWhitespace,m=e.renderControlCharacters,v=new c(a+1,d.length),_=0,b=0,y=0,w=0,C=0;t.appendASCIIString("");for(var S=0,x=d.length;S=0;if(y=0,t.appendASCIIString('0&&(!r||T>1?t.write1(8594):t.write1(65515),T--);T>0;)t.write1(160),T--}else t.write1(183);y++}w=E}else{var E=0;for(f&&t.appendASCIIString(' dir="ltr"'),t.appendASCII(62);_0;)t.write1(160),E++,T--;break;case 32:t.write1(160),E++;break;case 60:t.appendASCIIString("<"),E++;break;case 62:t.appendASCIIString(">"),E++;break;case 38:t.appendASCIIString("&"),E++;break;case 0:t.appendASCIIString("�"),E++;break;case 65279:case 8232:t.write1(65533),E++;break;default:i.v(M)&&b++,m&&M<32?(t.write1(9216+M),E++):(t.write1(M),E++)}y++}w=E}t.appendASCIIString("")}v.setPartData(a,d.length-1,y,C),u&&t.appendASCIIString("");return t.appendASCIIString(""),new l(v,f,o)}(function(e){var t,n,r=e.useMonospaceOptimizations,a=e.lineContent;-1!==e.stopRenderingLineAfter&&e.stopRenderingLineAfter0&&(i[r++]=new s(t,""));for(var o=0,a=e.getCount();o=n){i[r++]=new s(n,c);break}i[r++]=new s(u,c)}}return i}(e.lineTokens,e.fauxIndentLength,n);(3===e.renderWhitespace||1===e.renderWhitespace||2===e.renderWhitespace&&e.selectionsOnLine)&&(u=function(e,t,n,r,o,a,u,c,l){var d,h=[],f=0,p=0,g=r[p].type,m=r[p].endIndex,v=r.length,_=i.q(e);-1===_?(_=t,d=t):d=i.A(e);for(var b=0,y=0;y=x.endOffset&&(S++,x=c&&c[S]);var L=void 0;if(y<_||y>d)L=!0;else if(9===w)L=!0;else if(32===w)if(l)if(C)L=!0;else{var O=y+1y),C?(!L||!u&&b>=a)&&(h[f++]=new s(y,"vs-whitespace"),b%=a):(y===m||L&&y>o)&&(h[f++]=new s(y,g),b%=a),9===w?b=a:i.v(w)?b+=2:b++,C=L,y===m&&++p0?e.charCodeAt(t-1):0,E=t>1?e.charCodeAt(t-2):0,I=32===N&&32!==E&&9!==E;I||(k=!0)}else k=!0;return h[f++]=new s(t,k?"vs-whitespace":g),h}(a,n,e.continuesWithWrappedLine,u,e.fauxIndentLength,e.tabSize,r,e.selectionsOnLine,1===e.renderWhitespace));var c=0;if(e.lineDecorations.length>0){for(var l=0,d=e.lineDecorations.length;ld&&(d=v.startOffset,c[l++]=new s(d,m)),!(v.endOffset+1<=g)){d=g,c[l++]=new s(d,m+" "+v.className);break}d=v.endOffset+1,c[l++]=new s(d,m+" "+v.className),u++}g>d&&(d=g,c[l++]=new s(d,m))}var _=n[n.length-1].endIndex;if(u=50&&(r[o++]=new s(h+1,d),f=h+1,h=-1);f!==l&&(r[o++]=new s(l,d))}else r[o++]=c;i=l}else for(var a=0,u=t.length;a50){for(var d=c.type,m=Math.ceil(g/50),p=1;p0;n--){var o=e.charCodeAt(n-1);if(47===o||92===o)break}t=e.substr(n)}var s=r.indexOf(t);return-1!==s?i[s]:null};a.basenames=r,a.patterns=i,a.allBasenames=r;var u=e.filter(function(e){return!e.basenames});return u.push(a),u}},Rfe2:function(e,t,n){"use strict";n.d(t,"i",function(){return a}),n.d(t,"j",function(){return u}),n.d(t,"g",function(){return d}),n.d(t,"f",function(){return h}),n.d(t,"h",function(){return p}),n.d(t,"a",function(){return g}),n.d(t,"k",function(){return m}),n.d(t,"b",function(){return _}),n.d(t,"m",function(){return b}),n.d(t,"e",function(){return y}),n.d(t,"c",function(){return w}),n.d(t,"d",function(){return C}),n.d(t,"l",function(){return S}),n.d(t,"n",function(){return L}),n.d(t,"o",function(){return O}),n.d(t,"p",function(){return k}),n.d(t,"r",function(){return N}),n.d(t,"q",function(){return E});var i=n("hK2W"),r=n("TNPA"),o=n("L5KM"),s=n("eoic"),a=Object(o._36)("editor.lineHighlightBackground",{dark:null,light:null,hc:null},i.a("lineHighlight","Background color for the highlight of line at the cursor position.")),u=Object(o._36)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hc:"#f38518"},i.a("lineHighlightBorderBox","Background color for the border around the line at the cursor position.")),c=Object(o._36)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hc:null},i.a("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),l=Object(o._36)("editor.rangeHighlightBorder",{dark:null,light:null,hc:o.b},i.a("rangeHighlightBorder","Background color of the border around highlighted ranges."),!0),d=Object(o._36)("editorCursor.foreground",{dark:"#AEAFAD",light:r.a.black,hc:r.a.white},i.a("caret","Color of the editor cursor.")),h=Object(o._36)("editorCursor.background",null,i.a("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),f=Object(o._36)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hc:"#e3e4e229"},i.a("editorWhitespaces","Color of whitespace characters in the editor.")),p=Object(o._36)("editorIndentGuide.background",{dark:f,light:f,hc:f},i.a("editorIndentGuides","Color of the editor indentation guides.")),g=Object(o._36)("editorIndentGuide.activeBackground",{dark:f,light:f,hc:f},i.a("editorActiveIndentGuide","Color of the active editor indentation guides.")),m=Object(o._36)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hc:r.a.white},i.a("editorLineNumbers","Color of editor line numbers.")),v=Object(o._36)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hc:o.b},i.a("editorActiveLineNumber","Color of editor active line number"),!1,i.a("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead.")),_=Object(o._36)("editorLineNumber.activeForeground",{dark:v,light:v,hc:v},i.a("editorActiveLineNumber","Color of editor active line number")),b=Object(o._36)("editorRuler.foreground",{dark:"#5A5A5A",light:r.a.lightgrey,hc:r.a.white},i.a("editorRuler","Color of the editor rulers.")),y=Object(o._36)("editorCodeLens.foreground",{dark:"#999999",light:"#999999",hc:"#999999"},i.a("editorCodeLensForeground","Foreground color of editor code lenses")),w=Object(o._36)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hc:"#0064001a"},i.a("editorBracketMatchBackground","Background color behind matching brackets")),C=Object(o._36)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hc:o.e},i.a("editorBracketMatchBorder","Color for matching brackets boxes")),S=Object(o._36)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hc:"#7f7f7f4d"},i.a("editorOverviewRulerBorder","Color of the overview ruler border.")),x=Object(o._36)("editorGutter.background",{dark:o.o,light:o.o,hc:o.o},i.a("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),L=Object(o._36)("editorUnnecessaryCode.border",{dark:null,light:null,hc:r.a.fromHex("#fff").transparent(.8)},i.a("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor.")),O=Object(o._36)("editorUnnecessaryCode.opacity",{dark:r.a.fromHex("#000a"),light:r.a.fromHex("#0007"),hc:null},i.a("unnecessaryCodeOpacity","Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.")),k=Object(o._36)("editorOverviewRuler.errorForeground",{dark:new r.a(new r.c(255,18,18,.7)),light:new r.a(new r.c(255,18,18,.7)),hc:new r.a(new r.c(255,50,50,1))},i.a("overviewRuleError","Overview ruler marker color for errors.")),N=Object(o._36)("editorOverviewRuler.warningForeground",{dark:o.M,light:o.M,hc:o.L},i.a("overviewRuleWarning","Overview ruler marker color for warnings.")),E=Object(o._36)("editorOverviewRuler.infoForeground",{dark:o.G,light:o.G,hc:o.F},i.a("overviewRuleInfo","Overview ruler marker color for infos."));Object(s.f)(function(e,t){var n=e.getColor(o.o);n&&t.addRule(".monaco-editor, .monaco-editor-background, .monaco-editor .inputarea.ime-input { background-color: "+n+"; }");var i=e.getColor(o.x);i&&t.addRule(".monaco-editor, .monaco-editor .inputarea.ime-input { color: "+i+"; }");var r=e.getColor(x);r&&t.addRule(".monaco-editor .margin { background-color: "+r+"; }");var s=e.getColor(c);s&&t.addRule(".monaco-editor .rangeHighlight { background-color: "+s+"; }");var a=e.getColor(l);a&&t.addRule(".monaco-editor .rangeHighlight { border: 1px "+("hc"===e.type?"dotted":"solid")+" "+a+"; }");var u=e.getColor(f);u&&t.addRule(".vs-whitespace { color: "+u+" !important; }")})},Rt1F:function(e,t,n){"use strict";(function(t,i){var r=n("ypnx");e.exports=b;var o,s=n("sOR5");b.ReadableState=_;n("vzCy").EventEmitter;var a=function(e,t){return e.listeners(t).length},u=n("UcPO"),c=n("kkc6").Buffer,l=t.Uint8Array||function(){};var d=n("jOgh");d.inherits=n("LC74");var h=n(1),f=void 0;f=h&&h.debuglog?h.debuglog("stream"):function(){};var p,g=n("+HRN"),m=n("x0Ha");d.inherits(b,u);var v=["error","close","destroy","pause","resume"];function _(e,t){o=o||n("DsFX"),e=e||{};var i=t instanceof o;this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,s=e.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:i&&(s||0===s)?s:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new g,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=n("X4X3").StringDecoder),this.decoder=new p(e.encoding),this.encoding=e.encoding)}function b(e){if(o=o||n("DsFX"),!(this instanceof b))return new b(e);this._readableState=new _(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),u.call(this)}function y(e,t,n,i,r){var o,s=e._readableState;null===t?(s.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,x(e)}(e,s)):(r||(o=function(e,t){var n;i=t,c.isBuffer(i)||i instanceof l||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk"));var i;return n}(s,t)),o?e.emit("error",o):s.objectMode||t&&t.length>0?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===c.prototype||(t=function(e){return c.from(e)}(t)),i?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):w(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!n?(t=s.decoder.write(t),s.objectMode||0!==t.length?w(e,s,t,!1):O(e,s)):w(e,s,t,!1))):i||(s.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.lengtht.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 x(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(f("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?r.nextTick(L,e):L(e))}function L(e){f("emit readable"),e.emit("readable"),I(e)}function O(e,t){t.readingMore||(t.readingMore=!0,r.nextTick(k,e,t))}function k(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var i;eo.length?o.length:e;if(s===o.length?r+=o:r+=o.slice(0,e),0===(e-=s)){s===o.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(s));break}++i}return t.length-=i,r}(e,t):function(e,t){var n=c.allocUnsafe(e),i=t.head,r=1;i.data.copy(n),e-=i.data.length;for(;i=i.next;){var o=i.data,s=e>o.length?o.length:e;if(o.copy(n,n.length-e,0,s),0===(e-=s)){s===o.length?(++r,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i,i.data=o.slice(s));break}++r}return t.length-=r,n}(e,t);return i}(e,t.buffer,t.decoder),n);var n}function M(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,r.nextTick(T,t,e))}function T(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function P(e,t){for(var n=0,i=e.length;n=t.highWaterMark||t.ended))return f("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?M(this):x(this),null;if(0===(e=S(e,t))&&t.ended)return 0===t.length&&M(this),null;var i,r=t.needReadable;return f("need readable",r),(0===t.length||t.length-e0?D(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&M(this)),null!==i&&this.emit("data",i),i},b.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},b.prototype.pipe=function(e,t){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=e;break;case 1:o.pipes=[o.pipes,e];break;default:o.pipes.push(e)}o.pipesCount+=1,f("pipe count=%d opts=%j",o.pipesCount,t);var u=(!t||!1!==t.end)&&e!==i.stdout&&e!==i.stderr?l:b;function c(t,i){f("onunpipe"),t===n&&i&&!1===i.hasUnpiped&&(i.hasUnpiped=!0,f("cleanup"),e.removeListener("close",v),e.removeListener("finish",_),e.removeListener("drain",d),e.removeListener("error",m),e.removeListener("unpipe",c),n.removeListener("end",l),n.removeListener("end",b),n.removeListener("data",g),h=!0,!o.awaitDrain||e._writableState&&!e._writableState.needDrain||d())}function l(){f("onend"),e.end()}o.endEmitted?r.nextTick(u):n.once("end",u),e.on("unpipe",c);var d=function(e){return function(){var t=e._readableState;f("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,I(e))}}(n);e.on("drain",d);var h=!1;var p=!1;function g(t){f("ondata"),p=!1,!1!==e.write(t)||p||((1===o.pipesCount&&o.pipes===e||o.pipesCount>1&&-1!==P(o.pipes,e))&&!h&&(f("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,p=!0),n.pause())}function m(t){f("onerror",t),b(),e.removeListener("error",m),0===a(e,"error")&&e.emit("error",t)}function v(){e.removeListener("finish",_),b()}function _(){f("onfinish"),e.removeListener("close",v),b()}function b(){f("unpipe"),n.unpipe(e)}return n.on("data",g),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?s(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",m),e.once("close",v),e.once("finish",_),e.emit("pipe",n),o.flowing||(f("pipe resume"),n.resume()),e},b.prototype.unpipe=function(e){var t=this._readableState,n={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,n),this);if(!e){var i=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},p=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},g=function(e){function t(t,n,i,r,o,s,a){return e.call(this,!0,t,n,i,r,o,s,a)||this}return h(t,e),t=f([p(1,u.c),p(2,o.a),p(3,l.a),p(4,c.a),p(5,d.a),p(6,a.a)],t)}(s.a);Object(r.h)(g)},SAez:function(e,t,n){var i=t;i.der=n("ps4E"),i.pem=n("VqvS")},SDM6:function(e,t,n){e.exports=n("DsFX")},SWdJ:function(e,t,n){"use strict";n("jF/U");var i,r=n("hK2W"),o=n("tqet"),s=n("KIxu"),a=n("X6iQ"),u=n("2VYG"),c=n("7/Cv"),l=n("ZfGv"),d=n("Bug4"),h=n("gzF+"),f=n("Kp7x"),p=n("Gxst");!function(e){e.TREE="tree",e.FORM="form"}(i||(i={}));var g=n("9bHL"),m=n("TNPA"),v=n("TU7t"),_=function(){function e(e){this.spliceables=e}return e.prototype.splice=function(e,t,n){this.spliceables.forEach(function(i){return i.splice(e,t,n)})},e}(),b=n("ot3f"),y=n("GYOr");t.f=M,t.e=A,t.d=R,n.d(t,"c",function(){return B}),n.d(t,"a",function(){return V}),n.d(t,"b",function(){return Y});var w,C=this&&this.__extends||(w=function(e,t){return(w=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}w(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),S=this&&this.__assign||function(){return(S=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},L=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,n){var i=Object(a.j)(this.renderedElements,function(e){return e.templateData===n});if(i>=0){var r=this.renderedElements[i];this.trait.unrender(n),r.index=t}else{r={index:t,templateData:n};this.renderedElements.push(r)}this.trait.renderIndex(t,n)},e.prototype.splice=function(e,t,n){for(var i=[],r=0,o=this.renderedElements;r=e+t&&i.push({index:s.index+n-t,templateData:s.templateData})}this.renderedElements=i},e.prototype.renderIndexes=function(e){for(var t=0,n=this.renderedElements;t-1&&this.trait.renderIndex(r,o)}},e.prototype.disposeTemplate=function(e){var t=Object(a.j)(this.renderedElements,function(t){return t.templateData===e});t<0||this.renderedElements.splice(t,1)},e}(),O=function(){function e(e){this._trait=e,this.indexes=[],this.sortedIndexes=[],this._onChange=new f.a,this.onChange=this._onChange.event}return Object.defineProperty(e.prototype,"trait",{get:function(){return this._trait},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderer",{get:function(){return new L(this)},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,n){var i=n.length-t,r=e+t,o=this.sortedIndexes.filter(function(t){return t=r}).map(function(e){return e+i}));this.renderer.splice(e,t,n.length),this._set(o,o)},e.prototype.renderIndex=function(e,t){c.R(t,this._trait,this.contains(e))},e.prototype.unrender=function(e){c.I(e,this._trait)},e.prototype.set=function(e,t){return this._set(e,e.slice().sort(K),t)},e.prototype._set=function(e,t,n){var i=this.indexes,r=this.sortedIndexes;this.indexes=e,this.sortedIndexes=t;var o=U(r,e);return this.renderer.renderIndexes(o),this._onChange.fire({indexes:e,browserEvent:n}),i},e.prototype.get=function(){return this.indexes},e.prototype.contains=function(e){return Object(a.c)(this.sortedIndexes,e,K)>=0},e.prototype.dispose=function(){this._onChange=Object(o.f)(this._onChange)},x([u.a],e.prototype,"renderer",null),e}(),k=function(e){function t(){return e.call(this,"focused")||this}return C(t,e),t.prototype.renderIndex=function(t,n){e.prototype.renderIndex.call(this,t,n),this.contains(t)?n.setAttribute("aria-selected","true"):n.removeAttribute("aria-selected")},t}(O),N=function(){function e(e,t,n){this.trait=e,this.view=t,this.identityProvider=n}return e.prototype.splice=function(e,t,n){var i=this;if(!this.identityProvider)return this.trait.splice(e,t,n.map(function(){return!1}));var r=this.trait.get().map(function(e){return i.identityProvider.getId(i.view.element(e)).toString()}),o=n.map(function(e){return r.indexOf(i.identityProvider.getId(e).toString())>-1});this.trait.splice(e,t,o)},e}();function E(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}var I,D=function(){function e(e,t,n){this.list=e,this.view=t,this.disposables=new o.b;var i=!1!==n.multipleSelectionSupport;this.openController=n.openController||W;var r=f.b.chain(Object(p.a)(t.domNode,"keydown")).filter(function(e){return!E(e.target)}).map(function(e){return new h.a(e)});r.filter(function(e){return 3===e.keyCode}).on(this.onEnter,this,this.disposables),r.filter(function(e){return 16===e.keyCode}).on(this.onUpArrow,this,this.disposables),r.filter(function(e){return 18===e.keyCode}).on(this.onDownArrow,this,this.disposables),r.filter(function(e){return 11===e.keyCode}).on(this.onPageUpArrow,this,this.disposables),r.filter(function(e){return 12===e.keyCode}).on(this.onPageDownArrow,this,this.disposables),r.filter(function(e){return 9===e.keyCode}).on(this.onEscape,this,this.disposables),i&&r.filter(function(e){return(l.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(),e.browserEvent),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(1,!1,e.browserEvent),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(1,!1,e.browserEvent),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageUpArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(e.browserEvent),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(e.browserEvent),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onCtrlA=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(Object(a.r)(this.list.length),e.browserEvent),this.view.domNode.focus()},e.prototype.onEscape=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection([],e.browserEvent),this.view.domNode.focus()},e.prototype.dispose=function(){this.disposables.dispose()},e}();function M(e){return!(e.ctrlKey||e.metaKey||e.altKey)&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30||e.keyCode>=93&&e.keyCode<=102||e.keyCode>=80&&e.keyCode<=90)}!function(e){e[e.Idle=0]="Idle",e[e.Typing=1]="Typing"}(I||(I={}));var T=function(){function e(e,t,n){this.list=e,this.view=t,this.keyboardNavigationLabelProvider=n,this.enabled=!1,this.state=I.Idle,this.automaticKeyboardNavigation=!0,this.triggered=!1,this.enabledDisposables=new o.b,this.disposables=new o.b,this.updateOptions(e.options)}return e.prototype.updateOptions=function(e){void 0===e.enableKeyboardNavigation||!!e.enableKeyboardNavigation?this.enable():this.disable(),void 0!==e.automaticKeyboardNavigation&&(this.automaticKeyboardNavigation=e.automaticKeyboardNavigation)},e.prototype.enable=function(){var e=this;if(!this.enabled){var t=f.b.chain(Object(p.a)(this.view.domNode,"keydown")).filter(function(e){return!E(e.target)}).filter(function(){return e.automaticKeyboardNavigation||e.triggered}).map(function(e){return new h.a(e)}).filter(this.keyboardNavigationLabelProvider.mightProducePrintableCharacter?function(t){return e.keyboardNavigationLabelProvider.mightProducePrintableCharacter(t)}:function(e){return M(e)}).forEach(function(e){e.stopPropagation(),e.preventDefault()}).map(function(e){return e.browserEvent.key}).event,n=f.b.debounce(t,function(){return null},800);f.b.reduce(f.b.any(t,n),function(e,t){return null===t?null:(e||"")+t})(this.onInput,this,this.enabledDisposables),this.enabled=!0,this.triggered=!1}},e.prototype.disable=function(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)},e.prototype.onInput=function(e){if(!e)return this.state=I.Idle,void(this.triggered=!1);var t=this.list.getFocus(),n=t.length>0?t[0]:0,i=this.state===I.Idle?1:0;this.state=I.Typing;for(var r=0;r=0&&e[r]===t-(n-r);)i.push(e[r--]);i.reverse(),r=n;for(;r=e.length)n.push(t[r++]);else if(r>=t.length)n.push(e[i++]);else{if(e[i]===t[r]){i++,r++;continue}e[i]=e.length)n.push(t[r++]);else if(r>=t.length)n.push(e[i++]);else{if(e[i]===t[r]){n.push(e[i]),i++,r++;continue}e[i]-1?t:[e]},e.prototype.getDragURI=function(e){return this.dnd.getDragURI(e)},e.prototype.getDragLabel=function(e){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e)},e.prototype.onDragStart=function(e,t){this.dnd.onDragStart&&this.dnd.onDragStart(e,t)},e.prototype.onDragOver=function(e,t,n,i){return this.dnd.onDragOver(e,t,n,i)},e.prototype.drop=function(e,t,n,i){this.dnd.drop(e,t,n,i)},e}(),Y=function(){function e(e,t,n,s){void 0===s&&(s=z),this._options=s,this.eventBufferer=new f.c,this.disposables=new o.b,this._onDidOpen=new f.a,this.onDidOpen=this._onDidOpen.event,this._onPin=new f.a,this.didJustPressContextMenuKey=!1,this._onDidDispose=new f.a,this.onDidDispose=this._onDidDispose.event,this.focus=new k,this.selection=new O("selected"),Object(v.g)(s,H,!1);var a=[this.focus.renderer,this.selection.renderer];s.accessibilityProvider&&a.push(new G(s.accessibilityProvider)),n=n.map(function(e){return new q(e.templateId,a.concat([e]))});var u=S({},s,{dnd:s.dnd&&new Z(this,s.dnd)});if(this.view=new g.b(e,t,n,u),"string"!=typeof s.ariaRole?this.view.domNode.setAttribute("role",i.TREE):this.view.domNode.setAttribute("role",s.ariaRole),this.styleElement=c.s(this.view.domNode),this.styleController=s.styleController||new V(this.styleElement,this.view.domId),this.spliceable=new _([new N(this.focus,this.view,s.identityProvider),new N(this.selection,this.view,s.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.onDidFocus=f.b.map(Object(p.a)(this.view.domNode,"focus",!0),function(){return null}),this.onDidBlur=f.b.map(Object(p.a)(this.view.domNode,"blur",!0),function(){return null}),this.disposables.add(new P(this,this.view)),"boolean"!=typeof s.keyboardSupport||s.keyboardSupport){var l=new D(this,this.view,s);this.disposables.add(l)}s.keyboardNavigationLabelProvider&&(this.typeLabelController=new T(this,this.view,s.keyboardNavigationLabelProvider),this.disposables.add(this.typeLabelController)),this.disposables.add(this.createMouseController(s)),this.onFocusChange(this._onFocusChange,this,this.disposables),this.onSelectionChange(this._onSelectionChange,this,this.disposables),s.ariaLabel&&this.view.domNode.setAttribute("aria-label",Object(r.a)("aria list","{0}. Use the navigation keys to navigate.",s.ariaLabel)),this.style(s)}return Object.defineProperty(e.prototype,"onFocusChange",{get:function(){var e=this;return f.b.map(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 f.b.map(this.eventBufferer.wrapEvent(this.selection.onChange),function(t){return e.toListEvent(t)})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"domId",{get:function(){return this.view.domId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseClick",{get:function(){return this.view.onMouseClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseDblClick",{get:function(){return this.view.onMouseDblClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseMiddleClick",{get:function(){return this.view.onMouseMiddleClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseDown",{get:function(){return this.view.onMouseDown},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onTouchStart",{get:function(){return this.view.onTouchStart},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onTap",{get:function(){return this.view.onTap},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onContextMenu",{get:function(){var e=this,t=f.b.chain(Object(p.a)(this.view.domNode,"keydown")).map(function(e){return new h.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,n=f.b.chain(Object(p.a)(this.view.domNode,"keyup")).filter(function(){var t=e.didJustPressContextMenuKey;return e.didJustPressContextMenuKey=!1,t}).filter(function(){return e.getFocus().length>0&&!!e.view.domElement(e.getFocus()[0])}).map(function(t){var n=e.getFocus()[0];return{index:n,element:e.view.element(n),anchor:e.view.domElement(n),browserEvent:t}}).event,i=f.b.chain(this.view.onContextMenu).filter(function(){return!e.didJustPressContextMenuKey}).map(function(e){var t=e.element,n=e.index,i=e.browserEvent;return{element:t,index:n,anchor:{x:i.clientX+1,y:i.clientY},browserEvent:i}}).event;return f.b.any(t,n,i)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onKeyDown",{get:function(){return Object(p.a)(this.view.domNode,"keydown")},enumerable:!0,configurable:!0}),e.prototype.createMouseController=function(e){return new B(this)},e.prototype.updateOptions=function(e){void 0===e&&(e={}),this._options=S({},this._options,e),this.typeLabelController&&this.typeLabelController.updateOptions(this._options)},Object.defineProperty(e.prototype,"options",{get:function(){return this._options},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,n){var i=this;if(void 0===n&&(n=[]),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===n.length||this.eventBufferer.bufferEvents(function(){return i.spliceable.splice(e,t,n)})},e.prototype.rerender=function(){this.view.rerender()},e.prototype.element=function(e){return this.view.element(e)},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.contentHeight},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"scrollTop",{get:function(){return this.view.getScrollTop()},set:function(e){this.view.setScrollTop(e)},enumerable:!0,configurable:!0}),e.prototype.domFocus=function(){this.view.domNode.focus()},e.prototype.layout=function(e,t){this.view.layout(e,t)},e.prototype.setSelection=function(e,t){for(var n=0,i=e;n=this.length)throw new Error("Invalid index "+r)}this.selection.set(e,t)},e.prototype.getSelection=function(){return this.selection.get()},e.prototype.getSelectedElements=function(){var e=this;return this.getSelection().map(function(t){return e.view.element(t)})},e.prototype.setFocus=function(e,t){for(var n=0,i=e;n=this.length)throw new Error("Invalid index "+r)}this.focus.set(e,t)},e.prototype.focusNext=function(e,t,n,i){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var r=this.focus.get(),o=this.findNextIndex(r.length>0?r[0]+e:0,t,i);o>-1&&this.setFocus([o],n)}},e.prototype.focusPrevious=function(e,t,n,i){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var r=this.focus.get(),o=this.findPreviousIndex(r.length>0?r[0]-e:0,t,i);o>-1&&this.setFocus([o],n)}},e.prototype.focusNextPage=function(e,t){var n=this,i=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);i=0===i?0:i-1;var r=this.view.element(i),o=this.getFocusedElements()[0];if(o!==r){var s=this.findPreviousIndex(i,!1,t);s>-1&&o!==this.view.element(s)?this.setFocus([s],e):this.setFocus([i],e)}else{var a=this.view.getScrollTop();this.view.setScrollTop(a+this.view.renderHeight-this.view.elementHeight(i)),this.view.getScrollTop()!==a&&setTimeout(function(){return n.focusNextPage(e,t)},0)}},e.prototype.focusPreviousPage=function(e,t){var n,i=this,r=this.view.getScrollTop();n=0===r?this.view.indexAt(r):this.view.indexAfter(r-1);var o=this.view.element(n),s=this.getFocusedElements()[0];if(s!==o){var a=this.findNextIndex(n,!1,t);a>-1&&s!==this.view.element(a)?this.setFocus([a],e):this.setFocus([n],e)}else{var u=r;this.view.setScrollTop(r-this.view.renderHeight),this.view.getScrollTop()!==u&&setTimeout(function(){return i.focusPreviousPage(e,t)},0)}},e.prototype.focusLast=function(e,t){if(0!==this.length){var n=this.findPreviousIndex(this.length-1,!1,t);n>-1&&this.setFocus([n],e)}},e.prototype.focusFirst=function(e,t){if(0!==this.length){var n=this.findNextIndex(0,!1,t);n>-1&&this.setFocus([n],e)}},e.prototype.findNextIndex=function(e,t,n){void 0===t&&(t=!1);for(var i=0;i=this.length&&!t)return-1;if(e%=this.length,!n||n(this.element(e)))return e;e++}return-1},e.prototype.findPreviousIndex=function(e,t,n){void 0===t&&(t=!1);for(var i=0;i=this.length)throw new Error("Invalid index "+e);var n=this.view.getScrollTop(),i=this.view.elementTop(e),r=this.view.elementHeight(e);if(Object(s.g)(t)){var o=r-this.view.renderHeight;this.view.setScrollTop(o*Object(b.a)(t,0,1)+i)}else{var a=i+r,u=n+this.view.renderHeight;i=u&&this.view.setScrollTop(a-this.view.renderHeight)}},e.prototype.getRelativeTop=function(e){if(e<0||e>=this.length)throw new Error("Invalid index "+e);var t=this.view.getScrollTop(),n=this.view.elementTop(e),i=this.view.elementHeight(e);if(nt+this.view.renderHeight)return null;var r=i-this.view.renderHeight;return Math.abs((t-n)/r)},e.prototype.getHTMLElement=function(){return this.view.domNode},e.prototype.open=function(e,t){for(var n=this,i=0,r=e;i=this.length)throw new Error("Invalid index "+o)}this._onDidOpen.fire({indexes:e,elements:e.map(function(e){return n.view.element(e)}),browserEvent:t})},e.prototype.pin=function(e){for(var t=0,n=e;t=this.length)throw new Error("Invalid index "+i)}this._onPin.fire(e)},e.prototype.style=function(e){this.styleController.style(e)},e.prototype.toListEvent=function(e){var t=this,n=e.indexes,i=e.browserEvent;return{indexes:n,elements:n.map(function(e){return t.view.element(e)}),browserEvent:i}},e.prototype._onFocusChange=function(){var e=this.focus.get();e.length>0?this.view.domNode.setAttribute("aria-activedescendant",this.view.getElementDomId(e[0])):this.view.domNode.removeAttribute("aria-activedescendant"),this.view.domNode.setAttribute("role","tree"),c.R(this.view.domNode,"element-focused",e.length>0)},e.prototype._onSelectionChange=function(){var e=this.selection.get();c.R(this.view.domNode,"selection-none",0===e.length),c.R(this.view.domNode,"selection-single",1===e.length),c.R(this.view.domNode,"selection-multiple",e.length>1)},e.prototype.dispose=function(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidOpen.dispose(),this._onPin.dispose(),this._onDidDispose.dispose()},x([u.a],e.prototype,"onFocusChange",null),x([u.a],e.prototype,"onSelectionChange",null),x([u.a],e.prototype,"onContextMenu",null),e}()},Skdw:function(e,t,n){"use strict";t.b=function(e,t){void 0===t&&(t=s);return function(e,t){for(var n='
    ',o=e.split(/\r\n|\r|\n/),s=t.getInitialState(),a=0,u=o.length;a0&&(n+="
    ");var l=t.tokenize2(c,s,0);r.a.convertToEndOffset(l.tokens,c.length);for(var d=new r.a(l.tokens,c),h=d.inflate(),f=0,p=0,g=h.getCount();p'+i.o(c.substring(f,v))+"",f=v}s=l.endState}return n+="
    "}(e,t||s)},t.a=function(e,t,n,i,r,o){for(var s="
    ",a=i,u=0,c=0,l=t.getCount();c0;)h+=" ",p--;break;case 60:h+="<";break;case 62:h+=">";break;case 38:h+="&";break;case 0:h+="�";break;case 65279:case 8232:h+="�";break;case 13:h+="​";break;case 32:h+=" ";break;default:h+=String.fromCharCode(f)}}if(s+=''+h+"",d>r||a>=r)break}}return s+="
    "};var i=n("aL7J"),r=n("cLaT"),o=n("jUH2"),s={getInitialState:function(){return o.c},tokenize2:function(e,t,n){return Object(o.e)(0,e,t,n)}}},SoM9:function(e,t){},SsjP:function(e,t,n){var i=n("H2Pp"),r=n("X3l8").Buffer,o=n("4sPJ");function s(e){var t=e._cipher.encryptBlockRaw(e._prev);return o(e._prev),t}t.encrypt=function(e,t){var n=Math.ceil(t.length/16),o=e._cache.length;e._cache=r.concat([e._cache,r.allocUnsafe(16*n)]);for(var a=0;a=0?t+1:1},e.prototype.getCurrentMatchesPosition=function(t){for(var n=0,i=this._editor.getModel().getDecorationsInRange(t);n1e3){o=e._FIND_MATCH_NO_OVERVIEW_DECORATION;for(var a=i._editor.getModel().getLineCount(),u=i._editor.getLayoutInfo().height/a,c=Math.max(2,Math.ceil(3/u)),l=t[0].range.startLineNumber,h=t[0].range.endLineNumber,f=1,p=t.length;f=g.startLineNumber?g.endLineNumber>h&&(h=g.endLineNumber):(s.push({range:new d.a(l,1,h,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),l=g.startLineNumber,h=g.endLineNumber)}s.push({range:new d.a(l,1,h,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}var m=new Array(t.length);for(f=0,p=t.length;f=0;t--){var n=this._decorations[t],i=this._editor.getModel().getDecorationRange(n);if(i&&!(i.endLineNumber>e.lineNumber)){if(i.endLineNumbere.column))return i}}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,n=this._decorations.length;te.lineNumber)return r;if(!(r.startColumn0){for(var n=[],i=0;i0;){if(e0},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),n=e.lineNumber,i=e.column,r=this._editor.getModel();return t||1===i?(1===n?n=r.getLineCount():n--,i=r.getLineMaxColumn(n)):i--,new l.a(n,i)},e.prototype._moveToPrevMatch=function(t,n){if(void 0===n&&(n=!1),this._decorations.getCount()<19999){var i=this._decorations.matchBeforePosition(t);return i&&i.isEmpty()&&i.getStartPosition().equals(t)&&(t=this._prevSearchPosition(t),i=this._decorations.matchBeforePosition(t)),void(i&&this._setCurrentFindMatch(i))}if(!this._cannotFind()){var r=this._decorations.getFindScope(),o=e._getSearchRange(this._editor.getModel(),r);o.getEndPosition().isBefore(t)&&(t=o.getEndPosition()),t.isBefore(o.getStartPosition())&&(t=o.getEndPosition());var s=t.lineNumber,a=t.column,u=this._editor.getModel(),c=new l.a(s,a),d=u.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);if(d&&d.range.isEmpty()&&d.range.getStartPosition().equals(c)&&(c=this._prevSearchPosition(c),d=u.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1)),d)return n||o.containsRange(d.range)?void this._setCurrentFindMatch(d.range):this._moveToPrevMatch(d.range.getStartPosition(),!0)}},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),n=e.lineNumber,i=e.column,r=this._editor.getModel();return t||i===r.getLineMaxColumn(n)?(n===r.getLineCount()?n=1:n++,i=1):i++,new l.a(n,i)},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 n=this._getNextMatch(e,!1,!0);n&&this._setCurrentFindMatch(n.range)},e.prototype._getNextMatch=function(t,n,i,r){if(void 0===r&&(r=!1),this._cannotFind())return null;var o=this._decorations.getFindScope(),s=e._getSearchRange(this._editor.getModel(),o);s.getEndPosition().isBefore(t)&&(t=s.getStartPosition()),t.isBefore(s.getStartPosition())&&(t=s.getStartPosition());var a=t.lineNumber,u=t.column,c=this._editor.getModel(),d=new l.a(a,u),h=c.findNextMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,n);return i&&h&&h.range.isEmpty()&&h.range.getStartPosition().equals(d)&&(d=this._nextSearchPosition(d),h=c.findNextMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,n)),h?r||s.containsRange(h.range)?h:this._getNextMatch(h.range.getEndPosition(),n,i,!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 S(null);for(var t=new L(e),n=0,i=e.length;n=i)break;if(36===(a=e.charCodeAt(n))){t.emitUnchanged(n-1),t.emitStatic("$",n+1);continue}if(48===a||38===a){t.emitUnchanged(n-1),t.emitMatchIndex(0,n+1);continue}if(49<=a&&a<=57){var o=a-48;if(n+1=i)break;var a;switch(a=e.charCodeAt(n)){case 92:t.emitUnchanged(n-1),t.emitStatic("\\",n+1);break;case 110:t.emitUnchanged(n-1),t.emitStatic("\n",n+1);break;case 116:t.emitUnchanged(n-1),t.emitStatic("\t",n+1)}}}return t.finalize()}(this._state.replaceString):S.fromStaticValue(this._state.replaceString)},e.prototype.replace=function(){if(this._hasMatches()){var e=this._getReplacePattern(),t=this._editor.getSelection(),n=this._getNextMatch(t.getStartPosition(),!0,!1);if(n)if(t.equalsRange(n.range)){var i=e.buildReplaceString(n.matches,this._state.preserveCase),r=new c.a(t,i);this._executeEditorCommand("replace",r),this._decorations.setStartPosition(new l.a(t.startLineNumber,t.startColumn+i.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(n.range)}},e.prototype._findMatches=function(t,n,i){var r=e._getSearchRange(this._editor.getModel(),t);return this._editor.getModel().findMatches(this._state.searchString,r,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,n,i)},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 f.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 n="m";t.ignoreCase&&(n+="i"),t.global&&(n+="g"),t=new RegExp(t.source,n)}var i,r=this._editor.getModel(),o=r.getValue(1),s=r.getFullModelRange(),a=this._getReplacePattern(),u=this._state.preserveCase;i=a.hasReplacementPatterns||u?o.replace(t,function(){return a.buildReplaceString(arguments,u)}):o.replace(t,a.buildReplaceString(null,u));var l=new c.b(s,i,this._editor.getSelection());this._executeEditorCommand("replaceAll",l)}},e.prototype._regularReplaceAll=function(e){for(var t=this._getReplacePattern(),n=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),i=[],r=0,o=n.length;rt&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,i.matchesPosition=!0,r=!0),this._matchesCount!==t&&(this._matchesCount=t,i.matchesCount=!0,r=!0),void 0!==n&&(d.a.equalsRange(this._currentMatch,n)||(this._currentMatch=n,i.currentMatch=!0,r=!0)),r&&this._onFindReplaceStateChange.fire(i)},e.prototype.change=function(e,t,n){void 0===n&&(n=!0);var i={moveCursor:t,updateHistory:n,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1},r=!1,o=this.isRegex,s=this.wholeWord,a=this.matchCase,u=this.preserveCase;void 0!==e.searchString&&this._searchString!==e.searchString&&(this._searchString=e.searchString,i.searchString=!0,r=!0),void 0!==e.replaceString&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,i.replaceString=!0,r=!0),void 0!==e.isRevealed&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,i.isRevealed=!0,r=!0),void 0!==e.isReplaceRevealed&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,i.isReplaceRevealed=!0,r=!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.preserveCase&&(this._preserveCase=e.preserveCase),void 0!==e.searchScope&&(d.a.equalsRange(this._searchScope,e.searchScope)||(this._searchScope=e.searchScope,i.searchScope=!0,r=!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,this._preserveCaseOverride=void 0!==e.preserveCaseOverride?e.preserveCaseOverride:0,o!==this.isRegex&&(r=!0,i.isRegex=!0),s!==this.wholeWord&&(r=!0,i.wholeWord=!0),a!==this.matchCase&&(r=!0,i.matchCase=!0),u!==this.preserveCase&&(r=!0,i.preserveCase=!0),r&&this._onFindReplaceStateChange.fire(i)},e}(),ne=(n("s0RT"),n("UqCF")),ie=n("5tK6"),re=n("zxiH"),oe=n("ZfGv"),se=(n("NBYJ"),n("a6dA")),ae=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ue=i.a("defaultLabel","input"),ce=function(e){function t(t,n,i,r){var o=e.call(this)||this;o._showOptionButtons=i,o.fixFocusOnOptionClickEnabled=!0,o._onDidOptionChange=o._register(new B.a),o.onDidOptionChange=o._onDidOptionChange.event,o._onKeyDown=o._register(new B.a),o.onKeyDown=o._onKeyDown.event,o._onMouseDown=o._register(new B.a),o.onMouseDown=o._onMouseDown.event,o._onInput=o._register(new B.a),o._onKeyUp=o._register(new B.a),o._onCaseSensitiveKeyDown=o._register(new B.a),o.onCaseSensitiveKeyDown=o._onCaseSensitiveKeyDown.event,o._onRegexKeyDown=o._register(new B.a),o.onRegexKeyDown=o._onRegexKeyDown.event,o._lastHighlightFindOptions=0,o.contextViewProvider=n,o.placeholder=r.placeholder||"",o.validation=r.validation,o.label=r.label||ue,o.inputActiveOptionBorder=r.inputActiveOptionBorder,o.inputActiveOptionBackground=r.inputActiveOptionBackground,o.inputBackground=r.inputBackground,o.inputForeground=r.inputForeground,o.inputBorder=r.inputBorder,o.inputValidationInfoBorder=r.inputValidationInfoBorder,o.inputValidationInfoBackground=r.inputValidationInfoBackground,o.inputValidationInfoForeground=r.inputValidationInfoForeground,o.inputValidationWarningBorder=r.inputValidationWarningBorder,o.inputValidationWarningBackground=r.inputValidationWarningBackground,o.inputValidationWarningForeground=r.inputValidationWarningForeground,o.inputValidationErrorBorder=r.inputValidationErrorBorder,o.inputValidationErrorBackground=r.inputValidationErrorBackground,o.inputValidationErrorForeground=r.inputValidationErrorForeground;var s=r.appendCaseSensitiveLabel||"",a=r.appendWholeWordsLabel||"",u=r.appendRegexLabel||"",c=r.history||[],l=!!r.flexibleHeight,d=!!r.flexibleWidth,h=r.flexibleMaxHeight;o.domNode=document.createElement("div"),F.f(o.domNode,"monaco-findInput"),o.inputBox=o._register(new se.a(o.domNode,o.contextViewProvider,{placeholder:o.placeholder||"",ariaLabel:o.label||"",validationOptions:{validation:o.validation},inputBackground:o.inputBackground,inputForeground:o.inputForeground,inputBorder:o.inputBorder,inputValidationInfoBackground:o.inputValidationInfoBackground,inputValidationInfoForeground:o.inputValidationInfoForeground,inputValidationInfoBorder:o.inputValidationInfoBorder,inputValidationWarningBackground:o.inputValidationWarningBackground,inputValidationWarningForeground:o.inputValidationWarningForeground,inputValidationWarningBorder:o.inputValidationWarningBorder,inputValidationErrorBackground:o.inputValidationErrorBackground,inputValidationErrorForeground:o.inputValidationErrorForeground,inputValidationErrorBorder:o.inputValidationErrorBorder,history:c,flexibleHeight:l,flexibleWidth:d,flexibleMaxHeight:h})),o.regex=o._register(new $({appendTitle:u,isChecked:!1,inputActiveOptionBorder:o.inputActiveOptionBorder,inputActiveOptionBackground:o.inputActiveOptionBackground})),o._register(o.regex.onChange(function(e){o._onDidOptionChange.fire(e),!e&&o.fixFocusOnOptionClickEnabled&&o.inputBox.focus(),o.validate()})),o._register(o.regex.onKeyDown(function(e){o._onRegexKeyDown.fire(e)})),o.wholeWords=o._register(new X({appendTitle:a,isChecked:!1,inputActiveOptionBorder:o.inputActiveOptionBorder,inputActiveOptionBackground:o.inputActiveOptionBackground})),o._register(o.wholeWords.onChange(function(e){o._onDidOptionChange.fire(e),!e&&o.fixFocusOnOptionClickEnabled&&o.inputBox.focus(),o.validate()})),o.caseSensitive=o._register(new Y({appendTitle:s,isChecked:!1,inputActiveOptionBorder:o.inputActiveOptionBorder,inputActiveOptionBackground:o.inputActiveOptionBackground})),o._register(o.caseSensitive.onChange(function(e){o._onDidOptionChange.fire(e),!e&&o.fixFocusOnOptionClickEnabled&&o.inputBox.focus(),o.validate()})),o._register(o.caseSensitive.onKeyDown(function(e){o._onCaseSensitiveKeyDown.fire(e)})),o._showOptionButtons&&(o.inputBox.paddingRight=o.caseSensitive.width()+o.wholeWords.width()+o.regex.width());var f=[o.caseSensitive.domNode,o.wholeWords.domNode,o.regex.domNode];o.onkeydown(o.domNode,function(e){if(e.equals(15)||e.equals(17)||e.equals(9)){var t=f.indexOf(document.activeElement);if(t>=0){var n=-1;e.equals(17)?n=(t+1)%f.length:e.equals(15)&&(n=0===t?f.length-1:t-1),e.equals(9)?f[t].blur():n>=0&&f[n].focus(),F.c.stop(e,!0)}}});var p=document.createElement("div");return p.className="controls",p.style.display=o._showOptionButtons?"block":"none",p.appendChild(o.caseSensitive.domNode),p.appendChild(o.wholeWords.domNode),p.appendChild(o.regex.domNode),o.domNode.appendChild(p),t&&t.appendChild(o.domNode),o.onkeydown(o.inputBox.inputElement,function(e){return o._onKeyDown.fire(e)}),o.onkeyup(o.inputBox.inputElement,function(e){return o._onKeyUp.fire(e)}),o.oninput(o.inputBox.inputElement,function(e){return o._onInput.fire()}),o.onmousedown(o.inputBox.inputElement,function(e){return o._onMouseDown.fire(e)}),o}return ae(t,e),t.prototype.enable=function(){F.I(this.domNode,"disabled"),this.inputBox.enable(),this.regex.enable(),this.wholeWords.enable(),this.caseSensitive.enable()},t.prototype.disable=function(){F.f(this.domNode,"disabled"),this.inputBox.disable(),this.regex.disable(),this.wholeWords.disable(),this.caseSensitive.disable()},t.prototype.setFocusInputOnOptionClick=function(e){this.fixFocusOnOptionClickEnabled=e},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.inputActiveOptionBackground=e.inputActiveOptionBackground,this.inputBackground=e.inputBackground,this.inputForeground=e.inputForeground,this.inputBorder=e.inputBorder,this.inputValidationInfoBackground=e.inputValidationInfoBackground,this.inputValidationInfoForeground=e.inputValidationInfoForeground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningForeground=e.inputValidationWarningForeground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorForeground=e.inputValidationErrorForeground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()},t.prototype.applyStyles=function(){if(this.domNode){var e={inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionBackground:this.inputActiveOptionBackground};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,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,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},t.prototype.getWholeWords=function(){return this.wholeWords.checked},t.prototype.setWholeWords=function(e){this.wholeWords.checked=e},t.prototype.getRegex=function(){return this.regex.checked},t.prototype.setRegex=function(e){this.regex.checked=e,this.validate()},t.prototype.focusOnCaseSensitive=function(){this.caseSensitive.focus()},t.prototype.highlightFindOptions=function(){F.I(this.domNode,"highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,F.f(this.domNode,"highlight-"+this._lastHighlightFindOptions)},t.prototype.validate=function(){this.inputBox&&this.inputBox.validate()},t.prototype.clearMessage=function(){this.inputBox&&this.inputBox.hideMessage()},t.prototype.dispose=function(){e.prototype.dispose.call(this)},t}(j.a),le=n("Kx4b"),de=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),he=i.a("defaultLabel","input"),fe=i.a("label.preserveCaseCheckbox","Preserve Case"),pe=function(e){function t(t){return e.call(this,{actionClassName:"monaco-case-sensitive",title:fe+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder})||this}return de(t,e),t}(U),ge=function(e){function t(t,n,i,r){var o=e.call(this)||this;o._showOptionButtons=i,o.fixFocusOnOptionClickEnabled=!0,o.cachedOptionsWidth=0,o._onDidOptionChange=o._register(new B.a),o.onDidOptionChange=o._onDidOptionChange.event,o._onKeyDown=o._register(new B.a),o.onKeyDown=o._onKeyDown.event,o._onMouseDown=o._register(new B.a),o._onInput=o._register(new B.a),o._onKeyUp=o._register(new B.a),o._onPreserveCaseKeyDown=o._register(new B.a),o.onPreserveCaseKeyDown=o._onPreserveCaseKeyDown.event,o.contextViewProvider=n,o.placeholder=r.placeholder||"",o.validation=r.validation,o.label=r.label||he,o.inputActiveOptionBorder=r.inputActiveOptionBorder,o.inputBackground=r.inputBackground,o.inputForeground=r.inputForeground,o.inputBorder=r.inputBorder,o.inputValidationInfoBorder=r.inputValidationInfoBorder,o.inputValidationInfoBackground=r.inputValidationInfoBackground,o.inputValidationInfoForeground=r.inputValidationInfoForeground,o.inputValidationWarningBorder=r.inputValidationWarningBorder,o.inputValidationWarningBackground=r.inputValidationWarningBackground,o.inputValidationWarningForeground=r.inputValidationWarningForeground,o.inputValidationErrorBorder=r.inputValidationErrorBorder,o.inputValidationErrorBackground=r.inputValidationErrorBackground,o.inputValidationErrorForeground=r.inputValidationErrorForeground;var s=!!r.flexibleHeight,a=!!r.flexibleWidth,u=r.flexibleMaxHeight;return o.buildDomNode(r.history||[],s,a,u),t&&t.appendChild(o.domNode),o.onkeydown(o.inputBox.inputElement,function(e){return o._onKeyDown.fire(e)}),o.onkeyup(o.inputBox.inputElement,function(e){return o._onKeyUp.fire(e)}),o.oninput(o.inputBox.inputElement,function(e){return o._onInput.fire()}),o.onmousedown(o.inputBox.inputElement,function(e){return o._onMouseDown.fire(e)}),o}return de(t,e),t.prototype.enable=function(){F.I(this.domNode,"disabled"),this.inputBox.enable(),this.preserveCase.enable()},t.prototype.disable=function(){F.f(this.domNode,"disabled"),this.inputBox.disable(),this.preserveCase.disable()},t.prototype.setEnabled=function(e){e?this.enable():this.disable()},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.inputValidationInfoForeground=e.inputValidationInfoForeground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningForeground=e.inputValidationWarningForeground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorForeground=e.inputValidationErrorForeground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()},t.prototype.applyStyles=function(){if(this.domNode){var e={inputActiveOptionBorder:this.inputActiveOptionBorder};this.preserveCase.style(e);var t={inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder};this.inputBox.style(t)}},t.prototype.select=function(){this.inputBox.select()},t.prototype.focus=function(){this.inputBox.focus()},t.prototype.getPreserveCase=function(){return this.preserveCase.checked},t.prototype.setPreserveCase=function(e){this.preserveCase.checked=e},t.prototype.focusOnPreserve=function(){this.preserveCase.focus()},t.prototype.buildDomNode=function(e,t,n,i){var r=this;this.domNode=document.createElement("div"),F.f(this.domNode,"monaco-findInput"),this.inputBox=this._register(new se.a(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder,history:e,flexibleHeight:t,flexibleWidth:n,flexibleMaxHeight:i})),this.preserveCase=this._register(new pe({appendTitle:"",isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder})),this._register(this.preserveCase.onChange(function(e){r._onDidOptionChange.fire(e),!e&&r.fixFocusOnOptionClickEnabled&&r.inputBox.focus(),r.validate()})),this._register(this.preserveCase.onKeyDown(function(e){r._onPreserveCaseKeyDown.fire(e)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;var o=[this.preserveCase.domNode];this.onkeydown(this.domNode,function(e){if(e.equals(15)||e.equals(17)||e.equals(9)){var t=o.indexOf(document.activeElement);if(t>=0){var n=-1;e.equals(17)?n=(t+1)%o.length:e.equals(15)&&(n=0===t?o.length-1:t-1),e.equals(9)?o[t].blur():n>=0&&o[n].focus(),F.c.stop(e,!0)}}});var s=document.createElement("div");s.className="controls",s.style.display=this._showOptionButtons?"block":"none",s.appendChild(this.preserveCase.domNode),this.domNode.appendChild(s)},t.prototype.validate=function(){this.inputBox&&this.inputBox.validate()},Object.defineProperty(t.prototype,"width",{set:function(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.inputBox.width=e,this.domNode.style.width=e+"px"},enumerable:!0,configurable:!0}),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t}(j.a),me=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ve=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},_e=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},be="historyNavigationWidget",ye="historyNavigationEnabled";function we(e,t){return e.getContext(document.activeElement).getValue(t)}function Ce(e,t){var n=function(e,t){return e.createScoped(t.target)}(e,t);return function(e,t,n){new k.d(n,t).bindTo(e)}(n,t,be),{scopedContextKeyService:n,historyNavigationEnablement:new k.d(ye,!0).bindTo(n)}}var Se=function(e){function t(t,n,i,r,o){void 0===o&&(o=!1);var s=e.call(this,t,n,o,i)||this;return s._register(Ce(r,{target:s.inputBox.element,historyNavigator:s.inputBox}).scopedContextKeyService),s}return me(t,e),t=ve([_e(3,k.c)],t)}(ce),xe=function(e){function t(t,n,i,r,o){void 0===o&&(o=!1);var s=e.call(this,t,n,o,i)||this;return s._register(Ce(r,{target:s.inputBox.element,historyNavigator:s.inputBox}).scopedContextKeyService),s}return me(t,e),t=ve([_e(3,k.c)],t)}(ge);le.a.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:k.a.and(k.a.has(be),k.a.equals(ye,!0)),primary:16,secondary:[528],handler:function(e,t){var n=we(e.get(k.c),be);n&&n.historyNavigator.showPreviousValue()}}),le.a.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:k.a.and(k.a.has(be),k.a.equals(ye,!0)),primary:18,secondary:[530],handler:function(e,t){var n=we(e.get(k.c),be);n&&n.historyNavigator.showNextValue()}});var Le=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Oe=i.a("label.find","Find"),ke=i.a("placeholder.find","Find"),Ne=i.a("label.previousMatchButton","Previous match"),Ee=i.a("label.nextMatchButton","Next match"),Ie=i.a("label.toggleSelectionFind","Find in selection"),De=i.a("label.closeButton","Close"),Me=i.a("label.replace","Replace"),Te=i.a("placeholder.replace","Replace"),Pe=i.a("label.replaceButton","Replace"),Ae=i.a("label.replaceAllButton","Replace All"),Re=i.a("label.toggleReplaceButton","Toggle Replace mode"),Fe=i.a("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",19999),je=i.a("label.matchesLocation","{0} of {1}"),We=i.a("label.noResults","No Results"),Be=69,Ve=17+(Be+3+1)+92+2,He=33,ze="ctrlEnterReplaceAll.windows.donotask",Ue=oe.d?256:2048,Ke=function(){return function(e){this.afterLineNumber=e,this.heightInPx=He,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}();function qe(e,t,n){var i=!!t.match(/\n/);n&&i&&n.selectionStart>0&&e.stopPropagation()}function Ge(e,t,n){var i=!!t.match(/\n/);n&&i&&n.selectionEnd=0?F.f(this._domNode,"multipleline"):F.I(this._domNode,"multipleline");try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?this._codeEditor.getConfiguration().readOnly||this._isReplaceVisible||(this._isReplaceVisible=!0,this._replaceInput.width=F.B(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),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;F.R(this._domNode,"no-results",t),this._updateMatchesCount(),this._updateButtons()}(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._replaceInput.inputBox.addToHistory()},t.prototype._updateMatchesCount=function(){var e;if(this._matchesCount.style.minWidth=Be+"px",this._state.matchesCount>=19999?this._matchesCount.title=Fe: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 n=String(this._state.matchesPosition);"0"===n&&(n="?"),e=s.r(je,n,t)}else e=We;this._matchesCount.appendChild(document.createTextNode(e)),Object(ne.a)(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString),!0),Be=Math.max(Be,this._matchesCount.clientWidth)},t.prototype._getAriaLabel=function(e,t,n){return e===We?""===n?i.a("ariaSearchNoResultEmpty","{0} found",e):i.a("ariaSearchNoResult","{0} found for {1}",e,n):t?i.a("ariaSearchNoResultWithLineNum","{0} found for {1} at {2}",e,n,t.startLineNumber+":"+t.startColumn):i.a("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for {1}",e,n)},t.prototype._updateToggleSelectionFindButton=function(){var e=this._codeEditor.getSelection(),t=!!e&&(e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn),n=this._toggleSelectionFind.checked;this._toggleSelectionFind.setEnabled(this._isVisible&&(n||t))},t.prototype._updateButtons=function(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);var e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t),this._nextBtn.setEnabled(this._isVisible&&e&&t),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),F.R(this._domNode,"replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.toggleClass("collapse",!this._isReplaceVisible),this._toggleReplaceBtn.toggleClass("expand",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);var n=!this._codeEditor.getConfiguration().readOnly;this._toggleReplaceBtn.setEnabled(this._isVisible&&n)},t.prototype._reveal=function(){var e=this;if(!this._isVisible){this._isVisible=!0;var t=this._codeEditor.getSelection();!!t&&(t.startLineNumber!==t.endLineNumber||t.startColumn!==t.endColumn)&&this._codeEditor.getConfiguration().contribInfo.find.autoFindInSelection?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._tryUpdateWidgetWidth(),this._updateButtons(),setTimeout(function(){F.f(e._domNode,"visible"),e._domNode.setAttribute("aria-hidden","false")},0),setTimeout(function(){e._findInput.validate()},200),this._codeEditor.layoutOverlayWidget(this);var n=!0;if(this._codeEditor.getConfiguration().contribInfo.find.seedSearchStringFromSelection&&t){var i=this._codeEditor.getDomNode();if(i){var r=F.x(i),o=this._codeEditor.getScrolledVisiblePosition(t.getStartPosition()),s=r.left+(o?o.left:0),a=o?o.top:0;if(this._viewZone&&at.startLineNumber&&(n=!1);var u=F.z(this._domNode).left;s>u&&(n=!1);var c=this._codeEditor.getScrolledVisiblePosition(t.getEndPosition());r.left+(c?c.left:0)>u&&(n=!1)}}}this._showViewZone(n)}},t.prototype._hide=function(e){this._isVisible&&(this._isVisible=!1,this._updateButtons(),F.I(this._domNode,"visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())},t.prototype._layoutViewZone=function(){var e=this;if(this._codeEditor.getConfiguration().contribInfo.find.addExtraSpaceOnTop){if(this._isVisible){var t=this._viewZone;void 0===this._viewZoneId&&t&&this._codeEditor.changeViewZones(function(n){t.heightInPx=e._getHeight(),e._viewZoneId=n.addZone(t),e._codeEditor.setScrollTop(e._codeEditor.getScrollTop()+t.heightInPx)})}}else this._removeViewZone()},t.prototype._showViewZone=function(e){var t=this;if((void 0===e&&(e=!0),this._isVisible)&&this._codeEditor.getConfiguration().contribInfo.find.addExtraSpaceOnTop){void 0===this._viewZone&&(this._viewZone=new Ke(0));var n=this._viewZone;this._codeEditor.changeViewZones(function(i){if(void 0!==t._viewZoneId){var r=t._getHeight();if(r===n.heightInPx)return;var o=r-n.heightInPx;return n.heightInPx=r,i.layoutZone(t._viewZoneId),void(e&&t._codeEditor.setScrollTop(t._codeEditor.getScrollTop()+o))}o=t._getHeight();n.heightInPx=o,t._viewZoneId=i.addZone(n),e&&t._codeEditor.setScrollTop(t._codeEditor.getScrollTop()+o)})}},t.prototype._removeViewZone=function(){var e=this;this._codeEditor.changeViewZones(function(t){void 0!==e._viewZoneId&&(t.removeZone(e._viewZoneId),e._viewZoneId=void 0,e._viewZone&&(e._codeEditor.setScrollTop(e._codeEditor.getScrollTop()-e._viewZone.heightInPx),e._viewZone=void 0))})},t.prototype._applyTheme=function(e){var t={inputActiveOptionBorder:e.getColor(m.V),inputActiveOptionBackground:e.getColor(m.U),inputBackground:e.getColor(m.W),inputForeground:e.getColor(m.Y),inputBorder:e.getColor(m.X),inputValidationInfoBackground:e.getColor(m._2),inputValidationInfoForeground:e.getColor(m._4),inputValidationInfoBorder:e.getColor(m._3),inputValidationWarningBackground:e.getColor(m._5),inputValidationWarningForeground:e.getColor(m._7),inputValidationWarningBorder:e.getColor(m._6),inputValidationErrorBackground:e.getColor(m.Z),inputValidationErrorForeground:e.getColor(m._1),inputValidationErrorBorder:e.getColor(m._0)};this._findInput.style(t),this._replaceInput.style(t)},t.prototype._tryUpdateWidgetWidth=function(){if(this._isVisible)if(this._codeEditor.getConfiguration().layoutInfo.contentWidth<=0)F.f(this._domNode,"hiddenEditor");else{F.C(this._domNode,"hiddenEditor")&&F.I(this._domNode,"hiddenEditor");var e=this._codeEditor.getConfiguration().layoutInfo.width,t=this._codeEditor.getConfiguration().layoutInfo.minimapWidth,n=!1,i=!1,r=!1;if(this._resized)if(F.B(this._domNode)>419)return this._domNode.style.maxWidth=e-28-t-15+"px",void(this._replaceInput.width=F.B(this._findInput.domNode));if(447+t>=e&&(i=!0),447+t-Be>=e&&(r=!0),447+t-Be>=e+50&&(n=!0),F.R(this._domNode,"collapsed-find-widget",n),F.R(this._domNode,"narrow-find-widget",r),F.R(this._domNode,"reduced-find-widget",i),r||n||(this._domNode.style.maxWidth=e-28-t-15+"px"),this._resized){this._findInput.inputBox.layout();var o=this._findInput.inputBox.width;o>0&&(this._replaceInput.width=o)}}},t.prototype._getHeight=function(){var e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4},t.prototype._tryUpdateHeight=function(){var e=this._getHeight();return(null===this._cachedHeight||this._cachedHeight!==e)&&(this._cachedHeight=e,this._domNode.style.height=e+"px",!0)},t.prototype.focusFindInput=function(){this._findInput.select(),this._findInput.focus()},t.prototype.focusReplaceInput=function(){this._replaceInput.select(),this._replaceInput.focus()},t.prototype.highlightFindOptions=function(){this._findInput.highlightFindOptions()},t.prototype._updateSearchScope=function(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){var e=this._codeEditor.getSelection();1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1)));var t=this._state.currentMatch;e.startLineNumber!==e.endLineNumber&&(d.a.equalsRange(e,t)||this._state.change({searchScope:e},!0))}},t.prototype._onFindInputMouseDown=function(e){e.middleButton&&e.stopPropagation()},t.prototype._onFindInputKeyDown=function(e){if(e.equals(3|Ue)){var t=this._findInput.inputBox.inputElement,n=t.selectionStart,i=t.selectionEnd,r=t.value;if(null!==n&&null!==i){var o=r.substr(0,n)+"\n"+r.substr(i);return this._findInput.inputBox.value=o,t.setSelectionRange(n+1,n+1),this._findInput.inputBox.layout(),void e.preventDefault()}}return e.equals(2)?(this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):e.equals(16)?qe(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):e.equals(18)?Ge(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):void 0},t.prototype._onReplaceInputKeyDown=function(e){if(e.equals(3|Ue)){oe.g&&oe.e&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(i.a("ctrlEnter.keybindingChanged","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(ze,!0,0));var t=this._replaceInput.inputBox.inputElement,n=t.selectionStart,r=t.selectionEnd,o=t.value;if(null!==n&&null!==r){var s=o.substr(0,n)+"\n"+o.substr(r);return this._replaceInput.inputBox.value=s,t.setSelectionRange(n+1,n+1),this._replaceInput.inputBox.layout(),void e.preventDefault()}}return 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()):e.equals(16)?qe(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):e.equals(18)?Ge(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):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._buildDomNode=function(){var e=this;this._findInput=this._register(new Se(null,this._contextViewProvider,{width:221,label:Oe,placeholder:ke,appendCaseSensitiveLabel:this._keybindingLabelFor(A.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(A.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(A.ToggleRegexCommand),validation:function(t){if(0===t.length||!e._findInput.getRegex())return null;try{return new RegExp(t),null}catch(e){return{content:e.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118},this._contextKeyService,!0)),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._ignoreChangeEvent||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._replaceInput.focus(),t.preventDefault())})),this._register(this._findInput.onRegexKeyDown(function(t){t.equals(2)&&e._isReplaceVisible&&(e._replaceInput.focusOnPreserve(),t.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(function(t){e._tryUpdateHeight()&&e._showViewZone()})),oe.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 Xe({label:Ne+this._keybindingLabelFor(A.PreviousMatchFindAction),className:"previous",onTrigger:function(){e._codeEditor.getAction(A.PreviousMatchFindAction).run().then(void 0,re.e)}})),this._nextBtn=this._register(new Xe({label:Ee+this._keybindingLabelFor(A.NextMatchFindAction),className:"next",onTrigger:function(){e._codeEditor.getAction(A.NextMatchFindAction).run().then(void 0,re.e)}}));var t=document.createElement("div");t.className="find-part",t.appendChild(this._findInput.domNode);var n=document.createElement("div");n.className="find-actions",t.appendChild(n),n.appendChild(this._matchesCount),n.appendChild(this._prevBtn.domNode),n.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new Ye({parent:n,title:Ie+this._keybindingLabelFor(A.ToggleSearchScopeCommand),onChange:function(){if(e._toggleSelectionFind.checked){if(e._codeEditor.hasModel()){var t=e._codeEditor.getSelection();1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,e._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()||e._state.change({searchScope:t},!0)}}else e._state.change({searchScope:null},!0)}})),this._closeBtn=this._register(new Xe({label:De+this._keybindingLabelFor(A.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())}})),n.appendChild(this._closeBtn.domNode),this._replaceInput=this._register(new xe(null,void 0,{label:Me,placeholder:Te,history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(function(t){return e._onReplaceInputKeyDown(t)})),this._register(this._replaceInput.inputBox.onDidChange(function(){e._state.change({replaceString:e._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(function(t){e._isReplaceVisible&&e._tryUpdateHeight()&&e._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(function(){e._state.change({preserveCase:e._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(function(t){t.equals(2)&&(e._prevBtn.isEnabled()?e._prevBtn.focus():e._nextBtn.isEnabled()?e._nextBtn.focus():e._toggleSelectionFind.isEnabled()?e._toggleSelectionFind.focus():e._closeBtn.isEnabled()&&e._closeBtn.focus(),t.preventDefault())})),this._replaceBtn=this._register(new Xe({label:Pe+this._keybindingLabelFor(A.ReplaceOneAction),className:"replace",onTrigger:function(){e._controller.replace()},onKeyDown:function(t){t.equals(1026)&&(e._closeBtn.focus(),t.preventDefault())}})),this._replaceAllBtn=this._register(new Xe({label:Ae+this._keybindingLabelFor(A.ReplaceAllAction),className:"replace-all",onTrigger:function(){e._controller.replaceAll()}}));var i=document.createElement("div");i.className="replace-part",i.appendChild(this._replaceInput.domNode);var r=document.createElement("div");r.className="replace-actions",i.appendChild(r),r.appendChild(this._replaceBtn.domNode),r.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new Xe({label:Re,className:"toggle left",onTrigger:function(){e._state.change({isReplaceRevealed:!e._isReplaceVisible},!1),e._isReplaceVisible&&(e._replaceInput.width=F.B(e._findInput.domNode),e._replaceInput.inputBox.layout()),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="419px",this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(t),this._domNode.appendChild(i),this._resizeSash=new ie.a(this._domNode,this,{orientation:0}),this._resized=!1;var o=419;this._register(this._resizeSash.onDidStart(function(){o=F.B(e._domNode)})),this._register(this._resizeSash.onDidChange(function(t){e._resized=!0;var n=o+t.startX-t.currentX;if(!(n<419)){var i=n-Ve;n>(parseFloat(F.u(e._domNode).maxWidth)||0)||(e._domNode.style.width=n+"px",e._findInput.inputBox.width=i,e._isReplaceVisible&&(e._replaceInput.width=F.B(e._findInput.domNode)),e._findInput.inputBox.layout(),e._tryUpdateHeight())}})),this._register(this._resizeSash.onDidReset(function(){var t=F.B(e._domNode);if(!(t<419)){var n=419;e._resized&&419!==t||(n=e._codeEditor.getConfiguration().layoutInfo.width-28-e._codeEditor.getConfiguration().layoutInfo.minimapWidth-15,e._resized=!0);var i=n-Ve;e._domNode.style.width=n+"px",e._findInput.inputBox.width=i,e._isReplaceVisible&&(e._replaceInput.width=F.B(e._findInput.domNode)),e._findInput.inputBox.layout()}}))},t.prototype.updateAccessibilitySupport=function(){var e=this._codeEditor.getConfiguration().accessibilitySupport;this._findInput.setFocusInputOnOptionClick(2!==e)},t.ID="editor.contrib.findWidget",t}(j.a),Ye=function(e){function t(n){var i=e.call(this)||this;return i._opts=n,i._domNode=document.createElement("div"),i._domNode.className="monaco-checkbox",i._domNode.title=i._opts.title,i._domNode.tabIndex=0,i._checkbox=document.createElement("input"),i._checkbox.type="checkbox",i._checkbox.className="checkbox",i._checkbox.id="checkbox-"+t._COUNTER++,i._checkbox.tabIndex=-1,i._label=document.createElement("label"),i._label.className="label",i._label.htmlFor=i._checkbox.id,i._label.tabIndex=-1,i._domNode.appendChild(i._checkbox),i._domNode.appendChild(i._label),i._opts.parent.appendChild(i._domNode),i.onchange(i._checkbox,function(){i._opts.onChange()}),i}return Le(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},Object.defineProperty(t.prototype,"checked",{get:function(){return this._checkbox.checked},set:function(e){this._checkbox.checked=e},enumerable:!0,configurable:!0}),t.prototype.focus=function(){this._domNode.focus()},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}(j.a),Xe=function(e){function t(t){var n=e.call(this)||this;return n._opts=t,n._domNode=document.createElement("div"),n._domNode.title=n._opts.label,n._domNode.tabIndex=0,n._domNode.className="button "+n._opts.className,n._domNode.setAttribute("role","button"),n._domNode.setAttribute("aria-label",n._opts.label),n.onclick(n._domNode,function(e){n._opts.onTrigger(),e.preventDefault()}),n.onkeydown(n._domNode,function(e){if(e.equals(10)||e.equals(3))return n._opts.onTrigger(),void e.preventDefault();n._opts.onKeyDown&&n._opts.onKeyDown(e)}),n}return Le(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){F.R(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){F.R(this._domNode,e,t)},t}(j.a);Object(v.f)(function(e,t){var n=function(e,n){n&&t.addRule(".monaco-editor "+e+" { background-color: "+n+"; }")};n(".findMatch",e.getColor(m.t)),n(".currentFindMatch",e.getColor(m.r)),n(".findScope",e.getColor(m.v)),n(".find-widget",e.getColor(m.N));var i=e.getColor(m._48);i&&t.addRule(".monaco-editor .find-widget { box-shadow: 0 2px 8px "+i+"; }");var r=e.getColor(m.u);r&&t.addRule(".monaco-editor .findMatch { border: 1px "+("hc"===e.type?"dotted":"solid")+" "+r+"; box-sizing: border-box; }");var o=e.getColor(m.s);o&&t.addRule(".monaco-editor .currentFindMatch { border: 2px solid "+o+"; padding: 1px; box-sizing: border-box; }");var s=e.getColor(m.w);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 u=e.getColor(m.P);u&&t.addRule(".monaco-editor .find-widget { color: "+u+"; }");var c=e.getColor(m.R);c&&t.addRule(".monaco-editor .find-widget.no-results .matchesCount { color: "+c+"; }");var l=e.getColor(m.Q);if(l)t.addRule(".monaco-editor .find-widget .monaco-sash { background-color: "+l+"; width: 3px !important; margin-left: -4px;}");else{var d=e.getColor(m.O);d&&t.addRule(".monaco-editor .find-widget .monaco-sash { background-color: "+d+"; width: 3px !important; margin-left: -4px;}")}var h=e.getColor(m.V);h&&t.addRule(".monaco-editor .find-widget .monaco-checkbox .checkbox:checked + .label { border: 1px solid "+h.toString()+"; }");var f=e.getColor(m.U);f&&t.addRule(".monaco-editor .find-widget .monaco-checkbox .checkbox:checked + .label { background-color: "+f.toString()+"; }");var p=e.getColor(m.S);p&&t.addRule(".monaco-workbench .monaco-editor .find-widget .monaco-inputbox.synthetic-focus { outline-color: "+p+"; }")});var $e=n("44YW"),Je=n("yO/1"),Qe=n("JVO/"),et=n("NqM+"),tt=n("Cfmk"),nt=n("fAkY");t.getSelectionSearchString=at,n.d(t,"CommonFindController",function(){return ut}),n.d(t,"FindController",function(){return ct}),n.d(t,"StartFindAction",function(){return lt}),n.d(t,"StartFindWithSelectionAction",function(){return dt}),n.d(t,"MatchFindAction",function(){return ht}),n.d(t,"NextMatchFindAction",function(){return ft}),n.d(t,"NextMatchFindAction2",function(){return pt}),n.d(t,"PreviousMatchFindAction",function(){return gt}),n.d(t,"PreviousMatchFindAction2",function(){return mt}),n.d(t,"SelectionMatchFindAction",function(){return vt}),n.d(t,"NextSelectionMatchFindAction",function(){return _t}),n.d(t,"PreviousSelectionMatchFindAction",function(){return bt}),n.d(t,"StartFindReplaceAction",function(){return yt});var it=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),rt=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},ot=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},st=524288;function at(e){if(!e.hasModel())return null;var t=e.getSelection();if(t.startLineNumber===t.endLineNumber)if(t.isEmpty()){var n=e.getModel().getWordAtPosition(t.getStartPosition());if(n)return n.word}else if(e.getModel().getValueLengthInRange(t)e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._editor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()||this._state.change({searchScope:e},!0)}},t.prototype.setSearchString=function(e){this._state.isRegex&&(e=s.p(e)),this._state.change({searchString:e},!1)},t.prototype.highlightFindOptions=function(){},t.prototype._start=function(e){if(this.disposeModel(),this._editor.hasModel()){var t,n={isRevealed:!0};if(e.seedSearchStringFromSelection)(t=at(this._editor))&&(this._state.isRegex?n.searchString=s.p(t):n.searchString=t);if(!n.searchString&&e.seedSearchStringFromGlobalClipboard)(t=this.getGlobalBufferTerm())&&(n.searchString=t);if(e.forceRevealReplace?n.isReplaceRevealed=!0:this._findWidgetVisible.get()||(n.isReplaceRevealed=!1),e.updateSearchScope){var i=this._editor.getSelection();i.isEmpty()||(n.searchScope=i)}this._state.change(n,!1),this._model||(this._model=new R(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.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""},t.prototype.setGlobalBufferTerm=function(e){this._editor.getConfiguration().contribInfo.find.globalFindClipboard&&this._clipboardService&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)},t.ID="editor.contrib.findController",t=rt([ot(1,k.c),ot(2,tt.a),ot(3,$e.a)],t)}(o.a),ct=function(e){function t(t,n,i,r,o,s,a,u){var c=e.call(this,t,i,a,u)||this;return c._contextViewService=n,c._keybindingService=r,c._themeService=o,c._notificationService=s,c._widget=null,c._findOptionsWidget=null,c}return it(t,e),t.prototype._start=function(t){this._widget||this._createFindWidget(),!this._widget.getPosition()&&this._editor.getConfiguration().contribInfo.find.autoFindInSelection&&(t.updateSearchScope=!0),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 Ze(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new Q(this._editor,this._state,this._keybindingService,this._themeService))},t=rt([ot(1,Je.b),ot(2,k.c),ot(3,et.a),ot(4,v.c),ot(5,nt.a),ot(6,tt.a),ot(7,Object(Qe.d)($e.a))],t)}(ut),lt=function(e){function t(){return e.call(this,{id:A.StartFindAction,label:i.a("startFindAction","Find"),alias:"Find",precondition:void 0,kbOpts:{kbExpr:null,primary:2084,weight:100},menubarOpts:{menuId:14,group:"3_find",title:i.a({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}})||this}return it(t,e),t.prototype.run=function(e,t){var n=ut.get(t);n&&n.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:t.getConfiguration().contribInfo.find.globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1})},t}(a.b),dt=function(e){function t(){return e.call(this,{id:A.StartFindWithSelection,label:i.a("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})||this}return it(t,e),t.prototype.run=function(e,t){var n=ut.get(t);n&&(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:!0,seedSearchStringFromGlobalClipboard:!1,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1}),n.setGlobalBufferTerm(n.getState().searchString))},t}(a.b),ht=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return it(t,e),t.prototype.run=function(e,t){var n=ut.get(t);n&&!this._run(n)&&(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===n.getState().searchString.length&&t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1}),this._run(n))},t}(a.b),ft=function(e){function t(){return e.call(this,{id:A.NextMatchFindAction,label:i.a("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:{kbExpr:u.a.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100}})||this}return it(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t}(ht),pt=function(e){function t(){return e.call(this,{id:A.NextMatchFindAction,label:i.a("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:{kbExpr:k.a.and(u.a.focus,E),primary:3,weight:100}})||this}return it(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t}(ht),gt=function(e){function t(){return e.call(this,{id:A.PreviousMatchFindAction,label:i.a("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:{kbExpr:u.a.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100}})||this}return it(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(ht),mt=function(e){function t(){return e.call(this,{id:A.PreviousMatchFindAction,label:i.a("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:{kbExpr:k.a.and(u.a.focus,E),primary:1027,weight:100}})||this}return it(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(ht),vt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return it(t,e),t.prototype.run=function(e,t){var n=ut.get(t);if(n){var i=at(t);i&&n.setSearchString(i),this._run(n)||(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1}),this._run(n))}},t}(a.b),_t=function(e){function t(){return e.call(this,{id:A.NextSelectionMatchFindAction,label:i.a("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:u.a.focus,primary:2109,weight:100}})||this}return it(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t}(vt),bt=function(e){function t(){return e.call(this,{id:A.PreviousSelectionMatchFindAction,label:i.a("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:u.a.focus,primary:3133,weight:100}})||this}return it(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(vt),yt=function(e){function t(){return e.call(this,{id:A.StartFindReplaceAction,label:i.a("startReplace","Replace"),alias:"Replace",precondition:void 0,kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menubarOpts:{menuId:14,group:"3_find",title:i.a({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}})||this}return it(t,e),t.prototype.run=function(e,t){if(t.hasModel()&&!t.getConfiguration().readOnly){var n=ut.get(t),i=t.getSelection(),r=n.isFindInputFocused(),o=!i.isEmpty()&&i.startLineNumber===i.endLineNumber&&t.getConfiguration().contribInfo.find.seedSearchStringFromSelection&&!r,s=r||o?2:1;n&&n.start({forceRevealReplace:!0,seedSearchStringFromSelection:o,seedSearchStringFromGlobalClipboard:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,shouldFocus:s,shouldAnimate:!0,updateSearchScope:!1})}},t}(a.b);Object(a.h)(ct),Object(a.f)(lt),Object(a.f)(dt),Object(a.f)(ft),Object(a.f)(pt),Object(a.f)(gt),Object(a.f)(mt),Object(a.f)(_t),Object(a.f)(bt),Object(a.f)(yt);var wt=a.c.bindToContribution(ut.get);Object(a.g)(new wt({id:A.CloseFindWidgetCommand,precondition:N,handler:function(e){return e.closeFindWidget()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:9,secondary:[1033]}})),Object(a.g)(new wt({id:A.ToggleCaseSensitiveCommand,precondition:void 0,handler:function(e){return e.toggleCaseSensitive()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:D.primary,mac:D.mac,win:D.win,linux:D.linux}})),Object(a.g)(new wt({id:A.ToggleWholeWordCommand,precondition:void 0,handler:function(e){return e.toggleWholeWords()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:M.primary,mac:M.mac,win:M.win,linux:M.linux}})),Object(a.g)(new wt({id:A.ToggleRegexCommand,precondition:void 0,handler:function(e){return e.toggleRegex()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:T.primary,mac:T.mac,win:T.win,linux:T.linux}})),Object(a.g)(new wt({id:A.ToggleSearchScopeCommand,precondition:void 0,handler:function(e){return e.toggleSearchScope()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:P.primary,mac:P.mac,win:P.win,linux:P.linux}})),Object(a.g)(new wt({id:A.ReplaceOneAction,precondition:N,handler:function(e){return e.replace()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:3094}})),Object(a.g)(new wt({id:A.ReplaceOneAction,precondition:N,handler:function(e){return e.replace()},kbOpts:{weight:105,kbExpr:k.a.and(u.a.focus,I),primary:3}})),Object(a.g)(new wt({id:A.ReplaceAllAction,precondition:N,handler:function(e){return e.replaceAll()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:2563}})),Object(a.g)(new wt({id:A.ReplaceAllAction,precondition:N,handler:function(e){return e.replaceAll()},kbOpts:{weight:105,kbExpr:k.a.and(u.a.focus,I),primary:void 0,mac:{primary:2051}}})),Object(a.g)(new wt({id:A.SelectAllMatchesAction,precondition:N,handler:function(e){return e.selectAllMatches()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:515}}))},T1Vy:function(e,t){var n="[object Number]",i=Object.prototype.toString;e.exports=function(e){return"number"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&i.call(e)==n}},TNPA:function(e,t,n){"use strict";function i(e,t){var n=Math.pow(10,t);return Math.round(e*n)/n}n.d(t,"c",function(){return r}),n.d(t,"b",function(){return s}),n.d(t,"a",function(){return a});var r=function(){function e(e,t,n,r){void 0===r&&(r=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,n)),this.a=i(Math.max(Math.min(1,r),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}(),o=function(){function e(e,t,n,r){this.h=0|Math.max(Math.min(360,e),0),this.s=i(Math.max(Math.min(1,t),0),3),this.l=i(Math.max(Math.min(1,n),0),3),this.a=i(Math.max(Math.min(1,r),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 n=t.r/255,i=t.g/255,r=t.b/255,o=t.a,s=Math.max(n,i,r),a=Math.min(n,i,r),u=0,c=0,l=(a+s)/2,d=s-a;if(d>0){switch(c=Math.min(l<=.5?d/(2*l):d/(2-2*l),1),s){case n:u=(i-r)/d+(i1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e},e.toRGBA=function(t){var n,i,o,s=t.h/360,a=t.s,u=t.l,c=t.a;if(0===a)n=i=o=u;else{var l=u<.5?u*(1+a):u+a-u*a,d=2*u-l;n=e._hue2rgb(d,l,s+1/3),i=e._hue2rgb(d,l,s),o=e._hue2rgb(d,l,s-1/3)}return new r(Math.round(255*n),Math.round(255*i),Math.round(255*o),c)},e}(),s=function(){function e(e,t,n,r){this.h=0|Math.max(Math.min(360,e),0),this.s=i(Math.max(Math.min(1,t),0),3),this.v=i(Math.max(Math.min(1,n),0),3),this.a=i(Math.max(Math.min(1,r),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 n,i=t.r/255,r=t.g/255,o=t.b/255,s=Math.max(i,r,o),a=s-Math.min(i,r,o),u=0===s?0:a/s;return n=0===a?0:s===i?((r-o)/a%6+6)%6:s===r?(o-i)/a+2:(i-r)/a+4,new e(Math.round(60*n),u,s,t.a)},e.toRGBA=function(e){var t=e.h,n=e.s,i=e.v,o=e.a,s=i*n,a=s*(1-Math.abs(t/60%2-1)),u=i-s,c=[0,0,0],l=c[0],d=c[1],h=c[2];return t<60?(l=s,d=a):t<120?(l=a,d=s):t<180?(d=s,h=a):t<240?(d=a,h=s):t<300?(l=a,h=s):t<360&&(l=s,h=a),l=Math.round(255*(l+u)),d=Math.round(255*(d+u)),h=Math.round(255*(h+u)),new r(l,d,h,o)},e}(),a=function(){function e(e){if(!e)throw new Error("Color needs a value");if(e instanceof r)this.rgba=e;else if(e instanceof o)this._hsla=e,this.rgba=o.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:o.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&&r.equals(this.rgba,e.rgba)&&o.equals(this.hsla,e.hsla)&&s.equals(this.hsva,e.hsva)},e.prototype.getRelativeLuminance=function(){return i(.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()-1&&e%1==0&&e-1&&e%1==0&&e<=i}(e.length)&&!function(e){var t=M(e)?S.call(e):"";return t==a||t==u}(e)}function M(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function T(e){return!!e&&"object"==typeof e}e.exports=function(e,t,i,s){var a;e=D(e)?e:(a=e)?_(a,function(e){return D(e)?k(e):N(e)}(a)):[],i=i&&!s?function(e){var t=function(e){if(!e)return 0===e?e:0;if((e=function(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||T(e)&&S.call(e)==l}(e))return o;if(M(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=M(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(d,"");var n=f.test(e);return n||p.test(e)?m(e.slice(2),n?2:8):h.test(e)?o:+e}(e))===n||e===-n){var t=e<0?-1:1;return t*r}return e==e?e:0}(e),i=t%1;return t==t?i?t-i:t:0}(i):0;var u=e.length;return i<0&&(i=O(u+i,0)),function(e){return"string"==typeof e||!I(e)&&T(e)&&S.call(e)==c}(e)?i<=u&&e.indexOf(t,i)>-1:!!u&&function(e,t,n){if(t!=t)return function(e,t,n,i){for(var r=e.length,o=n+(i?1:-1);i?o--:++o-1}},TU7t:function(e,t,n){"use strict";t.c=function e(t){if(!t||"object"!=typeof t)return t;if(t instanceof RegExp)return t;var n=Array.isArray(t)?[]:{};Object.keys(t).forEach(function(i){t[i]&&"object"==typeof t[i]?n[i]=e(t[i]):n[i]=t[i]});return n},t.d=function(e){if(!e||"object"!=typeof e)return e;var t=[e];for(;t.length>0;){var n=t.shift();for(var i in Object.freeze(n),n)if(r.call(n,i)){var o=n[i];"object"!=typeof o||Object.isFrozen(o)||t.push(o)}}return e},t.b=function(e,t){return function e(t,n,o){if(Object(i.k)(t))return t;var s=n(t);if(void 0!==s)return s;if(Object(i.c)(t)){for(var a=[],u=0,c=t;u console.log` because `log` has been completed recently."),r.a("suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],default:"recentlyUsed",description:r.a("suggestSelection","Controls how suggestions are pre-selected when showing the suggest list.")},"editor.suggestFontSize":{type:"integer",default:0,minimum:0,markdownDescription:r.a("suggestFontSize","Font size for the suggest widget. When set to `0`, the value of `#editor.fontSize#` is used.")},"editor.suggestLineHeight":{type:"integer",default:0,minimum:0,markdownDescription:r.a("suggestLineHeight","Line height for the suggest widget. When set to `0`, the value of `#editor.lineHeight#` is used.")},"editor.tabCompletion":{type:"string",default:"off",enum:["on","off","onlySnippets"],enumDescriptions:[r.a("tabCompletion.on","Tab complete will insert the best matching suggestion when pressing tab."),r.a("tabCompletion.off","Disable tab completions."),r.a("tabCompletion.onlySnippets","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:r.a("tabCompletion","Enables tab completions.")},"editor.suggest.filterGraceful":{type:"boolean",default:!0,description:r.a("suggest.filterGraceful","Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:!1,description:r.a("suggest.localityBonus","Controls whether sorting favours words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:!1,markdownDescription:r.a("suggest.shareSuggestSelections","Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:!0,description:r.a("suggest.snippetsPreventQuickSuggestions","Control whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:g.contribInfo.suggest.showIcons,description:r.a("suggest.showIcons","Controls whether to show or hide icons in suggestions.")},"editor.suggest.maxVisibleSuggestions":{type:"number",default:g.contribInfo.suggest.maxVisibleSuggestions,minimum:1,maximum:15,description:r.a("suggest.maxVisibleSuggestions","Controls how many suggestions IntelliSense will show before showing a scrollbar (maximum 15).")},"editor.suggest.filteredTypes":{type:"object",default:{keyword:!0,snippet:!0},markdownDescription:r.a("suggest.filtered","Controls whether some suggestion types should be filtered from IntelliSense. A list of suggestion types can be found here: https://code.visualstudio.com/docs/editor/intellisense#_types-of-completions."),properties:{method:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.method","When set to `false` IntelliSense never shows `method` suggestions.")},function:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.function","When set to `false` IntelliSense never shows `function` suggestions.")},constructor:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.constructor","When set to `false` IntelliSense never shows `constructor` suggestions.")},field:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.field","When set to `false` IntelliSense never shows `field` suggestions.")},variable:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.variable","When set to `false` IntelliSense never shows `variable` suggestions.")},class:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.class","When set to `false` IntelliSense never shows `class` suggestions.")},struct:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.struct","When set to `false` IntelliSense never shows `struct` suggestions.")},interface:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.interface","When set to `false` IntelliSense never shows `interface` suggestions.")},module:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.module","When set to `false` IntelliSense never shows `module` suggestions.")},property:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.property","When set to `false` IntelliSense never shows `property` suggestions.")},event:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.event","When set to `false` IntelliSense never shows `event` suggestions.")},operator:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.operator","When set to `false` IntelliSense never shows `operator` suggestions.")},unit:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.unit","When set to `false` IntelliSense never shows `unit` suggestions.")},value:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.value","When set to `false` IntelliSense never shows `value` suggestions.")},constant:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.constant","When set to `false` IntelliSense never shows `constant` suggestions.")},enum:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.enum","When set to `false` IntelliSense never shows `enum` suggestions.")},enumMember:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.enumMember","When set to `false` IntelliSense never shows `enumMember` suggestions.")},keyword:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.keyword","When set to `false` IntelliSense never shows `keyword` suggestions.")},text:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.text","When set to `false` IntelliSense never shows `text` suggestions.")},color:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.color","When set to `false` IntelliSense never shows `color` suggestions.")},file:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.file","When set to `false` IntelliSense never shows `file` suggestions.")},reference:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.reference","When set to `false` IntelliSense never shows `reference` suggestions.")},customcolor:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.customcolor","When set to `false` IntelliSense never shows `customcolor` suggestions.")},folder:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.folder","When set to `false` IntelliSense never shows `folder` suggestions.")},typeParameter:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.typeParameter","When set to `false` IntelliSense never shows `typeParameter` suggestions.")},snippet:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.snippet","When set to `false` IntelliSense never shows `snippet` suggestions.")}}},"editor.gotoLocation.multiple":{description:r.a("editor.gotoLocation.multiple","Controls the behavior of 'Go To' commands, like Go To Definition, when multiple target locations exist."),type:"string",enum:["peek","gotoAndPeek","goto"],default:g.contribInfo.gotoLocation.multiple,enumDescriptions:[r.a("editor.gotoLocation.multiple.peek","Show peek view of the results (default)"),r.a("editor.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a peek view"),r.a("editor.gotoLocation.multiple.goto","Go to the primary result and enable peek-less navigation to others")]},"editor.selectionHighlight":{type:"boolean",default:g.contribInfo.selectionHighlight,description:r.a("selectionHighlight","Controls whether the editor should highlight matches similar to the selection.")},"editor.occurrencesHighlight":{type:"boolean",default:g.contribInfo.occurrencesHighlight,description:r.a("occurrencesHighlight","Controls whether the editor should highlight semantic symbol occurrences.")},"editor.overviewRulerLanes":{type:"integer",default:3,description:r.a("overviewRulerLanes","Controls the number of decorations that can show up at the same position in the overview ruler.")},"editor.overviewRulerBorder":{type:"boolean",default:g.viewInfo.overviewRulerBorder,description:r.a("overviewRulerBorder","Controls whether a border should be drawn around the overview ruler.")},"editor.cursorBlinking":{type:"string",enum:["blink","smooth","phase","expand","solid"],default:c.h(g.viewInfo.cursorBlinking),description:r.a("cursorBlinking","Control the cursor animation style.")},"editor.mouseWheelZoom":{type:"boolean",default:g.viewInfo.mouseWheelZoom,markdownDescription:r.a("mouseWheelZoom","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")},"editor.cursorSmoothCaretAnimation":{type:"boolean",default:g.viewInfo.cursorSmoothCaretAnimation,description:r.a("cursorSmoothCaretAnimation","Controls whether the smooth caret animation should be enabled.")},"editor.cursorStyle":{type:"string",enum:["block","block-outline","line","line-thin","underline","underline-thin"],default:c.i(g.viewInfo.cursorStyle),description:r.a("cursorStyle","Controls the cursor style.")},"editor.cursorWidth":{type:"integer",default:g.viewInfo.cursorWidth,markdownDescription:r.a("cursorWidth","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")},"editor.fontLigatures":{type:"boolean",default:g.viewInfo.fontLigatures,description:r.a("fontLigatures","Enables/Disables font ligatures.")},"editor.hideCursorInOverviewRuler":{type:"boolean",default:g.viewInfo.hideCursorInOverviewRuler,description:r.a("hideCursorInOverviewRuler","Controls whether the cursor should be hidden in the overview ruler.")},"editor.renderWhitespace":{type:"string",enum:["none","boundary","selection","all"],enumDescriptions:["",r.a("renderWhitespace.boundary","Render whitespace characters except for single spaces between words."),r.a("renderWhitespace.selection","Render whitespace characters only on selected text."),""],default:g.viewInfo.renderWhitespace,description:r.a("renderWhitespace","Controls how the editor should render whitespace characters.")},"editor.renderControlCharacters":{type:"boolean",default:g.viewInfo.renderControlCharacters,description:r.a("renderControlCharacters","Controls whether the editor should render control characters.")},"editor.renderIndentGuides":{type:"boolean",default:g.viewInfo.renderIndentGuides,description:r.a("renderIndentGuides","Controls whether the editor should render indent guides.")},"editor.highlightActiveIndentGuide":{type:"boolean",default:g.viewInfo.highlightActiveIndentGuide,description:r.a("highlightActiveIndentGuide","Controls whether the editor should highlight the active indent guide.")},"editor.renderLineHighlight":{type:"string",enum:["none","gutter","line","all"],enumDescriptions:["","","",r.a("renderLineHighlight.all","Highlights both the gutter and the current line.")],default:g.viewInfo.renderLineHighlight,description:r.a("renderLineHighlight","Controls how the editor should render the current line highlight.")},"editor.codeLens":{type:"boolean",default:g.contribInfo.codeLens,description:r.a("codeLens","Controls whether the editor shows CodeLens.")},"editor.folding":{type:"boolean",default:g.contribInfo.folding,description:r.a("folding","Controls whether the editor has code folding enabled.")},"editor.foldingStrategy":{type:"string",enum:["auto","indentation"],default:g.contribInfo.foldingStrategy,markdownDescription:r.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:g.contribInfo.showFoldingControls,description:r.a("showFoldingControls","Controls whether the fold controls on the gutter are automatically hidden.")},"editor.matchBrackets":{type:"boolean",default:g.contribInfo.matchBrackets,description:r.a("matchBrackets","Highlight matching brackets when one of them is selected.")},"editor.glyphMargin":{type:"boolean",default:g.viewInfo.glyphMargin,description:r.a("glyphMargin","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")},"editor.useTabStops":{type:"boolean",default:g.useTabStops,description:r.a("useTabStops","Inserting and deleting whitespace follows tab stops.")},"editor.trimAutoWhitespace":{type:"boolean",default:v.trimAutoWhitespace,description:r.a("trimAutoWhitespace","Remove trailing auto inserted whitespace.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:r.a("stablePeek","Keep peek editors open even when double clicking their content or when hitting `Escape`.")},"editor.dragAndDrop":{type:"boolean",default:g.dragAndDrop,description:r.a("dragAndDrop","Controls whether the editor should allow moving selections via drag and drop.")},"editor.accessibilitySupport":{type:"string",enum:["auto","on","off"],enumDescriptions:[r.a("accessibilitySupport.auto","The editor will use platform APIs to detect when a Screen Reader is attached."),r.a("accessibilitySupport.on","The editor will be permanently optimized for usage with a Screen Reader."),r.a("accessibilitySupport.off","The editor will never be optimized for usage with a Screen Reader.")],default:g.accessibilitySupport,description:r.a("accessibilitySupport","Controls whether the editor should run in a mode where it is optimized for screen readers.")},"editor.showUnused":{type:"boolean",default:g.showUnused,description:r.a("showUnused","Controls fading out of unused code.")},"editor.links":{type:"boolean",default:g.contribInfo.links,description:r.a("links","Controls whether the editor should detect links and make them clickable.")},"editor.colorDecorators":{type:"boolean",default:g.contribInfo.colorDecorators,description:r.a("colorDecorators","Controls whether the editor should render the inline color decorators and color picker.")},"editor.lightbulb.enabled":{type:"boolean",default:g.contribInfo.lightbulbEnabled,description:r.a("codeActions","Enables the code action lightbulb in the editor.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:r.a("maxTokenizationLineLength","Lines above this length will not be tokenized for performance reasons")},"editor.codeActionsOnSave":{type:"object",properties:{"source.organizeImports":{type:"boolean",description:r.a("codeActionsOnSave.organizeImports","Controls whether organize imports action should be run on file save.")},"source.fixAll":{type:"boolean",description:r.a("codeActionsOnSave.fixAll","Controls whether auto fix action should be run on file save.")}},additionalProperties:{type:"boolean"},default:g.contribInfo.codeActionsOnSave,description:r.a("codeActionsOnSave","Code action kinds to be run on save.")},"editor.codeActionsOnSaveTimeout":{type:"number",default:g.contribInfo.codeActionsOnSaveTimeout,description:r.a("codeActionsOnSaveTimeout","Timeout in milliseconds after which the code actions that are run on save are cancelled.")},"editor.selectionClipboard":{type:"boolean",default:g.contribInfo.selectionClipboard,description:r.a("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:u.c},"diffEditor.renderSideBySide":{type:"boolean",default:!0,description:r.a("sideBySide","Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:!0,description:r.a("ignoreTrimWhitespace","Controls whether the diff editor shows changes in leading or trailing whitespace as diffs.")},"editor.largeFileOptimizations":{type:"boolean",default:v.largeFileOptimizations,description:r.a("largeFileOptimizations","Special handling for large files to disable certain memory intensive features.")},"diffEditor.renderIndicators":{type:"boolean",default:!0,description:r.a("renderIndicators","Controls whether the diff editor shows +/- indicators for added/removed changes.")}}},S=null;function x(){return null===S&&(S=Object.create(null),Object.keys(C.properties).forEach(function(e){S[e]=!0})),S}w.registerConfiguration(C)},TkWM:function(e,t,n){"use strict";var i=t,r=n("geuY"),o=n("08Lv"),s=n("tpuU");i.assert=o,i.toArray=s.toArray,i.zero2=s.zero2,i.toHex=s.toHex,i.encode=s.encode,i.getNAF=function(e,t){for(var n=[],i=1<=0;){var o;if(r.isOdd()){var s=r.andln(i-1);o=s>(i>>1)-1?(i>>1)-s:s,r.isubn(o)}else o=0;n.push(o);for(var a=0!==r.cmpn(0)&&0===r.andln(i-1)?t+1:1,u=1;u0||t.cmpn(-r)>0;){var o,s,a,u=e.andln(3)+i&3,c=t.andln(3)+r&3;3===u&&(u=-1),3===c&&(c=-1),o=0==(1&u)?0:3!=(a=e.andln(7)+i&7)&&5!==a||2!==c?u:-u,n[0].push(o),s=0==(1&c)?0:3!=(a=t.andln(7)+r&7)&&5!==a||2!==u?c:-c,n[1].push(s),2*i===o+1&&(i=1-i),2*r===s+1&&(r=1-r),e.iushrn(1),t.iushrn(1)}return n},i.cachedProperty=function(e,t,n){var i="_"+t;e.prototype[t]=function(){return void 0!==this[i]?this[i]:this[i]=n.call(this)}},i.parseBytes=function(e){return"string"==typeof e?i.toArray(e,"hex"):e},i.intFromLE=function(e){return new r(e,"hex","le")}},TlQ3:function(e,t,n){var i=n("EarI");e.exports=function(e,t){var n=t||Math.floor(Date.now()/1e3);if("string"==typeof e){var r=i(e);if(void 0===r)return;return Math.floor(n+r/1e3)}return"number"==typeof e?n+e:void 0}},TnCn:function(e,t,n){var i=t;i._reverse=function(e){var t={};return Object.keys(e).forEach(function(n){(0|n)==n&&(n|=0);var i=e[n];t[i]=n}),t},i.der=n("C1C2")},U6yG:function(e,t){t.encrypt=function(e,t){return e._cipher.encryptBlock(t)},t.decrypt=function(e,t){return e._cipher.decryptBlock(t)}},UBa7:function(e,t){t["des-ecb"]={key:8,iv:0},t["des-cbc"]=t.des={key:8,iv:8},t["des-ede3-cbc"]=t.des3={key:24,iv:8},t["des-ede3"]={key:24,iv:0},t["des-ede-cbc"]={key:16,iv:8},t["des-ede"]={key:16,iv:0}},UHZ4:function(e,t,n){"use strict";var i=n("lAcG"),r=n("Kp7x"),o=n("tqet"),s=n("ZfGv"),a=function(){function e(e,t){this.chr=e,this.type=t,this.width=0}return e.prototype.fulfill=function(e){this.width=e},e}(),u=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 n=document.createElement("div");n.style.fontFamily=this._bareFontInfo.getMassagedFontFamily(),n.style.fontWeight=this._bareFontInfo.fontWeight,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.getMassagedFontFamily(),i.style.fontWeight="bold",i.style.fontSize=this._bareFontInfo.fontSize+"px",i.style.lineHeight=this._bareFontInfo.lineHeight+"px",i.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",t.appendChild(i);var r=document.createElement("div");r.style.fontFamily=this._bareFontInfo.getMassagedFontFamily(),r.style.fontWeight=this._bareFontInfo.fontWeight,r.style.fontSize=this._bareFontInfo.fontSize+"px",r.style.lineHeight=this._bareFontInfo.lineHeight+"px",r.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",r.style.fontStyle="italic",t.appendChild(r);for(var o=[],s=0,a=this._requests.length;s.001){C=!1;break}}var k=!0;C&&y.width!==S&&(k=!1),y.width>b.width&&(k=!1);var N=i.b()>2e3;return new f.b({zoomLevel:i.c(),fontFamily:e.fontFamily,fontWeight:e.fontWeight,fontSize:e.fontSize,lineHeight:e.lineHeight,letterSpacing:e.letterSpacing,isMonospace:C,typicalHalfwidthCharacterWidth:r.width,typicalFullwidthCharacterWidth:o.width,canUseHalfwidthRightwardsArrow:k,spaceWidth:s.width,maxDigitWidth:w},N)},t.INSTANCE=new t,t}(o.a),v=function(e){function t(t,n,r,o){void 0===r&&(r=null);var s=e.call(this,t,n)||this;return s.accessibilityService=o,s._elementSizeObserver=s._register(new d(r,function(){return s._onReferenceDomElementSizeChanged()})),s._register(m.INSTANCE.onDidChange(function(){return s._onCSSBasedConfigurationChanged()})),s._validatedOptions.automaticLayout&&s._elementSizeObserver.startObserving(),s._register(i.o(function(e){return s._recomputeOptions()})),s._register(s.accessibilityService.onDidChangeAccessibilitySupport(function(){return s._recomputeOptions()})),s._recomputeOptions(),s}return p(t,e),t.applyFontInfoSlow=function(e,t){e.style.fontFamily=t.getMassagedFontFamily(),e.style.fontWeight=t.fontWeight,e.style.fontSize=t.fontSize+"px",e.style.lineHeight=t.lineHeight+"px",e.style.letterSpacing=t.letterSpacing+"px"},t.applyFontInfo=function(e,t){e.setFontFamily(t.getMassagedFontFamily()),e.setFontWeight(t.fontWeight),e.setFontSize(t.fontSize),e.setLineHeight(t.lineHeight),e.setLetterSpacing(t.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 i.l||i.n||(e+="no-user-select "),s.d&&(e+="mac "),e},t.prototype._getEnvConfiguration=function(){return{extraEditorClassName:this._getExtraEditorClassName(),outerWidth:this._elementSizeObserver.getWidth(),outerHeight:this._elementSizeObserver.getHeight(),emptySelectionClipboard:i.m||i.i,pixelRatio:i.a(),zoomLevel:i.c(),accessibilitySupport:this.accessibilityService.getAccessibilitySupport()}},t.prototype.readConfiguration=function(e){return m.INSTANCE.readConfiguration(e)},t}(h.a)},UMuV:function(e,t,n){"use strict";t.b=function(e,t){var n=new o.b(t);return n.preventDefault(),{leftButton:n.leftButton,posx:n.posx,posy:n.posy}},n.d(t,"a",function(){return a});var i=n("7/Cv"),r=n("Crnc"),o=n("b1X/"),s=n("tqet");var a=function(){function e(){this.hooks=new s.b,this.mouseMoveEventMerger=null,this.mouseMoveCallback=null,this.onStopCallback=null}return e.prototype.dispose=function(){this.stopMonitoring(!1),this.hooks.dispose()},e.prototype.stopMonitoring=function(e){if(this.isMonitoring()){this.hooks.clear(),this.mouseMoveEventMerger=null,this.mouseMoveCallback=null;var t=this.onStopCallback;this.onStopCallback=null,e&&t&&t()}},e.prototype.isMonitoring=function(){return!!this.mouseMoveEventMerger},e.prototype.startMonitoring=function(e,t,n){var s=this;if(!this.isMonitoring()){this.mouseMoveEventMerger=e,this.mouseMoveCallback=t,this.onStopCallback=n;for(var a=r.a.getSameOriginWindowChain(),u=0,c=a;u>>0,0),t.writeUInt32BE(e[1]>>>0,4),t.writeUInt32BE(e[2]>>>0,8),t.writeUInt32BE(e[3]>>>0,12),t}function s(e){this.h=e,this.state=i.alloc(16,0),this.cache=i.allocUnsafe(0)}s.prototype.ghash=function(e){for(var t=-1;++t0;t--)i[t]=i[t]>>>1|(1&i[t-1])<<31;i[0]=i[0]>>>1,n&&(i[0]=i[0]^225<<24)}this.state=o(r)},s.prototype.update=function(e){var t;for(this.cache=i.concat([this.cache,e]);this.cache.length>=16;)t=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(t)},s.prototype.final=function(e,t){return this.cache.length&&this.ghash(i.concat([this.cache,r],16)),this.ghash(o([0,e,0,t])),this.state},e.exports=s},UcPO:function(e,t,n){e.exports=n("vzCy").EventEmitter},Uf3U:function(e,t,n){"use strict";n.d(t,"a",function(){return c});var i,r=n("7/Cv"),o=n("gzF+"),s=n("b1X/"),a=n("tqet"),u=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return u(t,e),t.prototype.onclick=function(e,t){this._register(r.h(e,r.d.CLICK,function(e){return t(new s.b(e))}))},t.prototype.onmousedown=function(e,t){this._register(r.h(e,r.d.MOUSE_DOWN,function(e){return t(new s.b(e))}))},t.prototype.onmouseover=function(e,t){this._register(r.h(e,r.d.MOUSE_OVER,function(e){return t(new s.b(e))}))},t.prototype.onnonbubblingmouseout=function(e,t){this._register(r.i(e,function(e){return t(new s.b(e))}))},t.prototype.onkeydown=function(e,t){this._register(r.h(e,r.d.KEY_DOWN,function(e){return t(new o.a(e))}))},t.prototype.onkeyup=function(e,t){this._register(r.h(e,r.d.KEY_UP,function(e){return t(new o.a(e))}))},t.prototype.oninput=function(e,t){this._register(r.h(e,r.d.INPUT,t))},t.prototype.onblur=function(e,t){this._register(r.h(e,r.d.BLUR,t))},t.prototype.onfocus=function(e,t){this._register(r.h(e,r.d.FOCUS,t))},t.prototype.onchange=function(e,t){this._register(r.h(e,r.d.CHANGE,t))},t}(a.a)},Uj3s:function(e,t,n){(function(t){var i=n("6S2P");e.exports=i.satisfies(t.version,"^6.12.0 || >=8.0.0")}).call(t,n("W2nU"))},UqCF:function(e,t,n){"use strict";t.b=function(e){(i=document.createElement("div")).className="monaco-aria-container",(r=document.createElement("div")).className="monaco-alert",r.setAttribute("role","alert"),r.setAttribute("aria-atomic","true"),i.appendChild(r),(o=document.createElement("div")).className="monaco-status",o.setAttribute("role","status"),o.setAttribute("aria-atomic","true"),i.appendChild(o),e.appendChild(i)},t.a=l,t.c=function(e,t){u.d?l(e,t):f(o,e,t)};var i,r,o,s=n("KL86"),a=(n.n(s),n("hK2W")),u=n("ZfGv"),c=n("7/Cv");function l(e,t){f(r,e,t)}var d=0,h=void 0;function f(e,t,n){if(i){if(!n)switch(h===t?d++:(h=t,d=0),d){case 0:break;case 1:t=a.a("repeated","{0} (occurred again)",t);break;default:t=a.a("repeatedNtimes","{0} (occurred {1} times)",t,d)}c.p(e),e.textContent=t,e.style.visibility="hidden",e.style.visibility="visible"}}},UuCV:function(e,t,n){"use strict";var i=n("zxiH"),r=n("aL7J"),o=n("Ao9X"),s=n("ll3Y"),a=n("vTy2"),u=n("iHM7"),c=function(){function e(e,t,n){this._range=e,this._charBeforeSelection=t,this._charAfterSelection=n}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(new a.a(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),t.addTrackedEditOperation(new a.a(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations(),i=n[0].range,r=n[1].range;return new u.a(i.endLineNumber,i.endColumn,r.endLineNumber,r.endColumn-this._charAfterSelection.length)},e}(),l=n("6boo"),d=n("BwcV"),h=n("+oh4"),f=n("Fllr");n.d(t,"a",function(){return m}),n.d(t,"b",function(){return v});var p,g=this&&this.__extends||(p=function(e,t){return(p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}p(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),m=function(){function e(){}return e.indent=function(e,t,n){if(null===t||null===n)return[];for(var i=[],r=0,o=n.length;r1){var c=void 0;for(c=i-1;c>=1;c--){var l=n.getLineContent(c);if(r.A(l)>=0)break}if(c<1)return null;var d=n.getLineMaxColumn(c),p=f.a.getEnterAction(n,new a.a(c,d,c,d));p&&(s=p.indentation,(o=p.enterAction)&&(s+=o.appendText))}return o&&(o===h.a.Indent&&(s=e.shiftIndent(t,s)),o===h.a.Outdent&&(s=e.unshiftIndent(t,s)),s=t.normalizeIndentation(s)),s||null},e._replaceJumpToNextIndent=function(e,t,n,i){var r="",s=n.getStartPosition();if(e.insertSpaces)for(var a=l.a.visibleColumnFromColumn2(e,t,s),u=e.indentSize,c=u-a%u,d=0;d=0?s.setEndPosition(s.endLineNumber,Math.max(s.endColumn,E+1)):s.setEndPosition(s.endLineNumber,n.getLineMaxColumn(s.endLineNumber)),i)return new o.d(s,k+t.normalizeIndentation(C.afterEnter),!0);var I=0;return O<=E+1&&(t.insertSpaces||(L=Math.ceil(L/t.indentSize)),I=Math.min(L+1-t.normalizeIndentation(C.afterEnter).length-1,0)),new o.c(s,k+t.normalizeIndentation(C.afterEnter),0,I,!0)}return e._typeCommand(s,"\n"+t.normalizeIndentation(x),i)},e._isAutoIndentType=function(e,t,n){if(!e.autoIndent)return!1;for(var i=0,r=n.length;io.open.length){for(var l=!0,d=0,h=n;dv.column-1){var b=_.charAt(v.column-1);if(!e._isBeforeClosingBrace(t,c,b)&&!h(b))return null}if(!n.isCheapToTokenize(v.lineNumber))return null;if(1===c.open.length&&a&&"always"!==u){var y=Object(d.a)(t.wordSeparators);if(s&&v.column>1&&0===y.get(_.charCodeAt(v.column-2)))return null;if(!s&&v.column>2&&0===y.get(_.charCodeAt(v.column-3)))return null}n.forceTokenization(v.lineNumber);var w=n.getLineTokens(v.lineNumber),C=!1;try{C=f.a.shouldAutoClosePair(c,w,s?v.column:v.column-1)}catch(e){Object(i.e)(e)}if(!C)return null}return c},e._runAutoClosingOpenCharType=function(e,t,n,i,r,o,s){for(var a=[],u=0,c=i.length;u ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:m,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading| {0,3}>|<\/?(?:tag)(?: +|\n|\/?>)|<(?:script|pre|style|!--))[^\n]+)*)/,text:/^[^\n]+/};function n(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||w.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{1,9}\.)/,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=//,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=v({},t),t.gfm=v({},t.normal,{fences:/^ {0,3}(`{3,}|~{3,})([^`\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\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=v({},t.gfm,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),t.pedantic=v({},t.normal,{html:h("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\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:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/}),n.rules=t,n.lex=function(e,t){return new n(t).lex(e)},n.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)},n.prototype.token=function(e,n){var i,r,o,s,a,u,c,l,d,h,f,p,g,m,v,y;for(e=e.replace(/^ +$/gm,"");e;)if((o=this.rules.newline.exec(e))&&(e=e.substring(o[0].length),o[0].length>1&&this.tokens.push({type:"space"})),o=this.rules.code.exec(e))e=e.substring(o[0].length),o=o[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?o:b(o,"\n")});else if(o=this.rules.fences.exec(e))e=e.substring(o[0].length),this.tokens.push({type:"code",lang:o[2]?o[2].trim():o[2],text:o[3]||""});else if(o=this.rules.heading.exec(e))e=e.substring(o[0].length),this.tokens.push({type:"heading",depth:o[1].length,text:o[2]});else if((o=this.rules.nptable.exec(e))&&(u={type:"table",header:_(o[1].replace(/^ *| *\| *$/g,"")),align:o[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:o[3]?o[3].replace(/\n$/,"").split("\n"):[]}).header.length===u.align.length){for(e=e.substring(o[0].length),f=0;f ?/gm,""),this.token(o,n),this.tokens.push({type:"blockquote_end"});else if(o=this.rules.list.exec(e)){for(e=e.substring(o[0].length),c={type:"list_start",ordered:m=(s=o[2]).length>1,start:m?+s:"",loose:!1},this.tokens.push(c),l=[],i=!1,g=(o=o[0].match(this.rules.item)).length,f=0;f1?1===a.length:a.length>1||this.options.smartLists&&a!==s)&&(e=o.slice(f+1).join("\n")+e,f=g-1)),r=i||/\n\n(?!\s*$)/.test(u),f!==g-1&&(i="\n"===u.charAt(u.length-1),r||(r=i)),r&&(c.loose=!0),y=void 0,(v=/^\[[ xX]\] /.test(u))&&(y=" "!==u[1],u=u.replace(/^\[[ xX]\] +/,"")),d={type:"list_item_start",task:v,checked:y,loose:r},l.push(d),this.tokens.push(d),this.token(u,!1),this.tokens.push({type:"list_item_end"});if(c.loose)for(g=l.length,f=0;f?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:m,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\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_])_(?!_|[^\spunctuation])|^_([^\s_][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s"<\[][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:m,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~",r.em=h(r.em).replace(/punctuation/g,r._punctuation).getRegex(),r._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,r._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,r._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])?)+(?![-_])/,r.autolink=h(r.autolink).replace("scheme",r._scheme).replace("email",r._email).getRegex(),r._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,r.tag=h(r.tag).replace("comment",t._comment).replace("attribute",r._attribute).getRegex(),r._label=/(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|`(?!`)|[^\[\]\\`])*?/,r._href=/\s*(<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*)/,r._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,r.link=h(r.link).replace("label",r._label).replace("href",r._href).replace("title",r._title).getRegex(),r.reflink=h(r.reflink).replace("label",r._label).getRegex(),r.normal=v({},r),r.pedantic=v({},r.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:h(/^!?\[(label)\]\((.*?)\)/).replace("label",r._label).getRegex(),reflink:h(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",r._label).getRegex()}),r.gfm=v({},r.normal,{escape:h(r.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\/i.test(s[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(s[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(s[0])&&(this.inRawBlock=!1),e=e.substring(s[0].length),u+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(s[0]):l(s[0]):s[0];else if(s=this.rules.link.exec(e)){var c=y(s[2],"()");if(c>-1){var d=s[0].length-(s[2].length-c)-(s[3]||"").length;s[2]=s[2].substring(0,c),s[0]=s[0].substring(0,d).trim(),s[3]=""}e=e.substring(s[0].length),this.inLink=!0,i=s[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i))?(i=t[1],r=t[3]):r="":r=s[3]?s[3].slice(1,-1):"",i=i.trim().replace(/^<([\s\S]*)>$/,"$1"),u+=this.outputLink(s,{href:o.escapes(i),title:o.escapes(r)}),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){u+=s[0].charAt(0),e=s[0].substring(1)+e;continue}this.inLink=!0,u+=this.outputLink(s,t),this.inLink=!1}else if(s=this.rules.strong.exec(e))e=e.substring(s[0].length),u+=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),u+=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),u+=this.renderer.codespan(l(s[2].trim(),!0));else if(s=this.rules.br.exec(e))e=e.substring(s[0].length),u+=this.renderer.br();else if(s=this.rules.del.exec(e))e=e.substring(s[0].length),u+=this.renderer.del(this.output(s[1]));else if(s=this.rules.autolink.exec(e))e=e.substring(s[0].length),i="@"===s[2]?"mailto:"+(n=l(this.mangle(s[1]))):n=l(s[1]),u+=this.renderer.link(i,null,n);else if(this.inLink||!(s=this.rules.url.exec(e))){if(s=this.rules.text.exec(e))e=e.substring(s[0].length),this.inRawBlock?u+=this.renderer.text(s[0]):u+=this.renderer.text(l(this.smartypants(s[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===s[2])i="mailto:"+(n=l(s[0]));else{do{a=s[0],s[0]=this.rules._backpedal.exec(s[0])[0]}while(a!==s[0]);n=l(s[0]),i="www."===s[1]?"http://"+n:n}e=e.substring(s[0].length),u+=this.renderer.link(i,null,n)}return u},o.escapes=function(e){return e?e.replace(o.rules._escapes,"$1"):e},o.prototype.outputLink=function(e,t){var n=t.href,i=t.title?l(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,i,this.output(e[1])):this.renderer.image(n,i,l(e[1]))},o.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},o.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",i=e.length,r=0;r.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},s.prototype.code=function(e,t,n){var i=(t||"").match(/\S*/)[0];if(this.options.highlight){var r=this.options.highlight(e,i);null!=r&&r!==e&&(n=!0,e=r)}return i?'
    '+(n?e:l(e,!0))+"
    \n":"
    "+(n?e:l(e,!0))+"
    "},s.prototype.blockquote=function(e){return"
    \n"+e+"
    \n"},s.prototype.html=function(e){return e},s.prototype.heading=function(e,t,n,i){return this.options.headerIds?"'+e+"\n":""+e+"\n"},s.prototype.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},s.prototype.list=function(e,t,n){var i=t?"ol":"ul";return"<"+i+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},s.prototype.listitem=function(e){return"
  1. "+e+"
  2. \n"},s.prototype.checkbox=function(e){return" "},s.prototype.paragraph=function(e){return"

    "+e+"

    \n"},s.prototype.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},s.prototype.tablerow=function(e){return"\n"+e+"\n"},s.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},s.prototype.strong=function(e){return""+e+""},s.prototype.em=function(e){return""+e+""},s.prototype.codespan=function(e){return""+e+""},s.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},s.prototype.del=function(e){return""+e+""},s.prototype.link=function(e,t,n){if(null===(e=f(this.options.sanitize,this.options.baseUrl,e)))return n;var i='"},s.prototype.image=function(e,t,n){if(null===(e=f(this.options.sanitize,this.options.baseUrl,e)))return n;var i=''+n+'":">"},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,n){return""+n},a.prototype.br=function(){return""},u.parse=function(e,t){return new u(t).parse(e)},u.prototype.parse=function(e){this.inline=new o(e.links,this.options),this.inlineText=new o(e.links,v({},this.options,{renderer:new a})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},u.prototype.next=function(){return this.token=this.tokens.pop()},u.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},u.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},u.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,d(this.inlineText.output(this.token.text)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,i,r="",o="";for(n="",e=0;e?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){var n=t;do{this.seen[n]++,t=n+"-"+this.seen[n]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t},l.escapeTest=/[&<>"']/,l.escapeReplace=/[&<>"']/g,l.replacements={"&":"&","<":"<",">":">",'"':""","'":"'"},l.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,l.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var p={},g=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function m(){}function v(e){for(var t,n,i=1;i=0&&"\\"===n[r];)i=!i;return i?"|":" |"}).split(/ \|/),i=0;if(n.length>t)n.splice(t);else for(;n.lengthAn error occurred:

    "+l(e.message+"",!0)+"
    ";throw e}}m.exec=m,w.options=w.setOptions=function(e){return v(w.defaults,e),w},w.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}},w.defaults=w.getDefaults(),w.Parser=u,w.parser=u.parse,w.Renderer=s,w.TextRenderer=a,w.Lexer=n,w.lexer=n.lex,w.InlineLexer=o,w.inlineLexer=o.output,w.Slugger=c,w.parse=w,i=w}).call(this);i.Parser,i.parser;var c,l=i.Renderer,d=(i.TextRenderer,i.Lexer,i.lexer,i.InlineLexer,i.inlineLexer,i.parse);let h;!function(){return function e(t,n,i){function r(s,a){if(!n[s]){if(!t[s]){if(!a&&"function"==typeof c&&c)return c(s,!0);if(o)return o(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var l=n[s]={exports:{}};t[s][0].call(l.exports,function(e){return r(t[s][1][e]||e)},l,l.exports,e,t,n,i)}return n[s].exports}for(var o="function"==typeof c&&c,s=0;s\s]+))?)*)\s*(\/?)\s*>/,a=/^<\s*\/\s*([\w:-]+)[^>]*>/,u=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,c=/^=0&&(t.comment&&t.comment(e.substring(4,i)),e=e.substring(i+3),n=!1):l.test(e)?p(a,m):c.test(e)&&p(s,g),function(){if(n){var i,r=e.indexOf("<");r>=0?(i=e.substring(0,r),e=e.substring(r)):(i=e,e=""),t.chars&&t.chars(i)}}();var r=e===h;h=e,r&&(e="")}function p(t,i){var r=e.match(t);r&&(e=e.substring(r[0].length),r[0].replace(t,i),n=!1)}function g(e,n,s,a){var c={},l=r(n),h=o.voids[l]||!!a;s.replace(u,function(e,t,n,r,o){c[t]=void 0===n&&void 0===r&&void 0===o?void 0:i.decode(n||r||o||"")}),h||d.push(l),t.start&&t.start(l,c,h)}function m(e,n){var i,o=0,s=r(n);if(s)for(o=d.length-1;o>=0&&d[o]!==s;o--);if(o>=0){for(i=d.length-1;i>=o;i--)t.end&&t.end(d[i]);d.length=o}}m()}},{"./attributes":1,"./elements":3,"./lowercase":5,he:9}],8:[function(e,t,n){var i=e("he"),r=e("./lowercase"),o=e("./attributes"),s=e("./elements");t.exports=function(e,t){var n,a=t||{};return d(),{start:function(e,t,s){var l=r(e);n.ignoring?c(l):-1!==(a.allowedTags||[]).indexOf(l)&&(!a.filter||a.filter({tag:l,attrs:t}))?(u("<"),u(l),Object.keys(t).forEach(function(e){var n,s=t[e],c=(a.allowedClasses||{})[l]||[],d=(a.allowedAttributes||{})[l]||[];d=d.concat((a.allowedAttributes||{})["*"]||[]);var h=r(e);"class"===h&&-1===d.indexOf(h)?(s=s.split(" ").filter(function(e){return c&&-1!==c.indexOf(e)}).join(" ").trim(),n=s.length):n=-1!==d.indexOf(h)&&(!0!==o.uris[h]||function(e){var t=e[0];if("#"===t||"/"===t)return!0;var n=e.indexOf(":");if(-1===n)return!0;var i=e.indexOf("?");if(-1!==i&&n>i)return!0;var r=e.indexOf("#");return-1!==r&&n>r||a.allowedSchemes.some(function(t){return 0===e.indexOf(t+":")})}(s)),n&&(u(" "),u(e),"string"==typeof s&&(u('="'),u(i.encode(s)),u('"')))}),u(s?"/>":">")):c(l)},end:function(e){var t=r(e);-1!==(a.allowedTags||[]).indexOf(t)&&!1===n.ignoring?(u("")):l(t)},chars:function(e){!1===n.ignoring&&u(a.transformText?a.transformText(e):e)}};function u(t){e.push(t)}function c(e){s.voids[e]||(!1===n.ignoring?n={ignoring:e,depth:1}:n.ignoring===e&&n.depth++)}function l(e){n.ignoring===e&&--n.depth<=0&&d()}function d(){n={ignoring:!1,depth:0}}}},{"./attributes":1,"./elements":3,"./lowercase":5,he:9}],9:[function(e,t,n){var i={"&":"&","<":"<",">":">",'"':""","'":"'"},r={"&":"&","<":"<",">":">",""":'"',"'":"'"},o=/(&|<|>|"|')/g,s=/[&<>"']/g;function a(e){return i[e]}function u(e){return r[e]}function c(e){return null==e?"":String(e).replace(s,a)}function l(e){return null==e?"":String(e).replace(o,u)}c.options=l.options={},t.exports={encode:c,escape:c,decode:l,unescape:l,version:"1.0.0-browser"}},{}],10:[function(e,t,n){function i(e,t){return e[t]=!0,e}t.exports=function(e){return e.reduce(i,{})}},{}]},{},[4]);var f=h,p=n("+vUW"),g=n("TU7t"),m=n("aL7J"),v=n("mrx5");function _(e,t){void 0===t&&(t={});var n,i=Object(o.a)(t),c=function(t,n){var i=e.uris&&e.uris[t];if(!i)return t;var o=v.a.revive(i);return n&&(o=r.o(o)),o.query&&(o=o.with({query:function(t){var n;try{n=Object(p.a)(decodeURIComponent(t))}catch(e){}return n?(n=Object(g.b)(n,function(t){return e.uris&&e.uris[t]?v.a.revive(e.uris[t]):void 0}),encodeURIComponent(JSON.stringify(n))):t}(o.query)})),i&&(t=o.toString(!0)),t},h=new Promise(function(e){return n=e}),_=new l;_.image=function(e,t,n){var i,r=[],o=[];return e&&(e=(i=Object(a.d)(e)).href,r=i.dimensions,e=c(e,!0),o.push('src="'+e+'"')),n&&o.push('alt="'+n+'"'),t&&o.push('title="'+t+'"'),r.length&&(o=o.concat(r)),""},_.link=function(t,n,i){return t===i&&(i=Object(a.e)(i)),t=c(t,!1),n=Object(a.e)(n),!(t=Object(a.e)(t))||t.match(/^data:|javascript:/i)||t.match(/^command:/i)&&!e.isTrusted||t.match(/^command:(\/\/\/)?_workbench\.downloadResource/i)?i:'
    /g,">").replace(/"/g,""").replace(/'/g,"'"))+'" title="'+(n||t)+'">'+i+""},_.paragraph=function(e){return"

    "+e+"

    "},t.codeBlockRenderer&&(_.code=function(e,n){var r=t.codeBlockRenderer(n,e),o=u.b.nextId(),s=Promise.all([r,h]).then(function(e){var t=e[0],n=i.querySelector('div[data-code="'+o+'"]');n&&(n.innerHTML=t)}).catch(function(e){});return t.codeBlockRenderCallback&&s.then(t.codeBlockRenderCallback),'
    '+Object(m.o)(e)+"
    "});var b=t.actionHandler;b&&b.disposeables.add(r.k(i,"click",function(e){var t=e.target;if("A"===t.tagName||(t=t.parentElement)&&"A"===t.tagName)try{var n=t.dataset.href;n&&b.callback(n,e)}catch(e){Object(s.e)(e)}finally{e.preventDefault()}}));var y={sanitize:!0,renderer:_},w=["http","https","mailto","data"];e.isTrusted&&w.push("command");var C=d(e.value,y);return i.innerHTML=f(C,{allowedSchemes:w,allowedAttributes:{a:["href","name","target","data-href"],iframe:["allowfullscreen","frameborder","src"],img:["src","title","alt","width","height"],div:["class","data-code"]}}),n(),i}var b=n("GsV8"),y=n("6TMp"),w=n("Skdw"),C=n("JVO/"),S=n("Kp7x"),x=n("tqet"),L=n("PCC9");n.d(t,"a",function(){return I});var O,k=this&&this.__extends||(O=function(e,t){return(O=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}O(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),N=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},E=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},I=function(e){function t(t,n,i){void 0===i&&(i=b.b);var r=e.call(this)||this;return r._editor=t,r._modeService=n,r._openerService=i,r._onDidRenderCodeBlock=r._register(new S.a),r.onDidRenderCodeBlock=r._onDidRenderCodeBlock.event,r}return k(t,e),t.prototype.getOptions=function(e){var t=this;return{codeBlockRenderer:function(e,n){var i=null;if(e)i=t._modeService.getModeIdForLanguageName(e);else{var r=t._editor.getModel();r&&(i=r.getLanguageIdentifier().language)}return t._modeService.triggerMode(i||""),Promise.resolve(!0).then(function(e){var t=L.y.getPromise(i||"");return t?t.then(function(e){return Object(w.b)(n,e)}):Object(w.b)(n,void 0)}).then(function(e){return''+e+""})},codeBlockRenderCallback:function(){return t._onDidRenderCodeBlock.fire()},actionHandler:{callback:function(e){var n;try{n=v.a.parse(e)}catch(e){}n&&t._openerService&&t._openerService.open(n).catch(s.e)},disposeables:e}}},t.prototype.render=function(e){var t=new x.b;return{element:e?_(e,this.getOptions(t)):document.createElement("span"),dispose:function(){return t.dispose()}}},t=N([E(1,y.a),E(2,Object(C.d)(b.a))],t)}(x.a)},"VI/i":function(e,t,n){"use strict";t.randomBytes=t.rng=t.pseudoRandomBytes=t.prng=n("rOku"),t.createHash=t.Hash=n("BVsN"),t.createHmac=t.Hmac=n("ARY+");var i=n("O+gO"),r=Object.keys(i),o=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(r);t.getHashes=function(){return o};var s=n("/vd3");t.pbkdf2=s.pbkdf2,t.pbkdf2Sync=s.pbkdf2Sync;var a=n("VKDQ");t.Cipher=a.Cipher,t.createCipher=a.createCipher,t.Cipheriv=a.Cipheriv,t.createCipheriv=a.createCipheriv,t.Decipher=a.Decipher,t.createDecipher=a.createDecipher,t.Decipheriv=a.Decipheriv,t.createDecipheriv=a.createDecipheriv,t.getCiphers=a.getCiphers,t.listCiphers=a.listCiphers;var u=n("PBsE");t.DiffieHellmanGroup=u.DiffieHellmanGroup,t.createDiffieHellmanGroup=u.createDiffieHellmanGroup,t.getDiffieHellman=u.getDiffieHellman,t.createDiffieHellman=u.createDiffieHellman,t.DiffieHellman=u.DiffieHellman;var c=n("KeN/");t.createSign=c.createSign,t.Sign=c.Sign,t.createVerify=c.createVerify,t.Verify=c.Verify,t.createECDH=n("gw8B");var l=n("9P96");t.publicEncrypt=l.publicEncrypt,t.privateEncrypt=l.privateEncrypt,t.publicDecrypt=l.publicDecrypt,t.privateDecrypt=l.privateDecrypt;var d=n("4R/o");t.randomFill=d.randomFill,t.randomFillSync=d.randomFillSync,t.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},t.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},VKDQ:function(e,t,n){var i=n("IRek"),r=n("tXf9"),o=n("BCiZ"),s=n("UBa7"),a=n("Cgw8");function u(e,t,n){if(e=e.toLowerCase(),o[e])return r.createCipheriv(e,t,n);if(s[e])return new i({key:t,iv:n,mode:e});throw new TypeError("invalid suite type")}function c(e,t,n){if(e=e.toLowerCase(),o[e])return r.createDecipheriv(e,t,n);if(s[e])return new i({key:t,iv:n,mode:e,decrypt:!0});throw new TypeError("invalid suite type")}t.createCipher=t.Cipher=function(e,t){var n,i;if(e=e.toLowerCase(),o[e])n=o[e].key,i=o[e].iv;else{if(!s[e])throw new TypeError("invalid suite type");n=8*s[e].key,i=s[e].iv}var r=a(t,!1,n,i);return u(e,r.key,r.iv)},t.createCipheriv=t.Cipheriv=u,t.createDecipher=t.Decipher=function(e,t){var n,i;if(e=e.toLowerCase(),o[e])n=o[e].key,i=o[e].iv;else{if(!s[e])throw new TypeError("invalid suite type");n=8*s[e].key,i=s[e].iv}var r=a(t,!1,n,i);return c(e,r.key,r.iv)},t.createDecipheriv=t.Decipheriv=c,t.listCiphers=t.getCiphers=function(){return Object.keys(s).concat(r.getCiphers())}},"Vcj/":function(e,t){},VqvS:function(e,t,n){var i=n("LC74"),r=n("ps4E");function o(e){r.call(this,e),this.enc="pem"}i(o,r),e.exports=o,o.prototype.encode=function(e,t){for(var n=r.prototype.encode.call(this,e).toString("base64"),i=["-----BEGIN "+t.label+"-----"],o=0;o0)n.left||(n.left=new a,n.left.segment=i.value()),n=n.left;else if(r<0)n.right||(n.right=new a,n.right.segment=i.value()),n=n.right;else{if(!i.hasNext())break;i.next(),n.mid||(n.mid=new a,n.mid.segment=i.value()),n=n.mid}}var o=n.value;return n.value=t,n.key=e,o},e.prototype.get=function(e){for(var t=this._iter.reset(e),n=this._root;n;){var i=t.cmp(n.segment);if(i>0)n=n.left;else if(i<0)n=n.right;else{if(!t.hasNext())break;t.next(),n=n.mid}}return n?n.value:void 0},e.prototype.findSubstr=function(e){for(var t=this._iter.reset(e),n=this._root,i=void 0;n;){var r=t.cmp(n.segment);if(r>0)n=n.left;else if(r<0)n=n.right;else{if(!t.hasNext())break;t.next(),i=n.value||i,n=n.mid}}return n&&n.value||i},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}(),c=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}(),l=function(e){function t(t,n){void 0===n&&(n=1);var i=e.call(this)||this;return i._limit=t,i._ratio=Math.min(Math.max(0,n),1),i}return r(t,e),t.prototype.get=function(t){return e.prototype.get.call(this,t,2)},t.prototype.peek=function(t){return e.prototype.get.call(this,t,0)},t.prototype.set=function(t,n){e.prototype.set.call(this,t,n,2),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=0);var n=this._map.get(e);if(n)return 0!==t&&this.touch(n,t),n.value},e.prototype.set=function(e,t,n){void 0===n&&(n=0);var i=this._map.get(e);if(i)i.value=t,0!==n&&this.touch(i,n);else{switch(i={key:e,value:t,next:void 0,previous:void 0},n){case 0:this.addItemLast(i);break;case 1:this.addItemFirst(i);break;case 2:default:this.addItemLast(i)}this._map.set(e,i),this._size++}},e.prototype.delete=function(e){return!!this.remove(e)},e.prototype.remove=function(e){var t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value},e.prototype.forEach=function(e,t){for(var n=this._head;n;)t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),n=n.next},e.prototype.trimOld=function(e){if(!(e>=this.size))if(0!==e){for(var t=this._head,n=this.size;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(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.removeItem=function(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{var t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0},e.prototype.touch=function(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(1===t||2===t)if(1===t){if(e===this._head)return;var n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e}else if(2===t){if(e===this._tail)return;n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),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,n){e.push([n,t])}),e},e}())},WUwp:function(e,t){},WZeM:function(e,t,n){"use strict";n.d(t,"a",function(){return r}),t.b=function(e){return new r(e)};var i=n("7/Cv"),r=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){i.R(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}()},X3l8:function(e,t,n){var i=n("EuP9"),r=i.Buffer;function o(e,t){for(var n in e)t[n]=e[n]}function s(e,t,n){return r(e,t,n)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?e.exports=i:(o(i,t),t.Buffer=s),s.prototype=Object.create(r.prototype),o(r,s),s.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return r(e,t,n)},s.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var i=r(e);return void 0!==t?"string"==typeof n?i.fill(t,n):i.fill(t):i.fill(0),i},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i.SlowBuffer(e)}},X4X3:function(e,t,n){"use strict";var i=n("oYso").Buffer,r=i.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 o(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&&(i.isEncoding===r||!r(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=u,this.end=c,t=4;break;case"utf8":this.fillLast=a,t=4;break;case"base64":this.text=l,this.end=d,t=3;break;default:return this.write=h,void(this.end=f)}this.lastNeed=0,this.lastTotal=0,this.lastChar=i.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,n=function(e,t,n){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!==n?n: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 u(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var i=n.charCodeAt(n.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function l(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?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-n))}function d(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function h(e){return e.toString(this.encoding)}function f(e){return e&&e.length?this.write(e):""}t.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0)return r>0&&(e.lastNeed=r-1),r;if(--i=0)return r>0&&(e.lastNeed=r-2),r;if(--i=0)return r>0&&(2===r?r=0:e.lastNeed=r-3),r;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var i=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,i),e.toString("utf8",t,i)},o.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}},X6iQ:function(e,t,n){"use strict";function i(e,t){return function e(t,n,i,r,o){if(r<=i)return;var s=i+(r-i)/2|0;e(t,n,i,s,o);e(t,n,s+1,r,o);if(n(t[s],t[s+1])<=0)return;!function(e,t,n,i,r,o){for(var s=n,a=i+1,u=n;u<=r;u++)o[u]=e[u];for(var u=n;u<=r;u++)s>i?e[u]=o[a++]:a>r?e[u]=o[s++]:t(o[a],o[s])<0?e[u]=o[a++]:e[u]=o[s++]}(t,n,i,s,r,o)}(e,t,0,e.length-1,[]),e}function r(e,t){for(var n=0;n0))return o;r=o-1}}return-(i+1)},t.h=function(e,t){var n=0,i=e.length;if(0===i)return 0;for(;n0},t.e=function(e,t){if(!t)return e.filter(function(t,n){return e.indexOf(t)===n});var n=Object.create(null);return e.filter(function(e){var i=t(e);return!n[i]&&(n[i]=!0,!0)})},t.f=function(e){var t=new Set;return e.filter(function(e){return!t.has(e)&&(t.add(e),!0)})},t.j=r,t.i=function(e,t,n){void 0===n&&(n=void 0);var i=r(e,t);return i<0?n:e[i]},t.k=function(e){var t;return(t=[]).concat.apply(t,e)},t.r=function(e,t){var n="number"==typeof t?e:0;"number"==typeof t?n=e:(n=0,t=e);var i=[];if(n<=t)for(var r=n;rt;r--)i.push(r);return i},t.a=function(e,t,n){var i=e.slice(0,t),r=e.slice(t);return i.concat(n,r)},t.q=function(e,t){var n=e.indexOf(t);n>-1&&(e.splice(n,1),e.unshift(t))},t.p=function(e,t){var n=e.indexOf(t);n>-1&&(e.splice(n,1),e.push(t))},t.b=function(e){return Array.isArray(e)?e:[e]}},XTA7:function(e,t){},Y6WZ:function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return s});var i=n("CQAd"),r=function(){return function(e,t){this.index=e,this.remainder=t}}(),o=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(i.b)(e);var n=this.values,r=this.prefixSum,o=t.length;return 0!==o&&(this.values=new Uint32Array(n.length+o),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+o),this.values.set(t,e),e-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.changeValue=function(e,t){return e=Object(i.b)(e),t=Object(i.b)(t),this.values[e]!==t&&(this.values[e]=t,e-1=n.length)return!1;var o=n.length-e;return t>=o&&(t=o),0!==t&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(r.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(i.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 n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];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=0,n=this.values.length-1,i=0,o=0,s=0;t<=n;)if(i=t+(n-t)/2|0,e<(s=(o=this.prefixSum[i])-this.values[i]))n=i-1;else{if(!(e>=o))break;t=i+1}return new r(i,e-s)},e}(),s=function(){function e(e){this._cacheAccumulatedValueStart=0,this._cache=null,this._actual=new o(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&&ta?t=e(t):t.length=this._delta8){var n=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-n,e.length),0===this.pending.length&&(this.pending=null),e=i.join32(e,0,e.length-n,this.endian);for(var r=0;r>>24&255,i[r++]=e>>>16&255,i[r++]=e>>>8&255,i[r++]=255&e}else for(i[r++]=255&e,i[r++]=e>>>8&255,i[r++]=e>>>16&255,i[r++]=e>>>24&255,i[r++]=0,i[r++]=0,i[r++]=0,i[r++]=0,o=8;o0||this.m_modifiedCount>0)&&this.m_changes.push(new i(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,n){void 0===n&&(n=null),this.OriginalSequence=e,this.ModifiedSequence=t,this.ContinueProcessingPredicate=n,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,n,i,r){var o=this.ComputeDiffRecursive(e,t,n,i,[!1]);return r?this.PrettifyChanges(o):o},e.prototype.ComputeDiffRecursive=function(e,t,n,r,s){for(s[0]=!1;e<=t&&n<=r&&this.ElementsAreEqual(e,n);)e++,n++;for(;t>=e&&r>=n&&this.ElementsAreEqual(t,r);)t--,r--;if(e>t||n>r){var a=void 0;return n<=r?(o.Assert(e===t+1,"originalStart should only be one more than originalEnd"),a=[new i(e,0,n,r-n+1)]):e<=t?(o.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),a=[new i(e,t-e+1,n,0)]):(o.Assert(e===t+1,"originalStart should only be one more than originalEnd"),o.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),a=[]),a}var u=[0],c=[0],l=this.ComputeRecursionPoint(e,t,n,r,u,c,s),d=u[0],h=c[0];if(null!==l)return l;if(!s[0]){var f=this.ComputeDiffRecursive(e,d,n,h,s),p=[];return p=s[0]?[new i(d+1,t-(d+1)+1,h+1,r-(h+1)+1)]:this.ComputeDiffRecursive(d+1,t,h+1,r,s),this.ConcatenateChanges(f,p)}return[new i(e,t-e+1,n,r-n+1)]},e.prototype.WALKTRACE=function(e,t,n,r,o,s,u,c,l,d,h,f,p,g,m,v,_,b){var y,w,C=null,S=new a,x=t,L=n,O=p[0]-v[0]-r,k=Number.MIN_VALUE,N=this.m_forwardHistory.length-1;do{(w=O+e)===x||w=0&&(e=(l=this.m_forwardHistory[N])[0],x=1,L=l.length-1)}while(--N>=-1);if(y=S.getReverseChanges(),b[0]){var E=p[0]+1,I=v[0]+1;if(null!==y&&y.length>0){var D=y[y.length-1];E=Math.max(E,D.getOriginalEnd()),I=Math.max(I,D.getModifiedEnd())}C=[new i(E,f-E+1,I,m-I+1)]}else{S=new a,x=s,L=u,O=p[0]-v[0]-c,k=Number.MAX_VALUE,N=_?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{(w=O+o)===x||w=d[w+1]?(g=(h=d[w+1]-1)-O-c,h>k&&S.MarkNextChange(),k=h+1,S.AddOriginalElement(h+1,g+1),O=w+1-o):(g=(h=d[w-1])-O-c,h>k&&S.MarkNextChange(),k=h,S.AddModifiedElement(h+1,g+1),O=w-1-o),N>=0&&(o=(d=this.m_reverseHistory[N])[0],x=1,L=d.length-1)}while(--N>=-1);C=S.getChanges()}return this.ConcatenateChanges(y,C)},e.prototype.ComputeRecursionPoint=function(e,t,n,r,o,a,u){var c,l=0,d=0,h=0,f=0,p=0,g=0;e--,n--,o[0]=0,a[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];var m,v,_=t-e+(r-n),b=_+1,y=new Array(b),w=new Array(b),C=r-n,S=t-e,x=e-n,L=t-r,O=(S-C)%2==0;for(y[C]=e,w[S]=t,u[0]=!1,c=1;c<=_/2+1;c++){var k=0,N=0;for(h=this.ClipDiagonalBound(C-c,c,C,b),f=this.ClipDiagonalBound(C+c,c,C,b),m=h;m<=f;m+=2){for(d=(l=m===h||mk+N&&(k=l,N=d),!O&&Math.abs(m-S)<=c-1&&l>=w[m])return o[0]=l,a[0]=d,v<=w[m]&&c<=1448?this.WALKTRACE(C,h,f,x,S,p,g,L,y,w,l,t,o,d,r,a,O,u):null}var E=(k-e+(N-n)-c)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(k,this.OriginalSequence,E))return u[0]=!0,o[0]=k,a[0]=N,E>0&&c<=1448?this.WALKTRACE(C,h,f,x,S,p,g,L,y,w,l,t,o,d,r,a,O,u):[new i(++e,t-e+1,++n,r-n+1)];for(p=this.ClipDiagonalBound(S-c,c,S,b),g=this.ClipDiagonalBound(S+c,c,S,b),m=p;m<=g;m+=2){for(d=(l=m===p||m=w[m+1]?w[m+1]-1:w[m-1])-(m-S)-L,v=l;l>e&&d>n&&this.ElementsAreEqual(l,d);)l--,d--;if(w[m]=l,O&&Math.abs(m-C)<=c&&l<=y[m])return o[0]=l,a[0]=d,v>=y[m]&&c<=1448?this.WALKTRACE(C,h,f,x,S,p,g,L,y,w,l,t,o,d,r,a,O,u):null}if(c<=1447){var I=new Array(f-h+2);I[0]=C-h+1,s.Copy(y,h,I,1,f-h+1),this.m_forwardHistory.push(I),(I=new Array(g-p+2))[0]=S-p+1,s.Copy(w,p,I,1,g-p+1),this.m_reverseHistory.push(I)}}return this.WALKTRACE(C,h,f,x,S,p,g,L,y,w,l,t,o,d,r,a,O,u)},e.prototype.PrettifyChanges=function(e){for(var t=0;t0,s=n.modifiedLength>0;n.originalStart+n.originalLength=0;t--){n=e[t],i=0,r=0;if(t>0){var u=e[t-1];u.originalLength>0&&(i=u.originalStart+u.originalLength),u.modifiedLength>0&&(r=u.modifiedStart+u.modifiedLength)}o=n.originalLength>0,s=n.modifiedLength>0;for(var c=0,l=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength),d=1;;d++){var h=n.originalStart-d,f=n.modifiedStart-d;if(hl&&(l=p,c=d)}n.originalStart-=c,n.modifiedStart-=c}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 n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))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 n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1},e.prototype._boundaryScore=function(e,t,n,i){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,i)?1:0)},e.prototype.ConcatenateChanges=function(e,t){var n=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){var i=new Array(e.length+t.length-1);return s.Copy(e,0,i,0,e.length-1),i[e.length-1]=n[0],s.Copy(t,1,i,e.length,t.length-1),i}i=new Array(e.length+t.length);return s.Copy(e,0,i,0,e.length),s.Copy(t,0,i,e.length,t.length),i},e.prototype.ChangesOverlap=function(e,t,n){if(o.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),o.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 r=e.originalStart,s=e.originalLength,a=e.modifiedStart,u=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(s=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(u=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new i(r,s,a,u),!0}return n[0]=null,!1},e.prototype.ClipDiagonalBound=function(e,t,n,i){if(e>=0&&et.getLineMinColumn(n)?i.a.isLowSurrogate(t,n,r-2)?r-=2:r-=1:n>1&&(n-=1,r=t.getLineMaxColumn(n)),new s(n,r,0)},e.moveLeft=function(t,n,i,r,o){var s,a;if(i.hasSelection()&&!r)s=i.selection.startLineNumber,a=i.selection.startColumn;else{var u=e.left(t,n,i.position.lineNumber,i.position.column-(o-1));s=u.lineNumber,a=u.column}return i.move(r,s,a,0)},e.right=function(e,t,n,r){return rl?(n=l,u?r=t.getLineMaxColumn(n):(r=Math.min(t.getLineMaxColumn(n),r),i.a.isInsideSurrogatePair(t,n,r)&&(r-=1))):(r=i.a.columnFromVisibleColumn2(e,t,n,c),i.a.isInsideSurrogatePair(t,n,r)&&(r-=1)),o=c-i.a.visibleColumnFromColumn(t.getLineContent(n),r,e.tabSize),new s(n,r,o)},e.moveDown=function(t,n,i,r,o){var s,a;i.hasSelection()&&!r?(s=i.selection.endLineNumber,a=i.selection.endColumn):(s=i.position.lineNumber,a=i.position.column);var u=e.down(t,n,s,a,i.leftoverVisibleColumns,o,!0);return i.move(r,u.lineNumber,u.column,u.leftoverVisibleColumns)},e.translateDown=function(t,n,s){var a=s.selection,u=e.down(t,n,a.selectionStartLineNumber,a.selectionStartColumn,s.selectionStartLeftoverVisibleColumns,1,!1),c=e.down(t,n,a.positionLineNumber,a.positionColumn,s.leftoverVisibleColumns,1,!1);return new i.f(new o.a(u.lineNumber,u.column,u.lineNumber,u.column),u.leftoverVisibleColumns,new r.a(c.lineNumber,c.column),c.leftoverVisibleColumns)},e.up=function(e,t,n,r,o,a,u){var c=i.a.visibleColumnFromColumn(t.getLineContent(n),r,e.tabSize)+o;return(n-=a)<1?(n=1,u?r=t.getLineMinColumn(n):(r=Math.min(t.getLineMaxColumn(n),r),i.a.isInsideSurrogatePair(t,n,r)&&(r-=1))):(r=i.a.columnFromVisibleColumn2(e,t,n,c),i.a.isInsideSurrogatePair(t,n,r)&&(r-=1)),o=c-i.a.visibleColumnFromColumn(t.getLineContent(n),r,e.tabSize),new s(n,r,o)},e.moveUp=function(t,n,i,r,o){var s,a;i.hasSelection()&&!r?(s=i.selection.startLineNumber,a=i.selection.startColumn):(s=i.position.lineNumber,a=i.position.column);var u=e.up(t,n,s,a,i.leftoverVisibleColumns,o,!0);return i.move(r,u.lineNumber,u.column,u.leftoverVisibleColumns)},e.translateUp=function(t,n,s){var a=s.selection,u=e.up(t,n,a.selectionStartLineNumber,a.selectionStartColumn,s.selectionStartLeftoverVisibleColumns,1,!1),c=e.up(t,n,a.positionLineNumber,a.positionColumn,s.leftoverVisibleColumns,1,!1);return new i.f(new o.a(u.lineNumber,u.column,u.lineNumber,u.column),u.leftoverVisibleColumns,new r.a(c.lineNumber,c.column),c.leftoverVisibleColumns)},e.moveToBeginningOfLine=function(e,t,n,i){var r,o=n.position.lineNumber,s=t.getLineMinColumn(o),a=t.getLineFirstNonWhitespaceColumn(o)||s;return r=n.position.column===a?s:a,n.move(i,o,r,0)},e.moveToEndOfLine=function(e,t,n,i){var r=n.position.lineNumber,o=t.getLineMaxColumn(r);return n.move(i,r,o,0)},e.moveToBeginningOfBuffer=function(e,t,n,i){return n.move(i,1,1,0)},e.moveToEndOfBuffer=function(e,t,n,i){var r=t.getLineCount(),o=t.getLineMaxColumn(r);return n.move(i,r,o,0)},e}()},ZWAj:function(e,t,n){"use strict";n.d(t,"b",function(){return s}),n.d(t,"a",function(){return a});var i=n("aL7J"),r=n("artP"),o=n("vTy2"),s=function(){function e(e,t,n,i,r){this.value=e,this.selectionStart=t,this.selectionEnd=n,this.selectionStartPosition=i,this.selectionEndPosition=r}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,n){t.setValue(e,this.value),n&&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 n=this.value.substring(this.selectionStart,e);if(-1===n.indexOf(String.fromCharCode(8230)))return this._finishDeduceEditorPosition(this.selectionStartPosition,n,1);var i=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition(this.selectionEndPosition,i,-1)},e.prototype._finishDeduceEditorPosition=function(e,t,n){for(var i=0,r=-1;-1!==(r=t.indexOf("\n",r+1));)i++;return[e,n*t.length,i]},e.selectedText=function(t){return new e(t,0,t.length,null,null)},e.deduceInput=function(e,t,n,r){if(!e)return{text:"",replaceCharCnt:0};var o=e.value,s=e.selectionStart,a=e.selectionEnd,u=t.value,c=t.selectionStart,l=t.selectionEnd;r&&o.length>0&&s===a&&c===l&&!i.J(u,o)&&i.m(u,o)&&(s=0,a=0);var d=o.substring(a),h=u.substring(l),f=i.c(d,h);u=u.substring(0,u.length-f);var p=(o=o.substring(0,o.length-f)).substring(0,s),g=u.substring(0,c),m=i.b(p,g);if(u=u.substring(m),o=o.substring(m),c-=m,s-=m,l-=m,a-=m,n&&c===l&&o.length>0){var v=null;if(c===u.length?i.J(u,o)&&(v=u.substring(o.length)):i.m(u,o)&&(v=u.substring(0,u.length-o.length)),null!==v&&v.length>0&&(/\uFE0F/.test(v)||i.f(v)))return{text:v,replaceCharCnt:0}}return c===l?o===u&&0===s&&a===o.length&&c===u.length&&-1===u.indexOf("\n")&&i.g(u)?{text:"",replaceCharCnt:0}:{text:u,replaceCharCnt:p.length-m}:{text:u,replaceCharCnt:a-s}},e.EMPTY=new e("",0,0,null,null),e}(),a=function(){function e(){}return e._getPageOfLine=function(t){return Math.floor((t-1)/e._LINES_PER_PAGE)},e._getRangeForPage=function(t){var n=t*e._LINES_PER_PAGE,i=n+1,r=n+e._LINES_PER_PAGE;return new o.a(i,1,r+1,1)},e.fromEditorSelection=function(t,n,i,a){var u,c=e._getPageOfLine(i.startLineNumber),l=e._getRangeForPage(c),d=e._getPageOfLine(i.endLineNumber),h=e._getRangeForPage(d),f=l.intersectRanges(new o.a(1,1,i.startLineNumber,i.startColumn)),p=n.getValueInRange(f,1),g=n.getLineCount(),m=n.getLineMaxColumn(g),v=h.intersectRanges(new o.a(i.endLineNumber,i.endColumn,g,m)),_=n.getValueInRange(v,1);if(c===d||c+1===d)u=n.getValueInRange(i,1);else{var b=l.intersectRanges(i),y=h.intersectRanges(i);u=n.getValueInRange(b,1)+String.fromCharCode(8230)+n.getValueInRange(y,1)}if(a){p.length>500&&(p=p.substring(p.length-500,p.length)),_.length>500&&(_=_.substring(0,500)),u.length>1e3&&(u=u.substring(0,500)+String.fromCharCode(8230)+u.substring(u.length-500,u.length))}return new s(p+u+_,p.length,p.length+u.length,new r.a(i.startLineNumber,i.startColumn),new r.a(i.endLineNumber,i.endColumn))},e._LINES_PER_PAGE=10,e}()},ZYUE:function(e,t,n){"use strict";t.c=function(e){return h(e)||e.authority},t.e=function(e,t,n){void 0===n&&(n=l(e));if(e===t)return!0;if(!e||!t)return!1;if(e.scheme!==t.scheme||!d(e.authority,t.authority))return!1;var i=e.path||"/",r=t.path||"/";return i===r||n&&Object(a.n)(i||"/",r||"/")},t.b=h,t.d=function(e){if(0===e.path.length)return e;if(e.scheme===u.b.file)return s.a.file(o.dirname(f(e)));var t=o.posix.dirname(e.path);e.authority&&t.length&&47!==t.charCodeAt(0)&&(console.error('dirname("'+e.toString+")) resulted in a relative path"),t="/");return e.with({path:t})},t.f=function(e){for(var t,n,i=[],r=1;r1&&e.scheme===u.b.file?"//"+e.authority+n:c.g&&47===n.charCodeAt(0)&&r.b(n.charCodeAt(1))&&58===n.charCodeAt(2)?n.substr(1):n,c.g&&(t=t.replace(/\//g,"\\")),t}!function(e){e.META_DATA_LABEL="label",e.META_DATA_DESCRIPTION="description",e.META_DATA_SIZE="size",e.META_DATA_MIME="mime",e.parseMetaData=function(t){var n=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach(function(e){var t=e.split(":"),i=t[0],r=t[1];i&&r&&n.set(i,r)});var i=t.path.substring(0,t.path.indexOf(";"));return i&&n.set(e.META_DATA_MIME,i),n}}(i||(i={}))},ZfGv:function(e,t,n){"use strict";(function(e,i){n.d(t,"g",function(){return p}),n.d(t,"d",function(){return g}),n.d(t,"c",function(){return m}),n.d(t,"e",function(){return v}),n.d(t,"f",function(){return _}),n.d(t,"b",function(){return b}),t.h=function(t){null===y&&(y=b.setImmediate?b.setImmediate.bind(b):void 0!==e&&"function"==typeof e.nextTick?e.nextTick.bind(e):b.setTimeout.bind(b));return y(t)},n.d(t,"a",function(){return w});var r=!1,o=!1,s=!1,a=!1,u=!1,c=void 0,l=void 0!==e&&void 0!==e.versions&&void 0!==e.versions.electron&&"renderer"===e.type;if("object"!=typeof navigator||l){if("object"==typeof e){r="win32"===e.platform,o="darwin"===e.platform,s="linux"===e.platform,"en","en";var d=Object({NODE_ENV:"production"}).VSCODE_NLS_CONFIG;if(d)try{var h=JSON.parse(d),f=h.availableLanguages["*"];h.locale,f||"en",h._translationsConfigFile}catch(e){}a=!0}}else r=(c=navigator.userAgent).indexOf("Windows")>=0,o=c.indexOf("Macintosh")>=0,s=c.indexOf("Linux")>=0,u=!0,navigator.language;var p=r,g=o,m=s,v=a,_=u,b="object"==typeof self?self:"object"==typeof i?i:{},y=null;var w=o?2:r?1:3}).call(t,n("W2nU"),n("DuR2"))},Zq1s:function(e,t,n){var i=n("EXeW"),r=n("LYGd"),o=n("JaR3"),s=n("2JY6"),a=n("35aj"),u=n("X3l8").Buffer,c=u.alloc(128),l={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function d(e,t,n){var s=function(e){return"rmd160"===e||"ripemd160"===e?function(e){return(new r).update(e).digest()}:"md5"===e?i:function(t){return o(e).update(t).digest()}}(e),a="sha512"===e||"sha384"===e?128:64;t.length>a?t=s(t):t.lengththis._limit&&this._initialize(e.slice(e.length-this._limit))},e.prototype._initialize=function(e){this._history=new Set;for(var t=0,n=e;t=0);return r},o.prototype._randrange=function(e,t){var n=t.sub(e);return e.add(this._randbelow(n))},o.prototype.test=function(e,t,n){var r=e.bitLength(),o=i.mont(e),s=new i(1).toRed(o);t||(t=Math.max(1,r/48|0));for(var a=e.subn(1),u=0;!a.testn(u);u++);for(var c=e.shrn(u),l=a.toRed(o);t>0;t--){var d=this._randrange(new i(2),a);n&&n(d);var h=d.toRed(o).redPow(c);if(0!==h.cmp(s)&&0!==h.cmp(l)){for(var f=1;f0;t--){var l=this._randrange(new i(2),s),d=e.gcd(l);if(0!==d.cmpn(1))return d;var h=l.toRed(r).redPow(u);if(0!==h.cmp(o)&&0!==h.cmp(c)){for(var f=1;f=t.length?e:t[i]})},t.o=function(e){return e.replace(/[<>&]/g,function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}})},t.p=o,t.M=function(e,t){void 0===t&&(t=" ");return a(s(e,t),t)},t.B=s,t.G=a,t.j=function(e){return e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")},t.J=function(e,t){if(e.length0?e.indexOf(t,n)===n:0===n&&e===t},t.k=function(e,t,n){void 0===n&&(n={});if(!e)throw new Error("Cannot create regex from empty string");t||(e=o(e));n.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));var i="";n.global&&(i+="g");n.matchCase||(i+="i");n.multiline&&(i+="m");n.unicode&&(i+="u");return new RegExp(e,i)},t.E=function(e){if("^"===e.source||"^$"===e.source||"$"===e.source||"^\\s*$"===e.source)return!1;return!(!e.exec("")||0!==e.lastIndex)},t.D=function(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")},t.q=function(e){for(var t=0,n=e.length;t=0;n--){var i=e.charCodeAt(n);if(32!==i&&9!==i)return n}return-1},t.d=u,t.e=function(e,t){for(var n=Math.min(e.length,t.length),i=0;it.length?1:0},t.y=c,t.z=l,t.n=function(e,t){var n=e?e.length:0,i=t?t.length:0;if(n!==i)return!1;return h(e,t)},t.K=function(e,t){var n=t.length;if(t.length>e.length)return!1;return h(e,t,n)},t.b=function(e,t){var n,i=Math.min(e.length,t.length);for(n=0;n0&&65279===e.charCodeAt(0))},t.H=function(e){return btoa(encodeURIComponent(e))},t.F=function(e,t){for(var n="",i=0;it?1:0}function c(e){return e>=97&&e<=122}function l(e){return e>=65&&e<=90}function d(e){return c(e)||l(e)}function h(e,t,n){if(void 0===n&&(n=e.length),"string"!=typeof e||"string"!=typeof t)return!1;for(var i=0;i=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}var v=String.fromCharCode(65279)},aQx8:function(e,t,n){"use strict";t.c=function(e){return e.replace(/[\\/]/g,r.posix.sep)},t.a=function(e,t,n,o){void 0===o&&(o=r.sep);if(e===t)return!0;if(!e||!t)return!1;if(t.length>e.length)return!1;if(n){var s=Object(i.K)(e,t);if(!s)return!1;if(t.length===e.length)return!0;var a=t.length;return t.charAt(t.length-1)===o&&a--,e.charAt(a)===o}t.charAt(t.length-1)!==o&&(t+=o);return 0===e.indexOf(t)},t.b=function(e){return e>=65&&e<=90||e>=97&&e<=122};var i=n("aL7J"),r=n("/uRs")},aY2F:function(e,t,n){var i=n("LC74"),r=n("C015"),o=n("CzQx"),s=n("X3l8").Buffer,a=new Array(160);function u(){this.init(),this._w=a,o.call(this,128,112)}i(u,r),u.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},u.prototype._hash=function(){var e=s.allocUnsafe(48);function t(t,n,i){e.writeInt32BE(t,i),e.writeInt32BE(n,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e},e.exports=u},abWm:function(e,t,n){e.exports={decode:n("bkDy"),verify:n("mVLy"),sign:n("uXJe"),JsonWebTokenError:n("bxaG"),NotBeforeError:n("mIf9"),TokenExpiredError:n("Gz1/")}},am7U:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,r=n("hK2W"),o=n("vTy2"),s=n("iHM7"),a=n("/9db"),u=n("03Zz"),c=n("606G"),l=function(){function e(e,t,n){this._editRange=e,this._originalSelection=t,this._text=n}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._editRange,this._text)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new s.a(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new s.a(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)},e}(),d=n("4tuZ"),h=n("eoic"),f=n("Rfe2"),p=n("0ly5"),g=n("odeJ"),m=n("zxiH"),v=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),_=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},b=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},y=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,n){var i=this;this.currentRequest&&this.currentRequest.cancel();var r=this.editor.getSelection(),a=this.editor.getModel();if(a&&r){var u=r;if(u.startLineNumber===u.endLineNumber){var c=new d.a(this.editor,5),h=a.uri;return this.editorWorkerService.canNavigateValueSet(h)?(this.currentRequest=Object(g.f)(function(e){return i.editorWorkerService.navigateValueSet(h,u,n)}),this.currentRequest.then(function(n){if(n&&n.range&&n.value&&c.validate(i.editor)){var r=o.a.lift(n.range),a=n.range,d=n.value.length-(u.endColumn-u.startColumn);a={startLineNumber:a.startLineNumber,startColumn:a.startColumn,endLineNumber:a.endLineNumber,endColumn:a.startColumn+n.value.length},d>1&&(u=new s.a(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn+d-1));var h=new l(r,u,n.value);i.editor.pushUndoStop(),i.editor.executeCommand(t,h),i.editor.pushUndoStop(),i.decorationIds=i.editor.deltaDecorations(i.decorationIds,[{range:a,options:e.DECORATION}]),i.decorationRemover&&i.decorationRemover.cancel(),i.decorationRemover=Object(g.l)(350),i.decorationRemover.then(function(){return i.decorationIds=i.editor.deltaDecorations(i.decorationIds,[])}).catch(m.e)}}).catch(m.e)):Promise.resolve(void 0)}}},e.ID="editor.contrib.inPlaceReplaceController",e.DECORATION=p.a.register({className:"valueSetReplacement"}),e=_([b(1,c.a)],e)}(),w=function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.up",label:r.a("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:a.a.writable,kbOpts:{kbExpr:a.a.editorTextFocus,primary:3154,weight:100}})||this}return v(t,e),t.prototype.run=function(e,t){var n=y.get(t);return n?n.run(this.id,!0):Promise.resolve(void 0)},t}(u.b),C=function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.down",label:r.a("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:a.a.writable,kbOpts:{kbExpr:a.a.editorTextFocus,primary:3156,weight:100}})||this}return v(t,e),t.prototype.run=function(e,t){var n=y.get(t);return n?n.run(this.id,!1):Promise.resolve(void 0)},t}(u.b);Object(u.h)(y),Object(u.f)(w),Object(u.f)(C),Object(h.f)(function(e,t){var n=e.getColor(f.d);n&&t.addRule(".monaco-editor.vs .valueSetReplacement { outline: solid 2px "+n+"; }")})},annC:function(e,t,n){"use strict";var i=n("X3l8").Buffer,r=n("yNY4"),o=128,s=48,a=2;function u(e){if(i.isBuffer(e))return e;if("string"==typeof e)return i.from(e,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function c(e,t,n){for(var i=0;t+i=o&&--i,i}e.exports={derToJose:function(e,t){e=u(e);var n=r(t),c=n+1,l=e.length,d=0;if(e[d++]!==s)throw new Error('Could not find expected "seq"');var h=e[d++];if(h===(1|o)&&(h=e[d++]),l-d15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},h.prototype.flush=function(){for(var e=16-this.cache.length,t=o.allocUnsafe(e),n=-1;++n=0&&m0&&r){var N=function(e){r(e),e.children.forEach(N)};y.forEach(N)}var E=C.d.map(C.d.fromArray(y),L);return this._onDidSplice.fire({insertedNodes:v,deletedNodes:y}),E},e.prototype.rerender=function(e){if(0===e.length)throw new Error("Invalid tree location");var t=this.getTreeNodeWithListIndex(e),n=t.node,i=t.listIndex;t.revealed&&this.list.splice(i,1,[n])},e.prototype.getListIndex=function(e){var t=this.getTreeNodeWithListIndex(e),n=t.listIndex,i=t.visible,r=t.revealed;return i&&r?n:-1},e.prototype.getListRenderCount=function(e){return this.getTreeNode(e).renderNodeCount},e.prototype.isCollapsed=function(e){return this.getTreeNode(e).collapsed},e.prototype.setCollapsed=function(e,t,n){var i=this,r=this.getTreeNode(e);return void 0===t&&(t=!r.collapsed),this.eventBufferer.bufferEvents(function(){return i._setCollapsed(e,t,n)})},e.prototype._setCollapsed=function(e,t,n){var i=this.getTreeNodeWithListIndex(e),r=i.node,o=i.listIndex,s=i.revealed,a=this._setListNodeCollapsed(r,o,s,t,n||!1);if(r!==this.root&&this.autoExpandSingleChildren&&!t&&!n){for(var u=-1,c=0;c-1){u=-1;break}u=c}}u>-1&&this._setCollapsed(e.concat([u]),!1,!1)}return a},e.prototype._setListNodeCollapsed=function(e,t,n,i,r){var o=this._setNodeCollapsed(e,i,r,!1);if(!n||!e.visible)return o;var s=e.renderNodeCount,a=this.updateNodeAfterCollapseChange(e),u=s-(-1===t?0:1);return this.list.splice(t+1,u,a.slice(1)),o},e.prototype._setNodeCollapsed=function(e,t,n,i){var r=e.collapsible&&e.collapsed!==t;if(e.collapsible&&(e.collapsed=t,r&&this._onDidChangeCollapseState.fire({node:e,deep:i})),n)for(var o=0,s=e.children;o0,a.visibleChildrenCount=h,a.visible=2===u?h>0:1===u,a.visible?a.collapsed||(a.renderNodeCount=f):(a.renderNodeCount=0,i&&r.pop()),o&&o(a),a},e.prototype.updateNodeAfterCollapseChange=function(e){var t=e.renderNodeCount,n=[];return this._updateNodeAfterCollapseChange(e,n),this._updateAncestorsRenderNodeCount(e.parent,n.length-t),n},e.prototype._updateNodeAfterCollapseChange=function(e,t){if(!1===e.visible)return 0;if(t.push(e),e.renderNodeCount=1,!e.collapsed)for(var n=0,i=e.children;nt.children.length)throw new Error("Invalid tree location");return this.getTreeNode(i,t.children[n])},e.prototype.getTreeNodeWithListIndex=function(e){if(0===e.length)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};var t=this.getParentNodeWithListIndex(e),n=t.parentNode,i=t.listIndex,r=t.revealed,o=t.visible,s=e[e.length-1];if(s<0||s>n.children.length)throw new Error("Invalid tree location");var a=n.children[s];return{node:a,listIndex:i,revealed:r,visible:o&&a.visible}},e.prototype.getParentNodeWithListIndex=function(e,t,n,i,r){void 0===t&&(t=this.root),void 0===n&&(n=0),void 0===i&&(i=!0),void 0===r&&(r=!0);var o=e[0],s=e.slice(1);if(o<0||o>t.children.length)throw new Error("Invalid tree location");for(var a=0;a0&&!e.collapsed?n.add(e):e.parent&&n.add(e.parent)}),this.activeIndentNodes.forEach(function(e){n.has(e)||t.renderedIndentGuides.forEach(e,function(e){return Object(i.I)(e,"active")})}),n.forEach(function(e){t.activeIndentNodes.has(e)||t.renderedIndentGuides.forEach(e,function(e){return Object(i.f)(e,"active")})}),this.activeIndentNodes=n}},e.prototype.dispose=function(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),this.disposables=Object(o.f)(this.disposables)},e.DefaultIndent=8,e}(),V=function(){function e(e,t,n){this.tree=e,this.keyboardNavigationLabelProvider=t,this._filter=n,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=[],e.onWillRefilter(this.reset,this,this.disposables)}return Object.defineProperty(e.prototype,"totalCount",{get:function(){return this._totalCount},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"matchCount",{get:function(){return this._matchCount},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pattern",{set:function(e){this._pattern=e,this._lowercasePattern=e.toLowerCase()},enumerable:!0,configurable:!0}),e.prototype.filter=function(e,t){if(this._filter){var n=this._filter.filter(e,t);if(this.tree.options.simpleKeyboardNavigation)return n;if(0===("boolean"==typeof n?n?1:0:S(n)?x(n.visibility):n))return!1}if(this._totalCount++,this.tree.options.simpleKeyboardNavigation||!this._pattern)return this._matchCount++,{data:w.a.Default,visibility:!0};var i=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e),r=i&&i.toString();if(void 0===r)return{data:w.a.Default,visibility:!0};var o=Object(w.d)(this._pattern,this._lowercasePattern,0,r,r.toLowerCase(),0,!0);return o?(this._matchCount++,{data:o,visibility:!0}):this.tree.options.filterOnType?2:{data:w.a.Default,visibility:!0}},e.prototype.reset=function(){this._totalCount=0,this._matchCount=0},e.prototype.dispose=function(){this.disposables=Object(o.f)(this.disposables)},e}(),H=function(){function e(e,t,n,r,o){this.tree=e,this.view=n,this.filter=r,this.keyboardNavigationLabelProvider=o,this._enabled=!1,this._pattern="",this._empty=!1,this._onDidChangeEmptyState=new g.a,this.positionClassName="ne",this.automaticKeyboardNavigation=!0,this.triggered=!1,this._onDidChangePattern=new g.a,this.enabledDisposables=[],this.disposables=[],this.domNode=Object(i.a)(".monaco-list-type-filter."+this.positionClassName),this.domNode.draggable=!0,Object(y.a)(this.domNode,"dragstart")(this.onDragStart,this,this.disposables),this.messageDomNode=Object(i.m)(n.getHTMLElement(),Object(i.a)(".monaco-list-type-filter-message")),this.labelDomNode=Object(i.m)(this.domNode,Object(i.a)("span.label"));var a=Object(i.m)(this.domNode,Object(i.a)(".controls"));this._filterOnType=!!e.options.filterOnType,this.filterOnTypeDomNode=Object(i.m)(a,Object(i.a)("input.filter")),this.filterOnTypeDomNode.type="checkbox",this.filterOnTypeDomNode.checked=this._filterOnType,this.filterOnTypeDomNode.tabIndex=-1,this.updateFilterOnTypeTitle(),Object(y.a)(this.filterOnTypeDomNode,"input")(this.onDidChangeFilterOnType,this,this.disposables),this.clearDomNode=Object(i.m)(a,Object(i.a)("button.clear")),this.clearDomNode.tabIndex=-1,this.clearDomNode.title=Object(s.a)("clear","Clear"),this.keyboardNavigationEventFilter=e.options.keyboardNavigationEventFilter,t.onDidSplice(this.onDidSpliceModel,this,this.disposables),this.updateOptions(e.options)}return Object.defineProperty(e.prototype,"enabled",{get:function(){return this._enabled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pattern",{get:function(){return this._pattern},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"filterOnType",{get:function(){return this._filterOnType},enumerable:!0,configurable:!0}),e.prototype.updateOptions=function(e){e.simpleKeyboardNavigation?this.disable():this.enable(),void 0!==e.filterOnType&&(this._filterOnType=!!e.filterOnType,this.filterOnTypeDomNode.checked=this._filterOnType),void 0!==e.automaticKeyboardNavigation&&(this.automaticKeyboardNavigation=e.automaticKeyboardNavigation),this.tree.refilter(),this.render(),this.automaticKeyboardNavigation||this.onEventOrInput("")},e.prototype.enable=function(){var e=this;if(!this._enabled){var t=this.keyboardNavigationLabelProvider.mightProducePrintableCharacter?function(t){return e.keyboardNavigationLabelProvider.mightProducePrintableCharacter(t)}:function(e){return Object(r.f)(e)},n=g.b.chain(Object(y.a)(this.view.getHTMLElement(),"keydown")).filter(function(t){return!z(t.target)||t.target===e.filterOnTypeDomNode}).map(function(e){return new m.a(e)}).filter(this.keyboardNavigationEventFilter||function(){return!0}).filter(function(){return e.automaticKeyboardNavigation||e.triggered}).filter(function(n){return t(n)||(e.pattern.length>0||e.triggered)&&(9===n.keyCode||1===n.keyCode)&&!n.altKey&&!n.ctrlKey&&!n.metaKey||1===n.keyCode&&(E.d?n.altKey&&!n.metaKey:n.ctrlKey)&&!n.shiftKey}).forEach(function(e){e.stopPropagation(),e.preventDefault()}).event,i=Object(y.a)(this.clearDomNode,"click");g.b.chain(g.b.any(n,i)).event(this.onEventOrInput,this,this.enabledDisposables),this.filter.pattern="",this.tree.refilter(),this.render(),this._enabled=!0,this.triggered=!1}},e.prototype.disable=function(){this._enabled&&(this.domNode.remove(),this.enabledDisposables=Object(o.f)(this.enabledDisposables),this.tree.refilter(),this.render(),this._enabled=!1,this.triggered=!1)},e.prototype.onEventOrInput=function(e){"string"==typeof e?this.onInput(e):e instanceof MouseEvent||9===e.keyCode||1===e.keyCode&&(E.d?e.altKey:e.ctrlKey)?this.onInput(""):1===e.keyCode?this.onInput(0===this.pattern.length?"":this.pattern.substr(0,this.pattern.length-1)):this.onInput(this.pattern+e.browserEvent.key)},e.prototype.onInput=function(e){var t=this.view.getHTMLElement();e&&!this.domNode.parentElement?t.append(this.domNode):!e&&this.domNode.parentElement&&(this.domNode.remove(),this.tree.domFocus()),this._pattern=e,this._onDidChangePattern.fire(e),this.filter.pattern=e,this.tree.refilter(),e&&this.tree.focusNext(0,!0,void 0,function(e){return!w.a.isDefault(e.filterData)});var n=this.tree.getFocus();if(n.length>0){var i=n[0];null===this.tree.getRelativeTop(i)&&this.tree.reveal(i,.5)}this.render(),e||(this.triggered=!1)},e.prototype.onDragStart=function(){var e=this,t=this.view.getHTMLElement(),n=Object(i.x)(t).left,r=t.clientWidth,s=r/2,a=this.domNode.clientWidth,u=[],c=this.positionClassName,l=function(){switch(c){case"nw":e.domNode.style.top="4px",e.domNode.style.left="4px";break;case"ne":e.domNode.style.top="4px",e.domNode.style.left=r-a-6+"px"}};l(),Object(i.I)(this.domNode,c),Object(i.f)(this.domNode,"dragging"),u.push(Object(o.h)(function(){return Object(i.I)(e.domNode,"dragging")})),Object(y.a)(document,"dragover")(function(e){e.preventDefault();var t=e.screenX-n;e.dataTransfer&&(e.dataTransfer.dropEffect="none"),c=t0&&0===this.filter.matchCount;this.pattern&&this.tree.options.filterOnType&&e?(this.messageDomNode.textContent=Object(s.a)("empty","No elements found"),this._empty=!0):(this.messageDomNode.innerHTML="",this._empty=!1),Object(i.R)(this.domNode,"no-matches",e),this.domNode.title=Object(s.a)("found","Matched {0} out of {1} elements",this.filter.matchCount,this.filter.totalCount),this.labelDomNode.textContent=this.pattern.length>16?"…"+this.pattern.substr(this.pattern.length-16):this.pattern,this._onDidChangeEmptyState.fire(this._empty)},e.prototype.shouldAllowFocus=function(e){return!(this.enabled&&this.pattern&&!this.filterOnType)||(this.filter.totalCount>0&&this.filter.matchCount<=1||!w.a.isDefault(e.filterData))},e.prototype.dispose=function(){this.disable(),this._onDidChangePattern.dispose(),this.disposables=Object(o.f)(this.disposables)},e}();function z(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}function U(e){return{elements:e.elements.map(function(e){return e.element}),browserEvent:e.browserEvent}}function K(e,t){t(e),e.children.forEach(function(e){return K(e,t)})}var q=function(){function e(e){this.identityProvider=e,this.nodes=[],this._onDidChange=new g.a,this.onDidChange=this._onDidChange.event}return Object.defineProperty(e.prototype,"nodeSet",{get:function(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet},enumerable:!0,configurable:!0}),e.prototype.set=function(e,t){Object(_.g)(this.nodes,e)||this._set(e,!1,t)},e.prototype._set=function(e,t,n){if(this.nodes=e.slice(),this.elements=void 0,this._nodeSet=void 0,!t){var i=this;this._onDidChange.fire({get elements(){return i.get()},browserEvent:n})}},e.prototype.get=function(){return this.elements||(this.elements=this.nodes.map(function(e){return e.element})),this.elements.slice()},e.prototype.getNodes=function(){return this.nodes},e.prototype.has=function(e){return this.nodeSet.has(e)},e.prototype.onDidModelSplice=function(e){var t=this,n=e.insertedNodes,i=e.deletedNodes;if(!this.identityProvider){var r=this.createNodeSet(),o=function(e){return r.delete(e)};return i.forEach(function(e){return K(e,o)}),void this.set(Object(I.e)(r))}var s=new Set,a=function(e){return s.add(t.identityProvider.getId(e.element).toString())};i.forEach(function(e){return K(e,a)});var u=new Map,c=function(e){return u.set(t.identityProvider.getId(e.element).toString(),e)};n.forEach(function(e){return K(e,c)});for(var l=[],d=!0,h=0,f=this.nodes;h0&&e.prototype.setFocus.call(this,Object(_.f)(e.prototype.getFocus.call(this).concat(o))),s.length>0&&e.prototype.setSelection.call(this,Object(_.f)(e.prototype.getSelection.call(this).concat(s)))}},t.prototype.setFocus=function(t,n,i){var r=this;void 0===i&&(i=!1),e.prototype.setFocus.call(this,t,n),i||this.focusTrait.set(t.map(function(e){return r.element(e)}),n)},t.prototype.setSelection=function(t,n,i){var r=this;void 0===i&&(i=!1),e.prototype.setSelection.call(this,t,n),i||this.selectionTrait.set(t.map(function(e){return r.element(e)}),n)},t}(r.b),Y=function(){function e(e,t,n,r){var o,s=this;void 0===r&&(r={}),this._options=r,this.eventBufferer=new g.c,this.disposables=[],this._onWillRefilter=new g.a,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new g.a;var a,u,c,l=new j(t),d=new g.f,h=new g.f,f=new W(h.event);if(this.disposables.push(f),this.renderers=n.map(function(e){return new B(e,d.event,f,r)}),(o=this.disposables).push.apply(o,this.renderers),r.keyboardNavigationLabelProvider&&(a=new V(this,r.keyboardNavigationLabelProvider,r.filter),r=P({},r,{filter:a}),this.disposables.push(a)),this.focus=new q(r.identityProvider),this.selection=new q(r.identityProvider),this.view=new Z(e,l,this.renderers,this.focus,this.selection,P({},(u=function(){return s.model},(c=r)&&P({},c,{identityProvider:c.identityProvider&&{getId:function(e){return c.identityProvider.getId(e.element)}},dnd:c.dnd&&new R(u,c.dnd),multipleSelectionController:c.multipleSelectionController&&{isSelectionSingleChangeEvent:function(e){return c.multipleSelectionController.isSelectionSingleChangeEvent(P({},e,{element:e.element}))},isSelectionRangeChangeEvent:function(e){return c.multipleSelectionController.isSelectionRangeChangeEvent(P({},e,{element:e.element}))}},accessibilityProvider:c.accessibilityProvider&&{getAriaLabel:function(e){return c.accessibilityProvider.getAriaLabel(e.element)},getAriaLevel:function(e){return e.depth}},keyboardNavigationLabelProvider:c.keyboardNavigationLabelProvider&&P({},c.keyboardNavigationLabelProvider,{getKeyboardNavigationLabel:function(e){return c.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element)}}),enableKeyboardNavigation:c.simpleKeyboardNavigation,ariaProvider:{getSetSize:function(e){return e.parent.visibleChildrenCount},getPosInSet:function(e){return e.visibleChildIndex+1}}})),{tree:this})),this.model=this.createModel(this.view,r),d.input=this.model.onDidChangeCollapseState,this.model.onDidSplice(function(e){s.focus.onDidModelSplice(e),s.selection.onDidModelSplice(e)},null,this.disposables),h.input=g.b.map(g.b.any(this.focus.onDidChange,this.selection.onDidChange,this.model.onDidSplice),function(){return s.focus.getNodes().concat(s.selection.getNodes())}),!1!==r.keyboardSupport){var p=g.b.chain(this.view.onKeyDown).filter(function(e){return!z(e.target)}).map(function(e){return new m.a(e)});p.filter(function(e){return 15===e.keyCode}).on(this.onLeftArrow,this,this.disposables),p.filter(function(e){return 17===e.keyCode}).on(this.onRightArrow,this,this.disposables),p.filter(function(e){return 10===e.keyCode}).on(this.onSpace,this,this.disposables)}r.keyboardNavigationLabelProvider&&(this.typeFilterController=new H(this,this.model,this.view,a,r.keyboardNavigationLabelProvider),this.focusNavigationFilter=function(e){return s.typeFilterController.shouldAllowFocus(e)},this.disposables.push(this.typeFilterController)),this.styleElement=Object(i.s)(this.view.getHTMLElement()),Object(i.R)(this.getHTMLElement(),"always",this._options.renderIndentGuides===F.Always)}return Object.defineProperty(e.prototype,"onDidChangeFocus",{get:function(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidChangeSelection",{get:function(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidOpen",{get:function(){return g.b.map(this.view.onDidOpen,U)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidFocus",{get:function(){return this.view.onDidFocus},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidChangeCollapseState",{get:function(){return this.model.onDidChangeCollapseState},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"openOnSingleClick",{get:function(){return void 0===this._options.openOnSingleClick||this._options.openOnSingleClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"expandOnlyOnTwistieClick",{get:function(){return void 0!==this._options.expandOnlyOnTwistieClick&&this._options.expandOnlyOnTwistieClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidDispose",{get:function(){return this.view.onDidDispose},enumerable:!0,configurable:!0}),e.prototype.updateOptions=function(e){void 0===e&&(e={}),this._options=P({},this._options,e);for(var t=0,n=this.renderers;t .indent-guide, .monaco-list"+t+".always .monaco-tl-indent > .indent-guide { border-color: "+e.treeIndentGuidesStroke.transparent(.4)+"; }"),n.push(".monaco-list"+t+" .monaco-tl-indent > .indent-guide.active { border-color: "+e.treeIndentGuidesStroke+"; }"));var i=n.join("\n");i!==this.styleElement.innerHTML&&(this.styleElement.innerHTML=i),this.view.style(e)},e.prototype.getNode=function(e){return this.model.getNode(e)},e.prototype.collapse=function(e,t){return void 0===t&&(t=!1),this.model.setCollapsed(e,!0,t)},e.prototype.expand=function(e,t){return void 0===t&&(t=!1),this.model.setCollapsed(e,!1,t)},e.prototype.isCollapsed=function(e){return this.model.isCollapsed(e)},e.prototype.refilter=function(){this._onWillRefilter.fire(void 0),this.model.refilter()},e.prototype.setSelection=function(e,t){var n=this,i=e.map(function(e){return n.model.getNode(e)});this.selection.set(i,t);var r=e.map(function(e){return n.model.getListIndex(e)}).filter(function(e){return e>-1});this.view.setSelection(r,t,!0)},e.prototype.getSelection=function(){return this.selection.get()},e.prototype.setFocus=function(e,t){var n=this,i=e.map(function(e){return n.model.getNode(e)});this.focus.set(i,t);var r=e.map(function(e){return n.model.getListIndex(e)}).filter(function(e){return e>-1});this.view.setFocus(r,t,!0)},e.prototype.focusNext=function(e,t,n,i){void 0===e&&(e=1),void 0===t&&(t=!1),void 0===i&&(i=this.focusNavigationFilter),this.view.focusNext(e,t,n,i)},e.prototype.getFocus=function(){return this.focus.get()},e.prototype.reveal=function(e,t){this.model.expandTo(e);var n=this.model.getListIndex(e);-1!==n&&this.view.reveal(n,t)},e.prototype.getRelativeTop=function(e){var t=this.model.getListIndex(e);return-1===t?null:this.view.getRelativeTop(t)},e.prototype.onLeftArrow=function(e){e.preventDefault(),e.stopPropagation();var t=this.view.getFocusedElements();if(0!==t.length){var n=t[0],i=this.model.getNodeLocation(n);if(!this.model.setCollapsed(i,!0)){var r=this.model.getParentNodeLocation(i);if(null===r)return;var o=this.model.getListIndex(r);this.view.reveal(o),this.view.setFocus([o])}}},e.prototype.onRightArrow=function(e){e.preventDefault(),e.stopPropagation();var t=this.view.getFocusedElements();if(0!==t.length){var n=t[0],i=this.model.getNodeLocation(n);if(!this.model.setCollapsed(i,!1)){if(!n.children.some(function(e){return e.visible}))return;var r=this.view.getFocus()[0]+1;this.view.reveal(r),this.view.setFocus([r])}}},e.prototype.onSpace=function(e){e.preventDefault(),e.stopPropagation();var t=this.view.getFocusedElements();if(0!==t.length){var n=t[0],i=this.model.getNodeLocation(n),r=e.browserEvent.altKey;this.model.setCollapsed(i,void 0,r)}},e.prototype.dispose=function(){this.disposables=Object(o.f)(this.disposables),this.view.dispose()},e}(),X=this&&this.__assign||function(){return(X=Object.assign||function(e){for(var t,n=1,i=arguments.length;n0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]-1&&i.focus.push(h),i&&i.viewState.selection&&i.viewState.selection.indexOf(c)>-1&&i.selection.push(h),i&&i.viewState.expanded&&i.viewState.expanded.indexOf(c)>-1?d.push(h):r&&o.collapseByDefault&&!o.collapseByDefault(t)&&(h.collapsedByDefault=!1,d.push(h)),h}),f=0,p=Object(I.e)(s);f-1)&&t.collapsedByDefault,t.collapsedByDefault=void 0,{element:t,children:t.hasChildren?C.d.map(C.d.fromArray(t.children),function(t){return e(t,n)}):[],collapsible:t.hasChildren,collapsed:i}}(e,t)});this.tree.setChildren(e===this.root?null:e,n),this._onDidRender.fire()},e.prototype.dispose=function(){Object(o.f)(this.disposables)},e}(),pe=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ge=function(e){function t(t,n,i,r,o){void 0===o&&(o={});var s=e.call(this,t,n,i,o)||this;return s.dataSource=r,s.identityProvider=o.identityProvider,s}return pe(t,e),t.prototype.createModel=function(e,t){return new $(e,t)},t}(Y),me=n("xJaW");n.d(t,"a",function(){return Ce}),n.d(t,"b",function(){return Se}),n.d(t,"c",function(){return Ke});var ve,_e=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),be=this&&this.__assign||function(){return(be=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},we=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Ce=Object(l.c)("listService"),Se=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 n=this;if(this.lists.some(function(t){return t.widget===e}))throw new Error("Cannot register the same widget multiple times");var i={widget:e,extraContextKeys:t};return this.lists.push(i),e.getHTMLElement()===document.activeElement&&(this._lastFocusedWidget=e),Object(o.e)(e.onDidFocus(function(){return n._lastFocusedWidget=e}),Object(o.h)(function(){return n.lists.splice(n.lists.indexOf(i),1)}),e.onDidDispose(function(){n.lists=n.lists.filter(function(e){return e!==i}),n._lastFocusedWidget===e&&(n._lastFocusedWidget=void 0)}))},e=ye([we(0,c.c)],e)}(),xe=new c.d("listFocus",!0),Le=new c.d("listSupportsMultiselect",!0),Oe=new c.d("listHasSelectionOrFocus",!1),ke=new c.d("listDoubleSelection",!1),Ne=new c.d("listMultiSelection",!1),Ee=new c.d("listSupportsKeyboardNavigation",!0),Ie="listAutomaticKeyboardNavigation",De=new c.d(Ie,!0),Me=!1;var Te="workbench.list.multiSelectModifier",Pe="workbench.list.openMode",Ae="workbench.list.horizontalScrolling",Re="workbench.list.keyboardNavigation",Fe="workbench.list.automaticKeyboardNavigation",je="workbench.tree.indent",We="workbench.tree.renderIndentGuides";function Be(e){return"alt"===e.getValue(Te)}function Ve(e){return"doubleClick"!==e.getValue(Pe)}var He,ze=function(e){function t(t){var n=e.call(this)||this;return n.configurationService=t,n.useAltAsMultipleSelectionModifier=Be(t),n.registerListeners(),n}return _e(t,e),t.prototype.registerListeners=function(){var e=this;this._register(this.configurationService.onDidChangeConfiguration(function(t){t.affectsConfiguration(Te)&&(e.useAltAsMultipleSelectionModifier=Be(e.configurationService))}))},t.prototype.isSelectionSingleChangeEvent=function(e){return this.useAltAsMultipleSelectionModifier?e.browserEvent.altKey:Object(r.e)(e)},t.prototype.isSelectionRangeChangeEvent=function(e){return Object(r.d)(e)},t}(o.a),Ue=function(e){function t(t,n){var i=e.call(this)||this;return i.configurationService=t,i.existingOpenController=n,i.openOnSingleClick=Ve(t),i.registerListeners(),i}return _e(t,e),t.prototype.registerListeners=function(){var e=this;this._register(this.configurationService.onDidChangeConfiguration(function(t){t.affectsConfiguration(Pe)&&(e.openOnSingleClick=Ve(e.configurationService))}))},t.prototype.shouldOpen=function(e){if(e instanceof MouseEvent){var t=0===e.button,n=2===e.detail;return!(t&&!this.openOnSingleClick&&!n)&&(!(!t&&1!==e.button)&&(!this.existingOpenController||this.existingOpenController.shouldOpen(e)))}return!this.existingOpenController||this.existingOpenController.shouldOpen(e)},t}(o.a);(function(e){function t(t,n,i,r,o,s,a,u,c,l){var d=this,h=qe(t,r,o,a,u,c,l),f=h.options,p=h.getAutomaticKeyboardNavigation,g=h.disposable;return(d=e.call(this,t,n,i,f)||this).disposables.push(g),d.internals=new Ge(d,f,p,o,s,a,u,l),d.disposables.push(d.internals),d}_e(t,e),t=ye([we(4,c.c),we(5,Ce),we(6,p.c),we(7,a.a),we(8,d.a),we(9,me.b)],t)})(Q),function(e){function t(t,n,i,r,o,s,a,u,c,l,d){var h=this,f=qe(t,o,s,u,c,l,d),p=f.options,g=f.getAutomaticKeyboardNavigation,m=f.disposable;return(h=e.call(this,t,n,i,r,p)||this).disposables.push(m),h.internals=new Ge(h,p,g,s,a,u,c,d),h.disposables.push(h.internals),h}_e(t,e),t=ye([we(5,c.c),we(6,Ce),we(7,p.c),we(8,a.a),we(9,d.a),we(10,me.b)],t)}(ge);var Ke=function(e){function t(t,n,i,r,o,s,a,u,c,l,d){var h=this,f=qe(t,o,s,u,c,l,d),p=f.options,g=f.getAutomaticKeyboardNavigation,m=f.disposable;return(h=e.call(this,t,n,i,r,p)||this).disposables.push(m),h.internals=new Ge(h,p,g,s,a,u,c,d),h.disposables.push(h.internals),h}return _e(t,e),Object.defineProperty(t.prototype,"contextKeyService",{get:function(){return this.internals.contextKeyService},enumerable:!0,configurable:!0}),t=ye([we(5,c.c),we(6,Ce),we(7,p.c),we(8,a.a),we(9,d.a),we(10,me.b)],t)}(fe);function qe(e,t,n,s,u,c,l){Ee.bindTo(n),Me||(De.bindTo(n),Me=!0);var d=function(){var e=n.getContextKeyValue(Ie);return e&&(e=u.getValue(Fe)),e},h=2===l.getAccessibilitySupport()?"simple":u.getValue(Re),p=void 0!==t.horizontalScrolling?t.horizontalScrolling:function(e){return Object(a.f)(e,Ae,"workbench.tree.horizontalScrolling")}(u),g=Ve(u),m=function(e,t,n){var i=new o.b,r=be({},e);if(!1!==e.multipleSelectionSupport&&!e.multipleSelectionController){var s=new ze(t);r.multipleSelectionController=s,i.add(s)}var a=new Ue(t,e.openController);if(r.openController=a,i.add(a),e.keyboardNavigationLabelProvider){var u=e.keyboardNavigationLabelProvider;r.keyboardNavigationLabelProvider={getKeyboardNavigationLabel:function(e){return u.getKeyboardNavigationLabel(e)},mightProducePrintableCharacter:function(e){return n.mightProducePrintableCharacter(e)}}}return[r,i]}(t,u,c),v=m[0],_=m[1],b=t.additionalScrollHeight;return{getAutomaticKeyboardNavigation:d,disposable:_,options:be({keyboardSupport:!1,styleController:new r.a((He||(He=Object(i.s)()),He))},Object(f.e)(s.getTheme(),f.f),v,{indent:u.getValue(je),renderIndentGuides:u.getValue(We),automaticKeyboardNavigation:d(),simpleKeyboardNavigation:"simple"===h,filterOnType:"filter"===h,horizontalScrolling:p,openOnSingleClick:g,keyboardNavigationEventFilter:function(e,t){var n=!1;return function(i){if(n)return n=!1,!1;var r=t.softDispatch(i,e);return r&&r.enterChord?(n=!0,!1):(n=!1,!0)}}(e,c),additionalScrollHeight:b})}}var Ge=function(){function e(e,t,n,i,r,o,s,a){var u=this;this.disposables=[],this.contextKeyService=function(e,t){var n=e.createScoped(t.getHTMLElement());return xe.bindTo(n),n}(i,e),Le.bindTo(this.contextKeyService).set(!(!1===t.multipleSelectionSupport)),this.hasSelectionOrFocus=Oe.bindTo(this.contextKeyService),this.hasDoubleSelection=ke.bindTo(this.contextKeyService),this.hasMultiSelection=Ne.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=Be(s);var c=new Set;c.add(Ie);var l=function(){var t=2===a.getAccessibilitySupport()?"simple":s.getValue(Re);e.updateOptions({simpleKeyboardNavigation:"simple"===t,filterOnType:"filter"===t})};this.disposables.push(this.contextKeyService,r.register(e),Object(f.b)(e,o),e.onDidChangeSelection(function(){var t=e.getSelection(),n=e.getFocus();u.hasSelectionOrFocus.set(t.length>0||n.length>0),u.hasMultiSelection.set(t.length>1),u.hasDoubleSelection.set(2===t.length)}),e.onDidChangeFocus(function(){var t=e.getSelection(),n=e.getFocus();u.hasSelectionOrFocus.set(t.length>0||n.length>0)}),s.onDidChangeConfiguration(function(t){if(t.affectsConfiguration(Pe)&&e.updateOptions({openOnSingleClick:Ve(s)}),t.affectsConfiguration(Te)&&(u._useAltAsMultipleSelectionModifier=Be(s)),t.affectsConfiguration(je)){var i=s.getValue(je);e.updateOptions({indent:i})}if(t.affectsConfiguration(We)){var r=s.getValue(We);e.updateOptions({renderIndentGuides:r})}t.affectsConfiguration(Re)&&l(),t.affectsConfiguration(Fe)&&e.updateOptions({automaticKeyboardNavigation:n()})}),this.contextKeyService.onDidChangeContext(function(t){t.affectsSome(c)&&e.updateOptions({automaticKeyboardNavigation:n()})}),a.onDidChangeAccessibilitySupport(function(){return l()}))}return e.prototype.dispose=function(){this.disposables=Object(o.f)(this.disposables)},e=ye([we(3,c.c),we(4,Ce),we(5,p.c),we(6,a.a),we(7,me.b)],e)}();h.a.as(u.a.Configuration).registerConfiguration({id:"workbench",order:7,title:Object(s.a)("workbenchConfigurationTitle","Workbench"),type:"object",properties:(ve={},ve[Te]={type:"string",enum:["ctrlCmd","alt"],enumDescriptions:[Object(s.a)("multiSelectModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),Object(s.a)("multiSelectModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:Object(s.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.")},ve[Pe]={type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:Object(s.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. ")},ve[Ae]={type:"boolean",default:!1,description:Object(s.a)("horizontalScrolling setting","Controls whether lists and trees support horizontal scrolling in the workbench.")},ve["workbench.tree.horizontalScrolling"]={type:"boolean",default:!1,description:Object(s.a)("tree horizontalScrolling setting","Controls whether trees support horizontal scrolling in the workbench."),deprecationMessage:Object(s.a)("deprecated","This setting is deprecated, please use '{0}' instead.",Ae)},ve[je]={type:"number",default:8,minimum:0,maximum:40,description:Object(s.a)("tree indent setting","Controls tree indentation in pixels.")},ve[We]={type:"string",enum:["none","onHover","always"],default:"onHover",description:Object(s.a)("render tree indent guides","Controls whether the tree should render indent guides.")},ve[Re]={type:"string",enum:["simple","highlight","filter"],enumDescriptions:[Object(s.a)("keyboardNavigationSettingKey.simple","Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),Object(s.a)("keyboardNavigationSettingKey.highlight","Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),Object(s.a)("keyboardNavigationSettingKey.filter","Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:Object(s.a)("keyboardNavigationSettingKey","Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter.")},ve[Fe]={type:"boolean",default:!0,markdownDescription:Object(s.a)("automatic keyboard navigation setting","Controls whether keyboard navigation in lists and trees is automatically triggered simply by typing. If set to `false`, keyboard navigation is only triggered when executing the `list.toggleKeyboardNavigation` command, for which you can assign a keyboard shortcut.")},ve)})},bkDy:function(e,t,n){var i=n("dTr8");e.exports=function(e,t){t=t||{};var n=i.decode(e,t);if(!n)return null;var r=n.payload;if("string"==typeof r)try{var o=JSON.parse(r);null!==o&&"object"==typeof o&&(r=o)}catch(e){}return!0===t.complete?{header:n.header,payload:r,signature:n.signature}:r}},bxaG:function(e,t){var n=function(e,t){Error.call(this,e),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="JsonWebTokenError",this.message=e,t&&(this.inner=t)};(n.prototype=Object.create(Error.prototype)).constructor=n,e.exports=n},"c/Tr":function(e,t,n){e.exports={default:n("5zde"),__esModule:!0}},"c/Wp":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,r=n("hK2W"),o=n("aL7J"),s=n("03Zz"),a=n("Ao9X"),u=n("artP"),c=n("vTy2"),l=n("/9db"),d=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),h=function(e){function t(){return e.call(this,{id:"editor.action.transposeLetters",label:r.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 d(t,e),t.prototype.positionLeftOf=function(e,t){var n=e.column,i=e.lineNumber;return n>t.getLineMinColumn(i)?Object(o.x)(t.getLineContent(i).charCodeAt(n-2))?n-=2:n-=1:i>1&&(i-=1,n=t.getLineMaxColumn(i)),new u.a(i,n)},t.prototype.positionRightOf=function(e,t){var n=e.column,i=e.lineNumber;return n0&&(t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop())}},t}(s.b);Object(s.f)(h)},c6Qy:function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"b",function(){return r}),n.d(t,"c",function(){return o});var i=function(){function e(e,t,n){this.offset=0|e,this.type=t,this.language=n}return e.prototype.toString=function(){return"("+this.offset+", "+this.type+")"},e}(),r=function(){return function(e,t){this.tokens=e,this.endState=t}}(),o=function(){return function(e,t){this.tokens=e,this.endState=t}}()},c7fK:function(e,t,n){self.MonacoEnvironment=function(e){return{getWorkerUrl:function(t,n){var i="string"==typeof window.__webpack_public_path__?window.__webpack_public_path__:"/";return(i?i.replace(/\/$/,"")+"/":"")+e[n]}}}({editorWorkerService:"static/editor.worker.js",json:"static/json.worker.js"}),n("kQWG"),n("8VcP"),n("mcra"),n("4JIo"),n("G7Ib"),n("6jTg"),n("MfmB"),n("LA/v"),n("xteI"),n("HZsc"),n("d3wY"),n("NjkW"),n("T1Qz"),n("gpb6"),n("y3Fb"),n("ygb1"),n("QfwU"),n("oqRo"),n("MOjS"),n("GV5w"),n("l6RD"),n("am7U"),n("O8j7"),n("pvVJ"),n("QgSF"),n("ia1G"),n("2LSJ"),n("qqhx"),n("+u1c"),n("QM8g"),n("nY9q"),n("RzWM"),n("qBq4"),n("6Hge"),n("Bzq0"),n("7YfR"),n("qEZG"),n("0bce"),n("c/Wp"),n("2jYl"),n("I8T6"),n("EfRI"),e.exports=n("Ny4g"),n("Ye2W"),n("tTCp")},cLaT:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("PCC9"),r=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,n){if(this._text!==e._text)return!1;if(this._tokensCount!==e._tokensCount)return!1;for(var i=t<<1,r=i+(n<<1),o=i;o0?this._tokens[e-1<<1]:0},e.prototype.getLanguageId=function(e){var t=this._tokens[1+(e<<1)];return i.x.getLanguageId(t)},e.prototype.getStandardTokenType=function(e){var t=this._tokens[1+(e<<1)];return i.x.getTokenType(t)},e.prototype.getForeground=function(e){var t=this._tokens[1+(e<<1)];return i.x.getForeground(t)},e.prototype.getClassName=function(e){var t=this._tokens[1+(e<<1)];return i.x.getClassNameFromMetadata(t)},e.prototype.getInlineStyle=function(e,t){var n=this._tokens[1+(e<<1)];return i.x.getInlineStyleFromMetadata(n,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,n){return new o(this,e,t,n)},e.convertToEndOffset=function(e,t){for(var n=(e.length>>>1)-1,i=0;i>>1)-1;nt&&(i=r)}return n},e}(),o=function(){function e(e,t,n,i){this._source=e,this._startOffset=t,this._endOffset=n,this._deltaOffset=i,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this._tokensCount=0;for(var r=this._firstTokenIndex,o=e.getCount();r=n)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}()},cSWu:function(e,t,n){(t=e.exports=n("Rt1F")).Stream=t,t.Readable=t,t.Writable=n("7dSG"),t.Duplex=n("DsFX"),t.Transform=n("D1Va"),t.PassThrough=n("f48b")},czDl:function(e,t){},d3wY:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"CursorUndoController",function(){return l}),n.d(t,"CursorUndo",function(){return d});var i,r=n("hK2W"),o=n("tqet"),s=n("03Zz"),a=n("/9db"),u=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),c=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 n=0;n50&&n._undoStack.shift()),n._prevState=n._readState()})),n}return u(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype._readState=function(){return this._editor.hasModel()?new c(this._editor.getSelections()):null},t.prototype.getId=function(){return t.ID},t.prototype.cursorUndo=function(){if(this._editor.hasModel())for(var e=new c(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}(o.a),d=function(e){function t(){return e.call(this,{id:"cursorUndo",label:r.a("cursor.undo","Soft Undo"),alias:"Soft Undo",precondition:void 0,kbOpts:{kbExpr:a.a.textInputFocus,primary:2099,weight:100}})||this}return u(t,e),t.prototype.run=function(e,t,n){l.get(t).cursorUndo()},t}(s.b);Object(s.h)(l),Object(s.f)(d)},dTr8:function(e,t,n){var i=n("h+nx"),r=n("9Io0");t.ALGORITHMS=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"],t.sign=i.sign,t.verify=r.verify,t.decode=r.decode,t.isValid=r.isValid,t.createSign=function(e){return new i(e)},t.createVerify=function(e){return new r(e)}},dwjm:function(e,t,n){"use strict";t.a=function(e){var t,n=this,i=!1;return function(){return i?t:(i=!0,t=e.apply(n,arguments))}}},e15g:function(e,t,n){"use strict";n.d(t,"b",function(){return v}),n.d(t,"a",function(){return b}),t.c=function(){return i},t.e=y,t.d=S,t.f=function(e,t){setTimeout(function(){var n;(n=x.onlyOnceSuggestions).push.apply(n,t),e.getContribution("editor.contrib.suggestController").triggerSuggest((new Set).add(x))},0)};var i,r=n("odeJ"),o=n("TU7t"),s=n("zxiH"),a=n("03Zz"),u=n("PCC9"),c=n("7g0X"),l=n("80kS"),d=n("vTy2"),h=n("GYOr"),f=n("tqet"),p=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},g=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]0)||n.providerFilter.has(r))return Promise.resolve(r.provideCompletionItems(e,t,o,a)).then(function(o){var s=g.length;if(o){for(var a=0,u=o.suggestions||[];at.sortTextLow)return 1}return e.completion.labelt.completion.label?1:e.completion.kind-t.completion.kind}var C=new Map;function S(e){return C.get(e)}C.set(0,function(e,t){if(e.completion.kind!==t.completion.kind){if(25===e.completion.kind)return-1;if(25===t.completion.kind)return 1}return w(e,t)}),C.set(2,function(e,t){if(e.completion.kind!==t.completion.kind){if(25===e.completion.kind)return 1;if(25===t.completion.kind)return-1}return w(e,t)}),C.set(1,w),Object(a.e)("_executeCompletionItemProvider",function(e,t,n){return p(m,void 0,void 0,function(){var i,r,o,s,a,u,c,d;return g(this,function(h){switch(h.label){case 0:return i={incomplete:!1,suggestions:[]},r=new f.b,o=[],s=n.maxItemsToResolve||0,[4,y(e,t)];case 1:for(a=h.sent(),u=0,c=a;u>>32-t}function c(e,t,n,i,r,o,s){return u(e+(t&n|~t&i)+r+o|0,s)+t|0}function l(e,t,n,i,r,o,s){return u(e+(t&i|n&~i)+r+o|0,s)+t|0}function d(e,t,n,i,r,o,s){return u(e+(t^n^i)+r+o|0,s)+t|0}function h(e,t,n,i,r,o,s){return u(e+(n^(t|~i))+r+o|0,s)+t|0}i(a,r),a.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var n=this._a,i=this._b,r=this._c,o=this._d;i=h(i=h(i=h(i=h(i=d(i=d(i=d(i=d(i=l(i=l(i=l(i=l(i=c(i=c(i=c(i=c(i,r=c(r,o=c(o,n=c(n,i,r,o,e[0],3614090360,7),i,r,e[1],3905402710,12),n,i,e[2],606105819,17),o,n,e[3],3250441966,22),r=c(r,o=c(o,n=c(n,i,r,o,e[4],4118548399,7),i,r,e[5],1200080426,12),n,i,e[6],2821735955,17),o,n,e[7],4249261313,22),r=c(r,o=c(o,n=c(n,i,r,o,e[8],1770035416,7),i,r,e[9],2336552879,12),n,i,e[10],4294925233,17),o,n,e[11],2304563134,22),r=c(r,o=c(o,n=c(n,i,r,o,e[12],1804603682,7),i,r,e[13],4254626195,12),n,i,e[14],2792965006,17),o,n,e[15],1236535329,22),r=l(r,o=l(o,n=l(n,i,r,o,e[1],4129170786,5),i,r,e[6],3225465664,9),n,i,e[11],643717713,14),o,n,e[0],3921069994,20),r=l(r,o=l(o,n=l(n,i,r,o,e[5],3593408605,5),i,r,e[10],38016083,9),n,i,e[15],3634488961,14),o,n,e[4],3889429448,20),r=l(r,o=l(o,n=l(n,i,r,o,e[9],568446438,5),i,r,e[14],3275163606,9),n,i,e[3],4107603335,14),o,n,e[8],1163531501,20),r=l(r,o=l(o,n=l(n,i,r,o,e[13],2850285829,5),i,r,e[2],4243563512,9),n,i,e[7],1735328473,14),o,n,e[12],2368359562,20),r=d(r,o=d(o,n=d(n,i,r,o,e[5],4294588738,4),i,r,e[8],2272392833,11),n,i,e[11],1839030562,16),o,n,e[14],4259657740,23),r=d(r,o=d(o,n=d(n,i,r,o,e[1],2763975236,4),i,r,e[4],1272893353,11),n,i,e[7],4139469664,16),o,n,e[10],3200236656,23),r=d(r,o=d(o,n=d(n,i,r,o,e[13],681279174,4),i,r,e[0],3936430074,11),n,i,e[3],3572445317,16),o,n,e[6],76029189,23),r=d(r,o=d(o,n=d(n,i,r,o,e[9],3654602809,4),i,r,e[12],3873151461,11),n,i,e[15],530742520,16),o,n,e[2],3299628645,23),r=h(r,o=h(o,n=h(n,i,r,o,e[0],4096336452,6),i,r,e[7],1126891415,10),n,i,e[14],2878612391,15),o,n,e[5],4237533241,21),r=h(r,o=h(o,n=h(n,i,r,o,e[12],1700485571,6),i,r,e[3],2399980690,10),n,i,e[10],4293915773,15),o,n,e[1],2240044497,21),r=h(r,o=h(o,n=h(n,i,r,o,e[8],1873313359,6),i,r,e[15],4264355552,10),n,i,e[6],2734768916,15),o,n,e[13],1309151649,21),r=h(r,o=h(o,n=h(n,i,r,o,e[4],4149444226,6),i,r,e[11],3174756917,10),n,i,e[2],718787259,15),o,n,e[9],3951481745,21),this._a=this._a+n|0,this._b=this._b+i|0,this._c=this._c+r|0,this._d=this._d+o|0},a.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=o.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},e.exports=a},ejIc:function(e,t){e.exports={sha224WithRSAEncryption:{sign:"rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},"RSA-SHA224":{sign:"ecdsa/rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},sha256WithRSAEncryption:{sign:"rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},"RSA-SHA256":{sign:"ecdsa/rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},sha384WithRSAEncryption:{sign:"rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},"RSA-SHA384":{sign:"ecdsa/rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},sha512WithRSAEncryption:{sign:"rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA512":{sign:"ecdsa/rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA1":{sign:"rsa",hash:"sha1",id:"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{sign:"ecdsa",hash:"sha1",id:""},sha256:{sign:"ecdsa",hash:"sha256",id:""},sha224:{sign:"ecdsa",hash:"sha224",id:""},sha384:{sign:"ecdsa",hash:"sha384",id:""},sha512:{sign:"ecdsa",hash:"sha512",id:""},"DSA-SHA":{sign:"dsa",hash:"sha1",id:""},"DSA-SHA1":{sign:"dsa",hash:"sha1",id:""},DSA:{sign:"dsa",hash:"sha1",id:""},"DSA-WITH-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-WITH-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-WITH-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-WITH-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-RIPEMD160":{sign:"dsa",hash:"rmd160",id:""},ripemd160WithRSA:{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},"RSA-RIPEMD160":{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},md5WithRSAEncryption:{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"},"RSA-MD5":{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"}}},eoic:function(e,t,n){"use strict";n.d(t,"c",function(){return a}),t.g=function(e){return{id:e}},n.d(t,"d",function(){return c}),n.d(t,"b",function(){return l}),t.e=function(e){switch(e){case u:return"vs-dark";case l:return"hc-black";default:return"vs"}},n.d(t,"a",function(){return d}),t.f=function(e){return h.onThemeChange(e)};var i=n("JVO/"),r=n("tqet"),o=n("RWr8"),s=n("Kp7x"),a=Object(i.c)("themeService");var u="dark",c="light",l="hc";var d={ThemingContribution:"base.contributions.theming"},h=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(r.h)(function(){var n=t.themingParticipants.indexOf(e);t.themingParticipants.splice(n,1)})},e.prototype.getThemingParticipants=function(){return this.themingParticipants},e}());o.a.add(d.ThemingContribution,h)},f48b:function(e,t,n){"use strict";e.exports=o;var i=n("D1Va"),r=n("jOgh");function o(e){if(!(this instanceof o))return new o(e);i.call(this,e)}r.inherits=n("LC74"),r.inherits(o,i),o.prototype._transform=function(e,t,n){n(null,e)}},fAkY:function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return s});var i=n("Nr0y"),r=n("JVO/"),o=(i.a,Object(r.c)("notificationService")),s=function(){return function(){}}()},fBQ2:function(e,t,n){"use strict";var i=n("evD5"),r=n("X8DO");e.exports=function(e,t,n){t in e?i.f(e,t,r(0,n)):e[t]=n}},fC4T:function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},fWB8:function(e,t,n){"use strict";var i=n("1lLf"),r=n("Q48P");function o(){if(!(this instanceof o))return new o;r.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}i.inherits(o,r),e.exports=o,o.blockSize=512,o.outSize=224,o.hmacStrength=192,o.padLength=64,o.prototype._digest=function(e){return"hex"===e?i.toHex32(this.h.slice(0,7),"big"):i.split32(this.h.slice(0,7),"big")}},ftXN:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var i,r=n("aL7J");i="undefined"!=typeof TextDecoder?function(e){return new o(e)}:function(e){return new s};var o=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||r.w(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 n=0;n0&&0===e.minimapLeft?e.minimapWidth:0},e.prototype._onViewZoneTop=function(e){this.domNode.style.top=e+"px"},e.prototype._onViewZoneHeight=function(e){if(this.domNode.style.height=e+"px",this.container){var t=e-this._decoratingElementsHeight();this.container.style.height=t+"px";var n=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(n))}this._resizeSash&&this._resizeSash.layout()},Object.defineProperty(e.prototype,"position",{get:function(){var e=this._positionMarkerId[0];if(e){var t=this.editor.getModel();if(t){var n=t.getDecorationRange(e);if(n)return n.getStartPosition()}}},enumerable:!0,configurable:!0}),e.prototype.show=function(e,t){var n=g.a.isIRange(e)?e:new g.a(e.lineNumber,e.column,e.lineNumber,e.column);this._isShowing=!0,this._showImpl(n,t),this._isShowing=!1,this._positionMarkerId=this.editor.deltaDecorations(this._positionMarkerId,[{range:n,options:m.a.EMPTY}])},e.prototype.hide=function(){var e=this;this._viewZone&&(this.editor.changeViewZones(function(t){e._viewZone&&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 n=this,i={lineNumber:e.startLineNumber,column:e.startColumn},r=this.editor.getLayoutInfo(),o=this._getWidth(r);this.domNode.style.width=o+"px",this.domNode.style.left=this._getLeft(r)+"px";var s=document.createElement("div");s.style.overflow="hidden";var a=this.editor.getConfiguration().lineHeight,u=this.editor.getLayoutInfo().height/a*.8;t>=u&&(t=u);var c=0,l=0;if(this._arrow&&this.options.showArrow&&(c=Math.round(a/3),this._arrow.height=c,this._arrow.show(i)),this.options.showFrame&&(l=Math.round(a/9)),this.editor.changeViewZones(function(e){n._viewZone&&e.removeZone(n._viewZone.id),n._overlayWidget&&(n.editor.removeOverlayWidget(n._overlayWidget),n._overlayWidget=null),n.domNode.style.top="-1000px",n._viewZone=new b(s,i.lineNumber,i.column,t,function(e){return n._onViewZoneTop(e)},function(e){return n._onViewZoneHeight(e)}),n._viewZone.id=e.addZone(n._viewZone),n._overlayWidget=new y("vs.editor.contrib.zoneWidget"+n._viewZone.id,n.domNode),n.editor.addOverlayWidget(n._overlayWidget)}),this.container&&this.options.showFrame){var d=this.options.frameWidth?this.options.frameWidth:l;this.container.style.borderTopWidth=d+"px",this.container.style.borderBottomWidth=d+"px"}var h=t*a-this._decoratingElementsHeight();this.container&&(this.container.style.top=c+"px",this.container.style.height=h+"px",this.container.style.overflow="hidden"),this._doLayout(h,o),this.options.keepEditorSelection||this.editor.setSelection(e);var f=this.editor.getModel();if(f){var p=Math.min(f.getLineCount(),Math.max(1,e.endLineNumber+1));this.revealLine(p)}},e.prototype.revealLine=function(e){this.editor.revealLine(e,0)},e.prototype.setCssClass=function(e,t){this.container&&(t&&this.container.classList.remove(t),i.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&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones(function(n){t._viewZone&&(t._viewZone.heightInLines=e,n.layoutZone(t._viewZone.id))})},e.prototype._initSash=function(){var e,t=this;this._resizeSash||(this._resizeSash=this._disposables.add(new h.a(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.hide(),this._resizeSash.state=0),this._disposables.add(this._resizeSash.onDidStart(function(n){t._viewZone&&(e={startY:n.startY,heightInLines:t._viewZone.heightInLines})})),this._disposables.add(this._resizeSash.onDidEnd(function(){e=void 0})),this._disposables.add(this._resizeSash.onDidChange(function(n){if(e){var i=(n.currentY-e.startY)/t.editor.getConfiguration().lineHeight,r=i<0?Math.ceil(i):Math.floor(i),o=e.heightInLines+r;o>5&&o<35&&t._relayout(o)}})))},e.prototype.getHorizontalSashLeft=function(){return 0},e.prototype.getHorizontalSashTop=function(){return(null===this.domNode.style.height?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2},e.prototype.getHorizontalSashWidth=function(){var e=this.editor.getLayoutInfo();return e.width-e.minimapWidth},e}(),S=n("hK2W"),x=n("7g0X"),L=n("JVO/"),O=n("8xpx");n.d(t,"a",function(){return D}),n.d(t,"b",function(){return N}),t.d=function(e){var t=e.get(l.a).getFocusedCodeEditor();if(t instanceof d.a)return t.getParentEditor();return t},n.d(t,"c",function(){return T});var k,N,E,I=this&&this.__extends||(k=function(e,t){return(k=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}k(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),D=Object(L.c)("IPeekViewService");Object(O.b)(D,function(){function e(){this._widgets=new Map}return e.prototype.addExclusiveWidget=function(e,t){var n=this,i=this._widgets.get(e);i&&(i.listener.dispose(),i.widget.dispose());this._widgets.set(e,{widget:t,listener:t.onDidClose(function(){var i=n._widgets.get(e);i&&i.widget===t&&(i.listener.dispose(),n._widgets.delete(e))})})},e}()),(E=N||(N={})).inPeekEditor=new x.d("inReferenceSearchEditor",!0),E.notInPeekEditor=E.inPeekEditor.toNegated();var M={headerBackgroundColor:s.a.white,primaryHeadingColor:s.a.fromHex("#333333"),secondaryHeadingColor:s.a.fromHex("#6c6c6cb3")},T=function(e){function t(t,n){void 0===n&&(n={});var i=e.call(this,t,n)||this;return i._onDidClose=new a.a,u.g(i.options,M,!1),i}return I(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 n=this.options;t.headerBackgroundColor&&(n.headerBackgroundColor=t.headerBackgroundColor),t.primaryHeadingColor&&(n.primaryHeadingColor=t.primaryHeadingColor),t.secondaryHeadingColor&&(n.secondaryHeadingColor=t.secondaryHeadingColor),e.prototype.style.call(this,t)},t.prototype._applyStyles=function(){e.prototype._applyStyles.call(this);var t=this.options;this._headElement&&t.headerBackgroundColor&&(this._headElement.style.backgroundColor=t.headerBackgroundColor.toString()),this._primaryHeading&&t.primaryHeadingColor&&(this._primaryHeading.style.color=t.primaryHeadingColor.toString()),this._secondaryHeading&&t.secondaryHeadingColor&&(this._secondaryHeading.style.color=t.secondaryHeadingColor.toString()),this._bodyElement&&t.frameColor&&(this._bodyElement.style.borderColor=t.frameColor.toString())},t.prototype._fillContainer=function(e){this.setCssClass("peekview-widget"),this._headElement=i.a(".head"),this._bodyElement=i.a(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)},t.prototype._fillHead=function(e){var t=this,n=i.a(".peekview-title");i.m(this._headElement,n),i.k(n,"click",function(e){return t._onTitleClick(e)}),this._fillTitleIcon(n),this._primaryHeading=i.a("span.filename"),this._secondaryHeading=i.a("span.dirname"),this._metaHeading=i.a("span.meta"),i.m(n,this._primaryHeading,this._secondaryHeading,this._metaHeading);var s=i.a(".peekview-actions");i.m(this._headElement,s);var a=this._getActionBarOptions();this._actionbarWidget=new r.a(s,a),this._disposables.add(this._actionbarWidget),this._actionbarWidget.push(new o.a("peekview.close",S.a("label.close","Close"),"close-peekview-action",!0,function(){return t.dispose(),Promise.resolve()}),{label:!1,icon:!0})},t.prototype._fillTitleIcon=function(e){},t.prototype._getActionBarOptions=function(){return{}},t.prototype._onTitleClick=function(e){},t.prototype.setTitle=function(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerHTML=c.o(e),this._primaryHeading.setAttribute("aria-label",e),t?this._secondaryHeading.innerHTML=c.o(t):i.p(this._secondaryHeading))},t.prototype.setMetaTitle=function(e){this._metaHeading&&(e?this._metaHeading.innerHTML=c.o(e):i.p(this._metaHeading))},t.prototype._doLayout=function(e,t){if(!this._isShowing&&e<0)this.dispose();else{var n=Math.ceil(1.2*this.editor.getConfiguration().lineHeight),i=e-(n+2);this._doLayoutHead(n,t),this._doLayoutBody(i,t)}},t.prototype._doLayoutHead=function(e,t){this._headElement&&(this._headElement.style.height=e+"px",this._headElement.style.lineHeight=this._headElement.style.height)},t.prototype._doLayoutBody=function(e,t){this._bodyElement&&(this._bodyElement.style.height=e+"px")},t}(C)},fxuI:function(e,t,n){var i=n("jkjm"),r=n("Cua8"),o=n("zOO0"),s=n("geuY"),a=n("jSRM"),u=n("BVsN"),c=n("5QAX"),l=n("X3l8").Buffer;e.exports=function(e,t,n){var d;d=e.padding?e.padding:n?1:4;var h,f=i(e),p=f.modulus.byteLength();if(t.length>p||new s(t).cmp(f.modulus)>=0)throw new Error("decryption error");h=n?c(new s(t),f):a(t,f);var g=l.alloc(p-h.length);if(h=l.concat([g,h],p),4===d)return function(e,t){var n=e.modulus.byteLength(),i=u("sha1").update(l.alloc(0)).digest(),s=i.length;if(0!==t[0])throw new Error("decryption error");var a=t.slice(1,s+1),c=t.slice(s+1),d=o(a,r(c,s)),h=o(c,r(d,n-s-1));if(function(e,t){e=l.from(e),t=l.from(t);var n=0,i=e.length;e.length!==t.length&&(n++,i=Math.min(e.length,t.length));var r=-1;for(;++r=t.length){o++;break}var s=t.slice(2,r-1);("0002"!==i.toString("hex")&&!n||"0001"!==i.toString("hex")&&n)&&o++;s.length<8&&o++;if(o)throw new Error("decryption error");return t.slice(r)}(0,h,n);if(3===d)return h;throw new Error("unknown padding")}},fyvs:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var i,r=n("Kp7x"),o=n("tqet"),s=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=function(){function e(e,t,n,i,r,o){t|=0,n|=0,i|=0,r|=0,o|=0,(e|=0)<0&&(e=0),n+e>t&&(n=t-e),n<0&&(n=0),i<0&&(i=0),o+i>r&&(o=r-i),o<0&&(o=0),this.width=e,this.scrollWidth=t,this.scrollLeft=n,this.height=i,this.scrollHeight=r,this.scrollTop=o}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,n=this.scrollWidth!==e.scrollWidth,i=this.scrollLeft!==e.scrollLeft,r=this.height!==e.height,o=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:n,scrollLeftChanged:i,heightChanged:r,scrollHeightChanged:o,scrollTopChanged:s}},e}(),u=function(e){function t(t,n){var i=e.call(this)||this;return i._onScroll=i._register(new r.a),i.onScroll=i._onScroll.event,i._smoothScrollDuration=t,i._scheduleAtNextAnimationFrame=n,i._state=new a(0,0,0,0,0,0),i._smoothScrolling=null,i}return s(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 n=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===n.scrollLeft&&this._smoothScrolling.to.scrollTop===n.scrollTop)return;var i=this._smoothScrolling.combine(this._state,n,this._smoothScrollDuration);this._smoothScrolling.dispose(),this._smoothScrolling=i}else{n=this._state.withScrollPosition(e);this._smoothScrolling=d.start(this._state,n,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(function(){t._smoothScrolling&&(t._smoothScrolling.animationFrameDisposable=null,t._performSmoothScrolling())})},t.prototype._performSmoothScrolling=function(){var e=this;if(this._smoothScrolling){var t=this._smoothScrolling.tick(),n=this._state.withScrollPosition(t);if(this._setState(n),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}(o.a),c=function(){return function(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}}();function l(e,t){var n=t-e;return function(t){return e+n*(1-function(e){return Math.pow(e,3)}(1-t))}}var d=function(){function e(e,t,n,i){this.from=e,this.to=t,this.duration=i,this._startTime=n,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,n){var i,r,o;if(Math.abs(e-t)>2.5*n){var s=void 0,a=void 0;return e=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return i}function u(e,t,n,i){for(var r=0,o=Math.min(e.length,n),s=t;s=49?a-49+10:a>=17?a-17+10:a}return r}o.isBN=function(e){return e instanceof o||null!==e&&"object"==typeof e&&e.constructor.wordSize===o.wordSize&&Array.isArray(e.words)},o.max=function(e,t){return e.cmp(t)>0?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),i(t===(0|t)&&t>=2&&t<=36);var r=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&r++,16===t?this._parseHex(e,r):this._parseBase(e,t,r),"-"===e[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initNumber=function(e,t,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(i(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initArray=function(e,t,n){if(i("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var r=0;r=0;r-=3)s=e[r]|e[r-1]<<8|e[r-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===n)for(r=0,o=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n=t;n-=6)r=a(e,n,n+6),this.words[i]|=r<>>26-o&4194303,(o+=24)>=26&&(o-=26,i++);n+6!==t&&(r=a(e,t,n+6),this.words[i]|=r<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var i=0,r=1;r<=67108863;r*=t)i++;i--,r=r/t|0;for(var o=e.length-n,s=o%i,a=Math.min(o,o-s)+n,c=0,l=n;l1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function h(e,t,n){n.negative=t.negative^e.negative;var i=e.length+t.length|0;n.length=i,i=i-1|0;var r=0|e.words[0],o=0|t.words[0],s=r*o,a=67108863&s,u=s/67108864|0;n.words[0]=a;for(var c=1;c>>26,d=67108863&u,h=Math.min(c,t.length-1),f=Math.max(0,c-e.length+1);f<=h;f++){var p=c-f|0;l+=(s=(r=0|e.words[p])*(o=0|t.words[f])+d)/67108864|0,d=67108863&s}n.words[c]=0|d,u=0|l}return 0!==u?n.words[c]=0|u:n.length--,n.strip()}o.prototype.toString=function(e,t){var n;if(e=e||10,t=0|t||1,16===e||"hex"===e){n="";for(var r=0,o=0,s=0;s>>24-r&16777215)||s!==this.length-1?c[6-u.length]+u+n:u+n,(r+=2)>=26&&(r-=26,s--)}for(0!==o&&(n=o.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var h=l[e],f=d[e];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(f).toString(e);n=(p=p.idivn(f)).isZero()?g+n:c[h-g.length]+g+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}i(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(e,t){return i(void 0!==s),this.toArrayLike(s,e,t)},o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},o.prototype.toArrayLike=function(e,t,n){var r=this.byteLength(),o=n||Math.max(1,r);i(r<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===t,c=new e(o),l=this.clone();if(u){for(a=0;!l.isZero();a++)s=l.andln(255),l.iushrn(8),c[a]=s;for(;a=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;ne.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var i=0;ie.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){i("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-n),this.strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){i("number"==typeof e&&e>=0);var n=e/26|0,r=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(n=this,i=e):(n=e,i=this);for(var r=0,o=0;o>>26;for(;0!==r&&o>>26;if(this.length=n.length,0!==r)this.words[this.length]=r,this.length++;else if(n!==this)for(;oe.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,i,r=this.cmp(e);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(n=this,i=e):(n=e,i=this);for(var o=0,s=0;s>26,this.words[s]=67108863&t;for(;0!==o&&s>26,this.words[s]=67108863&t;if(0===o&&s>>13,f=0|s[1],p=8191&f,g=f>>>13,m=0|s[2],v=8191&m,_=m>>>13,b=0|s[3],y=8191&b,w=b>>>13,C=0|s[4],S=8191&C,x=C>>>13,L=0|s[5],O=8191&L,k=L>>>13,N=0|s[6],E=8191&N,I=N>>>13,D=0|s[7],M=8191&D,T=D>>>13,P=0|s[8],A=8191&P,R=P>>>13,F=0|s[9],j=8191&F,W=F>>>13,B=0|a[0],V=8191&B,H=B>>>13,z=0|a[1],U=8191&z,K=z>>>13,q=0|a[2],G=8191&q,Z=q>>>13,Y=0|a[3],X=8191&Y,$=Y>>>13,J=0|a[4],Q=8191&J,ee=J>>>13,te=0|a[5],ne=8191&te,ie=te>>>13,re=0|a[6],oe=8191&re,se=re>>>13,ae=0|a[7],ue=8191&ae,ce=ae>>>13,le=0|a[8],de=8191&le,he=le>>>13,fe=0|a[9],pe=8191&fe,ge=fe>>>13;n.negative=e.negative^t.negative,n.length=19;var me=(c+(i=Math.imul(d,V))|0)+((8191&(r=(r=Math.imul(d,H))+Math.imul(h,V)|0))<<13)|0;c=((o=Math.imul(h,H))+(r>>>13)|0)+(me>>>26)|0,me&=67108863,i=Math.imul(p,V),r=(r=Math.imul(p,H))+Math.imul(g,V)|0,o=Math.imul(g,H);var ve=(c+(i=i+Math.imul(d,U)|0)|0)+((8191&(r=(r=r+Math.imul(d,K)|0)+Math.imul(h,U)|0))<<13)|0;c=((o=o+Math.imul(h,K)|0)+(r>>>13)|0)+(ve>>>26)|0,ve&=67108863,i=Math.imul(v,V),r=(r=Math.imul(v,H))+Math.imul(_,V)|0,o=Math.imul(_,H),i=i+Math.imul(p,U)|0,r=(r=r+Math.imul(p,K)|0)+Math.imul(g,U)|0,o=o+Math.imul(g,K)|0;var _e=(c+(i=i+Math.imul(d,G)|0)|0)+((8191&(r=(r=r+Math.imul(d,Z)|0)+Math.imul(h,G)|0))<<13)|0;c=((o=o+Math.imul(h,Z)|0)+(r>>>13)|0)+(_e>>>26)|0,_e&=67108863,i=Math.imul(y,V),r=(r=Math.imul(y,H))+Math.imul(w,V)|0,o=Math.imul(w,H),i=i+Math.imul(v,U)|0,r=(r=r+Math.imul(v,K)|0)+Math.imul(_,U)|0,o=o+Math.imul(_,K)|0,i=i+Math.imul(p,G)|0,r=(r=r+Math.imul(p,Z)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,Z)|0;var be=(c+(i=i+Math.imul(d,X)|0)|0)+((8191&(r=(r=r+Math.imul(d,$)|0)+Math.imul(h,X)|0))<<13)|0;c=((o=o+Math.imul(h,$)|0)+(r>>>13)|0)+(be>>>26)|0,be&=67108863,i=Math.imul(S,V),r=(r=Math.imul(S,H))+Math.imul(x,V)|0,o=Math.imul(x,H),i=i+Math.imul(y,U)|0,r=(r=r+Math.imul(y,K)|0)+Math.imul(w,U)|0,o=o+Math.imul(w,K)|0,i=i+Math.imul(v,G)|0,r=(r=r+Math.imul(v,Z)|0)+Math.imul(_,G)|0,o=o+Math.imul(_,Z)|0,i=i+Math.imul(p,X)|0,r=(r=r+Math.imul(p,$)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,$)|0;var ye=(c+(i=i+Math.imul(d,Q)|0)|0)+((8191&(r=(r=r+Math.imul(d,ee)|0)+Math.imul(h,Q)|0))<<13)|0;c=((o=o+Math.imul(h,ee)|0)+(r>>>13)|0)+(ye>>>26)|0,ye&=67108863,i=Math.imul(O,V),r=(r=Math.imul(O,H))+Math.imul(k,V)|0,o=Math.imul(k,H),i=i+Math.imul(S,U)|0,r=(r=r+Math.imul(S,K)|0)+Math.imul(x,U)|0,o=o+Math.imul(x,K)|0,i=i+Math.imul(y,G)|0,r=(r=r+Math.imul(y,Z)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,Z)|0,i=i+Math.imul(v,X)|0,r=(r=r+Math.imul(v,$)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,$)|0,i=i+Math.imul(p,Q)|0,r=(r=r+Math.imul(p,ee)|0)+Math.imul(g,Q)|0,o=o+Math.imul(g,ee)|0;var we=(c+(i=i+Math.imul(d,ne)|0)|0)+((8191&(r=(r=r+Math.imul(d,ie)|0)+Math.imul(h,ne)|0))<<13)|0;c=((o=o+Math.imul(h,ie)|0)+(r>>>13)|0)+(we>>>26)|0,we&=67108863,i=Math.imul(E,V),r=(r=Math.imul(E,H))+Math.imul(I,V)|0,o=Math.imul(I,H),i=i+Math.imul(O,U)|0,r=(r=r+Math.imul(O,K)|0)+Math.imul(k,U)|0,o=o+Math.imul(k,K)|0,i=i+Math.imul(S,G)|0,r=(r=r+Math.imul(S,Z)|0)+Math.imul(x,G)|0,o=o+Math.imul(x,Z)|0,i=i+Math.imul(y,X)|0,r=(r=r+Math.imul(y,$)|0)+Math.imul(w,X)|0,o=o+Math.imul(w,$)|0,i=i+Math.imul(v,Q)|0,r=(r=r+Math.imul(v,ee)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,ee)|0,i=i+Math.imul(p,ne)|0,r=(r=r+Math.imul(p,ie)|0)+Math.imul(g,ne)|0,o=o+Math.imul(g,ie)|0;var Ce=(c+(i=i+Math.imul(d,oe)|0)|0)+((8191&(r=(r=r+Math.imul(d,se)|0)+Math.imul(h,oe)|0))<<13)|0;c=((o=o+Math.imul(h,se)|0)+(r>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,i=Math.imul(M,V),r=(r=Math.imul(M,H))+Math.imul(T,V)|0,o=Math.imul(T,H),i=i+Math.imul(E,U)|0,r=(r=r+Math.imul(E,K)|0)+Math.imul(I,U)|0,o=o+Math.imul(I,K)|0,i=i+Math.imul(O,G)|0,r=(r=r+Math.imul(O,Z)|0)+Math.imul(k,G)|0,o=o+Math.imul(k,Z)|0,i=i+Math.imul(S,X)|0,r=(r=r+Math.imul(S,$)|0)+Math.imul(x,X)|0,o=o+Math.imul(x,$)|0,i=i+Math.imul(y,Q)|0,r=(r=r+Math.imul(y,ee)|0)+Math.imul(w,Q)|0,o=o+Math.imul(w,ee)|0,i=i+Math.imul(v,ne)|0,r=(r=r+Math.imul(v,ie)|0)+Math.imul(_,ne)|0,o=o+Math.imul(_,ie)|0,i=i+Math.imul(p,oe)|0,r=(r=r+Math.imul(p,se)|0)+Math.imul(g,oe)|0,o=o+Math.imul(g,se)|0;var Se=(c+(i=i+Math.imul(d,ue)|0)|0)+((8191&(r=(r=r+Math.imul(d,ce)|0)+Math.imul(h,ue)|0))<<13)|0;c=((o=o+Math.imul(h,ce)|0)+(r>>>13)|0)+(Se>>>26)|0,Se&=67108863,i=Math.imul(A,V),r=(r=Math.imul(A,H))+Math.imul(R,V)|0,o=Math.imul(R,H),i=i+Math.imul(M,U)|0,r=(r=r+Math.imul(M,K)|0)+Math.imul(T,U)|0,o=o+Math.imul(T,K)|0,i=i+Math.imul(E,G)|0,r=(r=r+Math.imul(E,Z)|0)+Math.imul(I,G)|0,o=o+Math.imul(I,Z)|0,i=i+Math.imul(O,X)|0,r=(r=r+Math.imul(O,$)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,$)|0,i=i+Math.imul(S,Q)|0,r=(r=r+Math.imul(S,ee)|0)+Math.imul(x,Q)|0,o=o+Math.imul(x,ee)|0,i=i+Math.imul(y,ne)|0,r=(r=r+Math.imul(y,ie)|0)+Math.imul(w,ne)|0,o=o+Math.imul(w,ie)|0,i=i+Math.imul(v,oe)|0,r=(r=r+Math.imul(v,se)|0)+Math.imul(_,oe)|0,o=o+Math.imul(_,se)|0,i=i+Math.imul(p,ue)|0,r=(r=r+Math.imul(p,ce)|0)+Math.imul(g,ue)|0,o=o+Math.imul(g,ce)|0;var xe=(c+(i=i+Math.imul(d,de)|0)|0)+((8191&(r=(r=r+Math.imul(d,he)|0)+Math.imul(h,de)|0))<<13)|0;c=((o=o+Math.imul(h,he)|0)+(r>>>13)|0)+(xe>>>26)|0,xe&=67108863,i=Math.imul(j,V),r=(r=Math.imul(j,H))+Math.imul(W,V)|0,o=Math.imul(W,H),i=i+Math.imul(A,U)|0,r=(r=r+Math.imul(A,K)|0)+Math.imul(R,U)|0,o=o+Math.imul(R,K)|0,i=i+Math.imul(M,G)|0,r=(r=r+Math.imul(M,Z)|0)+Math.imul(T,G)|0,o=o+Math.imul(T,Z)|0,i=i+Math.imul(E,X)|0,r=(r=r+Math.imul(E,$)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,$)|0,i=i+Math.imul(O,Q)|0,r=(r=r+Math.imul(O,ee)|0)+Math.imul(k,Q)|0,o=o+Math.imul(k,ee)|0,i=i+Math.imul(S,ne)|0,r=(r=r+Math.imul(S,ie)|0)+Math.imul(x,ne)|0,o=o+Math.imul(x,ie)|0,i=i+Math.imul(y,oe)|0,r=(r=r+Math.imul(y,se)|0)+Math.imul(w,oe)|0,o=o+Math.imul(w,se)|0,i=i+Math.imul(v,ue)|0,r=(r=r+Math.imul(v,ce)|0)+Math.imul(_,ue)|0,o=o+Math.imul(_,ce)|0,i=i+Math.imul(p,de)|0,r=(r=r+Math.imul(p,he)|0)+Math.imul(g,de)|0,o=o+Math.imul(g,he)|0;var Le=(c+(i=i+Math.imul(d,pe)|0)|0)+((8191&(r=(r=r+Math.imul(d,ge)|0)+Math.imul(h,pe)|0))<<13)|0;c=((o=o+Math.imul(h,ge)|0)+(r>>>13)|0)+(Le>>>26)|0,Le&=67108863,i=Math.imul(j,U),r=(r=Math.imul(j,K))+Math.imul(W,U)|0,o=Math.imul(W,K),i=i+Math.imul(A,G)|0,r=(r=r+Math.imul(A,Z)|0)+Math.imul(R,G)|0,o=o+Math.imul(R,Z)|0,i=i+Math.imul(M,X)|0,r=(r=r+Math.imul(M,$)|0)+Math.imul(T,X)|0,o=o+Math.imul(T,$)|0,i=i+Math.imul(E,Q)|0,r=(r=r+Math.imul(E,ee)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,ee)|0,i=i+Math.imul(O,ne)|0,r=(r=r+Math.imul(O,ie)|0)+Math.imul(k,ne)|0,o=o+Math.imul(k,ie)|0,i=i+Math.imul(S,oe)|0,r=(r=r+Math.imul(S,se)|0)+Math.imul(x,oe)|0,o=o+Math.imul(x,se)|0,i=i+Math.imul(y,ue)|0,r=(r=r+Math.imul(y,ce)|0)+Math.imul(w,ue)|0,o=o+Math.imul(w,ce)|0,i=i+Math.imul(v,de)|0,r=(r=r+Math.imul(v,he)|0)+Math.imul(_,de)|0,o=o+Math.imul(_,he)|0;var Oe=(c+(i=i+Math.imul(p,pe)|0)|0)+((8191&(r=(r=r+Math.imul(p,ge)|0)+Math.imul(g,pe)|0))<<13)|0;c=((o=o+Math.imul(g,ge)|0)+(r>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,i=Math.imul(j,G),r=(r=Math.imul(j,Z))+Math.imul(W,G)|0,o=Math.imul(W,Z),i=i+Math.imul(A,X)|0,r=(r=r+Math.imul(A,$)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,$)|0,i=i+Math.imul(M,Q)|0,r=(r=r+Math.imul(M,ee)|0)+Math.imul(T,Q)|0,o=o+Math.imul(T,ee)|0,i=i+Math.imul(E,ne)|0,r=(r=r+Math.imul(E,ie)|0)+Math.imul(I,ne)|0,o=o+Math.imul(I,ie)|0,i=i+Math.imul(O,oe)|0,r=(r=r+Math.imul(O,se)|0)+Math.imul(k,oe)|0,o=o+Math.imul(k,se)|0,i=i+Math.imul(S,ue)|0,r=(r=r+Math.imul(S,ce)|0)+Math.imul(x,ue)|0,o=o+Math.imul(x,ce)|0,i=i+Math.imul(y,de)|0,r=(r=r+Math.imul(y,he)|0)+Math.imul(w,de)|0,o=o+Math.imul(w,he)|0;var ke=(c+(i=i+Math.imul(v,pe)|0)|0)+((8191&(r=(r=r+Math.imul(v,ge)|0)+Math.imul(_,pe)|0))<<13)|0;c=((o=o+Math.imul(_,ge)|0)+(r>>>13)|0)+(ke>>>26)|0,ke&=67108863,i=Math.imul(j,X),r=(r=Math.imul(j,$))+Math.imul(W,X)|0,o=Math.imul(W,$),i=i+Math.imul(A,Q)|0,r=(r=r+Math.imul(A,ee)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,ee)|0,i=i+Math.imul(M,ne)|0,r=(r=r+Math.imul(M,ie)|0)+Math.imul(T,ne)|0,o=o+Math.imul(T,ie)|0,i=i+Math.imul(E,oe)|0,r=(r=r+Math.imul(E,se)|0)+Math.imul(I,oe)|0,o=o+Math.imul(I,se)|0,i=i+Math.imul(O,ue)|0,r=(r=r+Math.imul(O,ce)|0)+Math.imul(k,ue)|0,o=o+Math.imul(k,ce)|0,i=i+Math.imul(S,de)|0,r=(r=r+Math.imul(S,he)|0)+Math.imul(x,de)|0,o=o+Math.imul(x,he)|0;var Ne=(c+(i=i+Math.imul(y,pe)|0)|0)+((8191&(r=(r=r+Math.imul(y,ge)|0)+Math.imul(w,pe)|0))<<13)|0;c=((o=o+Math.imul(w,ge)|0)+(r>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,i=Math.imul(j,Q),r=(r=Math.imul(j,ee))+Math.imul(W,Q)|0,o=Math.imul(W,ee),i=i+Math.imul(A,ne)|0,r=(r=r+Math.imul(A,ie)|0)+Math.imul(R,ne)|0,o=o+Math.imul(R,ie)|0,i=i+Math.imul(M,oe)|0,r=(r=r+Math.imul(M,se)|0)+Math.imul(T,oe)|0,o=o+Math.imul(T,se)|0,i=i+Math.imul(E,ue)|0,r=(r=r+Math.imul(E,ce)|0)+Math.imul(I,ue)|0,o=o+Math.imul(I,ce)|0,i=i+Math.imul(O,de)|0,r=(r=r+Math.imul(O,he)|0)+Math.imul(k,de)|0,o=o+Math.imul(k,he)|0;var Ee=(c+(i=i+Math.imul(S,pe)|0)|0)+((8191&(r=(r=r+Math.imul(S,ge)|0)+Math.imul(x,pe)|0))<<13)|0;c=((o=o+Math.imul(x,ge)|0)+(r>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,i=Math.imul(j,ne),r=(r=Math.imul(j,ie))+Math.imul(W,ne)|0,o=Math.imul(W,ie),i=i+Math.imul(A,oe)|0,r=(r=r+Math.imul(A,se)|0)+Math.imul(R,oe)|0,o=o+Math.imul(R,se)|0,i=i+Math.imul(M,ue)|0,r=(r=r+Math.imul(M,ce)|0)+Math.imul(T,ue)|0,o=o+Math.imul(T,ce)|0,i=i+Math.imul(E,de)|0,r=(r=r+Math.imul(E,he)|0)+Math.imul(I,de)|0,o=o+Math.imul(I,he)|0;var Ie=(c+(i=i+Math.imul(O,pe)|0)|0)+((8191&(r=(r=r+Math.imul(O,ge)|0)+Math.imul(k,pe)|0))<<13)|0;c=((o=o+Math.imul(k,ge)|0)+(r>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,i=Math.imul(j,oe),r=(r=Math.imul(j,se))+Math.imul(W,oe)|0,o=Math.imul(W,se),i=i+Math.imul(A,ue)|0,r=(r=r+Math.imul(A,ce)|0)+Math.imul(R,ue)|0,o=o+Math.imul(R,ce)|0,i=i+Math.imul(M,de)|0,r=(r=r+Math.imul(M,he)|0)+Math.imul(T,de)|0,o=o+Math.imul(T,he)|0;var De=(c+(i=i+Math.imul(E,pe)|0)|0)+((8191&(r=(r=r+Math.imul(E,ge)|0)+Math.imul(I,pe)|0))<<13)|0;c=((o=o+Math.imul(I,ge)|0)+(r>>>13)|0)+(De>>>26)|0,De&=67108863,i=Math.imul(j,ue),r=(r=Math.imul(j,ce))+Math.imul(W,ue)|0,o=Math.imul(W,ce),i=i+Math.imul(A,de)|0,r=(r=r+Math.imul(A,he)|0)+Math.imul(R,de)|0,o=o+Math.imul(R,he)|0;var Me=(c+(i=i+Math.imul(M,pe)|0)|0)+((8191&(r=(r=r+Math.imul(M,ge)|0)+Math.imul(T,pe)|0))<<13)|0;c=((o=o+Math.imul(T,ge)|0)+(r>>>13)|0)+(Me>>>26)|0,Me&=67108863,i=Math.imul(j,de),r=(r=Math.imul(j,he))+Math.imul(W,de)|0,o=Math.imul(W,he);var Te=(c+(i=i+Math.imul(A,pe)|0)|0)+((8191&(r=(r=r+Math.imul(A,ge)|0)+Math.imul(R,pe)|0))<<13)|0;c=((o=o+Math.imul(R,ge)|0)+(r>>>13)|0)+(Te>>>26)|0,Te&=67108863;var Pe=(c+(i=Math.imul(j,pe))|0)+((8191&(r=(r=Math.imul(j,ge))+Math.imul(W,pe)|0))<<13)|0;return c=((o=Math.imul(W,ge))+(r>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,u[0]=me,u[1]=ve,u[2]=_e,u[3]=be,u[4]=ye,u[5]=we,u[6]=Ce,u[7]=Se,u[8]=xe,u[9]=Le,u[10]=Oe,u[11]=ke,u[12]=Ne,u[13]=Ee,u[14]=Ie,u[15]=De,u[16]=Me,u[17]=Te,u[18]=Pe,0!==c&&(u[19]=c,n.length++),n};function p(e,t,n){return(new g).mulp(e,t,n)}function g(e,t){this.x=e,this.y=t}Math.imul||(f=h),o.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?f(this,e,t):n<63?h(this,e,t):n<1024?function(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var i=0,r=0,o=0;o>>26)|0)>>>26,s&=67108863}n.words[o]=a,i=s,s=r}return 0!==i?n.words[o]=i:n.length--,n.strip()}(this,e,t):p(this,e,t)},g.prototype.makeRBT=function(e){for(var t=new Array(e),n=o.prototype._countBits(e)-1,i=0;i>=1;return i},g.prototype.permute=function(e,t,n,i,r,o){for(var s=0;s>>=1)r++;return 1<>>=13,n[2*s+1]=8191&o,o>>>=13;for(s=2*t;s>=26,t+=r/67108864|0,t+=o>>>26,this.words[n]=67108863&o}return 0!==t&&(this.words[n]=t,this.length++),this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n>>r}return t}(e);if(0===t.length)return new o(1);for(var n=this,i=0;i=0);var t,n=e%26,r=(e-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(t=0;t>>26-n}s&&(this.words[t]=s,this.length++)}if(0!==r){for(t=this.length-1;t>=0;t--)this.words[t+r]=this.words[t];for(t=0;t=0),r=t?(t-t%26)/26:0;var o=e%26,s=Math.min((e-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==l||c>=r);c--){var d=0|this.words[c];this.words[c]=l<<26-o|d>>>o,l=d&a}return u&&0!==l&&(u.words[u.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(e,t,n){return i(0===this.negative),this.iushrn(e,t,n)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){i("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,r=1<=0);var t=e%26,n=(e-t)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var r=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(i("number"==typeof e),i(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[r+n]=67108863&o}for(;r>26,this.words[r+n]=67108863&o;if(0===a)return this.strip();for(i(-1===a),a=0,r=0;r>26,this.words[r]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(e,t){var n=(this.length,e.length),i=this.clone(),r=e,s=0|r.words[r.length-1];0!==(n=26-this._countBits(s))&&(r=r.ushln(n),i.iushln(n),s=0|r.words[r.length-1]);var a,u=i.length-r.length;if("mod"!==t){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;d--){var h=67108864*(0|i.words[r.length+d])+(0|i.words[r.length+d-1]);for(h=Math.min(h/s|0,67108863),i._ishlnsubmul(r,h,d);0!==i.negative;)h--,i.negative=0,i._ishlnsubmul(r,1,d),i.isZero()||(i.negative^=1);a&&(a.words[d]=h)}return a&&a.strip(),i.strip(),"div"!==t&&0!==n&&i.iushrn(n),{div:a||null,mod:i}},o.prototype.divmod=function(e,t,n){return i(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(a=this.neg().divmod(e,t),"mod"!==t&&(r=a.div.neg()),"div"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(e)),{div:r,mod:s}):0===this.negative&&0!==e.negative?(a=this.divmod(e.neg(),t),"mod"!==t&&(r=a.div.neg()),{div:r,mod:a.mod}):0!=(this.negative&e.negative)?(a=this.neg().divmod(e.neg(),t),"div"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(e)),{div:a.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modn(e.words[0]))}:this._wordDiv(e,t);var r,s,a},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,i=e.ushrn(1),r=e.andln(1),o=n.cmp(i);return o<0||1===r&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modn=function(e){i(e<=67108863);for(var t=(1<<26)%e,n=0,r=this.length-1;r>=0;r--)n=(t*n+(0|this.words[r]))%e;return n},o.prototype.idivn=function(e){i(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var r=(0|this.words[n])+67108864*t;this.words[n]=r/e|0,t=r%e}return this.strip()},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){i(0===e.negative),i(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++c;for(var l=n.clone(),d=t.clone();!t.isZero();){for(var h=0,f=1;0==(t.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(t.iushrn(h);h-- >0;)(r.isOdd()||s.isOdd())&&(r.iadd(l),s.isub(d)),r.iushrn(1),s.iushrn(1);for(var p=0,g=1;0==(n.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(l),u.isub(d)),a.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),r.isub(a),s.isub(u)):(n.isub(t),a.isub(r),u.isub(s))}return{a:a,b:u,gcd:n.iushln(c)}},o.prototype._invmp=function(e){i(0===e.negative),i(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r,s=new o(1),a=new o(0),u=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,l=1;0==(t.words[0]&l)&&c<26;++c,l<<=1);if(c>0)for(t.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var d=0,h=1;0==(n.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(n.iushrn(d);d-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);t.cmp(n)>=0?(t.isub(n),s.isub(a)):(n.isub(t),a.isub(s))}return(r=0===t.cmpn(1)?s:a).cmpn(0)<0&&r.iadd(e),r},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var i=0;t.isEven()&&n.isEven();i++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var r=t.cmp(n);if(r<0){var o=t;t=n,n=o}else if(0===r||0===n.cmpn(1))break;t.isub(n)}return n.iushln(i)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){i("number"==typeof e);var t=e%26,n=(e-t)/26,r=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),i(e<=67108863,"Number is too big");var r=0|this.words[0];t=r===e?0:re.length)return 1;if(this.length=0;n--){var i=0|this.words[n],r=0|e.words[n];if(i!==r){ir&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new C(e)},o.prototype.toRed=function(e){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return i(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return i(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function v(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function y(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function C(e){if("string"==typeof e){var t=o._prime(e);this.m=t.p,this.prime=t}else i(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function S(e){C.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},v.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var i=t0?n.isub(this.p):n.strip(),n},v.prototype.split=function(e,t){e.iushrn(this.n,0,t)},v.prototype.imulK=function(e){return e.imul(this.k)},r(_,v),_.prototype.split=function(e,t){for(var n=Math.min(e.length,9),i=0;i>>22,r=o}r>>>=22,e.words[i-10]=r,0===r&&e.length>10?e.length-=10:e.length-=9},_.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n>>=26,e.words[n]=r,t=i}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(m[e])return m[e];var t;if("k256"===e)t=new _;else if("p224"===e)t=new b;else if("p192"===e)t=new y;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new w}return m[e]=t,t},C.prototype._verify1=function(e){i(0===e.negative,"red works only with positives"),i(e.red,"red works only with red numbers")},C.prototype._verify2=function(e,t){i(0==(e.negative|t.negative),"red works only with positives"),i(e.red&&e.red===t.red,"red works only with red numbers")},C.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},C.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},C.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},C.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},C.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},C.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},C.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},C.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},C.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},C.prototype.isqr=function(e){return this.imul(e,e.clone())},C.prototype.sqr=function(e){return this.mul(e,e)},C.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(i(t%2==1),3===t){var n=this.m.add(new o(1)).iushrn(2);return this.pow(e,n)}for(var r=this.m.subn(1),s=0;!r.isZero()&&0===r.andln(1);)s++,r.iushrn(1);i(!r.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new o(2*l*l).toRed(this);0!==this.pow(l,c).cmp(u);)l.redIAdd(u);for(var d=this.pow(l,r),h=this.pow(e,r.addn(1).iushrn(1)),f=this.pow(e,r),p=s;0!==f.cmp(a);){for(var g=f,m=0;0!==g.cmp(a);m++)g=g.redSqr();i(m=0;i--){for(var c=t.words[i],l=u-1;l>=0;l--){var d=c>>l&1;r!==n[0]&&(r=this.sqr(r)),0!==d||0!==s?(s<<=1,s|=d,(4===++a||0===i&&0===l)&&(r=this.mul(r,n[s]),a=0,s=0)):a=0}u=26}return r},C.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},C.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new S(e)},r(S,C),S.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},S.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},S.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),i=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(i).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var n=e.mul(t),i=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(i).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)}).call(t,n("3IRH")(e))},gpb6:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n("Vcj/");var i=n("hK2W"),r=n("KIxu"),o=n("aL7J"),s=n("odeJ"),a=n("uNfg"),u=n("tqet"),c=n("03Zz"),l=n("Kp7x"),d=65535,h=function(){function e(e,t,n){if(e.length!==t.length||e.length>d)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=n,this._parentsComputed=!1}return e.prototype.ensureParentIndices=function(){var e=this;if(!this._parentsComputed){this._parentsComputed=!0;for(var t=[],n=function(n,i){var r=t[t.length-1];return e.getStartLineNumber(r)<=n&&e.getEndLineNumber(r)>=i},i=0,r=this._startIndexes.length;i16777215||s>16777215)throw new Error("startLineNumber or endLineNumber must not exceed 16777215");for(;t.length>0&&!n(o,s);)t.pop();var a=t.length>0?t[t.length-1]:-1;t.push(i),this._startIndexes[i]=o+((255&a)<<24),this._endIndexes[i]=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,n=e%32;return 0!=(this._collapseStates[t]&1<>>24)+((4278190080&this._endIndexes[e])>>>16);return t===d?-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,n=this._startIndexes.length;if(0===n)return-1;for(;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.endLineNumber},e.prototype.containsLine=function(e){return this.startLineNumber<=e&&e<=this.endLineNumber},e}(),p=function(){function e(e,t){this._updateEventEmitter=new l.a,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new h(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,"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 n={};this._decorationProvider.changeDecorations(function(i){for(var r=0,o=e;r=d))break;r(a,l===d),a++}}u=s()}for(;a0)return e},e.prototype.applyMemento=function(e){if(Array.isArray(e)){for(var t=[],n=0,i=e;n=0;){var o=this._regions.toRegion(i);t&&!t(o,r)||n.push(o),r++,i=o.parentIndex}return n},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){var n=[],i=e?e.regionIndex+1:0,r=e?e.endLineNumber:Number.MAX_VALUE;if(t&&2===t.length)for(var o=[],s=i,a=this._regions.length;s0&&!u.containedBy(o[o.length-1]);)o.pop();o.push(u),t(u,o.length)&&n.push(u)}else for(s=i,a=this._regions.length;s0)for(var o=0,s=i;o1)){var c=e.getRegionsInside(u,function(e,i){return e.isCollapsed!==t&&i=0;s--)if(n!==r.isCollapsed(s)){var a=r.getStartLineNumber(s);t.test(i.getLineContent(a))&&o.push(r.toRegion(s))}e.toggleCollapseState(o)}function _(e,t,n){for(var i=e.regions,r=[],o=i.length-1;o>=0;o--)n!==i.isCollapsed(o)&&t===i.getType(o)&&r.push(i.toRegion(o));e.toggleCollapseState(r)}var b=n("0ly5"),y=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=b.a.register({stickiness:1,afterContentClassName:"inline-folded",linesDecorationsClassName:"folding collapsed"}),e.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=b.a.register({stickiness:1,linesDecorationsClassName:"folding"}),e.EXPANDED_VISUAL_DECORATION=b.a.register({stickiness:1,linesDecorationsClassName:"folding alwaysShowFoldIcons"}),e}(),w=n("/9db"),C=n("vTy2"),S=n("X6iQ"),x=function(){function e(e){var t=this;this._updateEventEmitter=new l.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=[],n=0,i=0,r=Number.MAX_VALUE,o=-1,s=this._foldingModel.regions;n0},e.prototype.isHidden=function(e){return null!==L(this._hiddenRanges,e)},e.prototype.adjustSelections=function(e){for(var t=this,n=!1,i=this._foldingModel.textModel,r=null,o=function(e){return r&&function(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}(e,r)||(r=L(t._hiddenRanges,e)),r?r.startLineNumber-1:null},s=0,a=e.length;s0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)},e}();function L(e,t){var n=Object(S.h)(e,function(e){return t=0&&e[n].endLineNumber>=t?e[n]:null}var O=n("Fllr"),k=5e3,N="indent",E=function(){function e(e){this.editorModel=e,this.id=N}return e.prototype.dispose=function(){},e.prototype.compute=function(e){var t=O.a.getFoldingRules(this.editorModel.getLanguageIdentifier().id),n=t&&!!t.offSide,i=t&&t.markers;return Promise.resolve(function(e,t,n,i){void 0===i&&(i=k);var r=e.getOptions().tabSize,o=new I(i),s=void 0;n&&(s=new RegExp("("+n.start.source+")|(?:"+n.end.source+")"));var a=[],u=e.getLineCount()+1;a.push({indent:-1,endAbove:u,line:u});for(var c=e.getLineCount();c>0;c--){var l=e.getLineContent(c),d=b.b.computeIndentLevel(l,r),h=a[a.length-1];if(-1!==d){var f=void 0;if(s&&(f=l.match(s))){if(!f[1]){a.push({indent:-2,endAbove:c,line:c});continue}for(var p=a.length-1;p>0&&-2!==a[p].indent;)p--;if(p>0){a.length=p+1,h=a[p],o.insertFirst(c,h.line,d),h.line=c,h.indent=d,h.endAbove=c;continue}}if(h.indent>d){do{a.pop(),h=a[a.length-1]}while(h.indent>d);var g=h.endAbove-1;g-c>=1&&o.insertFirst(c,g,d)}h.indent===d?h.endAbove=c:a.push({indent:d,endAbove:c,line:c})}else t&&(h.endAbove=c)}return o.toIndentRanges(e)}(this.editorModel,n,i))},e}(),I=function(){function e(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}return e.prototype.insertFirst=function(e,t,n){if(!(e>16777215||t>16777215)){var i=this._length;this._startIndexes[i]=e,this._endIndexes[i]=t,this._length++,n<1e3&&(this._indentOccurrences[n]=(this._indentOccurrences[n]||0)+1)}},e.prototype.toIndentRanges=function(e){if(this._length<=this._foldingRangesLimit){for(var t=new Uint32Array(this._length),n=new Uint32Array(this._length),i=this._length-1,r=0;i>=0;i--,r++)t[r]=this._startIndexes[i],n[r]=this._endIndexes[i];return new h(t,n)}var o=0,s=this._indentOccurrences.length;for(i=0;ithis._foldingRangesLimit){s=i;break}o+=a}}var u=e.getOptions().tabSize;for(t=new Uint32Array(this._foldingRangesLimit),n=new Uint32Array(this._foldingRangesLimit),i=this._length-1,r=0;i>=0;i--){var c=this._startIndexes[i],l=e.getLineContent(c),d=b.b.computeIndentLevel(l,u);(d0&&u.end>u.start&&u.end<=o&&i.push({start:u.start,end:u.end,rank:r,kind:u.kind})}}},M.f)});return Promise.all(r).then(function(e){return i})}(this.providers,this.editorModel,e).then(function(e){return e?j(e,t.limit):null})},e.prototype.dispose=function(){},e}();var F=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,n,i){if(!(e>16777215||t>16777215)){var r=this._length;this._startIndexes[r]=e,this._endIndexes[r]=t,this._nestingLevels[r]=i,this._types[r]=n,this._length++,i<30&&(this._nestingLevelCounts[i]=(this._nestingLevelCounts[i]||0)+1)}},e.prototype.toIndentRanges=function(){if(this._length<=this._foldingRangesLimit){for(var e=new Uint32Array(this._length),t=new Uint32Array(this._length),n=0;nthis._foldingRangesLimit){r=n;break}i+=o}}e=new Uint32Array(this._foldingRangesLimit),t=new Uint32Array(this._foldingRangesLimit);for(var s=[],a=(n=0,0);nr.start)if(u.end<=r.end)o.push(r),r=u,i.add(u.start,u.end,u.kind&&u.kind.value,o.length);else{if(u.start>r.end){do{r=o.pop()}while(r&&u.start>r.end);r&&o.push(r),r=u}i.add(u.start,u.end,u.kind&&u.kind.value,o.length)}}else r=u,i.add(u.start,u.end,u.kind&&u.kind.value,o.length)}return i.toIndentRanges()}var W="init",B=function(){function e(e,t,n,i){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:1}}})),this.timeout=setTimeout(n,i)}}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 n=0,i=this.decorationIds;n=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},K=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},q=new V.d("foldingEnabled",!1),G="editor.contrib.folding",Z=function(e){function t(t,n){var i=e.call(this)||this;return i.contextKeyService=n,i.localToDispose=i._register(new u.b),i.editor=t,i._isEnabled=i.editor.getConfiguration().contribInfo.folding,i._autoHideFoldingControls="mouseover"===i.editor.getConfiguration().contribInfo.showFoldingControls,i._useFoldingProviders="indentation"!==i.editor.getConfiguration().contribInfo.foldingStrategy,i.foldingModel=null,i.hiddenRangeModel=null,i.rangeProvider=null,i.foldingRegionPromise=null,i.foldingStateMemento=null,i.foldingModelPromise=null,i.updateScheduler=null,i.cursorChangedScheduler=null,i.mouseDownInfo=null,i.foldingDecorationProvider=new y(t),i.foldingDecorationProvider.autoHideFoldingControls=i._autoHideFoldingControls,i.foldingEnabled=q.bindTo(i.contextKeyService),i.foldingEnabled.set(i._isEnabled),i._register(i.editor.onDidChangeModel(function(){return i.onModelChanged()})),i._register(i.editor.onDidChangeConfiguration(function(e){if(e.contribInfo){var t=i._isEnabled;i._isEnabled=i.editor.getConfiguration().contribInfo.folding,i.foldingEnabled.set(i._isEnabled),t!==i._isEnabled&&i.onModelChanged();var n=i._autoHideFoldingControls;i._autoHideFoldingControls="mouseover"===i.editor.getConfiguration().contribInfo.showFoldingControls,n!==i._autoHideFoldingControls&&(i.foldingDecorationProvider.autoHideFoldingControls=i._autoHideFoldingControls,i.onModelContentChanged());var r=i._useFoldingProviders;i._useFoldingProviders="indentation"!==i.editor.getConfiguration().contribInfo.foldingStrategy,r!==i._useFoldingProviders&&i.onFoldingStrategyChanged()}})),i.onModelChanged(),i}return z(t,e),t.get=function(e){return e.getContribution(G)},t.prototype.getId=function(){return G},t.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(),n=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:n}}},t.prototype.restoreViewState=function(e){var t=this.editor.getModel();if(t&&this._isEnabled&&!t.isTooLargeForTokenization()&&this.hiddenRangeModel&&e&&e.collapsedRegions&&e.lineCount===t.getLineCount()){e.provider!==A&&e.provider!==W||(this.foldingStateMemento=e);var n=e.collapsedRegions;if(this.hiddenRangeModel.applyMemento(n)){var i=this.getFoldingModel();i&&i.then(function(e){e&&e.applyMemento(n)}).then(void 0,M.e)}}},t.prototype.onModelChanged=function(){var e=this;this.localToDispose.clear();var t=this.editor.getModel();this._isEnabled&&t&&!t.isTooLargeForTokenization()&&(this.foldingModel=new p(t,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new x(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(function(t){return e.onHiddenRangesChanges(t)})),this.updateScheduler=new s.a(200),this.cursorChangedScheduler=new s.d(function(){return e.revealCursor()},200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(D.m.onDidChange(function(){return e.onFoldingStrategyChanged()})),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(function(){return e.onFoldingStrategyChanged()})),this.localToDispose.add(this.editor.onDidChangeModelContent(function(){return e.onModelContentChanged()})),this.localToDispose.add(this.editor.onDidChangeCursorPosition(function(){return e.onCursorPositionChanged()})),this.localToDispose.add(this.editor.onMouseDown(function(t){return e.onEditorMouseDown(t)})),this.localToDispose.add(this.editor.onMouseUp(function(t){return e.onEditorMouseUp(t)})),this.localToDispose.add({dispose:function(){e.foldingRegionPromise&&(e.foldingRegionPromise.cancel(),e.foldingRegionPromise=null),e.updateScheduler&&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())},t.prototype.onFoldingStrategyChanged=function(){this.rangeProvider&&this.rangeProvider.dispose(),this.rangeProvider=null,this.onModelContentChanged()},t.prototype.getRangeProvider=function(e){var t=this;if(this.rangeProvider)return this.rangeProvider;if(this.rangeProvider=new E(e),this._useFoldingProviders&&this.foldingModel){var n=D.m.ordered(this.foldingModel.textModel);if(0===n.length&&this.foldingStateMemento&&this.foldingStateMemento.collapsedRegions)return this.rangeProvider=new B(e,this.foldingStateMemento.collapsedRegions,function(){t.foldingStateMemento=null,t.onFoldingStrategyChanged()},3e4);n.length>0&&(this.rangeProvider=new R(e,n))}return this.foldingStateMemento=null,this.rangeProvider},t.prototype.getFoldingModel=function(){return this.foldingModelPromise},t.prototype.onModelContentChanged=function(){var e=this;this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(function(){var t=e.foldingModel;if(!t)return null;var n=e.foldingRegionPromise=Object(s.f)(function(n){return e.getRangeProvider(t.textModel).compute(n)});return n.then(function(i){if(i&&n===e.foldingRegionPromise){var r=e.editor.getSelections(),o=r?r.map(function(e){return e.startLineNumber}):[];t.update(i,o)}return t})}).then(void 0,function(e){return Object(M.e)(e),null}))},t.prototype.onHiddenRangesChanges=function(e){if(this.hiddenRangeModel&&e.length){var t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e)},t.prototype.onCursorPositionChanged=function(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()},t.prototype.revealCursor=function(){var e=this,t=this.getFoldingModel();t&&t.then(function(t){if(t){var n=e.editor.getSelections();if(n&&n.length>0){for(var i=[],r=function(n){var r=n.selectionStartLineNumber;e.hiddenRangeModel&&e.hiddenRangeModel.isHidden(r)&&i.push.apply(i,t.getAllRegionsAtLine(r,function(e){return e.isCollapsed&&r>e.startLineNumber}))},o=0,s=n;o "+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?0:1},t.prototype.setEndPosition=function(e,n){return 0===this.getDirection()?new t(this.startLineNumber,this.startColumn,e,n):new t(e,n,this.startLineNumber,this.startColumn)},t.prototype.getPosition=function(){return new r.a(this.positionLineNumber,this.positionColumn)},t.prototype.setStartPosition=function(e,n){return 0===this.getDirection()?new t(e,n,this.endLineNumber,this.endColumn):new t(this.endLineNumber,this.endColumn,e,n)},t.fromPositions=function(e,n){return void 0===n&&(n=e),new t(e.lineNumber,e.column,n.lineNumber,n.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 n=0,i=e.length;n>>0},t.writeUInt32BE=function(e,t,n){e[0+n]=t>>>24,e[1+n]=t>>>16&255,e[2+n]=t>>>8&255,e[3+n]=255&t},t.ip=function(e,t,n,i){for(var r=0,o=0,s=6;s>=0;s-=2){for(var a=0;a<=24;a+=8)r<<=1,r|=t>>>a+s&1;for(a=0;a<=24;a+=8)r<<=1,r|=e>>>a+s&1}for(s=6;s>=0;s-=2){for(a=1;a<=25;a+=8)o<<=1,o|=t>>>a+s&1;for(a=1;a<=25;a+=8)o<<=1,o|=e>>>a+s&1}n[i+0]=r>>>0,n[i+1]=o>>>0},t.rip=function(e,t,n,i){for(var r=0,o=0,s=0;s<4;s++)for(var a=24;a>=0;a-=8)r<<=1,r|=t>>>a+s&1,r<<=1,r|=e>>>a+s&1;for(s=4;s<8;s++)for(a=24;a>=0;a-=8)o<<=1,o|=t>>>a+s&1,o<<=1,o|=e>>>a+s&1;n[i+0]=r>>>0,n[i+1]=o>>>0},t.pc1=function(e,t,n,i){for(var r=0,o=0,s=7;s>=5;s--){for(var a=0;a<=24;a+=8)r<<=1,r|=t>>a+s&1;for(a=0;a<=24;a+=8)r<<=1,r|=e>>a+s&1}for(a=0;a<=24;a+=8)r<<=1,r|=t>>a+s&1;for(s=1;s<=3;s++){for(a=0;a<=24;a+=8)o<<=1,o|=t>>a+s&1;for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1}for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1;n[i+0]=r>>>0,n[i+1]=o>>>0},t.r28shl=function(e,t){return e<>>28-t};var i=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];t.pc2=function(e,t,n,r){for(var o=0,s=0,a=i.length>>>1,u=0;u>>i[u]&1;for(u=a;u>>i[u]&1;n[r+0]=o>>>0,n[r+1]=s>>>0},t.expand=function(e,t,n){var i=0,r=0;i=(1&e)<<5|e>>>27;for(var o=23;o>=15;o-=4)i<<=6,i|=e>>>o&63;for(o=11;o>=3;o-=4)r|=e>>>o&63,r<<=6;r|=(31&e)<<1|e>>>31,t[n+0]=i>>>0,t[n+1]=r>>>0};var r=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];t.substitute=function(e,t){for(var n=0,i=0;i<4;i++){n<<=4,n|=r[64*i+(e>>>18-6*i&63)]}for(i=0;i<4;i++){n<<=4,n|=r[256+64*i+(t>>>18-6*i&63)]}return n>>>0};var o=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];t.permute=function(e){for(var t=0,n=0;n>>o[n]&1;return t>>>0},t.padSplit=function(e,t,n){for(var i=e.toString(2);i.length=0;n--)t+=e.charAt(n);return t}(e=n)),t}}(),g=function(){function e(){}return e._findPrevBracketInText=function(e,t,n,i){var o=n.match(e);if(!o)return null;var s=n.length-(o.index||0),a=o[0].length,u=i+s;return new r.a(t,u-a+1,t,u+1)},e.findPrevBracketInToken=function(e,t,n,i,r){var o=p(n).substring(n.length-r,n.length-i);return this._findPrevBracketInText(e,t,o,i)},e.findNextBracketInText=function(e,t,n,i){var o=n.match(e);if(!o)return null;var s=o.index||0,a=o[0].length;if(0===a)return null;var u=i+s;return new r.a(t,u+1,t,u+1+a)},e.findNextBracketInToken=function(e,t,n,i,r){var o=n.substring(i,r);return this.findNextBracketInText(e,t,o,i)},e}()},iP15:function(e,t,n){(function(t){function n(e){try{if(!t.localStorage)return!1}catch(e){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=function(e,t){if(n("noDeprecation"))return e;var i=!1;return function(){if(!i){if(n("throwDeprecation"))throw new Error(t);n("traceDeprecation")?console.trace(t):console.warn(t),i=!0}return e.apply(this,arguments)}}}).call(t,n("DuR2"))},iTY7:function(e,t,n){var i=n("LC74"),r=n("3UtB").Reporter,o=n("EuP9").Buffer;function s(e,t){r.call(this,t),o.isBuffer(e)?(this.base=e,this.offset=0,this.length=e.length):this.error("Input not Buffer")}function a(e,t){if(Array.isArray(e))this.length=0,this.value=e.map(function(e){return e instanceof a||(e=new a(e,t)),this.length+=e.length,e},this);else if("number"==typeof e){if(!(0<=e&&e<=255))return t.error("non-byte EncoderBuffer value");this.value=e,this.length=1}else if("string"==typeof e)this.value=e,this.length=o.byteLength(e);else{if(!o.isBuffer(e))return t.error("Unsupported type: "+typeof e);this.value=e,this.length=e.length}}i(s,r),t.DecoderBuffer=s,s.prototype.save=function(){return{offset:this.offset,reporter:r.prototype.save.call(this)}},s.prototype.restore=function(e){var t=new s(this.base);return t.offset=e.offset,t.length=this.offset,this.offset=e.offset,r.prototype.restore.call(this,e.reporter),t},s.prototype.isEmpty=function(){return this.offset===this.length},s.prototype.readUInt8=function(e){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(e||"DecoderBuffer overrun")},s.prototype.skip=function(e,t){if(!(this.offset+e<=this.length))return this.error(t||"DecoderBuffer overrun");var n=new s(this.base);return n._reporterState=this._reporterState,n.offset=this.offset,n.length=this.offset+e,this.offset+=e,n},s.prototype.raw=function(e){return this.base.slice(e?e.offset:this.offset,this.length)},t.EncoderBuffer=a,a.prototype.join=function(e,t){return e||(e=new o(this.length)),t||(t=0),0===this.length?e:(Array.isArray(this.value)?this.value.forEach(function(n){n.join(e,t),t+=n.length}):("number"==typeof this.value?e[t]=this.value:"string"==typeof this.value?e.write(this.value,t):o.isBuffer(this.value)&&this.value.copy(e,t),t+=this.length),e)}},iXRW:function(e,t,n){"use strict";t.h=function(e){if(1===e)return"blink";if(4===e)return"expand";if(3===e)return"phase";if(2===e)return"smooth";if(5===e)return"solid";throw new Error("blinkingStyleToString: Unknown blinkingStyle")},n.d(t,"g",function(){return i}),t.i=function(e){if(e===i.Line)return"line";if(e===i.Block)return"block";if(e===i.Underline)return"underline";if(e===i.LineThin)return"line-thin";if(e===i.BlockOutline)return"block-outline";if(e===i.UnderlineThin)return"underline-thin";throw new Error("cursorStyleToString: Unknown cursorStyle")},n.d(t,"e",function(){return d}),n.d(t,"d",function(){return _}),n.d(t,"f",function(){return b}),n.d(t,"b",function(){return w}),n.d(t,"c",function(){return C}),n.d(t,"a",function(){return S});var i,r=n("hK2W"),o=n("X6iQ"),s=n("TU7t"),a=n("ZfGv"),u=n("+jct"),c=n("KIxu"),l=this&&this.__assign||function(){return(l=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=2?(S=v?2:4,M=2/b):(S=v?1:3,M=1/b),(L=Math.max(0,Math.floor((D-d-2)*M/(c+M))))/M>_&&(L=Math.floor(_*M)),O=D-L,"left"===m?(x=0,k+=L,N+=L,E+=L,I+=L):x=t-L-d}else x=0,L=0,S=0,O=D;var T=Math.max(1,Math.floor((O-d-2)/c)),P=h?f:0;return{width:t,height:n,glyphMarginLeft:k,glyphMarginWidth:C,glyphMarginHeight:n,lineNumbersLeft:N,lineNumbersWidth:y,lineNumbersHeight:n,decorationsLeft:E,decorationsWidth:u,decorationsHeight:n,contentLeft:I,contentWidth:O,contentHeight:n,renderMinimap:S,minimapLeft:x,minimapWidth:L,viewportColumn:T,verticalScrollbarWidth:d,horizontalScrollbarHeight:p,overviewRuler:{top:P,width:d,height:n-2*P,right:0}}},e}(),w={fontFamily:a.d?"Menlo, Monaco, 'Courier New', monospace":a.c?"'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:a.d?12:14,lineHeight:0,letterSpacing:0},C={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0},S={inDiffEditor:!1,wordSeparators:u.b,lineNumbersMinChars:5,lineDecorationsWidth:10,readOnly:!1,mouseStyle:"text",disableLayerHinting:!1,automaticLayout:!1,wordWrap:"off",wordWrapColumn:80,wordWrapMinified:!0,wrappingIndent:1,wordWrapBreakBeforeCharacters:"([{‘“〈《「『【〔([{「£¥$£¥++",wordWrapBreakAfterCharacters:" \t})]?|/&,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」",wordWrapBreakObtrusiveCharacters:".",autoClosingBrackets:"languageDefined",autoClosingQuotes:"languageDefined",autoClosingOvertype:"auto",autoSurround:"languageDefined",autoIndent:!0,dragAndDrop:!0,emptySelectionClipboard:!0,copyWithSyntaxHighlighting:!0,useTabStops:!0,multiCursorModifier:"altKey",multiCursorMergeOverlapping:!0,accessibilitySupport:"auto",showUnused:!0,viewInfo:{extraEditorClassName:"",disableMonospaceOptimizations:!1,rulers:[],ariaLabel:r.a("editorViewAccessibleLabel","Editor content"),renderLineNumbers:1,renderCustomLineNumbers:null,cursorSurroundingLines:0,renderFinalNewline:!0,selectOnLineNumbers:!0,glyphMargin:!0,revealHorizontalRightPadding:30,roundedSelection:!0,overviewRulerLanes:2,overviewRulerBorder:!0,cursorBlinking:1,mouseWheelZoom:!1,cursorSmoothCaretAnimation:!1,cursorStyle:i.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:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:10,horizontalSliderSize:10,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,mouseWheelScrollSensitivity:1,fastScrollSensitivity:5},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:{enabled:!0,cycle:!1},formatOnType:!1,formatOnPaste:!1,suggestOnTriggerCharacters:!0,acceptSuggestionOnEnter:"on",acceptSuggestionOnCommitCharacter:!0,wordBasedSuggestions:!0,suggestSelection:"recentlyUsed",suggestFontSize:0,suggestLineHeight:0,tabCompletion:"off",suggest:{filterGraceful:!0,snippets:"inline",snippetsPreventQuickSuggestions:!0,localityBonus:!1,shareSuggestSelections:!1,showIcons:!0,maxVisibleSuggestions:12,filteredTypes:Object.create(null)},gotoLocation:{multiple:"peek"},selectionHighlight:!0,occurrencesHighlight:!0,codeLens:!0,folding:!0,foldingStrategy:"auto",showFoldingControls:"mouseover",matchBrackets:!0,find:{seedSearchStringFromSelection:!0,autoFindInSelection:!1,globalFindClipboard:!1,addExtraSpaceOnTop:!0},colorDecorators:!0,lightbulbEnabled:!0,codeActionsOnSave:{},codeActionsOnSaveTimeout:750}}},ia1G:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n("Q+ux");var i,r=n("hK2W"),o=n("odeJ"),s=n("80kS"),a=n("zxiH"),u=n("3uSZ"),c=n("tqet"),l=n("ZfGv"),d=n("03Zz"),h=n("0ly5"),f=n("PCC9"),p=n("qzX+"),g=n("mrx5"),m=n("vTy2"),v=n("jIdl"),_=n("ItKl"),b=n("X6iQ"),y=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),w=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},C=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},P=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},A=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},R=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0||!n.umod(e.prime1)||!n.umod(e.prime2);)n=new i(r(t));return n}e.exports=o,o.getr=s}).call(t,n("EuP9").Buffer)},jUH2:function(e,t,n){"use strict";n.d(t,"c",function(){return o}),n.d(t,"b",function(){return s}),n.d(t,"a",function(){return a}),t.d=function(e,t,n,r){return new i.b([new i.a(r,"",e)],n)},t.e=function(e,t,n,r){var s=new Uint32Array(2);return s[0]=r,s[1]=(16384|e<<0|2<<23)>>>0,new i.c(s,null===n?o:n)};var i=n("c6Qy"),r=n("PCC9"),o=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 r.p(s,0)},jkjm:function(e,t,n){var i=n("19bf"),r=n("8YCc"),o=n("7VT+"),s=n("tXf9"),a=n("/vd3"),u=n("X3l8").Buffer;function c(e){var t;"object"!=typeof e||u.isBuffer(e)||(t=e.passphrase,e=e.key),"string"==typeof e&&(e=u.from(e));var n,c,l=o(e,t),d=l.tag,h=l.data;switch(d){case"CERTIFICATE":c=i.certificate.decode(h,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(c||(c=i.PublicKey.decode(h,"der")),n=c.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return i.RSAPublicKey.decode(c.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return c.subjectPrivateKey=c.subjectPublicKey,{type:"ec",data:c};case"1.2.840.10040.4.1":return c.algorithm.params.pub_key=i.DSAparam.decode(c.subjectPublicKey.data,"der"),{type:"dsa",data:c.algorithm.params};default:throw new Error("unknown key id "+n)}throw new Error("unknown key type "+d);case"ENCRYPTED PRIVATE KEY":h=function(e,t){var n=e.algorithm.decrypt.kde.kdeparams.salt,i=parseInt(e.algorithm.decrypt.kde.kdeparams.iters.toString(),10),o=r[e.algorithm.decrypt.cipher.algo.join(".")],c=e.algorithm.decrypt.cipher.iv,l=e.subjectPrivateKey,d=parseInt(o.split("-")[1],10)/8,h=a.pbkdf2Sync(t,n,i,d,"sha1"),f=s.createDecipheriv(o,h,c),p=[];return p.push(f.update(l)),p.push(f.final()),u.concat(p)}(h=i.EncryptedPrivateKey.decode(h,"der"),t);case"PRIVATE KEY":switch(n=(c=i.PrivateKey.decode(h,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return i.RSAPrivateKey.decode(c.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:c.algorithm.curve,privateKey:i.ECPrivateKey.decode(c.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return c.algorithm.params.priv_key=i.DSAparam.decode(c.subjectPrivateKey,"der"),{type:"dsa",params:c.algorithm.params};default:throw new Error("unknown key id "+n)}throw new Error("unknown key type "+d);case"RSA PUBLIC KEY":return i.RSAPublicKey.decode(h,"der");case"RSA PRIVATE KEY":return i.RSAPrivateKey.decode(h,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:i.DSAPrivateKey.decode(h,"der")};case"EC PRIVATE KEY":return{curve:(h=i.ECPrivateKey.decode(h,"der")).parameters.value,privateKey:h.privateKey};default:throw new Error("unknown key type "+d)}}e.exports=c,c.signature=i.signature},k2Sm:function(e,t,n){var i=n("X3l8").Buffer;function r(e,t,n){for(var i,r,s,a=-1,u=0;++a<8;)i=e._cipher.encryptBlock(e._prev),r=t&1<<7-a?128:0,u+=(128&(s=i[0]^r))>>a%8,e._prev=o(e._prev,n?r:s);return u}function o(e,t){var n=e.length,r=-1,o=i.allocUnsafe(e.length);for(e=i.concat([e,i.from([t])]);++r>7;return o}t.encrypt=function(e,t,n){for(var o=t.length,s=i.allocUnsafe(o),a=-1;++a=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},k=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},N=new _.d("accessibilityHelpWidgetVisible",!1),E=function(e){function t(t,n){var i=e.call(this)||this;return i._editor=t,i._widget=i._register(n.createInstance(I,i._editor)),i}return L(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=O([k(1,b.a)],t)}(d.a);var I=function(e){function t(t,n,i,r){var o=e.call(this)||this;return o._contextKeyService=n,o._keybindingService=i,o._openerService=r,o._editor=t,o._isVisibleKey=N.bindTo(o._contextKeyService),o._domNode=Object(a.b)(document.createElement("div")),o._domNode.setClassName("accessibilityHelpWidget"),o._domNode.setDisplay("none"),o._domNode.setAttribute("role","dialog"),o._domNode.setAttribute("aria-hidden","true"),o._contentDomNode=Object(a.b)(document.createElement("div")),o._contentDomNode.setAttribute("role","document"),o._domNode.appendChild(o._contentDomNode),o._isVisible=!1,o._register(o._editor.onDidLayoutChange(function(){o._isVisible&&o._layout()})),o._register(s.k(o._contentDomNode.domNode,"keydown",function(e){if(o._isVisible&&(e.equals(2083)&&(Object(c.a)(x.a.emergencyConfOn),o._editor.updateOptions({accessibilitySupport:"on"}),s.p(o._contentDomNode.domNode),o._buildContent(),o._contentDomNode.domNode.focus(),e.preventDefault(),e.stopPropagation()),e.equals(2086))){Object(c.a)(x.a.openingDocs);var t=o._editor.getRawConfiguration().accessibilityHelpUrl;void 0===t&&(t="https://go.microsoft.com/fwlink/?linkid=852450"),o._openerService.open(p.a.parse(t)),e.preventDefault(),e.stopPropagation()}})),o.onblur(o._contentDomNode.domNode,function(){o.hide()}),o._editor.addOverlayWidget(o),o}return L(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,n){var i=this._keybindingService.lookupKeybinding(e);return i?f.r(t,i.getAriaLabel()):f.r(n,e)},t.prototype._buildContent=function(){var e=this._editor.getConfiguration(),t=this._editor.getSelections(),n=0;if(t){var i=this._editor.getModel();i&&t.forEach(function(e){n+=i.getValueLengthInRange(e)})}var r=function(e,t){return e&&0!==e.length?1===e.length?t?f.r(x.a.singleSelectionRange,e[0].positionLineNumber,e[0].positionColumn,t):f.r(x.a.singleSelection,e[0].positionLineNumber,e[0].positionColumn):t?f.r(x.a.multiSelectionRange,e.length,t):e.length>0?f.r(x.a.multiSelection,e.length):"":x.a.noSelection}(t,n);e.wrappingInfo.inDiffEditor?e.readOnly?r+=x.a.readonlyDiffEditor:r+=x.a.editableDiffEditor:e.readOnly?r+=x.a.readonlyEditor:r+=x.a.editableEditor;var o=h.d?x.a.changeConfigToOnMac:x.a.changeConfigToOnWinLinux;switch(e.accessibilitySupport){case 0:r+="\n\n - "+o;break;case 2:r+="\n\n - "+x.a.auto_on;break;case 1:r+="\n\n - "+x.a.auto_off,r+=" "+o}e.tabFocusMode?r+="\n\n - "+this._descriptionForCommand(v.ToggleTabFocusModeAction.ID,x.a.tabFocusModeOnMsg,x.a.tabFocusModeOnMsgNoKb):r+="\n\n - "+this._descriptionForCommand(v.ToggleTabFocusModeAction.ID,x.a.tabFocusModeOffMsg,x.a.tabFocusModeOffMsgNoKb),r+="\n\n - "+(h.d?x.a.openDocMac:x.a.openDocWinLinux),r+="\n\n"+x.a.outroMsg,this._contentDomNode.domNode.appendChild(Object(u.b)(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,s.p(this._contentDomNode.domNode),this._editor.focus())},t.prototype._layout=function(){var e=this._editor.getLayoutInfo(),n=Math.max(5,Math.min(t.WIDTH,e.width-40)),i=Math.max(5,Math.min(t.HEIGHT,e.height-40));this._domNode.setWidth(n),this._domNode.setHeight(i);var r=Math.round((e.height-i)/2);this._domNode.setTop(r);var o=Math.round((e.width-n)/2);this._domNode.setLeft(o)},t.ID="editor.contrib.accessibilityHelpWidget",t.WIDTH=500,t.HEIGHT=300,t=O([k(1,_.c),k(2,y.a),k(3,w.a)],t)}(l.a),D=function(e){function t(){return e.call(this,{id:"editor.action.showAccessibilityHelp",label:x.a.showAccessibilityHelpAction,alias:"Show Accessibility Help",precondition:void 0,kbOpts:{kbExpr:m.a.focus,primary:o.j?2107:571,weight:100}})||this}return L(t,e),t.prototype.run=function(e,t){var n=E.get(t);n&&n.show()},t}(g.b);Object(g.h)(E),Object(g.f)(D);var M=g.c.bindToContribution(E.get);Object(g.g)(new M({id:"closeAccessibilityHelp",precondition:N,handler:function(e){return e.hide()},kbOpts:{weight:200,kbExpr:m.a.focus,primary:9,secondary:[1033]}})),Object(S.f)(function(e,t){var n=e.getColor(C.N);n&&t.addRule(".monaco-editor .accessibilityHelpWidget { background-color: "+n+"; }");var i=e.getColor(C.P);i&&t.addRule(".monaco-editor .accessibilityHelpWidget { color: "+i+"; }");var r=e.getColor(C._48);r&&t.addRule(".monaco-editor .accessibilityHelpWidget { box-shadow: 0 2px 8px "+r+"; }");var o=e.getColor(C.e);o&&t.addRule(".monaco-editor .accessibilityHelpWidget { border: 2px solid "+o+"; }")})},kkc6:function(e,t,n){var i=n("EuP9"),r=i.Buffer;function o(e,t){for(var n in e)t[n]=e[n]}function s(e,t,n){return r(e,t,n)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?e.exports=i:(o(i,t),t.Buffer=s),o(r,s),s.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return r(e,t,n)},s.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var i=r(e);return void 0!==t?"string"==typeof n?i.fill(t,n):i.fill(t):i.fill(0),i},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i.SlowBuffer(e)}},l6RD:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n("o37+");var i,r=n("hK2W"),o=n("uNfg"),s=n("tqet"),a=n("03Zz"),u=n("vTy2"),c=n("/9db"),l=n("6TMp"),d=n("7/Cv"),h=n("80kS"),f=n("TNPA"),p=n("3uSZ"),g=n("artP"),m=n("0ly5"),v=n("PCC9"),_=n("pWM+"),b=n("MfmB"),y=n("Kp7x"),w=function(){function e(e,t,n){this.presentationIndex=n,this._onColorFlushed=new y.a,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new y.a,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new y.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 n=0;n0,n&&i)?e:void 0;var t,n,i},function(e){Object(F.f)(e)})});return Promise.all(i).then(R.d)}Object(a.e)("_executeHoverProvider",function(e,t){return j(e,t,h.a.None)});var W=n("odeJ"),B=function(){function e(e,t,n,i,r){var o=this;this._computer=e,this._state=0,this._hoverTime=r,this._firstWaitScheduler=new W.d(function(){return o._triggerAsyncComputation()},0),this._secondWaitScheduler=new W.d(function(){return o._triggerSyncComputation()},0),this._loadingMessageScheduler=new W.d(function(){return o._showLoadingMessage()},0),this._asyncComputationPromise=null,this._asyncComputationPromiseDone=!1,this._completeCallback=t,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(W.f)(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}(),V=n("qecS"),H=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),z=function(e){function t(t,n){var i=e.call(this)||this;return i.allowEditorOverflow=!0,i._id=t,i._editor=n,i._isVisible=!1,i._stoleFocus=!1,i._containerDomNode=document.createElement("div"),i._containerDomNode.className="monaco-editor-hover hidden",i._containerDomNode.tabIndex=0,i._domNode=document.createElement("div"),i._domNode.className="monaco-editor-hover-content",i.scrollbar=new V.a(i._domNode,{}),i._register(i.scrollbar),i._containerDomNode.appendChild(i.scrollbar.getDomNode()),i.onkeydown(i._containerDomNode,function(e){e.equals(9)&&i.hide()}),i._register(i._editor.onDidChangeConfiguration(function(e){e.fontInfo&&i.updateFont()})),i._editor.onDidLayoutChange(function(e){return i.layout()}),i.layout(),i._editor.addContentWidget(i),i._showAtPosition=null,i._showAtRange=null,i._stoleFocus=!1,i}return H(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,Object(d.R)(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,n){this._showAtPosition=e,this._showAtRange=t,this.isVisible=!0,this._editor.layoutContentWidget(this),this._editor.render(),this._stoleFocus=n,n&&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,range:this._showAtRange,preference:[1,2]}:null},t.prototype.dispose=function(){this._editor.removeContentWidget(this),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.layout=function(){var e=Math.max(this._editor.getLayoutInfo().height/4,250),t=this._editor.getConfiguration().fontInfo,n=t.fontSize,i=t.lineHeight;this._domNode.style.fontSize=n+"px",this._domNode.style.lineHeight=i+"px",this._domNode.style.maxHeight=e+"px",this._domNode.style.maxWidth=Math.max(.66*this._editor.getLayoutInfo().width,500)+"px"},t}(x.a),U=function(e){function t(t,n){var i=e.call(this)||this;return i._id=t,i._editor=n,i._isVisible=!1,i._domNode=document.createElement("div"),i._domNode.className="monaco-editor-hover hidden",i._domNode.setAttribute("aria-hidden","true"),i._domNode.setAttribute("role","presentation"),i._showAtLineNumber=-1,i._register(i._editor.onDidChangeConfiguration(function(e){e.fontInfo&&i.updateFont()})),i._editor.addOverlayWidget(i),i}return H(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,Object(d.R)(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(),n=this._editor.getTopForLineNumber(this._showAtLineNumber),i=this._editor.getScrollTop(),r=this._editor.getConfiguration().lineHeight,o=n-i-(this._domNode.clientHeight-r)/2;this._domNode.style.left=t.glyphMarginLeft+t.glyphMarginWidth+"px",this._domNode.style.top=Math.max(Math.round(o),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")),n=Array.prototype.slice.call(this._domNode.getElementsByClassName("code"));t.concat(n).forEach(function(t){return e._editor.applyFontInfo(t)})},t.prototype.updateContents=function(e){this._domNode.textContent="",this._domNode.appendChild(e),this.updateFont()},t}(x.a),K=n("VBCr"),q=n("OHx0"),G=n("ZYUE"),Z=n("GsV8"),Y=n("MOjS"),X=n("OBuU"),$=n("0Td8"),J=n("mhQ0"),Q=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ee=d.a,te=function(){return function(e,t,n){this.range=e,this.color=t,this.provider=n}}(),ne=function(){return function(e,t){this.range=e,this.marker=t}}(),ie=function(){function e(e,t){this._markerDecorationsService=t,this._editor=e,this._result=[]}return e.prototype.setRange=function(e){this._range=e,this._result=[]},e.prototype.clearResult=function(){this._result=[]},e.prototype.computeAsync=function(e){if(!this._editor.hasModel()||!this._range)return Promise.resolve([]);var t=this._editor.getModel();return v.n.has(t)?j(t,new g.a(this._range.startLineNumber,this._range.startColumn),e):Promise.resolve([])},e.prototype.computeSync=function(){var e=this;if(!this._editor.hasModel()||!this._range)return[];var t=this._editor.getModel(),n=this._range.startLineNumber;if(n>this._editor.getModel().getLineCount())return[];var i=b.ColorDetector.get(this._editor),r=t.getLineMaxColumn(n),o=this._editor.getLineDecorations(n),s=!1,a=this._range,c=o.map(function(o){var c=o.range.startLineNumber===n?o.range.startColumn:1,l=o.range.endLineNumber===n?o.range.endColumn:r;if(c>a.startColumn||a.endColumn>l)return null;var d=new u.a(a.startLineNumber,c,a.startLineNumber,l),h=e._markerDecorationsService.getMarker(t,o);if(h)return new ne(d,h);var f=i.getColorData(o.range.getStartPosition());if(!s&&f){s=!0;var g=f.colorInfo,m=g.color,v=g.range;return new te(v,m,f.provider)}return Object(p.b)(o.options.hoverMessage)?null:{contents:o.options.hoverMessage?Object(R.b)(o.options.hoverMessage):[],range:d}});return Object(R.d)(c)},e.prototype.onResult=function(e,t){this._result=t?e.concat(this._result.sort(function(e,t){return e instanceof te?-1:t instanceof te?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 p.a).appendText(r.a("modesContentHover.loading","Loading..."))]}},e}(),re=function(e){function t(n,i,r,o,a,u){void 0===u&&(u=Z.b);var c=e.call(this,t.ID,n)||this;return c._themeService=r,c._keybindingService=o,c._modeService=a,c._openerService=u,c.renderDisposable=c._register(new s.d),c._messages=[],c._lastRange=null,c._computer=new ie(c._editor,i),c._highlightDecorations=[],c._isChangingDecorations=!1,c._shouldFocus=!1,c._colorPicker=null,c._hoverOperation=new B(c._computer,function(e){return c._withResult(e,!0)},null,function(e){return c._withResult(e,!1)},c._editor.getConfiguration().contribInfo.hover.delay),c._register(d.k(c.getDomNode(),d.d.FOCUS,function(){c._colorPicker&&d.f(c.getDomNode(),"colorpicker-hover")})),c._register(d.k(c.getDomNode(),d.d.BLUR,function(){d.I(c.getDomNode(),"colorpicker-hover")})),c._register(n.onDidChangeConfiguration(function(e){c._hoverOperation.setHoverTime(c._editor.getConfiguration().contribInfo.hover.delay)})),c}return Q(t,e),t.prototype.dispose=function(){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,n){if(!this._lastRange||!this._lastRange.equalsRange(e)){if(this._hoverOperation.cancel(),this.isVisible)if(this._showAtPosition&&this._showAtPosition.lineNumber===e.startLineNumber){for(var i=[],r=0,o=this._messages.length;r=e.endColumn&&i.push(s)}if(i.length>0){if(function(e,t){if(!e&&t||e&&!t||e.length!==t.length)return!1;for(var n=0;n0?this._renderMessages(this._lastRange,this._messages):t&&this.hide()},t.prototype._renderMessages=function(e,n){var i=this;this.renderDisposable.dispose(),this._colorPicker=null;var r=Number.MAX_VALUE,o=n[0].range?u.a.lift(n[0].range):null,a=document.createDocumentFragment(),c=!0,l=!1,m=new s.b,v=[];if(n.forEach(function(e){if(e.range)if(r=Math.min(r,e.range.startColumn),o=o?u.a.plusRange(o,e.range):u.a.lift(e.range),e instanceof te){l=!0;var t=e.color,n=t.red,g=t.green,b=t.blue,y=t.alpha,C=new f.c(255*n,255*g,255*b,y),S=new f.a(C);if(!i._editor.hasModel())return;var x=i._editor.getModel(),L=new u.a(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn),O={range:e.range,color:e.color},k=new w(S,[],0),N=new A(a,k,i._editor.getConfiguration().pixelRatio,i._themeService);Object(_.a)(x,O,e.provider,h.a.None).then(function(t){if(k.colorPresentations=t||[],i._editor.hasModel()){var n=i._editor.getModel().getValueInRange(e.range);k.guessColorPresentation(S,n);var r=function(){var e,t;k.presentation.textEdit?(e=[k.presentation.textEdit],t=(t=new u.a(k.presentation.textEdit.range.startLineNumber,k.presentation.textEdit.range.startColumn,k.presentation.textEdit.range.endLineNumber,k.presentation.textEdit.range.endColumn)).setEndPosition(t.endLineNumber,t.startColumn+k.presentation.textEdit.text.length)):(e=[{identifier:null,range:L,text:k.presentation.label,forceMoveMarkers:!1}],t=L.setEndPosition(L.endLineNumber,L.startColumn+k.presentation.label.length)),i._editor.pushUndoStop(),i._editor.executeEdits("colorpicker",e),k.presentation.additionalTextEdits&&(e=k.presentation.additionalTextEdits.slice(),i._editor.executeEdits("colorpicker",e),i.hide()),i._editor.pushUndoStop(),L=t},o=function(t){return Object(_.a)(x,{range:L,color:{red:t.rgba.r/255,green:t.rgba.g/255,blue:t.rgba.b/255,alpha:t.rgba.a}},e.provider,h.a.None).then(function(e){k.colorPresentations=e||[]})},c=k.onColorFlushed(function(e){o(e).then(r)}),l=k.onDidChangeColor(o);i._colorPicker=N,i.showAt(L.getStartPosition(),L,i._shouldFocus),i.updateContents(a),i._colorPicker.layout(),i.renderDisposable.value=Object(s.e)(c,l,N,m)}})}else e instanceof ne?(v.push(e),c=!1):e.contents.filter(function(e){return!Object(p.b)(e)}).forEach(function(e){var t=ee("div.hover-row.markdown-hover"),n=d.m(t,ee("div.hover-contents")),r=m.add(new K.a(i._editor,i._modeService,i._openerService));m.add(r.onDidRenderCodeBlock(function(){n.className="hover-contents code-hover-contents",i.onContentsChange()}));var o=m.add(r.render(e));n.appendChild(o.element),a.appendChild(t),c=!1})}),v.length){v.forEach(function(e){return a.appendChild(i.renderMarkerHover(e))});var b=1===v.length?v[0]:v.sort(function(e,t){return q.c.compare(e.marker.severity,t.marker.severity)})[0];a.appendChild(this.renderMarkerStatusbar(b))}l||c||(this.showAt(new g.a(e.startLineNumber,r),o,this._shouldFocus),this.updateContents(a)),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,o?[{range:o,options:t._DECORATION_OPTIONS}]:[]),this._isChangingDecorations=!1},t.prototype.renderMarkerHover=function(e){var t=this,n=ee("div.hover-row"),i=d.m(n,ee("div.marker.hover-contents")),r=e.marker,o=r.source,s=r.message,a=r.code,u=r.relatedInformation;this._editor.applyFontInfo(i);var c=d.m(i,ee("span"));if(c.style.whiteSpace="pre-wrap",c.innerText=s,o||a){var l=d.m(i,ee("span"));l.style.opacity="0.6",l.style.paddingLeft="6px",l.innerText=o&&a?o+"("+a+")":o||"("+a+")"}if(Object(R.n)(u))for(var h=function(e,n,r,o){var s=d.m(i,ee("div"));s.style.marginTop="8px";var a=d.m(s,ee("a"));a.innerText=Object(G.b)(n)+"("+r+", "+o+"): ",a.style.cursor="pointer",a.onclick=function(e){e.stopPropagation(),e.preventDefault(),t._openerService&&t._openerService.open(n.with({fragment:r+","+o})).catch(F.e)};var u=d.m(s,ee("span"));u.innerText=e,f._editor.applyFontInfo(u)},f=this,p=0,g=u;p0?this._renderMessages(this._lastLineNumber,this._messages):this.hide()},t.prototype._renderMessages=function(e,t){this._renderDisposeables.clear();for(var n=document.createDocumentFragment(),i=0,r=t;i=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},he=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},fe=function(){function e(e,t,n,i,r,o){var a=this;this._editor=e,this._openerService=t,this._modeService=n,this._markerDecorationsService=i,this._keybindingService=r,this._themeService=o,this._toUnhook=new s.b,this._isMouseDown=!1,this._hoverClicked=!1,this._contentWidget=null,this._glyphWidget=null,this._hookEvents(),this._didChangeConfigurationHandler=this._editor.onDidChangeConfiguration(function(e){e.contribInfo&&(a._hideWidgets(),a._unhookEvents(),a._hookEvents())})}return Object.defineProperty(e.prototype,"contentWidget",{get:function(){return this._contentWidget||this._createHoverWidgets(),this._contentWidget},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"glyphWidget",{get:function(){return this._glyphWidget||this._createHoverWidgets(),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()},n=this._editor.getConfiguration().contribInfo.hover;this._isHoverEnabled=n.enabled,this._isHoverSticky=n.sticky,this._isHoverEnabled?(this._toUnhook.add(this._editor.onMouseDown(function(t){return e._onEditorMouseDown(t)})),this._toUnhook.add(this._editor.onMouseUp(function(t){return e._onEditorMouseUp(t)})),this._toUnhook.add(this._editor.onMouseMove(function(t){return e._onEditorMouseMove(t)})),this._toUnhook.add(this._editor.onKeyDown(function(t){return e._onKeyDown(t)})),this._toUnhook.add(this._editor.onDidChangeModelDecorations(function(){return e._onModelDecorationsChanged()}))):this._toUnhook.add(this._editor.onMouseMove(t)),this._toUnhook.add(this._editor.onMouseLeave(t)),this._toUnhook.add(this._editor.onDidChangeModel(t)),this._toUnhook.add(this._editor.onDidScrollChange(function(t){return e._onEditorScrollChanged(t)}))},e.prototype._unhookEvents=function(){this._toUnhook.clear()},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;9!==t||e.target.detail!==re.ID?12===t&&e.target.detail===ae.ID||(12!==t&&e.target.detail!==ae.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;if(!(this._isMouseDown&&this._hoverClicked&&this.contentWidget.isColorPickerVisible()||this._isHoverSticky&&9===t&&e.target.detail===re.ID||this._isHoverSticky&&12===t&&e.target.detail===ae.ID)){if(7===t){var n=this._editor.getConfiguration().fontInfo.typicalHalfwidthCharacterWidth/2,i=e.target.detail;i&&!i.isAfterLines&&"number"==typeof i.horizontalDistanceToText&&i.horizontalDistanceToText=12&&t<=16)return!1}return!0};var i=n("Kp7x"),r=function(){function e(){this._zoomLevel=0,this._lastZoomLevelChangeTime=0,this._onDidChangeZoomLevel=new i.a,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.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.INSTANCE=new e,e}();var o=navigator.userAgent,s=o.indexOf("Trident")>=0,a=o.indexOf("Edge/")>=0,u=s||a,c=o.indexOf("Firefox")>=0,l=o.indexOf("AppleWebKit")>=0,d=o.indexOf("Chrome")>=0,h=!d&&o.indexOf("Safari")>=0,f=!d&&!h&&l,p=o.indexOf("iPad")>=0,g=a&&o.indexOf("WebView/")>=0},lQBd:function(e,t,n){"use strict";var i=n("KDHK"),r=i.define("Time",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),o=i.define("AttributeTypeValue",function(){this.seq().obj(this.key("type").objid(),this.key("value").any())}),s=i.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())}),a=i.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())}),u=i.define("RelativeDistinguishedName",function(){this.setof(o)}),c=i.define("RDNSequence",function(){this.seqof(u)}),l=i.define("Name",function(){this.choice({rdnSequence:this.use(c)})}),d=i.define("Validity",function(){this.seq().obj(this.key("notBefore").use(r),this.key("notAfter").use(r))}),h=i.define("Extension",function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())}),f=i.define("TBSCertificate",function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(s),this.key("issuer").use(l),this.key("validity").use(d),this.key("subject").use(l),this.key("subjectPublicKeyInfo").use(a),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(h).optional())}),p=i.define("X509Certificate",function(){this.seq().obj(this.key("tbsCertificate").use(f),this.key("signatureAlgorithm").use(s),this.key("signatureValue").bitstr())});e.exports=p},lUSU:function(e,t,n){var i=n("H2Pp");t.encrypt=function(e,t){var n=i(t,e._prev);return e._prev=e._cipher.encryptBlock(n),e._prev},t.decrypt=function(e,t){var n=e._prev;e._prev=t;var r=e._cipher.decryptBlock(t);return i(r,n)}},lWLP:function(e,t,n){"use strict";n.d(t,"b",function(){return o}),n.d(t,"a",function(){return s});var i=n("hK2W"),r=function(){function e(e,t,n){void 0===n&&(n=t),this.modifierLabels=[null],this.modifierLabels[2]=e,this.modifierLabels[1]=t,this.modifierLabels[3]=n}return e.prototype.toLabel=function(e,t,n){if(0===t.length)return null;for(var i=[],r=0,o=t.length;r1)if(r.a.visibleColumnFromColumn(_,b+1,d)%h!=0&&t.isCheapToTokenize(v-1)){var y=a.a.getRawEnterActionAtPosition(t,v-1,t.getLineMaxColumn(v-1));if(y){if(m=g,y.appendText)for(var w=0,C=y.appendText.length;wp+(n.clockTolerance||0))return f(new r("jwt not active",new Date(1e3*b.nbf)))}if(void 0!==b.exp&&!n.ignoreExpiration){if("number"!=typeof b.exp)return f(new i("invalid exp value"));if(p>=b.exp+(n.clockTolerance||0))return f(new o("jwt expired",new Date(1e3*b.exp)))}if(n.audience){var y=Array.isArray(n.audience)?n.audience:[n.audience];if(!(Array.isArray(b.aud)?b.aud:[b.aud]).some(function(e){return y.some(function(t){return t instanceof RegExp?t.test(e):t===e})}))return f(new i("jwt audience invalid. expected: "+y.join(" or ")))}if(n.issuer&&("string"==typeof n.issuer&&b.iss!==n.issuer||Array.isArray(n.issuer)&&-1===n.issuer.indexOf(b.iss)))return f(new i("jwt issuer invalid. expected: "+n.issuer));if(n.subject&&b.sub!==n.subject)return f(new i("jwt subject invalid. expected: "+n.subject));if(n.jwtid&&b.jti!==n.jwtid)return f(new i("jwt jwtid invalid. expected: "+n.jwtid));if(n.nonce&&b.nonce!==n.nonce)return f(new i("jwt nonce invalid. expected: "+n.nonce));if(n.maxAge){if("number"!=typeof b.iat)return f(new i("iat required when maxAge is specified"));var w=a(n.maxAge,b.iat);if(void 0===w)return f(new i('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));if(p>=w+(n.clockTolerance||0))return f(new o("maxAge exceeded",new Date(1e3*w)))}if(!0===n.complete){var C=g.signature;return f(null,{header:_,payload:b,signature:C})}return f(null,b)})}},mcra:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,r=n("hK2W"),o=n("03Zz"),s=n("/9db"),a=n("vTy2"),u=function(){function e(e,t){this._selection=e,this._isMovingLeft=t,this._cutStartIndex=-1,this._cutEndIndex=-1,this._moved=!1,this._selectionId=null}return e.prototype.getEditOperations=function(e,t){var n=this._selection;if(this._selectionId=t.trackSelection(n),n.startLineNumber===n.endLineNumber&&(!this._isMovingLeft||0!==n.startColumn)&&(this._isMovingLeft||n.endColumn!==e.getLineMaxColumn(n.startLineNumber))){var i,r,o,s=n.selectionStartLineNumber,u=e.getLineContent(s);this._isMovingLeft?(i=u.substring(0,n.startColumn-2),r=u.substring(n.startColumn-1,n.endColumn-1),o=u.substring(n.startColumn-2,n.startColumn-1)+u.substring(n.endColumn-1)):(i=u.substring(0,n.startColumn-1)+u.substring(n.endColumn-1,n.endColumn),r=u.substring(n.startColumn-1,n.endColumn-1),o=u.substring(n.endColumn));var c=i+r+o;t.addEditOperation(new a.a(s,1,s,e.getLineMaxColumn(s)),null),t.addEditOperation(new a.a(s,1,s,1),c),this._cutStartIndex=n.startColumn+(this._isMovingLeft?-1:1),this._cutEndIndex=this._cutStartIndex+n.endColumn-n.startColumn,this._moved=!0}},e.prototype.computeCursorState=function(e,t){var n=t.getTrackedSelection(this._selectionId);return this._moved&&(n=(n=n.setStartPosition(n.startLineNumber,this._cutStartIndex)).setEndPosition(n.startLineNumber,this._cutEndIndex)),n},e}(),c=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=function(e){function t(t,n){var i=e.call(this,n)||this;return i.left=t,i}return c(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=[],i=0,r=t.getSelections();i=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o)-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),void 0!==n&&(n+=e.charAt(r));else{void 0===n&&(n=e.substr(0,r));var s=v[o];void 0!==s?(-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),n+=s):-1===i&&(i=r)}}return-1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function b(e){for(var t=void 0,n=0;n1&&"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,o.g&&(t=t.replace(/\//g,"\\")),t}function w(e,t){var n=t?b:_,i="",r=e.scheme,o=e.authority,s=e.path,a=e.query,u=e.fragment;if(r&&(i+=r,i+=":"),(o||"file"===r)&&(i+=h,i+=h),o){var c=o.indexOf("@");if(-1!==c){var l=o.substr(0,c);o=o.substr(c+1),-1===(c=l.indexOf(":"))?i+=n(l,!1):(i+=n(l.substr(0,c),!1),i+=":",i+=n(l.substr(c+1),!1)),i+="@"}-1===(c=(o=o.toLowerCase()).indexOf(":"))?i+=n(o,!1):(i+=n(o.substr(0,c),!1),i+=o.substr(c))}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))}i+=n(s,!0)}return a&&(i+="?",i+=n(a,!1)),u&&(i+="#",i+=t?u:_(u,!1)),i}},mtgd:function(e,t,n){"use strict";var i=n("TU7t"),r=n("aL7J");function o(e){return Object(r.o)(e)}n.d(t,"a",function(){return s});var s=function(){function e(e,t){this.supportOcticons=t,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,n,r,o){void 0===n&&(n=[]),void 0===r&&(r=""),t||(t=""),o&&(t=e.escapeNewLines(t,n)),this.didEverRender&&this.text===t&&this.title===r&&i.e(this.highlights,n)||(Array.isArray(n)||(n=[]),this.text=t,this.title=r,this.highlights=n,this.render())},e.prototype.render=function(){for(var e="",t=0,n=0,i=this.highlights;n";var a=this.text.substring(t,s.start);e+=this.supportOcticons?o(a):Object(r.o)(a),e+="",t=s.end}e+='';var u=this.text.substring(s.start,s.end);e+=this.supportOcticons?o(u):Object(r.o)(u),e+="",t=s.end}}if(t";u=this.text.substring(t);e+=this.supportOcticons?o(u):Object(r.o)(u),e+=""}this.domNode.innerHTML=e,this.domNode.title=this.title,this.didEverRender=!0},e.escapeNewLines=function(e,t){var n=0,i=0;return e.replace(/\r\n|\r|\n/g,function(e,r){i="\r\n"===e?-1:0,r+=n;for(var o=0,s=t;o=r&&(a.start+=i),a.end>=r&&(a.end+=i))}return n+=i,"⏎"})},e}()},nLHh:function(e,t){},nOGB:function(e,t,n){var i=n("EuP9").Buffer;e.exports=function(e){return"string"==typeof e?e:"number"==typeof e||i.isBuffer(e)?e.toString():JSON.stringify(e)}},nY9q:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"defaultReferenceSearchOptions",function(){return E}),n.d(t,"ReferenceController",function(){return I}),n.d(t,"ReferenceAction",function(){return D}),t.provideReferences=P;var i,r=n("hK2W"),o=n("7g0X"),s=n("Kx4b"),a=n("artP"),u=n("03Zz"),c=n("PCC9"),l=n("vTy2"),d=n("fw2Z"),h=n("Pb27"),f=n("9uVW"),p=n("odeJ"),g=n("zxiH"),m=n("/9db"),v=n("IrTV"),_=n("P1SM"),b=n("bhIx"),y=n("ni2T"),w=n("ItKl"),C=n("mrx5"),S=n("vORD"),x=n("80kS"),L=n("X6iQ"),O=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),k=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},N=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},E={getMetaTitle:function(e){return e.references.length>1?r.a("meta.titleReference"," – {0} references",e.references.length):""}},I=function(){function e(e,t){e instanceof v.a&&d.b.inPeekEditor.bindTo(t)}return e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.ID="editor.contrib.referenceController",e=k([N(1,o.c)],e)}(),D=function(e){function t(){return e.call(this,{id:"editor.action.referenceSearch.trigger",label:r.a("references.action.label","Peek References"),alias:"Peek References",precondition:o.a.and(m.a.hasReferenceProvider,d.b.notInPeekEditor,m.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:m.a.editorTextFocus,primary:1094,weight:100},menuOpts:{group:"navigation",order:1.5}})||this}return O(t,e),t.prototype.run=function(e,t){var n=h.a.get(t);if(n&&t.hasModel()){var i=t.getSelection(),r=t.getModel(),o=Object(p.f)(function(e){return P(r,i.getStartPosition(),e).then(function(e){return new f.c(e)})});n.toggleWidget(i,o,E)}},t}(u.b);Object(u.h)(I),Object(u.f)(D);function M(e,t){T(e,function(e){return e.closeWidget()})}function T(e,t){var n=Object(d.d)(e);if(n){var i=h.a.get(n);i&&t(i)}}function P(e,t,n){var i=c.s.ordered(e).map(function(i){return Promise.resolve(i.provideReferences(e,t,{includeDeclaration:!0},n)).then(function(e){if(Array.isArray(e))return e},function(e){Object(g.f)(e)})});return Promise.all(i).then(function(e){return Object(L.k)(Object(L.d)(e))})}w.a.registerCommand({id:"editor.action.findReferences",handler:function(e,t,n){if(!(t instanceof C.a))throw new Error("illegal argument, uri");if(!n)throw new Error("illegal argument, position");var i=e.get(S.a);return i.openCodeEditor({resource:t},i.getFocusedCodeEditor()).then(function(e){if(Object(_.a)(e)&&e.hasModel()){var t=h.a.get(e);if(t){var i=Object(p.f)(function(t){return P(e.getModel(),a.a.lift(n),t).then(function(e){return new f.c(e)})}),r=new l.a(n.lineNumber,n.column,n.lineNumber,n.column);return Promise.resolve(t.toggleWidget(r,i,E))}}})}}),w.a.registerCommand({id:"editor.action.showReferences",handler:function(e,t,n,i){if(!(t instanceof C.a))throw new Error("illegal argument, uri expected");if(!i)throw new Error("missing references");var r=e.get(S.a);return r.openCodeEditor({resource:t},r.getFocusedCodeEditor()).then(function(e){if(Object(_.a)(e)){var t=h.a.get(e);if(t)return t.toggleWidget(new l.a(n.lineNumber,n.column,n.lineNumber,n.column),Object(p.f)(function(e){return Promise.resolve(new f.c(i))}),E)}})},description:{description:"Show references at a position in a file",args:[{name:"uri",description:"The text document in which to show references",constraint:C.a},{name:"position",description:"The position at which to show",constraint:a.a.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array}]}}),s.a.registerCommandAndKeybindingRule({id:"goToNextReference",weight:250,primary:62,when:h.b,handler:function(e){T(e,function(e){e.goToNextOrPreviousReference(!0)})}}),s.a.registerCommandAndKeybindingRule({id:"goToNextReferenceFromEmbeddedEditor",weight:150,primary:62,when:d.b.inPeekEditor,handler:function(e){T(e,function(e){e.goToNextOrPreviousReference(!0)})}}),s.a.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:250,primary:1086,when:h.b,handler:function(e){T(e,function(e){e.goToNextOrPreviousReference(!1)})}}),s.a.registerCommandAndKeybindingRule({id:"goToPreviousReferenceFromEmbeddedEditor",weight:150,primary:1086,when:d.b.inPeekEditor,handler:function(e){T(e,function(e){e.goToNextOrPreviousReference(!1)})}}),s.a.registerCommandAndKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:o.a.and(h.b,o.a.not("config.editor.stablePeek")),handler:M}),s.a.registerCommandAndKeybindingRule({id:"closeReferenceSearchEditor",weight:-1,primary:9,secondary:[1033],when:o.a.and(d.b.inPeekEditor,o.a.not("config.editor.stablePeek")),handler:M}),s.a.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:o.a.and(h.b,y.c),handler:function(e,t){var n=e.get(b.a),i=n.lastFocusedList&&n.lastFocusedList.getFocus();i instanceof f.b&&T(e,function(e){return e.openReference(i,!0)})}}),Object(u.e)("_executeReferenceProvider",function(e,t){return P(e,t,x.a.None)})},ni2T:function(e,t,n){"use strict";var i,r,o,s=n("7/Cv"),a=n("TNPA"),u=n("Kp7x"),c=n("tqet"),l=n("lapT"),d=n("ZYUE"),h=(n("Bv73"),n("IrTV")),f=n("vTy2"),p=n("0ly5"),g=n("B/Xy"),m=n("9uVW"),v=n("tpa8"),_=(n("0u1n"),n("aL7J")),b=n("TU7t"),y={badgeBackground:a.a.fromHex("#4D4D4D"),badgeForeground:a.a.fromHex("#FFFFFF")},w=function(){function e(e,t){this.count=0,this.options=t||Object.create(null),Object(b.g)(this.options,y,!1),this.badgeBackground=this.options.badgeBackground,this.badgeForeground=this.options.badgeForeground,this.badgeBorder=this.options.badgeBorder,this.element=Object(s.m)(e,Object(s.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(_.r)(this.countFormat,this.count),this.element.title=Object(_.r)(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,n=this.badgeBorder?this.badgeBorder.toString():null;this.element.style.backgroundColor=e,this.element.style.color=t,this.element.style.borderWidth=n?"1px":null,this.element.style.borderStyle=n?"solid":null,this.element.style.borderColor=n}},e}(),C=n("g1W0"),S=n("eoic"),x=n("Yqb6"),L=n("hK2W"),O=n("1sup"),k=n("JVO/"),N=n("NqM+"),E=n("GYOr"),I=n("mtgd"),D=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),M=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},T=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},P=function(){function e(e){this._resolverService=e}return e.prototype.hasChildren=function(e){return e instanceof m.c||e instanceof m.a&&!e.failure},e.prototype.getChildren=function(e){if(e instanceof m.c)return e.groups;if(e instanceof m.a)return e.resolve(this._resolverService).then(function(e){return e.children});throw new Error("bad tree")},e=M([T(0,g.a)],e)}(),A=function(){function e(){}return e.prototype.getHeight=function(){return 23},e.prototype.getTemplateId=function(e){return e instanceof m.a?W.id:V.id},e}(),R=function(){function e(e){this._keybindingService=e}return e.prototype.getKeyboardNavigationLabel=function(e){if(e instanceof m.b){var t=e.parent.preview,n=t&&t.preview(e.range);if(n)return n.value}return Object(d.b)(e.uri)},e.prototype.mightProducePrintableCharacter=function(e){return this._keybindingService.mightProducePrintableCharacter(e)},e=M([T(0,N.a)],e)}(),F=function(){function e(){}return e.prototype.getId=function(e){return e.id},e}(),j=function(e){function t(t,n,i){var r=e.call(this)||this;r._uriLabel=n;var o=document.createElement("div");return s.f(o,"reference-file"),r.file=r._register(new v.a(o,{supportHighlights:!0})),r.badge=new w(s.m(o,s.a(".count"))),r._register(Object(x.a)(r.badge,i)),t.appendChild(o),r}return D(t,e),t.prototype.set=function(e,t){var n=Object(d.d)(e.uri);this.file.setLabel(Object(O.a)(e.uri),this._uriLabel.getUriLabel(n,{relative:!0}),{title:this._uriLabel.getUriLabel(e.uri),matches:t});var i=e.children.length;this.badge.setCount(i),e.failure?this.badge.setTitleFormat(Object(L.a)("referencesFailre","Failed to resolve file.")):i>1?this.badge.setTitleFormat(Object(L.a)("referencesCount","{0} references",i)):this.badge.setTitleFormat(Object(L.a)("referenceCount","{0} reference",i))},t=M([T(1,C.a),T(2,S.c)],t)}(c.a),W=function(){function e(t){this._instantiationService=t,this.templateId=e.id}return e.prototype.renderTemplate=function(e){return this._instantiationService.createInstance(j,e)},e.prototype.renderElement=function(e,t,n){n.set(e.element,Object(E.c)(e.filterData))},e.prototype.disposeTemplate=function(e){e.dispose()},e.id="FileReferencesRenderer",e=M([T(0,k.a)],e)}(),B=function(){function e(e){this.label=new I.a(e,!1)}return e.prototype.set=function(e,t){var n=e.parent.preview,i=n&&n.preview(e.range);if(i){var r=i.value,o=i.highlight;t&&!E.a.isDefault(t)?(s.R(this.label.element,"referenceMatch",!1),this.label.set(r,Object(E.c)(t))):(s.R(this.label.element,"referenceMatch",!0),this.label.set(r,[o]))}else this.label.set(Object(d.b)(e.uri)+":"+(e.range.startLineNumber+1)+":"+(e.range.startColumn+1))},e}(),V=function(){function e(){this.templateId=e.id}return e.prototype.renderTemplate=function(e){return new B(e)},e.prototype.renderElement=function(e,t,n){n.set(e.element,e.filterData)},e.prototype.disposeTemplate=function(){},e.id="OneReferenceRenderer",e}(),H=function(){function e(){}return e.prototype.getAriaLabel=function(e){return e instanceof m.a?e.getAriaMessage():e instanceof m.b?e.getAriaMessage():null},e}(),z=n("7g0X"),U=n("bhIx"),K=n("L5KM"),q=n("fw2Z"),G=(n("C9H4"),n("KIxu")),Z=n("ot3f"),Y=n("X6iQ"),X=n("5tK6"),$=n("Gxst"),J=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Q={separatorBorder:a.a.transparent},ee=function(){function e(e,t,n,i){this.container=e,this.view=t,this.disposable=i,this._cachedVisibleSize=void 0,"number"==typeof n?(this._size=n,this._cachedVisibleSize=void 0,s.f(e,"visible")):(this._size=0,this._cachedVisibleSize=n.cachedVisibleSize)}return Object.defineProperty(e.prototype,"size",{get:function(){return this._size},set:function(e){this._size=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"visible",{get:function(){return void 0===this._cachedVisibleSize},enumerable:!0,configurable:!0}),e.prototype.setVisible=function(e,t){e!==this.visible&&(e?(this.size=Object(Z.a)(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize="number"==typeof t?t:this.size,this.size=0),s.R(this.container,"visible",e),this.view.setVisible&&this.view.setVisible(e))},Object.defineProperty(e.prototype,"minimumSize",{get:function(){return this.visible?this.view.minimumSize:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"viewMinimumSize",{get:function(){return this.view.minimumSize},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maximumSize",{get:function(){return this.visible?this.view.maximumSize:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"viewMaximumSize",{get:function(){return this.view.maximumSize},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"priority",{get:function(){return this.view.priority},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"snap",{get:function(){return!!this.view.snap},enumerable:!0,configurable:!0}),e.prototype.layout=function(e){this.view.layout(this.size,e)},e.prototype.dispose=function(){return this.disposable.dispose(),this.view},e}(),te=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return J(t,e),t.prototype.layout=function(t){e.prototype.layout.call(this,t),this.container.style.height=this.size+"px"},t}(ee),ne=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return J(t,e),t.prototype.layout=function(t){e.prototype.layout.call(this,t),this.container.style.width=this.size+"px"},t}(ee);!function(e){e[e.Idle=0]="Idle",e[e.Busy=1]="Busy"}(r||(r={})),function(e){e.Distribute={type:"distribute"},e.Split=function(e){return{type:"split",index:e}},e.Invisible=function(e){return{type:"invisible",cachedVisibleSize:e}}}(o||(o={}));var ie=function(e){function t(t,n){void 0===n&&(n={});var i=e.call(this)||this;return i.size=0,i.contentSize=0,i.proportions=void 0,i.viewItems=[],i.sashItems=[],i.state=r.Idle,i._onDidSashChange=i._register(new u.a),i.onDidSashChange=i._onDidSashChange.event,i._onDidSashReset=i._register(new u.a),i.orientation=G.j(n.orientation)?0:n.orientation,i.inverseAltBehavior=!!n.inverseAltBehavior,i.proportionalLayout=!!G.j(n.proportionalLayout)||!!n.proportionalLayout,i.el=document.createElement("div"),s.f(i.el,"monaco-split-view2"),s.f(i.el,0===i.orientation?"vertical":"horizontal"),t.appendChild(i.el),i.sashContainer=s.m(i.el,s.a(".sash-container")),i.viewContainer=s.m(i.el,s.a(".split-view-container")),i.style(n.styles||Q),n.descriptor&&(i.size=n.descriptor.size,n.descriptor.views.forEach(function(e,t){var n=G.j(e.visible)||e.visible?e.size:{type:"invisible",cachedVisibleSize:e.size},r=e.view;i.doAddView(r,n,t,!0)}),i.contentSize=i.viewItems.reduce(function(e,t){return e+t.size},0),i.saveProportions()),i}return J(t,e),Object.defineProperty(t.prototype,"orthogonalStartSash",{get:function(){return this._orthogonalStartSash},set:function(e){for(var t=0,n=this.sashItems;t0&&(this.proportions=this.viewItems.map(function(t){return t.size/e.contentSize}))},t.prototype.onSashStart=function(e){var t=this,n=e.sash,i=e.start,r=e.alt,o=Object(Y.j)(this.sashItems,function(e){return e.sash===n}),s=Object(c.e)(Object($.a)(document.body,"keydown")(function(e){return a(t.sashDragState.current,e.altKey)}),Object($.a)(document.body,"keyup")(function(){return a(t.sashDragState.current,!1)})),a=function(e,n){var i,r,a=t.viewItems.map(function(e){return e.size}),u=Number.NEGATIVE_INFINITY,c=Number.POSITIVE_INFINITY;(t.inverseAltBehavior&&(n=!n),n)&&(o===t.sashItems.length-1?(u=((y=t.viewItems[o]).minimumSize-y.size)/2,c=(y.maximumSize-y.size)/2):(u=((y=t.viewItems[o+1]).size-y.maximumSize)/2,c=(y.size-y.minimumSize)/2));if(!n){var l=Object(Y.r)(o,-1),d=Object(Y.r)(o+1,t.viewItems.length),h=l.reduce(function(e,n){return e+(t.viewItems[n].minimumSize-a[n])},0),f=l.reduce(function(e,n){return e+(t.viewItems[n].viewMaximumSize-a[n])},0),p=0===d.length?Number.POSITIVE_INFINITY:d.reduce(function(e,n){return e+(a[n]-t.viewItems[n].minimumSize)},0),g=0===d.length?Number.NEGATIVE_INFINITY:d.reduce(function(e,n){return e+(a[n]-t.viewItems[n].viewMaximumSize)},0),m=Math.max(h,g),v=Math.min(p,f),_=t.findFirstSnapIndex(l),b=t.findFirstSnapIndex(d);if("number"==typeof _){var y=t.viewItems[_],w=Math.floor(y.viewMinimumSize/2);i={index:_,limitDelta:y.visible?m-w:m+w,size:y.size}}if("number"==typeof b){y=t.viewItems[b],w=Math.floor(y.viewMinimumSize/2);r={index:b,limitDelta:y.visible?v+w:v-w,size:y.size}}}t.sashDragState={start:e,current:e,index:o,sizes:a,minDelta:u,maxDelta:c,alt:n,snapBefore:i,snapAfter:r,disposable:s}};a(i,r)},t.prototype.onSashChange=function(e){var t=e.current,n=this.sashDragState,i=n.index,r=n.start,o=n.sizes,s=n.alt,a=n.minDelta,u=n.maxDelta,c=n.snapBefore,l=n.snapAfter;this.sashDragState.current=t;var d=t-r,h=this.resize(i,d,o,void 0,void 0,a,u,c,l);if(s){var f=i===this.sashItems.length-1,p=this.viewItems.map(function(e){return e.size}),g=f?i:i+1,m=this.viewItems[g],v=m.size-m.maximumSize,_=m.size-m.minimumSize,b=f?i-1:i+1;this.resize(b,-h,p,void 0,void 0,v,_)}this.distributeEmptySpace(),this.layoutViews()},t.prototype.onSashEnd=function(e){this._onDidSashChange.fire(e),this.sashDragState.disposable.dispose(),this.saveProportions()},t.prototype.onViewChange=function(e,t){var n=this.viewItems.indexOf(e);n<0||n>=this.viewItems.length||(t="number"==typeof t?t:e.size,t=Object(Z.a)(t,e.minimumSize,e.maximumSize),this.inverseAltBehavior&&n>0?(this.resize(n-1,Math.floor((e.size-t)/2)),this.distributeEmptySpace(),this.layoutViews()):(e.size=t,this.relayout([n],void 0)))},t.prototype.resizeView=function(e,t){var n=this;if(this.state!==r.Idle)throw new Error("Cant modify splitview");if(this.state=r.Busy,!(e<0||e>=this.viewItems.length)){var i=Object(Y.r)(this.viewItems.length).filter(function(t){return t!==e}),o=i.filter(function(e){return 1===n.viewItems[e].priority}).concat([e]),s=i.filter(function(e){return 2===n.viewItems[e].priority}),a=this.viewItems[e];t=Math.round(t),t=Object(Z.a)(t,a.minimumSize,Math.min(a.maximumSize,this.size)),a.size=t,this.relayout(o,s),this.state=r.Idle}},t.prototype.distributeViewSizes=function(){for(var e=this,t=[],n=0,i=0,r=this.viewItems;i0&&(t.push(u),n+=u.size)}for(var o=Math.floor(n/t.length),s=0,a=t;s=this.viewItems.length?-1:this.viewItems[e].size},t.prototype.doAddView=function(e,t,n,i){var o=this;if(void 0===n&&(n=this.viewItems.length),this.state!==r.Idle)throw new Error("Cant modify splitview");this.state=r.Busy;var a=s.a(".split-view-view");n===this.viewItems.length?this.viewContainer.appendChild(a):this.viewContainer.insertBefore(a,this.viewContainer.children.item(n));var l,d=e.onDidChange(function(e){return o.onViewChange(g,e)}),h=Object(c.h)(function(){return o.viewContainer.removeChild(a)}),f=Object(c.e)(d,h);l="number"==typeof t?t:"split"===t.type?this.getViewSize(t.index)/2:"invisible"===t.type?{cachedVisibleSize:t.cachedVisibleSize}:e.minimumSize;var p,g=0===this.orientation?new te(a,e,l,f):new ne(a,e,l,f);if(this.viewItems.splice(n,0,g),this.viewItems.length>1){var m=0===this.orientation?1:0,v=0===this.orientation?{getHorizontalSashTop:function(e){return o.getSashPosition(e)}}:{getVerticalSashLeft:function(e){return o.getSashPosition(e)}},_=new X.a(this.sashContainer,v,{orientation:m,orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash}),b=0===this.orientation?function(e){return{sash:_,start:e.startY,current:e.currentY,alt:e.altKey}}:function(e){return{sash:_,start:e.startX,current:e.currentX,alt:e.altKey}},y=u.b.map(_.onDidStart,b)(this.onSashStart,this),w=u.b.map(_.onDidChange,b)(this.onSashChange,this),C=u.b.map(_.onDidEnd,function(){return Object(Y.j)(o.sashItems,function(e){return e.sash===_})})(this.onSashEnd,this),S=_.onDidReset(function(){var e=Object(Y.j)(o.sashItems,function(e){return e.sash===_}),t=Object(Y.r)(e,-1),n=Object(Y.r)(e+1,o.viewItems.length),i=o.findFirstSnapIndex(t),r=o.findFirstSnapIndex(n);("number"!=typeof i||o.viewItems[i].visible)&&("number"!=typeof r||o.viewItems[r].visible)&&o._onDidSashReset.fire(e)}),x=Object(c.e)(y,w,C,S,_),L={sash:_,disposable:x};this.sashItems.splice(n-1,0,L)}a.appendChild(e.element),"number"!=typeof t&&"split"===t.type&&(p=[t.index]),i||this.relayout([n],p),this.state=r.Idle,i||"number"==typeof t||"distribute"!==t.type||this.distributeViewSizes()},t.prototype.relayout=function(e,t){var n=this.viewItems.reduce(function(e,t){return e+t.size},0);this.resize(this.viewItems.length-1,this.size-n,void 0,e,t),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()},t.prototype.resize=function(e,t,n,i,r,o,s,a,u){var c=this;if(void 0===n&&(n=this.viewItems.map(function(e){return e.size})),void 0===o&&(o=Number.NEGATIVE_INFINITY),void 0===s&&(s=Number.POSITIVE_INFINITY),e<0||e>=this.viewItems.length)return 0;var l=Object(Y.r)(e,-1),d=Object(Y.r)(e+1,this.viewItems.length);if(r)for(var h=0,f=r;h=a.limitDelta)!==E.visible,E.setVisible(I,a.size)}if(!N&&u){var I;E=this.viewItems[u.index];N=(I=t0||t});t=!1;var i=this.viewItems.map(function(e){return t=e.maximumSize-e.size>0||t}),r=this.viewItems.slice().reverse();t=!1;var o=r.map(function(e){return t=e.size-e.minimumSize>0||t}).reverse();t=!1;var s=r.map(function(e){return t=e.maximumSize-e.size>0||t}).reverse();this.sashItems.forEach(function(t,r){var a=t.sash,u=!(n[r]&&s[r+1]),c=!(i[r]&&o[r+1]);if(u&&c){var l=Object(Y.r)(r,-1),d=Object(Y.r)(r+1,e.viewItems.length),h=e.findFirstSnapIndex(l),f=e.findFirstSnapIndex(d),p="number"==typeof h&&!e.viewItems[h].visible,g="number"==typeof f&&!e.viewItems[f].visible;p&&o[r]?a.state=1:g&&n[r]?a.state=2:a.state=0}else a.state=u&&!c?1:!u&&c?2:3})},t.prototype.getSashPosition=function(e){for(var t=0,n=0;n0)return;if(!s.visible&&s.snap)return i}},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.viewItems.forEach(function(e){return e.dispose()}),this.viewItems=[],this.sashItems.forEach(function(e){return e.disposable.dispose()}),this.sashItems=[]},t}(c.a);n.d(t,"a",function(){return le}),n.d(t,"c",function(){return de}),n.d(t,"b",function(){return he}),n.d(t,"d",function(){return pe}),n.d(t,"e",function(){return ge});var re=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),oe=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},se=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ae=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},ue=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]0?e.children[0]:void 0},t.prototype._revealReference=function(e,t){return ae(this,void 0,void 0,function(){var n,i,r,o,s;return ue(this,function(a){switch(a.label){case 0:return this._revealedReference===e?[2]:(this._revealedReference=e,e.uri.scheme!==l.b.inMemory?this.setTitle(Object(d.c)(e.uri),this._uriLabel.getUriLabel(Object(d.d)(e.uri))):this.setTitle(L.a("peekView.alternateTitle","References")),n=this._textModelResolverService.createModelReference(e.uri),this._tree.getInput()!==e.parent?[3,1]:(this._tree.reveal(e),[3,3]));case 1:return t&&this._tree.reveal(e.parent),[4,this._tree.expand(e.parent)];case 2:a.sent(),this._tree.reveal(e),a.label=3;case 3:return[4,n];case 4:return i=a.sent(),this._model?(Object(c.f)(this._previewModelReference),(r=i.object)?(o=this._preview.getModel()===r.textEditorModel?0:1,s=f.a.lift(e.range).collapseToStart(),this._previewModelReference=i,this._preview.setModel(r.textEditorModel),this._preview.setSelection(s),this._preview.revealRangeInCenter(s,o)):(this._preview.setModel(this._previewNotAvailableMessage),i.dispose()),[2]):(i.dispose(),[2])}})})},t=oe([se(3,S.c),se(4,g.a),se(5,k.a),se(6,q.a),se(7,C.a)],t)}(q.c),fe=Object(K._36)("peekViewTitle.background",{dark:"#1E1E1E",light:"#FFFFFF",hc:"#0C141F"},L.a("peekViewTitleBackground","Background color of the peek view title area.")),pe=Object(K._36)("peekViewTitleLabel.foreground",{dark:"#FFFFFF",light:"#333333",hc:"#FFFFFF"},L.a("peekViewTitleForeground","Color of the peek view title.")),ge=Object(K._36)("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#6c6c6cb3",hc:"#FFFFFF99"},L.a("peekViewTitleInfoForeground","Color of the peek view title info.")),me=Object(K._36)("peekView.border",{dark:"#007acc",light:"#007acc",hc:K.e},L.a("peekViewBorder","Color of the peek view borders and arrow.")),ve=Object(K._36)("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hc:a.a.black},L.a("peekViewResultsBackground","Background color of the peek view result list.")),_e=Object(K._36)("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hc:a.a.white},L.a("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list.")),be=Object(K._36)("peekViewResult.fileForeground",{dark:a.a.white,light:"#1E1E1E",hc:a.a.white},L.a("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list.")),ye=Object(K._36)("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hc:null},L.a("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list.")),we=Object(K._36)("peekViewResult.selectionForeground",{dark:a.a.white,light:"#6C6C6C",hc:a.a.white},L.a("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list.")),Ce=Object(K._36)("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hc:a.a.black},L.a("peekViewEditorBackground","Background color of the peek view editor.")),Se=Object(K._36)("peekViewEditorGutter.background",{dark:Ce,light:Ce,hc:Ce},L.a("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor.")),xe=Object(K._36)("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hc:null},L.a("peekViewResultsMatchHighlight","Match highlight color in the peek view result list.")),Le=Object(K._36)("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hc:null},L.a("peekViewEditorMatchHighlight","Match highlight color in the peek view editor.")),Oe=Object(K._36)("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hc:K.b},L.a("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));Object(S.f)(function(e,t){var n=e.getColor(xe);n&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight { background-color: "+n+"; }");var i=e.getColor(Le);i&&t.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { background-color: "+i+"; }");var r=e.getColor(Oe);r&&t.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { border: 2px solid "+r+"; box-sizing: border-box; }");var o=e.getColor(K.b);o&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight { border: 1px dotted "+o+"; box-sizing: border-box; }");var s=e.getColor(ve);s&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree { background-color: "+s+"; }");var a=e.getColor(_e);a&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree { color: "+a+"; }");var u=e.getColor(be);u&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .reference-file { color: "+u+"; }");var c=e.getColor(ye);c&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) { background-color: "+c+"; }");var l=e.getColor(we);l&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) { color: "+l+" !important; }");var d=e.getColor(Ce);d&&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: "+d+";}");var h=e.getColor(Se);h&&t.addRule(".monaco-editor .reference-zone-widget .preview .monaco-editor .margin {\tbackground-color: "+h+";}")})},nyV4:function(e,t,n){"use strict";var i=n("08Lv"),r=n("LC74"),o={};t.instantiate=function(e){function t(t){e.call(this,t),this._cbcInit()}r(t,e);for(var n=Object.keys(o),i=0;i=r)return Promise.resolve(n);var s=e[i++],a=Promise.resolve(s());return a.then(function(e){return t(e)?Promise.resolve(e):o()})};return o()},n.d(t,"e",function(){return c}),n.d(t,"c",function(){return l}),n.d(t,"d",function(){return d}),n.d(t,"k",function(){return u}),n.d(t,"b",function(){return h});var i=n("80kS"),r=n("zxiH"),o=n("tqet");function s(e){var t=new i.b,n=e(t.token),o=new Promise(function(e,i){t.token.onCancellationRequested(function(){i(r.a())}),Promise.resolve(n).then(function(n){t.dispose(),e(n)},function(e){t.dispose(),i(e)})});return new(function(){function e(){}return e.prototype.cancel=function(){t.cancel()},e.prototype.then=function(e,t){return o.then(e,t)},e.prototype.catch=function(e){return this.then(void 0,e)},e.prototype.finally=function(e){return o.finally(e)},e}())}var a=function(){function e(e){this.defaultDelay=e,this.timeout=null,this.completionPromise=null,this.doResolve=null,this.task=null}return e.prototype.trigger=function(e,t){var n=this;return void 0===t&&(t=this.defaultDelay),this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise(function(e,t){n.doResolve=e,n.doReject=t}).then(function(){n.completionPromise=null,n.doResolve=null;var e=n.task;return n.task=null,e()})),this.timeout=setTimeout(function(){n.timeout=null,n.doResolve(null)},t),this.completionPromise},e.prototype.isTriggered=function(){return null!==this.timeout},e.prototype.cancel=function(){this.cancelTimeout(),this.completionPromise&&(this.doReject(r.a()),this.completionPromise=null)},e.prototype.cancelTimeout=function(){null!==this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},e.prototype.dispose=function(){this.cancelTimeout()},e}();var u,c=function(){function e(e,t){this._token=-1,"function"==typeof e&&"number"==typeof t&&this.setIfNotSet(e,t)}return e.prototype.dispose=function(){this.cancel()},e.prototype.cancel=function(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)},e.prototype.cancelAndSet=function(e,t){var n=this;this.cancel(),this._token=setTimeout(function(){n._token=-1,e()},t)},e.prototype.setIfNotSet=function(e,t){var n=this;-1===this._token&&(this._token=setTimeout(function(){n._token=-1,e()},t))},e}(),l=function(){function e(){this._token=-1}return e.prototype.dispose=function(){this.cancel()},e.prototype.cancel=function(){-1!==this._token&&(clearInterval(this._token),this._token=-1)},e.prototype.cancelAndSet=function(e,t){this.cancel(),this._token=setInterval(function(){e()},t)},e}(),d=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&&this.runner()},e}();!function(){if("function"!=typeof requestIdleCallback||"function"!=typeof cancelIdleCallback){var e=Object.freeze({didTimeout:!0,timeRemaining:function(){return 15}});u=function(t){var n=setTimeout(function(){return t(e)}),i=!1;return{dispose:function(){i||(i=!0,clearTimeout(n))}}}}else u=function(e,t){var n=requestIdleCallback(e,"number"==typeof t?{timeout:t}:void 0),i=!1;return{dispose:function(){i||(i=!0,cancelIdleCallback(n))}}}}();var h=function(){function e(e){var t=this;this._didRun=!1,this._executor=function(){try{t._value=e()}catch(e){t._error=e}finally{t._didRun=!0}},this._handle=u(function(){return t._executor()})}return e.prototype.dispose=function(){this._handle.dispose()},e.prototype.getValue=function(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value},e}()},oqRo:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("xF6g"),r=(n.n(i),n("hK2W")),o=n("odeJ"),s=n("zxiH"),a=n("3uSZ"),u=n("6TMp"),c=n("vTy2"),l=n("PCC9"),d=n("03Zz"),h=n("iLE3"),f=n("tqet"),p=n("B/Xy"),g=n("eoic"),m=n("L5KM"),v=n("4tuZ"),_=n("QfwU"),b=n("qzX+"),y=n("artP"),w=n("KIxu"),C=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},S=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},x=function(){function e(e,t,n){var i=this;this.textModelResolverService=t,this.modeService=n,this.toUnhook=new f.b,this.decorations=[],this.currentWordUnderMouse=null,this.previousPromise=null,this.editor=e;var r=new b.a(e);this.toUnhook.add(r),this.toUnhook.add(r.onMouseMoveOrRelevantKeyDown(function(e){var t=e[0],n=e[1];i.startFindDefinition(t,Object(w.m)(n))})),this.toUnhook.add(r.onExecute(function(e){i.isEnabled(e)&&i.gotoDefinition(e.target,e.hasSideBySideModifier).then(function(){i.removeDecorations()},function(e){i.removeDecorations(),Object(s.e)(e)})})),this.toUnhook.add(r.onCancel(function(){i.removeDecorations(),i.currentWordUnderMouse=null}))}return e.prototype.startFindDefinition=function(e,t){var n=this;if(!(9===e.target.type&&this.decorations.length>0)){if(!this.editor.hasModel()||!this.isEnabled(e,t))return this.currentWordUnderMouse=null,void this.removeDecorations();var i=e.target.position?this.editor.getModel().getWordAtPosition(e.target.position):null;if(!i)return this.currentWordUnderMouse=null,void this.removeDecorations();var u=e.target.position;if(!this.currentWordUnderMouse||this.currentWordUnderMouse.startColumn!==i.startColumn||this.currentWordUnderMouse.endColumn!==i.endColumn||this.currentWordUnderMouse.word!==i.word){this.currentWordUnderMouse=i;var l=new v.a(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=Object(o.f)(function(t){return n.findDefinition(e.target,t)}),this.previousPromise.then(function(e){if(e&&e.length&&l.validate(n.editor))if(e.length>1)n.addDecoration(new c.a(u.lineNumber,i.startColumn,u.lineNumber,i.endColumn),(new a.a).appendText(r.a("multipleResults","Click to show {0} definitions.",e.length)));else{var t=e[0];if(!t.uri)return;n.textModelResolverService.createModelReference(t.uri).then(function(e){if(e.object&&e.object.textEditorModel){var r=e.object.textEditorModel,o=t.range.startLineNumber;if(o<1||o>r.getLineCount())e.dispose();else{var s,l=n.getPreviewValue(r,o,t);s=t.originSelectionRange?c.a.lift(t.originSelectionRange):new c.a(u.lineNumber,i.startColumn,u.lineNumber,i.endColumn);var d=n.modeService.getModeIdByFilepathOrFirstLine(r.uri);n.addDecoration(s,(new a.a).appendCodeblock(d||"",l)),e.dispose()}}else e.dispose()})}else n.removeDecorations()}).then(void 0,s.e)}}},e.prototype.getPreviewValue=function(t,n,i){var r=i.targetSelectionRange?i.range:this.getPreviewRangeBasedOnBrackets(t,n);return r.endLineNumber-r.startLineNumber>=e.MAX_SOURCE_PREVIEW_LINES&&(r=this.getPreviewRangeBasedOnIndentation(t,n)),this.stripIndentationFromPreviewRange(t,n,r)},e.prototype.stripIndentationFromPreviewRange=function(e,t,n){for(var i=e.getLineFirstNonWhitespaceColumn(t),r=t+1;ri)return new c.a(n,1,i+1,1);s=t.findNextBracket(new y.a(l,d))}return new c.a(n,1,i+1,1)},e.prototype.addDecoration=function(e,t){var n={range:e,options:{inlineClassName:"goto-definition-link",hoverMessage:t}};this.decorations=this.editor.deltaDecorations(this.decorations,[n])},e.prototype.removeDecorations=function(){this.decorations.length>0&&(this.decorations=this.editor.deltaDecorations(this.decorations,[]))},e.prototype.isEnabled=function(e,t){return this.editor.hasModel()&&e.isNoneOrSingleMouseDown&&6===e.target.type&&(e.hasTriggerModifier||!!t&&t.keyCodeIsTriggerKey)&&l.f.has(this.editor.getModel())},e.prototype.findDefinition=function(e,t){var n=this.editor.getModel();return n?Object(h.b)(n,e.position,t):Promise.resolve(null)},e.prototype.gotoDefinition=function(e,t){var n=this;this.editor.setPosition(e.position);var i=new _.DefinitionAction(new _.DefinitionActionConfig(t,!1,!0,!1),{alias:"",label:"",id:"",precondition:void 0});return this.editor.invokeWithinContext(function(e){return i.run(e,n.editor)})},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.toUnhook.dispose()},e.ID="editor.contrib.gotodefinitionwithmouse",e.MAX_SOURCE_PREVIEW_LINES=8,e=C([S(1,p.a),S(2,u.a)],e)}();Object(d.h)(x),Object(g.f)(function(e,t){var n=e.getColor(m.n);n&&t.addRule(".monaco-editor .goto-definition-link { color: "+n+" !important; }")})},ot3f:function(e,t,n){"use strict";t.a=function(e,t,n){return Math.min(Math.max(e,t),n)}},pJVg:function(e,t){},"pS+P":function(e,t,n){"use strict";var i=n("tRuz"),r=n("geuY"),o=n("LC74"),s=i.base,a=n("lZ6o").utils;function u(e){s.call(this,"mont",e),this.a=new r(e.a,16).toRed(this.red),this.b=new r(e.b,16).toRed(this.red),this.i4=new r(4).toRed(this.red).redInvm(),this.two=new r(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function c(e,t,n){s.BasePoint.call(this,e,"projective"),null===t&&null===n?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new r(t,16),this.z=new r(n,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}o(u,s),e.exports=u,u.prototype.validate=function(e){var t=e.normalize().x,n=t.redSqr(),i=n.redMul(t).redAdd(n.redMul(this.a)).redAdd(t);return 0===i.redSqrt().redSqr().cmp(i)},o(c,s.BasePoint),u.prototype.decodePoint=function(e,t){return this.point(a.toArray(e,t),1)},u.prototype.point=function(e,t){return new c(this,e,t)},u.prototype.pointFromJSON=function(e){return c.fromJSON(this,e)},c.prototype.precompute=function(){},c.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},c.fromJSON=function(e,t){return new c(e,t[0],t[1]||e.one)},c.prototype.inspect=function(){return this.isInfinity()?"":""},c.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},c.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),n=e.redSub(t),i=e.redMul(t),r=n.redMul(t.redAdd(this.curve.a24.redMul(n)));return this.curve.point(i,r)},c.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.diffAdd=function(e,t){var n=this.x.redAdd(this.z),i=this.x.redSub(this.z),r=e.x.redAdd(e.z),o=e.x.redSub(e.z).redMul(n),s=r.redMul(i),a=t.z.redMul(o.redAdd(s).redSqr()),u=t.x.redMul(o.redISub(s).redSqr());return this.curve.point(a,u)},c.prototype.mul=function(e){for(var t=e.clone(),n=this,i=this.curve.point(null,null),r=[];0!==t.cmpn(0);t.iushrn(1))r.push(t.andln(1));for(var o=r.length-1;o>=0;o--)0===r[o]?(n=n.diffAdd(i,this),i=i.dbl()):(i=n.diffAdd(i,this),n=n.dbl());return i},c.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},c.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},"pWM+":function(e,t,n){"use strict";t.b=function(e,t){var n=[],i=u.c.ordered(e).reverse().map(function(i){return Promise.resolve(i.provideDocumentColors(e,t)).then(function(e){if(Array.isArray(e))for(var t=0,r=e;t0&&n.ishrn(i),n}function d(e,n,r){var o,s;do{for(o=new t(0);8*o.length=31)return i.error("Multi-octet tag encoding unsupported");t||(r|=32);return r|=a.tagClassByName[n||"universal"]<<6}(e,t,n,this.reporter);if(i.length<128)return(o=new r(2))[0]=s,o[1]=i.length,this._createEncoderBuffer([o,i]);for(var u=1,c=i.length;c>=256;c>>=8)u++;(o=new r(2+u))[0]=s,o[1]=128|u;c=1+u;for(var l=i.length;l>0;c--,l>>=8)o[c]=255&l;return this._createEncoderBuffer([o,i])},c.prototype._encodeStr=function(e,t){if("bitstr"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"===t){for(var n=new r(2*e.length),i=0;i=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}var o=0;for(i=0;i=128;s>>=7)o++}var a=new r(o),u=a.length-1;for(i=e.length-1;i>=0;i--){s=e[i];for(a[u--]=127&s;(s>>=7)>0;)a[u--]=128|127&s}return this._createEncoderBuffer(a)},c.prototype._encodeTime=function(e,t){var n,i=new Date(e);return"gentime"===t?n=[l(i.getFullYear()),l(i.getUTCMonth()+1),l(i.getUTCDate()),l(i.getUTCHours()),l(i.getUTCMinutes()),l(i.getUTCSeconds()),"Z"].join(""):"utctime"===t?n=[l(i.getFullYear()%100),l(i.getUTCMonth()+1),l(i.getUTCDate()),l(i.getUTCHours()),l(i.getUTCMinutes()),l(i.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+t+" time is not supported yet"),this._encodeStr(n,"octstr")},c.prototype._encodeNull=function(){return this._createEncoderBuffer("")},c.prototype._encodeInt=function(e,t){if("string"==typeof e){if(!t)return this.reporter.error("String int or enum given, but no values map");if(!t.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=t[e]}if("number"!=typeof e&&!r.isBuffer(e)){var n=e.toArray();!e.sign&&128&n[0]&&n.unshift(0),e=new r(n)}if(r.isBuffer(e)){var i=e.length;0===e.length&&i++;var o=new r(i);return e.copy(o),0===e.length&&(o[0]=0),this._createEncoderBuffer(o)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);i=1;for(var s=e;s>=256;s>>=8)i++;for(s=(o=new Array(i)).length-1;s>=0;s--)o[s]=255&e,e>>=8;return 128&o[0]&&o.unshift(0),this._createEncoderBuffer(new r(o))},c.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},c.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getEncoder("der").tree},c.prototype._skipDefault=function(e,t,n){var i,r=this._baseState;if(null===r.default)return!1;var o=e.join();if(void 0===r.defaultBuffer&&(r.defaultBuffer=this._encodeValue(r.default,t,n).join()),o.length!==r.defaultBuffer.length)return!1;for(i=0;i=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},E=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},I=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},D=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]0},e.prototype.resolveRenameLocation=function(e){return I(this,void 0,void 0,function(){var t,n,i;return D(this,function(r){switch(r.label){case 0:return(t=this._providers[0])?t.resolveRenameLocation?[4,t.resolveRenameLocation(this.model,this.position,e)]:[3,2]:[2,void 0];case 1:n=r.sent(),r.label=2;case 2:return!n&&(i=this.model.getWordAtPosition(this.position))?[2,{range:new d.a(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word}]:[2,n]}})})},e.prototype.provideRenameEdits=function(e,t,n,r){return I(this,void 0,void 0,function(){var o,s;return D(this,function(a){switch(a.label){case 0:return(o=this._providers[t])?[4,o.provideRenameEdits(this.model,this.position,e,r)]:[2,{edits:[],rejectReason:n.join("\n")}];case 1:return(s=a.sent())?s.rejectReason?[2,this.provideRenameEdits(e,t+1,n.concat(s.rejectReason),r)]:[2,s]:[2,this.provideRenameEdits(e,t+1,n.concat(i.a("no result","No result.")),r)]}})})},e}();function T(e,t,n){return I(this,void 0,void 0,function(){return D(this,function(i){return[2,new M(e,t).provideRenameEdits(n,0,[],x.a.None)]})})}var P=function(e){function t(t,n,i,r,o,s){var a=e.call(this)||this;return a.editor=t,a._notificationService=n,a._bulkEditService=i,a._progressService=r,a._contextKeyService=o,a._themeService=s,a._renameOperationIdPool=1,a._register(a.editor.onDidChangeModel(function(){return a.onModelChanged()})),a._register(a.editor.onDidChangeModelLanguage(function(){return a.onModelChanged()})),a._register(a.editor.onDidChangeCursorSelection(function(){return a.onModelChanged()})),a}return k(t,e),t.get=function(e){return e.getContribution(t.ID)},Object.defineProperty(t.prototype,"renameInputField",{get:function(){return this._renameInputField||(this._renameInputField=this._register(new p(this.editor,this._themeService,this._contextKeyService))),this._renameInputField},enumerable:!0,configurable:!0}),t.prototype.getId=function(){return t.ID},t.prototype.run=function(){return I(this,void 0,void 0,function(){var e,t=this;return D(this,function(n){return this._activeRename&&this._activeRename.operation.cancel(),e=this._renameOperationIdPool++,this._activeRename={id:e,operation:Object(L.f)(function(n){return t.doRename(n,e)})},[2,this._activeRename.operation]})})},t.prototype.doRename=function(e,t){return I(this,void 0,void 0,function(){var n,r,o,s,a,u,c,l,h=this;return D(this,function(f){switch(f.label){case 0:if(!this.editor.hasModel())return[2,void 0];if(n=this.editor.getPosition(),!(r=new M(this.editor.getModel(),n)).hasProvider())return[2,void 0];f.label=1;case 1:return f.trys.push([1,3,,4]),s=r.resolveRenameLocation(e),this._progressService.showWhile(s,250),[4,s];case 2:return o=f.sent(),[3,4];case 3:return a=f.sent(),_.a.get(this.editor).showMessage(a||i.a("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),n),[2,void 0];case 4:return o?o.rejectReason?(_.a.get(this.editor).showMessage(o.rejectReason,n),[2,void 0]):this._activeRename&&this._activeRename.id===t?(u=this.editor.getSelection(),c=0,l=o.text.length,d.a.isEmpty(u)||d.a.spansMultipleLines(u)||!d.a.containsRange(o.range,u)||(c=Math.max(0,u.startColumn-o.range.startColumn),l=Math.min(o.range.endColumn,u.endColumn)-o.range.startColumn),[2,this.renameInputField.getInput(o.range,o.text,c,l).then(function(t){if("boolean"!=typeof t){h.editor.focus();var n=new b.a(h.editor,15),s=Promise.resolve(r.provideRenameEdits(t,0,[],e).then(function(e){if(h.editor.hasModel()){if(!e.rejectReason)return h._bulkEditService.apply(e,{editor:h.editor}).then(function(e){e.ariaSummary&&Object(v.a)(i.a("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",o.text,t,e.ariaSummary))});n.validate(h.editor)?_.a.get(h.editor).showMessage(e.rejectReason,h.editor.getPosition()):h._notificationService.info(e.rejectReason)}},function(e){return h._notificationService.error(i.a("rename.failed","Rename failed to execute.")),Promise.reject(e)}));return h._progressService.showWhile(s,250),s}t&&h.editor.focus()})]):[2,void 0]:[2,void 0]}})})},t.prototype.acceptRenameInput=function(){this._renameInputField&&this._renameInputField.acceptInput()},t.prototype.cancelRenameInput=function(){this._renameInputField&&this._renameInputField.cancelInput(!0)},t.prototype.onModelChanged=function(){this._activeRename&&(this._activeRename.operation.cancel(),this._activeRename=void 0)},t.ID="editor.contrib.renameController",t=N([E(1,y.a),E(2,w.a),E(3,s.a),E(4,o.c),E(5,g.c)],t)}(c.a),A=function(e){function t(){return e.call(this,{id:"editor.action.rename",label:i.a("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:o.a.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 k(t,e),t.prototype.runCommand=function(t,n){var i=this,o=t.get(S.a),s=Array.isArray(n)&&n||[void 0,void 0],a=s[0],u=s[1];return C.a.isUri(a)&&l.a.isIPosition(u)?o.openCodeEditor({resource:a},o.getActiveCodeEditor()).then(function(e){e&&(e.setPosition(u),e.invokeWithinContext(function(t){return i.reportTelemetry(t,e),i.run(t,e)}))},r.e):e.prototype.runCommand.call(this,t,n)},t.prototype.run=function(e,t){var n=P.get(t);return n?n.run():Promise.resolve()},t}(a.b);Object(a.h)(P),Object(a.f)(A);var R=a.c.bindToContribution(P.get);Object(a.g)(new R({id:"acceptRenameInput",precondition:f,handler:function(e){return e.acceptRenameInput()},kbOpts:{weight:199,kbExpr:u.a.focus,primary:3}})),Object(a.g)(new R({id:"cancelRenameInput",precondition:f,handler:function(e){return e.cancelRenameInput()},kbOpts:{weight:199,kbExpr:u.a.focus,primary:9,secondary:[1033]}})),Object(a.e)("_executeDocumentRenameProvider",function(e,t,n){var i=n.newName;if("string"!=typeof i)throw Object(r.b)("newName");return T(e,t,i)})},qEZG:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,r=n("03Zz"),o=n("sKqm"),s=n("EfIu"),a=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),u=function(e){function t(){var t=e.call(this,{id:"editor.action.toggleHighContrast",label:s.h.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0})||this;return t._originalThemeName=null,t}return a(t,e),t.prototype.run=function(e,t){var n=e.get(o.a);this._originalThemeName?(n.setTheme(this._originalThemeName),this._originalThemeName=null):(this._originalThemeName=n.getTheme().themeName,n.setTheme("hc-black"))},t}(r.b);Object(r.f)(u)},qecS:function(e,t,n){"use strict";n("XTA7");var i,r=n("lAcG"),o=n("7/Cv"),s=n("WZeM"),a=n("b1X/"),u=n("UMuV"),c=n("Uf3U"),l=n("odeJ"),d=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),h=11,f=function(e){function t(t){var n=e.call(this)||this;return n._onActivate=t.onActivate,n.bgDomNode=document.createElement("div"),n.bgDomNode.className="arrow-background",n.bgDomNode.style.position="absolute",n.bgDomNode.style.width=t.bgWidth+"px",n.bgDomNode.style.height=t.bgHeight+"px",void 0!==t.top&&(n.bgDomNode.style.top="0px"),void 0!==t.left&&(n.bgDomNode.style.left="0px"),void 0!==t.bottom&&(n.bgDomNode.style.bottom="0px"),void 0!==t.right&&(n.bgDomNode.style.right="0px"),n.domNode=document.createElement("div"),n.domNode.className=t.className,n.domNode.style.position="absolute",n.domNode.style.width=h+"px",n.domNode.style.height=h+"px",void 0!==t.top&&(n.domNode.style.top=t.top+"px"),void 0!==t.left&&(n.domNode.style.left=t.left+"px"),void 0!==t.bottom&&(n.domNode.style.bottom=t.bottom+"px"),void 0!==t.right&&(n.domNode.style.right=t.right+"px"),n._mouseMoveMonitor=n._register(new u.a),n.onmousedown(n.bgDomNode,function(e){return n._arrowMouseDown(e)}),n.onmousedown(n.domNode,function(e){return n._arrowMouseDown(e)}),n._mousedownRepeatTimer=n._register(new l.c),n._mousedownScheduleRepeatTimer=n._register(new l.e),n}return d(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(u.b,function(e){},function(){t._mousedownRepeatTimer.cancel(),t._mousedownScheduleRepeatTimer.cancel()}),e.preventDefault()},t}(c.a),p=n("tqet"),g=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),m=function(e){function t(t,n,i){var r=e.call(this)||this;return r._visibility=t,r._visibleClassName=n,r._invisibleClassName=i,r._domNode=null,r._isVisible=!1,r._isNeeded=!1,r._shouldBeVisible=!1,r._revealTimer=r._register(new l.e),r}return g(t,e),t.prototype.applyVisibilitySetting=function(e){return 2!==this._visibility&&(3===this._visibility||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&&e._domNode.setClassName(e._visibleClassName)},0))},t.prototype._hide=function(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode&&this._domNode.setClassName(this._invisibleClassName+(e?" fade":"")))},t}(p.a),v=n("ZfGv"),_=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),b=function(e){function t(t){var n=e.call(this)||this;return n._lazyRender=t.lazyRender,n._host=t.host,n._scrollable=t.scrollable,n._scrollbarState=t.scrollbarState,n._visibilityController=n._register(new m(t.visibility,"visible scrollbar "+t.extraScrollbarClassName,"invisible scrollbar "+t.extraScrollbarClassName)),n._mouseMoveMonitor=n._register(new u.a),n._shouldRender=!0,n.domNode=Object(s.b)(document.createElement("div")),n.domNode.setAttribute("role","presentation"),n.domNode.setAttribute("aria-hidden","true"),n._visibilityController.setDomNode(n.domNode),n.domNode.setPosition("absolute"),n.onmousedown(n.domNode.domNode,function(e){return n._domNodeMouseDown(e)}),n}return _(t,e),t.prototype._createArrow=function(e){var t=this._register(new f(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)},t.prototype._createSlider=function(e,t,n,i){var r=this;this.slider=Object(s.b)(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),"number"==typeof n&&this.slider.setWidth(n),"number"==typeof i&&this.slider.setHeight(i),this.slider.setLayerHinting(!0),this.domNode.domNode.appendChild(this.slider.domNode),this.onmousedown(this.slider.domNode,function(e){e.leftButton&&(e.preventDefault(),r._sliderMouseDown(e,function(){}))}),this.onclick(this.slider.domNode,function(e){e.leftButton&&e.stopPropagation()})},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,n=t+this._scrollbarState.getSliderPosition(),i=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),r=this._sliderMousePosition(e);n<=r&&r<=i?e.leftButton&&(e.preventDefault(),this._sliderMouseDown(e,function(){})):this._onMouseDown(e)},t.prototype._onMouseDown=function(e){var t,n;if(e.target===this.domNode.domNode&&"number"==typeof e.browserEvent.offsetX&&"number"==typeof e.browserEvent.offsetY)t=e.browserEvent.offsetX,n=e.browserEvent.offsetY;else{var i=o.x(this.domNode.domNode);t=e.posx-i.left,n=e.posy-i.top}this._setDesiredScrollPositionNow(this._scrollbarState.getDesiredScrollPositionFromOffset(this._mouseDownRelativePosition(t,n))),e.leftButton&&(e.preventDefault(),this._sliderMouseDown(e,function(){}))},t.prototype._sliderMouseDown=function(e,t){var n=this,i=this._sliderMousePosition(e),r=this._sliderOrthogonalMousePosition(e),o=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._mouseMoveMonitor.startMonitoring(u.b,function(e){var t=n._sliderOrthogonalMousePosition(e),s=Math.abs(t-r);if(v.g&&s>140)n._setDesiredScrollPositionNow(o.getScrollPosition());else{var a=n._sliderMousePosition(e)-i;n._setDesiredScrollPositionNow(o.getDesiredScrollPositionFromDelta(a))}},function(){n.slider.toggleClassName("active",!1),n._host.onDragEnd(),t()}),this._host.onDragStart()},t.prototype._setDesiredScrollPositionNow=function(e){var t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)},t}(c.a),y=function(){function e(e,t,n){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(n),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,n,i,r){var o=Math.max(0,n-e),s=Math.max(0,o-2*t),a=i>0&&i>n;if(!a)return{computedAvailableSize:Math.round(o),computedIsNeeded:a,computedSliderSize:Math.round(s),computedSliderRatio:0,computedSliderPosition:0};var u=Math.round(Math.max(20,Math.floor(n*s/i))),c=(s-u)/(i-n),l=r*c;return{computedAvailableSize:Math.round(o),computedIsNeeded:a,computedSliderSize:Math.round(u),computedSliderRatio:c,computedSliderPosition:Math.round(l)}},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}(),w=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),C=function(e){function t(t,n,i){var r=e.call(this,{lazyRender:n.lazyRender,host:i,scrollbarState:new y(n.horizontalHasArrows?n.arrowSize:0,2===n.horizontal?0:n.horizontalScrollbarSize,2===n.vertical?0:n.verticalScrollbarSize),visibility:n.horizontal,extraScrollbarClassName:"horizontal",scrollable:t})||this;if(n.horizontalHasArrows){var o=(n.arrowSize-h)/2,s=(n.horizontalScrollbarSize-h)/2;r._createArrow({className:"left-arrow",top:s,left:o,bottom:void 0,right:void 0,bgWidth:n.arrowSize,bgHeight:n.horizontalScrollbarSize,onActivate:function(){return r._host.onMouseWheel(new a.c(null,1,0))}}),r._createArrow({className:"right-arrow",top:s,left:void 0,bottom:void 0,right:o,bgWidth:n.arrowSize,bgHeight:n.horizontalScrollbarSize,onActivate:function(){return r._host.onMouseWheel(new a.c(null,-1,0))}})}return r._createSlider(Math.floor((n.horizontalScrollbarSize-n.horizontalSliderSize)/2),0,void 0,n.horizontalSliderSize),r}return w(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}(b),S=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),x=function(e){function t(t,n,i){var r=e.call(this,{lazyRender:n.lazyRender,host:i,scrollbarState:new y(n.verticalHasArrows?n.arrowSize:0,2===n.vertical?0:n.verticalScrollbarSize,0),visibility:n.vertical,extraScrollbarClassName:"vertical",scrollable:t})||this;if(n.verticalHasArrows){var o=(n.arrowSize-h)/2,s=(n.verticalScrollbarSize-h)/2;r._createArrow({className:"up-arrow",top:o,left:s,bottom:void 0,right:void 0,bgWidth:n.verticalScrollbarSize,bgHeight:n.arrowSize,onActivate:function(){return r._host.onMouseWheel(new a.c(null,0,1))}}),r._createArrow({className:"down-arrow",top:void 0,left:s,bottom:o,right:void 0,bgWidth:n.verticalScrollbarSize,bgHeight:n.arrowSize,onActivate:function(){return r._host.onMouseWheel(new a.c(null,0,-1))}})}return r._createSlider(0,Math.floor((n.verticalScrollbarSize-n.verticalSliderSize)/2),n.verticalSliderSize,void 0),r}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}(b),L=n("Kp7x"),O=n("fyvs");n.d(t,"b",function(){return D}),n.d(t,"c",function(){return M}),n.d(t,"a",function(){return T});var k=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),N=function(){return function(e,t,n){this.timestamp=e,this.deltaX=t,this.deltaY=n,this.score=0}}(),E=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,n=1,i=this._rear;;){var r=i===this._front?e:Math.pow(2,-n);if(e-=r,t+=this._memory[i].score*r,i===this._front)break;i=(this._capacity+i-1)%this._capacity,n++}return t<=.5},e.prototype.accept=function(e,t,n){var i=new N(e,t,n);i.score=this._computeScore(i),-1===this._front&&-1===this._rear?(this._memory[0]=i,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]=i)},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}(),I=function(e){function t(t,n,i){var r=e.call(this)||this;r._onScroll=r._register(new L.a),r.onScroll=r._onScroll.event,t.style.overflow="hidden",r._options=P(n),r._scrollable=i,r._register(r._scrollable.onScroll(function(e){r._onDidScroll(e),r._onScroll.fire(e)}));var o={onMouseWheel:function(e){return r._onMouseWheel(e)},onDragStart:function(){return r._onDragStart()},onDragEnd:function(){return r._onDragEnd()}};return r._verticalScrollbar=r._register(new x(r._scrollable,r._options,o)),r._horizontalScrollbar=r._register(new C(r._scrollable,r._options,o)),r._domNode=document.createElement("div"),r._domNode.className="monaco-scrollable-element "+r._options.className,r._domNode.setAttribute("role","presentation"),r._domNode.style.position="relative",r._domNode.style.overflow="hidden",r._domNode.appendChild(t),r._domNode.appendChild(r._horizontalScrollbar.domNode.domNode),r._domNode.appendChild(r._verticalScrollbar.domNode.domNode),r._options.useShadows?(r._leftShadowDomNode=Object(s.b)(document.createElement("div")),r._leftShadowDomNode.setClassName("shadow"),r._domNode.appendChild(r._leftShadowDomNode.domNode),r._topShadowDomNode=Object(s.b)(document.createElement("div")),r._topShadowDomNode.setClassName("shadow"),r._domNode.appendChild(r._topShadowDomNode.domNode),r._topLeftShadowDomNode=Object(s.b)(document.createElement("div")),r._topLeftShadowDomNode.setClassName("shadow top-left-corner"),r._domNode.appendChild(r._topLeftShadowDomNode.domNode)):(r._leftShadowDomNode=null,r._topShadowDomNode=null,r._topLeftShadowDomNode=null),r._listenOnDomNode=r._options.listenOnDomNode||r._domNode,r._mouseWheelToDispose=[],r._setListeningToMouseWheel(r._options.handleMouseWheel),r.onmouseover(r._listenOnDomNode,function(e){return r._onMouseOver(e)}),r.onnonbubblingmouseout(r._listenOnDomNode,function(e){return r._onMouseOut(e)}),r._hideTimeout=r._register(new l.e),r._isDragging=!1,r._mouseIsOver=!1,r._shouldRender=!0,r._revealOnScroll=!0,r}return k(t,e),t.prototype.dispose=function(){this._mouseWheelToDispose=Object(p.f)(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,v.d&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className},t.prototype.updateOptions=function(e){var t=P(e);this._options.handleMouseWheel=t.handleMouseWheel,this._options.mouseWheelScrollSensitivity=t.mouseWheelScrollSensitivity,this._options.fastScrollSensitivity=t.fastScrollSensitivity,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.f)(this._mouseWheelToDispose),e)){this._mouseWheelToDispose.push(o.h(this._listenOnDomNode,r.g?"mousewheel":"wheel",function(e){t._onMouseWheel(new a.c(e))}))}},t.prototype._onMouseWheel=function(e){var t,n=E.INSTANCE;if(n.accept(Date.now(),e.deltaX,e.deltaY),e.deltaY||e.deltaX){var i=e.deltaY*this._options.mouseWheelScrollSensitivity,r=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.flipAxes&&(i=(t=[r,i])[0],r=t[1]);var o=!v.d&&e.browserEvent&&e.browserEvent.shiftKey;!this._options.scrollYToX&&!o||r||(r=i,i=0),e.browserEvent&&e.browserEvent.altKey&&(r*=this._options.fastScrollSensitivity,i*=this._options.fastScrollSensitivity);var s=this._scrollable.getFutureScrollPosition(),a={};if(i){var u=s.scrollTop-50*i;this._verticalScrollbar.writeScrollPosition(a,u)}if(r){var c=s.scrollLeft-50*r;this._horizontalScrollbar.writeScrollPosition(a,c)}if(a=this._scrollable.validateScrollPosition(a),s.scrollLeft!==a.scrollLeft||s.scrollTop!==a.scrollTop)this._options.mouseWheelSmoothScroll&&n.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(a):this._scrollable.setScrollPositionNow(a),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,n=e.scrollLeft>0;this._leftShadowDomNode.setClassName("shadow"+(n?" left":"")),this._topShadowDomNode.setClassName("shadow"+(t?" top":"")),this._topLeftShadowDomNode.setClassName("shadow top-left-corner"+(t?" top":"")+(n?" 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}(c.a),D=function(e){function t(t,n){var i=this;(n=n||{}).mouseWheelSmoothScroll=!1;var r=new O.a(0,function(e){return o.P(e)});return(i=e.call(this,t,n,r)||this)._register(r),i}return k(t,e),t.prototype.setScrollPosition=function(e){this._scrollable.setScrollPositionNow(e)},t.prototype.getScrollPosition=function(){return this._scrollable.getCurrentScrollPosition()},t}(I),M=function(e){function t(t,n,i){return e.call(this,t,n,i)||this}return k(t,e),t}(I),T=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i._element=t,i.onScroll(function(e){e.scrollTopChanged&&(i._element.scrollTop=e.scrollTop),e.scrollLeftChanged&&(i._element.scrollLeft=e.scrollLeft)}),i.scanDomNode(),i}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}(D);function P(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,fastScrollSensitivity:void 0!==e.fastScrollSensitivity?e.fastScrollSensitivity:5,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:1,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:1,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,v.d&&(t.className+=" mac"),t}},qqhx:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("hK2W"),r=n("tqet"),o=n("JVO/"),s=n("/9db"),a=n("7g0X"),u=n("03Zz"),c=n("7/Cv"),l=n("Gxst"),d=n("UqCF"),h=n("qecS"),f=n("Kp7x"),p=(n("s/JM"),n("6TMp")),g=n("VBCr"),m=n("odeJ"),v=n("zxiH"),_=n("PCC9"),b=n("80kS"),y=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},w=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},R=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},F=c.a,j=function(e){function t(t,n,i,o){var s=e.call(this)||this;return s.editor=t,s.renderDisposeables=s._register(new r.b),s.model=s._register(new r.d),s.allowEditorOverflow=!0,s.markdownRenderer=s._register(new g.a(t,o,i)),s.model.value=new T(t),s.keyVisible=S.Visible.bindTo(n),s.keyMultipleSignatures=S.MultipleSignatures.bindTo(n),s.visible=!1,s._register(s.model.value.onChangedHints(function(e){e?(s.show(),s.render(e)):s.hide()})),s}return P(t,e),t.prototype.createParamaterHintDOMNodes=function(){var e=this;this.element=F(".editor-widget.parameter-hints-widget");var t=c.m(this.element,F(".wrapper"));t.tabIndex=-1;var n=c.m(t,F(".buttons")),i=c.m(n,F(".button.previous")),r=c.m(n,F(".button.next")),o=Object(l.b)(Object(l.a)(i,"click"));this._register(o(this.previous,this));var s=Object(l.b)(Object(l.a)(r,"click"));this._register(s(this.next,this)),this.overloads=c.m(t,F(".overloads"));var a=F(".body");this.scrollbar=new h.a(a,{}),this._register(this.scrollbar),t.appendChild(this.scrollbar.getDomNode()),this.signature=c.m(a,F(".signature")),this.docs=c.m(a,F(".docs")),this.editor.addContentWidget(this),this.hide(),this.element.style.userSelect="text",this._register(this.editor.onDidChangeCursorSelection(function(t){e.visible&&e.editor.layoutContentWidget(e)}));var u=function(){var t=e.editor.getConfiguration().fontInfo;e.element.style.fontSize=t.fontSize+"px"};u(),this._register(f.b.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(function(e){return e.fontInfo}).on(u,null)),this._register(this.editor.onDidLayoutChange(function(t){return e.updateMaxHeight()})),this.updateMaxHeight()},t.prototype.show=function(){var e=this;this.model&&!this.visible&&(this.element||this.createParamaterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(function(){return c.f(e.element,"visible")},100),this.editor.layoutContentWidget(this))},t.prototype.hide=function(){this.model&&this.visible&&(this.element||this.createParamaterHintDOMNodes(),this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,c.I(this.element,"visible"),this.editor.layoutContentWidget(this))},t.prototype.getPosition=function(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null},t.prototype.render=function(e){var t=e.signatures.length>1;c.R(this.element,"multiple",t),this.keyMultipleSignatures.set(t),this.signature.innerHTML="",this.docs.innerHTML="";var n=e.signatures[e.activeSignature];if(n){var r=c.m(this.signature,F(".code")),o=n.parameters.length>0,s=this.editor.getConfiguration().fontInfo;if(r.style.fontSize=s.fontSize+"px",r.style.fontFamily=s.fontFamily,o)this.renderParameters(r,n,e.activeParameter);else c.m(r,F("span")).textContent=n.label;this.renderDisposeables.clear();var a=n.parameters[e.activeParameter];if(a&&a.documentation){var u=F("span.documentation");if("string"==typeof a.documentation)u.textContent=a.documentation;else{var l=this.markdownRenderer.render(a.documentation);c.f(l.element,"markdown-docs"),this.renderDisposeables.add(l),u.appendChild(l.element)}c.m(this.docs,F("p",{},u))}if(void 0===n.documentation);else if("string"==typeof n.documentation)c.m(this.docs,F("p",{},n.documentation));else{l=this.markdownRenderer.render(n.documentation);c.f(l.element,"markdown-docs"),this.renderDisposeables.add(l),c.m(this.docs,l.element)}var h=!1;a&&"string"==typeof a.documentation&&a.documentation.length>0&&(h=!0),a&&"object"==typeof a.documentation&&a.documentation.value.length>0&&(h=!0),"string"==typeof n.documentation&&n.documentation.length>0&&(h=!0),"object"==typeof n.documentation&&n.documentation.value.length>0&&(h=!0),c.R(this.signature,"has-docs",h),c.R(this.docs,"empty",!h);var f=String(e.activeSignature+1);if(e.signatures.length<10&&(f+="/"+e.signatures.length),this.overloads.textContent=f,a){var p=this.getParameterLabel(n,e.activeParameter);this.announcedLabel!==p&&(d.a(i.a("hint","{0}, hint",p)),this.announcedLabel=p)}this.editor.layoutContentWidget(this),this.scrollbar.scanDomNode()}},t.prototype.renderParameters=function(e,t,n){var i=this.getParameterLabelOffsets(t,n),r=i[0],o=i[1],s=document.createElement("span");s.textContent=t.label.substring(0,r);var a=document.createElement("span");a.textContent=t.label.substring(r,o),a.className="parameter active";var u=document.createElement("span");u.textContent=t.label.substring(o),c.m(e,s,a,u)},t.prototype.getParameterLabel=function(e,t){var n=e.parameters[t];return"string"==typeof n.label?n.label:e.label.substring(n.label[0],n.label[1])},t.prototype.getParameterLabelOffsets=function(e,t){var n=e.parameters[t];if(n){if(Array.isArray(n.label))return n.label;var i=e.label.lastIndexOf(n.label);return i>=0?[i,i+n.label.length]:[0,0]}return[0,0]},t.prototype.next=function(){this.model.value&&(this.editor.focus(),this.model.value.next())},t.prototype.previous=function(){this.model.value&&(this.editor.focus(),this.model.value.previous())},t.prototype.cancel=function(){this.model.value&&this.model.value.cancel()},t.prototype.getDomNode=function(){return this.element},t.prototype.getId=function(){return t.ID},t.prototype.trigger=function(e){this.model.value&&this.model.value.trigger(e,0)},t.prototype.updateMaxHeight=function(){var e=Math.max(this.editor.getLayoutInfo().height/4,250);this.element.style.maxHeight=e+"px"},t.ID="editor.widget.parameterHintsWidget",t=A([R(1,a.c),R(2,k.a),R(3,p.a)],t)}(r.a);Object(E.f)(function(e,t){var n=e.getColor(N.B);if(n){var i=e.type===E.b?2:1;t.addRule(".monaco-editor .parameter-hints-widget { border: "+i+"px solid "+n+"; }"),t.addRule(".monaco-editor .parameter-hints-widget.multiple .body { border-left: 1px solid "+n.transparent(.5)+"; }"),t.addRule(".monaco-editor .parameter-hints-widget .signature.has-docs { border-bottom: 1px solid "+n.transparent(.5)+"; }")}var r=e.getColor(N.A);r&&t.addRule(".monaco-editor .parameter-hints-widget { background-color: "+r+"; }");var o=e.getColor(N._46);o&&t.addRule(".monaco-editor .parameter-hints-widget a { color: "+o+"; }");var s=e.getColor(N._45);s&&t.addRule(".monaco-editor .parameter-hints-widget code { background-color: "+s+"; }")}),n.d(t,"TriggerParameterHintsAction",function(){return z});var W=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),B=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},V=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},H=function(e){function t(t,n){var i=e.call(this)||this;return i.editor=t,i.widget=i._register(n.createInstance(j,i.editor)),i}return W(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.cancel=function(){this.widget.cancel()},t.prototype.previous=function(){this.widget.previous()},t.prototype.next=function(){this.widget.next()},t.prototype.trigger=function(e){this.widget.trigger(e)},t.ID="editor.controller.parameterHints",t=B([V(1,o.a)],t)}(r.a),z=function(e){function t(){return e.call(this,{id:"editor.action.triggerParameterHints",label:i.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 W(t,e),t.prototype.run=function(e,t){var n=H.get(t);n&&n.trigger({triggerKind:_.w.Invoke})},t}(u.b);Object(u.h)(H),Object(u.f)(z);var U=u.c.bindToContribution(H.get);Object(u.g)(new U({id:"closeParameterHints",precondition:S.Visible,handler:function(e){return e.cancel()},kbOpts:{weight:175,kbExpr:s.a.focus,primary:9,secondary:[1033]}})),Object(u.g)(new U({id:"showPrevParameterHint",precondition:a.a.and(S.Visible,S.MultipleSignatures),handler:function(e){return e.previous()},kbOpts:{weight:175,kbExpr:s.a.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),Object(u.g)(new U({id:"showNextParameterHint",precondition:a.a.and(S.Visible,S.MultipleSignatures),handler:function(e){return e.next()},kbOpts:{weight:175,kbExpr:s.a.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}))},qyJz:function(e,t,n){"use strict";var i=n("+ZMJ"),r=n("kM2E"),o=n("sB3e"),s=n("msXi"),a=n("Mhyx"),u=n("QRG4"),c=n("fBQ2"),l=n("3fs2");r(r.S+r.F*!n("dY0y")(function(e){Array.from(e)}),"Array",{from:function(e){var t,n,r,d,h=o(e),f="function"==typeof this?this:Array,p=arguments.length,g=p>1?arguments[1]:void 0,m=void 0!==g,v=0,_=l(h);if(m&&(g=i(g,p>2?arguments[2]:void 0,2)),void 0==_||f==Array&&a(_))for(n=new f(t=u(h.length));t>v;v++)c(n,v,m?g(h[v],v):h[v]);else for(d=_.call(h),n=new f;!(r=d.next()).done;v++)c(n,v,m?s(d,g,[r.value,v],!0):r.value);return n.length=v,n}})},"qzX+":function(e,t,n){"use strict";n.d(t,"a",function(){return g});var i,r=n("xF6g"),o=(n.n(r),n("lAcG")),s=n("tqet"),a=n("Kp7x"),u=n("ZfGv"),c=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});function l(e,t){return!!e[t]}var d=function(){return function(e,t){this.target=e.target,this.hasTriggerModifier=l(e.event,t.triggerModifier),this.hasSideBySideModifier=l(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=o.j||e.event.detail<=1}}(),h=function(){return function(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=l(e,t.triggerModifier)}}(),f=function(){function e(e,t,n,i){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=n,this.triggerSideBySideModifier=i}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 p(e){return"altKey"===e?u.d?new f(57,"metaKey",6,"altKey"):new f(5,"ctrlKey",6,"altKey"):u.d?new f(6,"altKey",57,"metaKey"):new f(6,"altKey",5,"ctrlKey")}var g=function(e){function t(t){var n=e.call(this)||this;return n._onMouseMoveOrRelevantKeyDown=n._register(new a.a),n.onMouseMoveOrRelevantKeyDown=n._onMouseMoveOrRelevantKeyDown.event,n._onExecute=n._register(new a.a),n.onExecute=n._onExecute.event,n._onCancel=n._register(new a.a),n.onCancel=n._onCancel.event,n._editor=t,n._opts=p(n._editor.getConfiguration().multiCursorModifier),n.lastMouseMoveEvent=null,n.hasTriggerKeyOnMouseDown=!1,n._register(n._editor.onDidChangeConfiguration(function(e){if(e.multiCursorModifier){var t=p(n._editor.getConfiguration().multiCursorModifier);if(n._opts.equals(t))return;n._opts=t,n.lastMouseMoveEvent=null,n.hasTriggerKeyOnMouseDown=!1,n._onCancel.fire()}})),n._register(n._editor.onMouseMove(function(e){return n.onEditorMouseMove(new d(e,n._opts))})),n._register(n._editor.onMouseDown(function(e){return n.onEditorMouseDown(new d(e,n._opts))})),n._register(n._editor.onMouseUp(function(e){return n.onEditorMouseUp(new d(e,n._opts))})),n._register(n._editor.onKeyDown(function(e){return n.onEditorKeyDown(new h(e,n._opts))})),n._register(n._editor.onKeyUp(function(e){return n.onEditorKeyUp(new h(e,n._opts))})),n._register(n._editor.onMouseDrag(function(){return n.resetHandler()})),n._register(n._editor.onDidChangeCursorSelection(function(e){return n.onDidChangeCursorSelection(e)})),n._register(n._editor.onDidChangeModel(function(e){return n.resetHandler()})),n._register(n._editor.onDidChangeModelContent(function(){return n.resetHandler()})),n._register(n._editor.onDidScrollChange(function(e){(e.scrollTopChanged||e.scrollLeftChanged)&&n.resetHandler()})),n}return c(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}(s.a)},rHGw:function(e,t,n){"use strict";n.d(t,"a",function(){return c}),n.d(t,"b",function(){return C});var i=n("hK2W"),r=n("Kp7x"),o=n("RWr8"),s=n("KIxu"),a=n("aL7J"),u=n("LQgD"),c={Configuration:"base.contributions.configuration"},l={properties:{},patternProperties:{}},d={properties:{},patternProperties:{}},h={properties:{},patternProperties:{}},f={properties:{},patternProperties:{}},p={properties:{},patternProperties:{}},g={properties:{},patternProperties:{}},m="vscode://schemas/settings/editor",v=o.a.as(u.a.JSONContribution),_=function(){function e(){this.overrideIdentifiers=[],this._onDidSchemaChange=new r.a,this._onDidUpdateConfiguration=new r.a,this.defaultOverridesConfigurationNode={id:"defaultOverrides",title:i.a("defaultConfigurations.title","Default Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultOverridesConfigurationNode],this.editorConfigurationSchema={properties:{},patternProperties:{},additionalProperties:!1,errorMessage:"Unknown editor configuration setting",allowsTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.excludedConfigurationProperties={},this.computeOverridePropertyPattern(),v.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){var n=this;void 0===t&&(t=!0);var i=[];e.forEach(function(e){i.push.apply(i,n.validateAndRegisterProperties(e,t)),n.configurationContributors.push(e),n.registerJSONConfiguration(e),n.updateSchemaForOverrideSettingsConfiguration(e)}),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire(i)},e.prototype.registerOverrideIdentifiers=function(e){var t;(t=this.overrideIdentifiers).push.apply(t,e),this.updateOverridePropertyPatternKey()},e.prototype.validateAndRegisterProperties=function(e,t,n,i){void 0===t&&(t=!0),void 0===n&&(n=3),void 0===i&&(i=!1),n=s.k(e.scope)?n:e.scope,i=e.overridable||i;var r=[],o=e.properties;if(o)for(var a in o){var u=void 0;if(t&&(u=L(a)))console.warn(u),delete o[a];else{var c=o[a],l=c.default;s.j(l)&&(c.default=S(c.type)),i&&(c.overridable=!0),C.test(a)?c.scope=void 0:c.scope=s.k(c.scope)?n:c.scope,!o[a].hasOwnProperty("included")||o[a].included?(this.configurationProperties[a]=o[a],r.push(a)):(this.excludedConfigurationProperties[a]=o[a],delete o[a])}}var d=e.allOf;if(d)for(var h=0,f=d;ho)throw new RangeError("requested too many random bytes");var n=s.allocUnsafe(e);if(e>0)if(e>r)for(var u=0;u>6],r=0==(32&n);if(31==(31&n)){var o=n;for(n=0;128==(128&o);){if(o=e.readUInt8(t),e.isError(o))return o;n<<=7,n|=127&o}}else n&=31;return{cls:i,primitive:r,tag:n,tagStr:a.tag[n]}}function d(e,t,n){var i=e.readUInt8(n);if(e.isError(i))return i;if(!t&&128===i)return null;if(0==(128&i))return i;var r=127&i;if(r>4)return e.error("length octect is too long");i=0;for(var o=0;on)&&(!l.isEmpty()||0!==c.type&&3!==c.type)){var d=l.startLineNumber===n?l.startColumn:i,h=l.endLineNumber===n?l.endColumn:r;o[s++]=new e(d,h,c.inlineClassName,c.type)}}return o},e.compare=function(e,t){return e.startColumn===t.startColumn?e.endColumn===t.endColumn?e.classNamet.className?1:0:e.endColumn-t.endColumn:e.startColumn-t.startColumn},e}(),o=function(){return function(e,t,n){this.startOffset=e,this.endOffset=t,this.className=n}}(),s=function(){function e(){this.stopOffsets=[],this.classNames=[],this.count=0}return e.prototype.consumeLowerThan=function(e,t,n){for(;this.count>0&&this.stopOffsets[0]0&&t=e){this.stopOffsets.splice(n,0,e),this.classNames.splice(n,0,t);break}this.count++},e}(),a=function(){function e(){}return e.normalize=function(e,t){if(0===t.length)return[];for(var n=[],r=new s,o=0,a=0,u=t.length;a1){var f=e.charCodeAt(l-2);i.w(f)&&l--}if(d>1){f=e.charCodeAt(d-2);i.w(f)&&d--}var p=l-1,g=d-2;o=r.consumeLowerThan(p,o,n),0===r.count&&(o=p),r.insert(g,h)}return r.consumeLowerThan(1073741824,o,n),n},e}()},tGak:function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return o});var i=function(){function e(e,t,n){this.from=0|e,this.to=0|t,this.colorId=0|n}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}(),r=function(){function e(e,t,n){this.startLineNumber=e,this.endLineNumber=t,this.color=n,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.colorn&&(f=n-p);var g=c.color,m=this._color2Id[g];m||(m=++this._lastAssignedId,this._color2Id[g]=m,this._id2Color[m]=g);var v=new i(f-p,f+p,m);c.setColorZone(v),s.push(v)}return this._colorZonesInvalid=!1,s.sort(i.compare),s},e}()},tRuz:function(e,t,n){"use strict";var i=t;i.base=n("B6Bn"),i.short=n("wrMp"),i.mont=n("pS+P"),i.edwards=n("24Y6")},tTCp:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i="undefined"==typeof monaco?self.monaco:monaco,r={};var o,s,a={};function u(e){return a[e]||(a[e]=function(e){return(0,r[e].loader)().then(function(t){i.languages.setMonarchTokensProvider(e,t.language),i.languages.setLanguageConfiguration(e,t.conf)})}(e)),a[e]}s=(o={id:"sql",extensions:[".sql"],aliases:["SQL"],loader:function(){return n.e(26).then(n.bind(null,"77T5"))}}).id,r[s]=o,i.languages.register(o),i.languages.onLanguage(s,function(){u(s)})},tVlf:function(e,t){},tXf9:function(e,t,n){var i=n("bSQl"),r=n("+jDU"),o=n("6ZSt");t.createCipher=t.Cipher=i.createCipher,t.createCipheriv=t.Cipheriv=i.createCipheriv,t.createDecipher=t.Decipher=r.createDecipher,t.createDecipheriv=t.Decipheriv=r.createDecipheriv,t.listCiphers=t.getCiphers=function(){return Object.keys(o)}},tZcU:function(e,t,n){(function(e){(function(){"use strict";function t(e){var t=this.constructor;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){return t.reject(n)})})}var n=setTimeout;function i(){}function r(e){if(!(this instanceof r))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],c(e,this)}function o(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,r._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var i;try{i=n(e._value)}catch(e){return void a(t.promise,e)}s(t.promise,i)}else(1===e._state?s:a)(t.promise,e._value)})):e._deferreds.push(t)}function s(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if(t instanceof r)return e._state=3,e._value=t,void u(e);if("function"==typeof n)return void c((i=n,o=t,function(){i.apply(o,arguments)}),e)}e._state=1,e._value=t,u(e)}catch(t){a(e,t)}var i,o}function a(e,t){e._state=2,e._value=t,u(e)}function u(e){2===e._state&&0===e._deferreds.length&&r._immediateFn(function(){e._handled||r._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;t>8,s=255&r;o?n.push(o,s):n.push(s)}return n},i.zero2=r,i.toHex=o,i.encode=function(e,t){return"hex"===t?o(e):e}},tqet:function(e,t,n){"use strict";t.g=function(e){return"function"==typeof e.dispose&&0===e.dispose.length},t.f=a,t.e=function(){for(var e=[],t=0;t>>0)>>>0},t.f=function(e,t){if(0===e)return null;var n=(65535&e)>>>0,i=(4294901760&e)>>>16;if(0!==i)return new d([c(n,t),c(i,t)]);return new d([c(n,t)])},n.d(t,"e",function(){return l}),n.d(t,"d",function(){return h}),n.d(t,"c",function(){return f});var i,r=n("zxiH"),o=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}(),s=new o,a=new o,u=new o;function c(e,t){var n=!!(2048&e),i=!!(256&e);return new l(2===t?i:n,!!(1024&e),!!(512&e),2===t?n:i,255&e)}!function(){function e(e,t,n,i){void 0===n&&(n=t),void 0===i&&(i=n),s.define(e,t),a.define(e,n),u.define(e,i)}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 s.keyCodeToStr(e)},e.fromString=function(e){return s.strToKeyCode(e)},e.toUserSettingsUS=function(e){return a.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return u.keyCodeToStr(e)},e.fromUserSettings=function(e){return a.strToKeyCode(e)||u.strToKeyCode(e)}}(i||(i={}));var l=function(){function e(e,t,n,i,r){this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=i,this.keyCode=r}return e.prototype.equals=function(e){return 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.toChord=function(){return new d([this])},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(){function e(e){if(0===e.length)throw Object(r.b)("parts");this.parts=e}return e.prototype.equals=function(e){if(null===e)return!1;if(this.parts.length!==e.parts.length)return!1;for(var t=0;t0)return c(new Error("invalid "+l.join(",")+" option for "+typeof e+" payload"))}if(void 0!==e.exp&&void 0!==r.expiresIn)return c(new Error('Bad "options.expiresIn" option the payload already has an "exp" property.'));if(void 0!==e.nbf&&void 0!==r.notBefore)return c(new Error('Bad "options.notBefore" option the payload already has an "nbf" property.'));try{!function(e){m(p,!1,e,"options")}(r)}catch(e){return c(e)}var d=e.iat||Math.floor(Date.now()/1e3);if(r.noTimestamp?delete e.iat:a&&(e.iat=d),void 0!==r.notBefore){try{e.nbf=i(r.notBefore,d)}catch(e){return c(e)}if(void 0===e.nbf)return c(new Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}if(void 0!==r.expiresIn&&"object"==typeof e){try{e.exp=i(r.expiresIn,d)}catch(e){return c(e)}if(void 0===e.exp)return c(new Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}Object.keys(v).forEach(function(t){var n=v[t];if(void 0!==r[t]){if(void 0!==e[n])return c(new Error('Bad "options.'+t+'" option. The payload already has an "'+n+'" property.'));e[n]=r[t]}});var f=r.encoding||"utf8";if("function"!=typeof s)return o.sign({header:u,payload:e,secret:n,encoding:f});s=s&&h(s),o.createSign({header:u,privateKey:n,payload:e,encoding:f}).once("error",s).once("done",function(e){s(null,e)})}}).call(t,n("EuP9").Buffer)},ujcs:function(e,t){t.read=function(e,t,n,i,r){var o,s,a=8*r-i-1,u=(1<>1,l=-7,d=n?r-1:0,h=n?-1:1,f=e[t+d];for(d+=h,o=f&(1<<-l)-1,f>>=-l,l+=a;l>0;o=256*o+e[t+d],d+=h,l-=8);for(s=o&(1<<-l)-1,o>>=-l,l+=i;l>0;s=256*s+e[t+d],d+=h,l-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(f?-1:1);s+=Math.pow(2,i),o-=c}return(f?-1:1)*s*Math.pow(2,o-i)},t.write=function(e,t,n,i,r,o){var s,a,u,c=8*o-r-1,l=(1<>1,h=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=i?0:o-1,p=i?1:-1,g=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=l):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),(t+=s+d>=1?h/u:h*Math.pow(2,1-d))*u>=2&&(s++,u/=2),s+d>=l?(a=0,s=l):s+d>=1?(a=(t*u-1)*Math.pow(2,r),s+=d):(a=t*Math.pow(2,d-1)*Math.pow(2,r),s=0));r>=8;e[n+f]=255&a,f+=p,a/=256,r-=8);for(s=s<0;e[n+f]=255&s,f+=p,s/=256,c-=8);e[n+f-p]|=128*g}},vMHI:function(e,t){var n="[object Boolean]",i=Object.prototype.toString;e.exports=function(e){return!0===e||!1===e||function(e){return!!e&&"object"==typeof e}(e)&&i.call(e)==n}},vORD:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("JVO/"),r=Object(i.c)("codeEditorService")},vTy2:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("artP"),r=function(){function e(e,t,n,i){e>n||e===n&&t>i?(this.startLineNumber=n,this.startColumn=i,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=i)}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.lineNumbere.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.columne.endColumn))},e.prototype.containsRange=function(t){return e.containsRange(this,t)},e.containsRange=function(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)))},e.prototype.strictContainsRange=function(t){return e.strictContainsRange(this,t)},e.strictContainsRange=function(e,t){return!(t.startLineNumbere.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,n){var i,r,o,s;return n.startLineNumbert.endLineNumber?(o=n.endLineNumber,s=n.endColumn):n.endLineNumber===t.endLineNumber?(o=n.endLineNumber,s=Math.max(n.endColumn,t.endColumn)):(o=t.endLineNumber,s=t.endColumn),new e(i,r,o,s)},e.prototype.intersectRanges=function(t){return e.intersectRanges(this,t)},e.intersectRanges=function(t,n){var i=t.startLineNumber,r=t.startColumn,o=t.endLineNumber,s=t.endColumn,a=n.startLineNumber,u=n.startColumn,c=n.endLineNumber,l=n.endColumn;return ic?(o=c,s=l):o===c&&(s=Math.min(s,l)),i>o?null:i===o&&r>s?null:new e(i,r,o,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 i.a(this.endLineNumber,this.endColumn)},e.prototype.getStartPosition=function(){return new i.a(this.startLineNumber,this.startColumn)},e.prototype.toString=function(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"},e.prototype.setEndPosition=function(t,n){return new e(this.startLineNumber,this.startColumn,t,n)},e.prototype.setStartPosition=function(t,n){return new e(t,n,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,n){return void 0===n&&(n=t),new e(t.lineNumber,t.column,n.lineNumber,n.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.endLineNumbere.startLineNumber},e}()},vWx2:function(e,t,n){var i=n("LC74"),r=n("EuP9").Buffer,o=n("reGU");function s(e){o.call(this,e),this.enc="pem"}i(s,o),e.exports=s,s.prototype.decode=function(e,t){for(var n=e.toString().split(/[\r\n]+/g),i=t.label.toUpperCase(),s=/^-----(BEGIN|END) ([^-]+)-----$/,a=-1,u=-1,c=0;c=u?r=Math.max(r,u+c-i):(t[n++]=new R(i,r),i=u,r=c)}return t[n++]=new R(i,r),t},e._createHorizontalRangesFromClientRects=function(e,t){if(!e||0===e.length)return null;for(var n=[],i=0,r=e.length;ia)return null;(t=Math.min(a,Math.max(0,t)))!==(i=Math.min(a,Math.max(0,i)))&&i>0&&0===r&&(i--,r=1073741824);var u=e.children[t].firstChild,c=e.children[i].firstChild;if(u&&c||(!u&&0===n&&t>0&&(u=e.children[t-1].firstChild,n=1073741824),!c&&0===r&&i>0&&(c=e.children[i-1].firstChild,r=1073741824)),!u||!c)return null;n=Math.min(u.textContent.length,Math.max(0,n)),r=Math.min(c.textContent.length,Math.max(0,r));var l=this._readClientRects(u,n,c,r,s);return this._createHorizontalRangesFromClientRects(l,o)},e}(),W=n("t7eM"),B=n("Qxje"),V=n("eoic"),H=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),z=!!_.e||!(_.c||g.i||g.l),U=g.g,K=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}(),q=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.canUseHalfwidthRightwardsArrow=e.editor.fontInfo.canUseHalfwidthRightwardsArrow,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.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures},e}(),G=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(f.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!(!U&&this._options.themeType!==V.b&&"selection"!==this._options.renderWhitespace)&&(this._isMaybeInvalid=!0,!0)},e.prototype.renderLine=function(t,n,i,r){if(!1===this._isMaybeInvalid)return!1;this._isMaybeInvalid=!1;var o=i.getViewLineRenderingData(t),s=this._options,a=W.a.filter(o.inlineDecorations,t,o.minColumn,o.maxColumn),u=null;if(U||s.themeType===V.b||"selection"===this._options.renderWhitespace)for(var c=0,l=i.selections;ct)){var h=d.startLineNumber===t?d.startColumn:o.minColumn,f=d.endLineNumber===t?d.endColumn:o.maxColumn;h');var g=Object(B.d)(p,r);r.appendASCIIString("");var m=null;return z&&o.isBasicASCII&&s.useMonospaceOptimizations&&0===g.containsForeignElements&&o.content.length<300&&p.lineTokens.getCount()<100&&(m=new Z(this._renderedViewLine?this._renderedViewLine.domNode:null,p,g.characterMapping)),m||(m=$(this._renderedViewLine?this._renderedViewLine.domNode:null,p,g.characterMapping,g.containsRTL,g.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,n){if(!this._renderedViewLine)return null;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 i=0|this._renderedViewLine.input.stopRenderingLineAfter;return-1!==i&&e>i&&t>i?null:(-1!==i&&e>i&&(e=i),-1!==i&&t>i&&(t=i),this._renderedViewLine.getVisibleRangesForRange(e,t,n))},e.prototype.getColumnOfNodeOffset=function(e,t,n){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t,n):1},e.CLASS_NAME="view-line",e}(),Z=function(){function e(e,t,n){this.domNode=e,this.input=t,this._characterMapping=n,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,n){var i=this._getCharPosition(e),r=this._getCharPosition(t);return[new R(i,r-i)]},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,n){for(var i=t.textContent.length,r=-1;t;)t=t.previousSibling,r++;return this._characterMapping.partDataToCharOffset(r,i,n)+1},e}(),Y=function(){function e(e,t,n,i,r){if(this.domNode=e,this.input=t,this._characterMapping=n,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=r,this._cachedWidth=-1,this._pixelOffsetCache=null,!i||0===this._characterMapping.length){this._pixelOffsetCache=new Int32Array(Math.max(2,this._characterMapping.length+1));for(var o=0,s=this._characterMapping.length;o<=s;o++)this._pixelOffsetCache[o]=-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,n){if(null!==this._pixelOffsetCache){var i=this._readPixelOffset(e,n);if(-1===i)return null;var r=this._readPixelOffset(t,n);return-1===r?null:[new R(i,r-i)]}return this._readVisibleRangesForRange(e,t,n)},e.prototype._readVisibleRangesForRange=function(e,t,n){if(e===t){var i=this._readPixelOffset(e,n);return-1===i?null:[new R(i,0)]}return this._readRawVisibleRangesForRange(e,t,n)},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 n=this._pixelOffsetCache[e];if(-1!==n)return n;var i=this._actualReadPixelOffset(e,t);return this._pixelOffsetCache[e]=i,i}return this._actualReadPixelOffset(e,t)},e.prototype._actualReadPixelOffset=function(e,t){if(0===this._characterMapping.length){var n=j.readHorizontalRanges(this._getReadingTarget(),0,0,0,0,t.clientRectDeltaLeft,t.endNode);return n&&0!==n.length?n[0].left:-1}if(e===this._characterMapping.length&&this._isWhitespaceOnly&&0===this._containsForeignElements)return this.getWidth();var i=this._characterMapping.charOffsetToPartData(e-1),r=B.a.getPartIndex(i),o=B.a.getCharIndex(i),s=j.readHorizontalRanges(this._getReadingTarget(),r,o,r,o,t.clientRectDeltaLeft,t.endNode);return s&&0!==s.length?s[0].left:-1},e.prototype._readRawVisibleRangesForRange=function(e,t,n){if(1===e&&t===this._characterMapping.length)return[new R(0,this.getWidth())];var i=this._characterMapping.charOffsetToPartData(e-1),r=B.a.getPartIndex(i),o=B.a.getCharIndex(i),s=this._characterMapping.charOffsetToPartData(t-1),a=B.a.getPartIndex(s),u=B.a.getCharIndex(s);return j.readHorizontalRanges(this._getReadingTarget(),r,o,a,u,n.clientRectDeltaLeft,n.endNode)},e.prototype.getColumnOfNodeOffset=function(e,t,n){for(var i=t.textContent.length,r=-1;t;)t=t.previousSibling,r++;return this._characterMapping.partDataToCharOffset(r,i,n)+1},e}(),X=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return H(t,e),t.prototype._readVisibleRangesForRange=function(t,n,i){var r=e.prototype._readVisibleRangesForRange.call(this,t,n,i);if(!r||0===r.length||t===n||1===t&&n===this._characterMapping.length)return r;if(!this.input.containsRTL){var o=this._readPixelOffset(n,i);if(-1!==o){var s=r[r.length-1];s.left=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}(),se=function(){function e(e,t,n){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=n,this._context=e,this._viewHelper=t}return e.prototype.getZoneAtCoord=function(t){return e.getZoneAtCoord(this._context,t)},e.getZoneAtCoord=function(e,t){var n=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(n){var i=n.verticalOffset+n.height/2,r=e.model.getLineCount(),o=null,s=void 0,a=null;return n.afterLineNumber!==r&&(a=new ee.a(n.afterLineNumber+1,1)),n.afterLineNumber>0&&(o=new ee.a(n.afterLineNumber,e.model.getLineMaxColumn(n.afterLineNumber))),s=null===a?o:null===o?a:t=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,le._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}}()),ue={isAfterLines:!0};function ce(e){return{isAfterLines:!1,horizontalDistanceToText:e}}var le=function(){function e(e,t){this._context=e,this._viewHelper=t}return e.prototype.mouseTargetIsWidget=function(e){var t=e.target,n=M.collect(t,this._viewHelper.viewDomNode);return!(!oe.isChildOfContentWidgets(n)&&!oe.isChildOfOverflowingContentWidgets(n))||!!oe.isChildOfOverlayWidgets(n)},e.prototype.createMouseTarget=function(t,n,i,r){var o=new se(this._context,this._viewHelper,t),s=new ae(o,n,i,r);try{return e._createMouseTarget(o,s,!1)}catch(e){return s.fulfill(0)}},e._createMouseTarget=function(t,n,i){if(null===n.target){if(i)return n.fulfill(0);var r=e._doHitTest(t,n);return r.position?e.createMouseTargetFromHitTestPosition(t,n,r.position.lineNumber,r.position.column):this._createMouseTarget(t,n.withTarget(r.hitTarget),!0)}var o=n,s=null;return(s=(s=(s=(s=(s=(s=(s=(s=(s=(s=s||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,i))||e._hitTestScrollbar(t,o))||n.fulfill(0)},e._hitTestContentWidget=function(e,t){if(oe.isChildOfContentWidgets(t.targetPath)||oe.isChildOfOverflowingContentWidgets(t.targetPath)){var n=e.findAttribute(t.target,"widgetId");return n?t.fulfill(9,null,null,n):t.fulfill(0)}return null},e._hitTestOverlayWidget=function(e,t){if(oe.isChildOfOverlayWidgets(t.targetPath)){var n=e.findAttribute(t.target,"widgetId");return n?t.fulfill(12,null,null,n):t.fulfill(0)}return null},e._hitTestViewCursor=function(e,t){if(t.target)for(var n=0,i=o=e.lastViewCursorsRenderData;nr.contentLeft+r.width)){var l=e.getVerticalOffsetForLineNumber(r.position.lineNumber);if(l<=a&&a<=l+r.height)return t.fulfill(6,r.position)}}return null},e._hitTestViewZone=function(e,t){var n=e.getZoneAtCoord(t.mouseVerticalOffset);if(n){var i=t.isInContentArea?8:5;return t.fulfill(i,n.position,null,n)}return null},e._hitTestTextArea=function(e,t){return oe.isTextArea(t.targetPath)?t.fulfill(1):null},e._hitTestMargin=function(e,t){if(t.isInMarginArea){var n=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),i=n.range.getStartPosition(),r=Math.abs(t.pos.x-t.editorPos.x),o={isAfterLines:n.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:r};return(r-=e.layoutInfo.glyphMarginLeft)<=e.layoutInfo.glyphMarginWidth?t.fulfill(2,i,n.range,o):(r-=e.layoutInfo.glyphMarginWidth)<=e.layoutInfo.lineNumbersWidth?t.fulfill(3,i,n.range,o):(r-=e.layoutInfo.lineNumbersWidth,t.fulfill(4,i,n.range,o))}return null},e._hitTestViewLines=function(t,n,i){if(!oe.isChildOfViewLines(n.targetPath))return null;if(t.isAfterLines(n.mouseVerticalOffset)){var r=t.model.getLineCount(),o=t.model.getLineMaxColumn(r);return n.fulfill(7,new ee.a(r,o),void 0,ue)}if(i){if(oe.isStrictChildOfViewLines(n.targetPath)){var s=t.getLineNumberAtVerticalOffset(n.mouseVerticalOffset);if(0===t.model.getLineLength(s)){var a=t.getLineWidth(s),u=ce(n.mouseContentHorizontalOffset-a);return n.fulfill(7,new ee.a(s,1),void 0,u)}}return n.fulfill(0)}var c=e._doHitTest(t,n);return c.position?e.createMouseTargetFromHitTestPosition(t,n,c.position.lineNumber,c.position.column):this._createMouseTarget(t,n.withTarget(c.hitTarget),!0)},e._hitTestMinimap=function(e,t){if(oe.isChildOfMinimap(t.targetPath)){var n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),i=e.model.getLineMaxColumn(n);return t.fulfill(11,new ee.a(n,i))}return null},e._hitTestScrollbarSlider=function(e,t){if(oe.isChildOfScrollableElement(t.targetPath)&&t.target&&1===t.target.nodeType){var n=t.target.className;if(n&&/\b(slider|scrollbar)\b/.test(n)){var i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.model.getLineMaxColumn(i);return t.fulfill(11,new ee.a(i,r))}}return null},e._hitTestScrollbar=function(e,t){if(oe.isChildOfScrollableElement(t.targetPath)){var n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),i=e.model.getLineMaxColumn(n);return t.fulfill(11,new ee.a(n,i))}return null},e.prototype.getMouseColumn=function(t,n){var i=this._context.configuration.editor.layoutInfo,r=this._context.viewLayout.getCurrentScrollLeft()+n.x-t.x-i.contentLeft;return e._getMouseColumn(r,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,n,i){var r=new ee.a(n,i),o=e.getLineWidth(n);if(t.mouseContentHorizontalOffset>o){if(g.f&&1===r.column){var s=ce(t.mouseContentHorizontalOffset-o);return t.fulfill(7,new ee.a(n,e.model.getLineMaxColumn(n)),void 0,s)}var a=ce(t.mouseContentHorizontalOffset-o);return t.fulfill(7,r,void 0,a)}var u=e.visibleRangeForPosition2(n,i);if(!u)return t.fulfill(0,r);var c=u.left;if(t.mouseContentHorizontalOffset===c)return t.fulfill(6,r);var l=[];if(l.push({offset:u.left,column:i}),i>1){var d=e.visibleRangeForPosition2(n,i-1);d&&l.push({offset:d.left,column:i-1})}if(i=t.editorPos.y+e.layoutInfo.height&&(r=t.editorPos.y+e.layoutInfo.height-1);var o=new w(t.pos.x,r),s=this._actualDoHitTestWithCaretRangeFromPoint(e,o.toClientCoordinates());return s.position?s:this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates())},e._actualDoHitTestWithCaretRangeFromPoint=function(e,t){var n=document.caretRangeFromPoint(t.clientX,t.clientY);if(!n||!n.startContainer)return{position:null,hitTarget:null};var i=n.startContainer,r=null;if(i.nodeType===i.TEXT_NODE){var o=(a=(s=i.parentNode)?s.parentNode:null)?a.parentNode:null;if((o&&o.nodeType===o.ELEMENT_NODE?o.className:null)===G.CLASS_NAME)return{position:e.getPositionFromDOMInfo(s,n.startOffset),hitTarget:null};r=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)===G.CLASS_NAME)return{position:e.getPositionFromDOMInfo(i,i.textContent.length),hitTarget:null};r=i}return{position:null,hitTarget:r}},e._doHitTestWithCaretPositionFromPoint=function(e,t){var n=document.caretPositionFromPoint(t.clientX,t.clientY);if(n.offsetNode.nodeType===n.offsetNode.TEXT_NODE){var i=n.offsetNode.parentNode,r=i?i.parentNode:null,o=r?r.parentNode:null;return(o&&o.nodeType===o.ELEMENT_NODE?o.className:null)===G.CLASS_NAME?{position:e.getPositionFromDOMInfo(n.offsetNode.parentNode,n.offset),hitTarget:null}:{position:null,hitTarget:n.offsetNode.parentNode}}return{position:null,hitTarget:n.offsetNode}},e._doHitTestWithMoveToPoint=function(e,t){var n=null,i=null,r=document.body.createTextRange();try{r.moveToPoint(t.clientX,t.clientY)}catch(e){return{position:null,hitTarget:null}}r.collapse(!0);var o=r?r.parentElement():null,s=o?o.parentNode:null,a=s?s.parentNode:null;if((a&&a.nodeType===a.ELEMENT_NODE?a.className:"")===G.CLASS_NAME){var u=r.duplicate();u.moveToElementText(o),u.setEndPoint("EndToStart",r),n=e.getPositionFromDOMInfo(o,u.text.length),u.moveToElementText(e.viewDomNode)}else i=o;return r.moveToElementText(e.viewDomNode),{position:n,hitTarget:i}},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}(),de=n("G8r4"),he=n("iHM7"),fe=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();function pe(e){return function(t,n){var i=!1;return e&&(i=e.mouseTargetIsWidget(n)),i||n.preventDefault(),n}}var ge=function(e){function t(n,i,r){var s=e.call(this)||this;s._isFocused=!1,s._context=n,s.viewController=i,s.viewHelper=r,s.mouseTargetFactory=new le(s._context,r),s._mouseDownOperation=s._register(new me(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 v.d(function(){return s.viewHelper.focusTextArea()},0)),s.lastMouseLeaveTime=-1;var a=new O(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)},pe(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)}));return s._register(o.h(s.viewHelper.viewDomNode,g.g?"mousewheel":"wheel",function(e){if(s.viewController.emitMouseWheel(e),s._context.configuration.editor.viewInfo.mouseWheelZoom){var t=new m.c(e);if(t.browserEvent.ctrlKey||t.browserEvent.metaKey){var n=de.a.getZoomLevel(),i=t.deltaY>0?1:-1;de.a.setZoomLevel(n+i),t.preventDefault(),t.stopPropagation()}}},!0)),s._context.addEventHandler(s),s}return fe(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 n=new C(e,t).toPageCoordinates(),i=x(this.viewHelper.viewDomNode);if(n.yi.y+i.height||n.xi.x+i.width)return null;var r=this.viewHelper.getLastViewCursorsRenderData();return this.mouseTargetFactory.createMouseTarget(r,i,n,null)},t.prototype._createMouseTarget=function(e,t){var n=this.viewHelper.getLastViewCursorsRenderData();return this.mouseTargetFactory.createMouseTarget(n,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.timestampt.y+t.height){var a,u;o=i.getCurrentScrollTop()+(e.posy-t.y);if(a=se.getZoneAtCoord(this._context,o))if(u=this._helpPositionJumpOverViewZone(a))return new re(null,13,r,u);var c=i.getLineNumberAtVerticalOffset(o);return new re(null,13,r,new ee.a(c,n.getLineMaxColumn(c)))}var l=i.getLineNumberAtVerticalOffset(i.getCurrentScrollTop()+(e.posy-t.y));return e.posxt.x+t.width?new re(null,13,r,new ee.a(l,n.getLineMaxColumn(l))):null},t.prototype._findMousePosition=function(e,t){var n=this._getPositionOutsideEditor(e);if(n)return n;var i=this._createMouseTarget(e,t);if(!i.position)return null;if(8===i.type||5===i.type){var r=this._helpPositionJumpOverViewZone(i.detail);if(r)return new re(i.element,i.type,i.mouseColumn,r,null,i.detail)}return i},t.prototype._helpPositionJumpOverViewZone=function(e){var t=new ee.a(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),n=e.positionBefore,i=e.positionAfter;return n&&i?n.isBefore(t)?n:i:null},t.prototype._dispatchMouse=function(e,t){e.position&&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}(u.a),ve=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,n){var i=(new Date).getTime();i-this._lastSetMouseDownCountTime>e.CLEAR_MOUSE_DOWN_COUNT_TIME&&(t=1),this._lastSetMouseDownCountTime=i,t>this._lastMouseDownCount+1&&(t=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(n)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=n,this._lastMouseDownCount=Math.min(t,this._lastMouseDownPositionEqualCount)},e.CLEAR_MOUSE_DOWN_COUNT_TIME=400,e}(),_e=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();function be(e,t){var n={translationY:t.translationY,translationX:t.translationX};return e&&(n.translationY+=e.translationY,n.translationX+=e.translationX),n}var ye=function(e){function t(t,n,i){var r=e.call(this,t,n,i)||this;return r.viewHelper.linesContentDomNode.style.msTouchAction="none",r.viewHelper.linesContentDomNode.style.msContentZooming="none",r._installGestureHandlerTimeout=window.setTimeout(function(){if(r._installGestureHandlerTimeout=-1,window.MSGesture){var e=new MSGesture,t=new MSGesture;e.target=r.viewHelper.linesContentDomNode,t.target=r.viewHelper.linesContentDomNode,r.viewHelper.linesContentDomNode.addEventListener("MSPointerDown",function(n){var i=n.pointerType;i!==(n.MSPOINTER_TYPE_MOUSE||"mouse")?i===(n.MSPOINTER_TYPE_TOUCH||"touch")?(r._lastPointerType="touch",e.addPointer(n.pointerId)):(r._lastPointerType="pen",t.addPointer(n.pointerId)):r._lastPointerType="mouse"}),r._register(o.j(r.viewHelper.linesContentDomNode,"MSGestureChange",function(e){return r._onGestureChange(e)},be)),r._register(o.h(r.viewHelper.linesContentDomNode,"MSGestureTap",function(e){return r._onCaptureGestureTap(e)},!0))}},100),r._lastPointerType="mouse",r}return _e(t,e),t.prototype._onMouseDown=function(t){"mouse"===this._lastPointerType&&e.prototype._onMouseDown.call(this,t)},t.prototype._onCaptureGestureTap=function(e){var t=this,n=new L(e,this.viewHelper.viewDomNode),i=this._createMouseTarget(n,!1);i.position&&this.viewController.moveTo(i.position),n.browserEvent.fromElement?(n.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}(ge),we=function(e){function t(t,n,i){var r=e.call(this,t,n,i)||this;return r.viewHelper.linesContentDomNode.style.touchAction="none",r._installGestureHandlerTimeout=window.setTimeout(function(){if(r._installGestureHandlerTimeout=-1,window.MSGesture){var e=new MSGesture,t=new MSGesture;e.target=r.viewHelper.linesContentDomNode,t.target=r.viewHelper.linesContentDomNode,r.viewHelper.linesContentDomNode.addEventListener("pointerdown",function(n){var i=n.pointerType;"mouse"!==i?"touch"===i?(r._lastPointerType="touch",e.addPointer(n.pointerId)):(r._lastPointerType="pen",t.addPointer(n.pointerId)):r._lastPointerType="mouse"}),r._register(o.j(r.viewHelper.linesContentDomNode,"MSGestureChange",function(e){return r._onGestureChange(e)},be)),r._register(o.h(r.viewHelper.linesContentDomNode,"MSGestureTap",function(e){return r._onCaptureGestureTap(e)},!0))}},100),r._lastPointerType="mouse",r}return _e(t,e),t.prototype._onMouseDown=function(t){"mouse"===this._lastPointerType&&e.prototype._onMouseDown.call(this,t)},t.prototype._onCaptureGestureTap=function(e){var t=this,n=new L(e,this.viewHelper.viewDomNode),i=this._createMouseTarget(n,!1);i.position&&this.viewController.moveTo(i.position),n.browserEvent.fromElement?(n.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}(ge),Ce=function(e){function t(t,n,i){var r=e.call(this,t,n,i)||this;return p.b.addTarget(r.viewHelper.linesContentDomNode),r._register(o.h(r.viewHelper.linesContentDomNode,p.a.Tap,function(e){return r.onTap(e)})),r._register(o.h(r.viewHelper.linesContentDomNode,p.a.Change,function(e){return r.onChange(e)})),r._register(o.h(r.viewHelper.linesContentDomNode,p.a.Contextmenu,function(e){return r._onContextMenu(new L(e,r.viewHelper.viewDomNode),!1)})),r}return _e(t,e),t.prototype.onTap=function(e){e.preventDefault(),this.viewHelper.focusTextArea();var t=this._createMouseTarget(new L(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}(ge),Se=function(e){function t(t,n,i){var r=e.call(this)||this;return window.navigator.msPointerEnabled?r.handler=r._register(new ye(t,n,i)):window.TouchEvent?r.handler=r._register(new Ce(t,n,i)):window.navigator.pointerEnabled||window.PointerEvent?r.handler=r._register(new we(t,n,i)):r.handler=r._register(new ge(t,n,i)),r}return _e(t,e),t.prototype.getTargetAtClientPoint=function(e,t){return this.handler.getTargetAtClientPoint(e,t)},t}(u.a),xe=(n("9vcT"),n("aL7J")),Le=n("4QaN"),Oe=n("ZWAj"),ke=(n("7Do+"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),Ne=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ke(t,e),t}(E),Ee=n("Rfe2"),Ie=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),De=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._readConfig(),n._lastCursorModelPosition=new ee.a(1,1),n._renderResult=null,n._context.addEventHandler(n),n}return Ie(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._renderFinalNewline=e.viewInfo.renderFinalNewline,this._lineNumbersLeft=e.layoutInfo.lineNumbersLeft,this._lineNumbersWidth=e.layoutInfo.lineNumbersWidth},t.prototype.dispose=function(){this._context.removeEventHandler(this),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 ee.a(e,1));if(1!==t.column)return"";var n=t.lineNumber;if(!this._renderFinalNewline){var i=this._context.model.getLineCount(),r=this._context.model.getLineContent(n);if(n===i&&""===r)return""}if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(n);if(2===this._renderLineNumbers){var o=Math.abs(this._lastCursorModelPosition.lineNumber-n);return 0===o?''+n+"":String(o)}return 3===this._renderLineNumbers?this._lastCursorModelPosition.lineNumber===n?String(n):n%10==0?String(n):"":String(n)},t.prototype.prepareRender=function(e){if(0!==this._renderLineNumbers){for(var n=_.c?this._lineHeight%2==0?" lh-even":" lh-odd":"",i=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,o='
    ',s=[],a=i;a<=r;a++){var u=a-i,c=this._getLineRenderLineNumber(a);s[u]=c?o+c+"
    ":""}this._renderResult=s}else this._renderResult=null},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]},t.CLASS_NAME="line-numbers",t}(Ne);Object(V.f)(function(e,t){var n=e.getColor(Ee.k);n&&t.addRule(".monaco-editor .line-numbers { color: "+n+"; }");var i=e.getColor(Ee.b);i&&t.addRule(".monaco-editor .current-line ~ .line-numbers { color: "+i+"; }")});var Me=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Te=function(e){function t(n){var i=e.call(this,n)||this;return i._canUseLayerHinting=i._context.configuration.editor.canUseLayerHinting,i._contentLeft=i._context.configuration.editor.layoutInfo.contentLeft,i._glyphMarginLeft=i._context.configuration.editor.layoutInfo.glyphMarginLeft,i._glyphMarginWidth=i._context.configuration.editor.layoutInfo.glyphMarginWidth,i._domNode=Object(f.b)(document.createElement("div")),i._domNode.setClassName(t.OUTER_CLASS_NAME),i._domNode.setPosition("absolute"),i._domNode.setAttribute("role","presentation"),i._domNode.setAttribute("aria-hidden","true"),i._glyphMarginBackgroundDomNode=Object(f.b)(document.createElement("div")),i._glyphMarginBackgroundDomNode.setClassName(t.CLASS_NAME),i._domNode.appendChild(i._glyphMarginBackgroundDomNode),i}return Me(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.getDomNode=function(){return this._domNode},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 n=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(n),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(n)},t.CLASS_NAME="glyph-margin",t.OUTER_CLASS_NAME="margin",t}(D),Pe=n("BwcV"),Ae=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Re=function(){return 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.copyWithSyntaxHighlighting=e.copyWithSyntaxHighlighting,this.layoutInfo=e.layoutInfo,this.fontInfo=e.fontInfo,this.viewInfo=e.viewInfo,this.wrappingInfo=e.wrappingInfo}}(),Fe=function(){return function(e){this.type=2,this.selections=e}}(),je=function(){return function(){this.type=3}}(),We=function(){return function(){this.type=4}}(),Be=function(){return function(e){this.type=5,this.isFocused=e}}(),Ve=function(){return function(){this.type=6}}(),He=function(){return function(e,t){this.type=7,this.fromLineNumber=e,this.toLineNumber=t}}(),ze=function(){return function(e,t){this.type=8,this.fromLineNumber=e,this.toLineNumber=t}}(),Ue=function(){return function(e,t){this.type=9,this.fromLineNumber=e,this.toLineNumber=t}}(),Ke=function(){return function(e,t,n,i){this.type=10,this.range=e,this.verticalType=t,this.revealHorizontal=n,this.scrollType=i}}(),qe=function(){return 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}}(),Ge=function(){return function(e){this.type=12,this.ranges=e}}(),Ze=function(){return function(){this.type=15}}(),Ye=function(){return function(){this.type=13}}(),Xe=function(){return function(){this.type=14}}(),$e=function(){return function(){this.type=16}}(),Je=function(e){function t(){var t=e.call(this)||this;return t._listeners=[],t._collector=null,t._collectorCnt=0,t}return Ae(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 Qe),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),n=0,i=t.length;n0)return new Oe.b(i,i.length,i.length,n,n)}}return Oe.b.EMPTY}return Oe.a.fromEditorSelection(e,s,r._selections[0],0===r._accessibilitySupport)},deduceModelPosition:function(e,t,n){return r._context.model.deduceModelPositionRelativeToViewPosition(e,t,n)}};return r._textAreaInput=r._register(new Le.b(a,r.textArea)),r._register(r._textAreaInput.onKeyDown(function(e){r._viewController.emitKeyDown(e)})),r._register(r._textAreaInput.onKeyUp(function(e){r._viewController.emitKeyUp(e)})),r._register(r._textAreaInput.onPaste(function(e){var t=rt.INSTANCE.get(e.text),n=!1,i=null;t&&(n=r._emptySelectionClipboard&&t.isFromEmptySelection,i=t.multicursorText),r._viewController.paste("keyboard",e.text,n,i)})),r._register(r._textAreaInput.onCut(function(){r._viewController.cut("keyboard")})),r._register(r._textAreaInput.onType(function(e){e.replaceCharCnt?r._viewController.replacePreviousChar("keyboard",e.text,e.replaceCharCnt):r._viewController.type("keyboard",e.text)})),r._register(r._textAreaInput.onSelectionChangeRequest(function(e){r._viewController.setSelection("keyboard",e)})),r._register(r._textAreaInput.onCompositionStart(function(){var e=r._selections[0].startLineNumber,t=r._selections[0].startColumn;r._context.privateViewEventBus.emit(new Ke(new te.a(e,t,e,t),0,!0,1));var n=r._viewHelper.visibleRangeForPositionRelativeToEditor(e,t);n&&(r._visibleTextArea=new nt(r._context.viewLayout.getVerticalOffsetForLineNumber(e),n.left,it?0:1),r._render()),r.textArea.setClassName("inputarea ime-input"),r._viewController.compositionStart("keyboard")})),r._register(r._textAreaInput.onCompositionUpdate(function(e){g.g?r._visibleTextArea=r._visibleTextArea.setWidth(0):r._visibleTextArea=r._visibleTextArea.setWidth(function(e,t){var n=document.createElement("canvas").getContext("2d");n.font=(i=t,r="normal",o=i.fontWeight,s=i.fontSize,a=i.lineHeight,u=i.fontFamily,r+" normal "+o+" "+s+"px / "+a+"px "+u);var i,r,o,s,a,u;var c=n.measureText(e);return g.i?c.width+2:c.width}(e.data,r._fontInfo)),r._render()})),r._register(r._textAreaInput.onCompositionEnd(function(){r._visibleTextArea=null,r._render(),r.textArea.setClassName("inputarea"),r._viewController.compositionEnd("keyboard")})),r._register(r._textAreaInput.onFocus(function(){r._context.privateViewEventBus.emit(new Be(!0))})),r._register(r._textAreaInput.onBlur(function(){r._context.privateViewEventBus.emit(new Be(!1))})),r}return tt(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),n=Object(Pe.a)(this._context.configuration.editor.wordSeparators),i=e.column,r=0;i>1;){var o=t.charCodeAt(i-2);if(0!==n.get(o)||r>50)return t.substring(i-1,e.column-1);r++,i--}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(!xe.w(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),e.copyWithSyntaxHighlighting&&(this._copyWithSyntaxHighlighting=t.copyWithSyntaxHighlighting),!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){var t=new ee.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(ethis._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,it?0:1,it?0:1,!1)}}else this._renderAtTopLeft()},t.prototype._renderInsideEditor=function(e,t,n,i,r){var o=this.textArea,s=this.textAreaCover;r?l.a.applyFontInfo(o,this._fontInfo):(o.setFontSize(1),o.setLineHeight(this._fontInfo.lineHeight)),o.setTop(e),o.setLeft(t),o.setWidth(n),o.setHeight(i),s.setTop(0),s.setLeft(0),s.setWidth(0),s.setHeight(0)},t.prototype._renderAtTopLeft=function(){var e=this.textArea,t=this.textAreaCover;if(l.a.applyFontInfo(e,this._fontInfo),e.setTop(0),e.setLeft(0),t.setTop(0),t.setLeft(0),it)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 "+Te.OUTER_CLASS_NAME):0!==this._context.configuration.editor.viewInfo.renderLineNumbers?t.setClassName("monaco-editor-background textAreaCover "+De.CLASS_NAME):t.setClassName("monaco-editor-background textAreaCover")},t}(D);var st=n("HZsc"),at=function(){function e(e,t,n,i){this.configuration=e,this.viewModel=t,this.outgoingEvents=n,this.commandDelegate=i}return e.prototype._execMouseCommand=function(e,t){t.source="mouse",this.commandDelegate.executeEditorCommand(e,t)},e.prototype.paste=function(e,t,n,i){this.commandDelegate.paste(e,t,n,i)},e.prototype.type=function(e,t){this.commandDelegate.type(e,t)},e.prototype.replacePreviousChar=function(e,t,n){this.commandDelegate.replacePreviousChar(e,t,n)},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.commandDelegate.executeEditorCommand(st.CoreNavigationCommands.SetSelection,{source:e,selection:t})},e.prototype._validateViewColumn=function(e){var t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column=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,!1):e.inSelectionMode?this._lastCursorMoveToSelect(e.position):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey?this._columnSelect(e.position,e.mouseColumn,!0):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(st.CoreNavigationCommands.MoveTo,this._usualArgs(e))},e.prototype._moveToSelect=function(e){this._execMouseCommand(st.CoreNavigationCommands.MoveToSelect,this._usualArgs(e))},e.prototype._columnSelect=function(e,t,n){e=this._validateViewColumn(e),this._execMouseCommand(st.CoreNavigationCommands.ColumnSelect,{position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:t,setAnchorIfNotSet:n})},e.prototype._createCursor=function(e,t){e=this._validateViewColumn(e),this._execMouseCommand(st.CoreNavigationCommands.CreateCursor,{position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:t})},e.prototype._lastCursorMoveToSelect=function(e){this._execMouseCommand(st.CoreNavigationCommands.LastCursorMoveToSelect,this._usualArgs(e))},e.prototype._wordSelect=function(e){this._execMouseCommand(st.CoreNavigationCommands.WordSelect,this._usualArgs(e))},e.prototype._wordSelectDrag=function(e){this._execMouseCommand(st.CoreNavigationCommands.WordSelectDrag,this._usualArgs(e))},e.prototype._lastCursorWordSelect=function(e){this._execMouseCommand(st.CoreNavigationCommands.LastCursorWordSelect,this._usualArgs(e))},e.prototype._lineSelect=function(e){this._execMouseCommand(st.CoreNavigationCommands.LineSelect,this._usualArgs(e))},e.prototype._lineSelectDrag=function(e){this._execMouseCommand(st.CoreNavigationCommands.LineSelectDrag,this._usualArgs(e))},e.prototype._lastCursorLineSelect=function(e){this._execMouseCommand(st.CoreNavigationCommands.LastCursorLineSelect,this._usualArgs(e))},e.prototype._lastCursorLineSelectDrag=function(e){this._execMouseCommand(st.CoreNavigationCommands.LastCursorLineSelectDrag,this._usualArgs(e))},e.prototype._selectAll=function(){this._execMouseCommand(st.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.prototype.emitMouseWheel=function(e){this.outgoingEvents.emitMouseWheel(e)},e}(),ut=n("ftXN"),ct=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 n=this.getStartLineNumber(),i=this.getEndLineNumber();if(ti)return null;for(var o=0,s=0,a=n;a<=i;a++){var u=a-this._rendLineNumberStart;e<=a&&a<=t&&(0===s?(o=u,s=1):s++)}if(e=n&&o<=i&&(this._lines[o-this._rendLineNumberStart].onContentChanged(),r=!0);return r},e.prototype.onLinesInserted=function(e,t){if(0===this.getCount())return null;var n=t-e+1,i=this.getStartLineNumber(),r=this.getEndLineNumber();if(e<=i)return this._rendLineNumberStart+=n,null;if(e>r)return null;if(n+e>r)return this._lines.splice(e-this._rendLineNumberStart,r-e+1);for(var o=[],s=0;sn))for(var a=Math.max(t,s.fromLineNumber),u=Math.min(n,s.toLineNumber),c=a;c<=u;c++){var l=c-this._rendLineNumberStart;this._lines[l].onTokensChanged(),i=!0}}return i},e}(),lt=function(){function e(e){var t=this;this._host=e,this.domNode=this._createDomNode(),this._linesCollection=new ct(function(){return t._host.createVisibleLine()})}return e.prototype._createDomNode=function(){var e=Object(f.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 n=0,i=t.length;nt)(u=t)<=(s=Math.min(n,r.rendLineNumberStart-1))&&(this._insertLinesBefore(r,u,s,i,t),r.linesLength+=s-u+1);else if(r.rendLineNumberStart0&&(this._removeLinesBefore(r,a),r.linesLength-=a)}if(r.rendLineNumberStart=t,r.rendLineNumberStart+r.linesLength-1n){var s,a,u=Math.max(0,n-r.rendLineNumberStart+1);(a=(s=r.linesLength-1)-u+1)>0&&(this._removeLinesAfter(r,a),r.linesLength-=a)}return this._finishRendering(r,!1,i),r},e.prototype._renderUntouchedLines=function(e,t,n,i,r){for(var o=e.rendLineNumberStart,s=e.lines,a=t;a<=n;a++){var u=o+a;s[a].layoutLine(u,i[u-r])}},e.prototype._insertLinesBefore=function(e,t,n,i,r){for(var o=[],s=0,a=t;a<=n;a++)o[s++]=this.host.createVisibleLine();e.lines=o.concat(e.lines)},e.prototype._removeLinesBefore=function(e,t){for(var n=0;n=0;s--){var a=e.lines[s];i[s]&&(a.setDomNode(o),o=o.previousSibling)}},e.prototype._finishRenderingInvalidLines=function(e,t,n){var i=document.createElement("div");i.innerHTML=t;for(var r=0;r'),i.appendASCIIString(r),i.appendASCIIString(""),!0)},e.prototype.layoutLine=function(e,t){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(this._lineHeight))},e}(),gt=function(e){function t(t){var n=e.call(this,t)||this;return n._contentWidth=n._context.configuration.editor.layoutInfo.contentWidth,n.domNode.setHeight(0),n}return ht(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}(ft),mt=function(e){function t(t){var n=e.call(this,t)||this;return n._contentLeft=n._context.configuration.editor.layoutInfo.contentLeft,n.domNode.setClassName("margin-view-overlays"),n.domNode.setWidth(1),l.a.applyFontInfo(n.domNode,n._context.configuration.editor.fontInfo),n}return ht(t,e),t.prototype.onConfigurationChanged=function(t){var n=!1;return t.fontInfo&&(l.a.applyFontInfo(this.domNode,this._context.configuration.editor.fontInfo),n=!0),t.layoutInfo&&(this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft,n=!0),e.prototype.onConfigurationChanged.call(this,t)||n},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 n=Math.min(t.scrollHeight,1e6);this.domNode.setHeight(n),this.domNode.setWidth(this._contentLeft)},t}(ft),vt=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),_t=function(){return function(e,t){this.top=e,this.left=t}}(),bt=function(e){function t(t,n){var i=e.call(this,t)||this;return i._viewDomNode=n,i._widgets={},i.domNode=Object(f.b)(document.createElement("div")),M.write(i.domNode,1),i.domNode.setClassName("contentWidgets"),i.domNode.setPosition("absolute"),i.domNode.setTop(0),i.overflowingContentWidgetsDomNode=Object(f.b)(document.createElement("div")),M.write(i.overflowingContentWidgetsDomNode,2),i.overflowingContentWidgetsDomNode.setClassName("overflowingContentWidgets"),i}return vt(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._widgets={}},t.prototype.onConfigurationChanged=function(e){for(var t=0,n=Object.keys(this._widgets);t=i,l=a,d=r.viewportHeight-a>=i,h=e.left,f=t.left;return h+n>r.scrollLeft+r.viewportWidth&&(h=r.scrollLeft+r.viewportWidth-n),f+n>r.scrollLeft+r.viewportWidth&&(f=r.scrollLeft+r.viewportWidth-n),h=22,y=g+i<=(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-22;m+n+20>_&&(m-=s=m-(_-n-20),d-=s);v+n+20>_&&(v-=s=v-(_-n-20),h-=s);m<0&&(m-=s=m,d-=s);v<0&&(v-=s=v,h-=s);return this._fixedOverflowWidgets&&(c=p,l=g,d=m,h=v),{fitsAbove:b,aboveTop:c,aboveLeft:d,fitsBelow:y,belowTop:l,belowLeft:h}},e.prototype._prepareRenderWidgetAtExactPositionOverflowing=function(e){return new _t(e.top,e.left+this._contentLeft)},e.prototype._getTopAndBottomLeft=function(e){if(!this._viewPosition)return[null,null];var t=e.visibleRangeForPosition(this._viewPosition);if(!t)return[null,null];var n=e.getVerticalOffsetForLineNumber(this._viewPosition.lineNumber)-e.scrollTop,i=new _t(n,t.left),r=this._viewPosition.lineNumber,o=t.left;if(this._viewRange){var s=e.linesVisibleRangesForRange(this._viewRange,!1);if(s&&s.length>0)for(var a=s.length-1;a>=0;a--){var u=s[a];if(u.lineNumber>=r){u.lineNumber>r&&(r=u.lineNumber,o=1073741824);for(var c=0,l=u.ranges.length;ce.endLineNumber||this.domNode.setMaxWidth(this._maxWidth))},e.prototype.prepareRender=function(e){this._renderData=this._prepareRenderWidget(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}(),wt=(n("Eawl"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),Ct=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._renderLineHighlight=n._context.configuration.editor.viewInfo.renderLineHighlight,n._selectionIsEmpty=!0,n._primaryCursorLineNumber=1,n._scrollWidth=0,n._contentWidth=n._context.configuration.editor.layoutInfo.contentWidth,n._context.addEventHandler(n),n}return wt(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),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,n=e.selections[0].positionLineNumber;this._primaryCursorLineNumber!==n&&(this._primaryCursorLineNumber=n,t=!0);var i=e.selections[0].isEmpty();return this._selectionIsEmpty!==i?(this._selectionIsEmpty=i,!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()?'
    ':""},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}(Ne);Object(V.f)(function(e,t){var n=e.getColor(Ee.i);if(n&&t.addRule(".monaco-editor .view-overlays .current-line { background-color: "+n+"; }"),!n||n.isTransparent()||e.defines(Ee.j)){var i=e.getColor(Ee.j);i&&(t.addRule(".monaco-editor .view-overlays .current-line { border: 2px solid "+i+"; }"),"hc"===e.type&&t.addRule(".monaco-editor .view-overlays .current-line { border-width: 1px; }"))}});n("3ZDw");var St=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),xt=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._renderLineHighlight=n._context.configuration.editor.viewInfo.renderLineHighlight,n._selectionIsEmpty=!0,n._primaryCursorLineNumber=1,n._contentLeft=n._context.configuration.editor.layoutInfo.contentLeft,n._context.addEventHandler(n),n}return St(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),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,n=e.selections[0].positionLineNumber;this._primaryCursorLineNumber!==n&&(this._primaryCursorLineNumber=n,t=!0);var i=e.selections[0].isEmpty();return this._selectionIsEmpty!==i?(this._selectionIsEmpty=i,!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 n="current-line";if(this._shouldShowCurrentLine())n="current-line current-line-margin"+(this._willRenderContentCurrentLine()?" current-line-margin-both":"");return'
    '}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}(Ne);Object(V.f)(function(e,t){var n=e.getColor(Ee.i);if(n)t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { background-color: "+n+"; border: none; }");else{var i=e.getColor(Ee.j);i&&t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid "+i+"; }"),"hc"===e.type&&t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }")}});n("84z/");var Lt=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ot=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._typicalHalfwidthCharacterWidth=n._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,n._renderResult=null,n._context.addEventHandler(n),n}return Lt(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),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(),n=[],i=0,r=0,o=t.length;rt.options.zIndex)return 1;var n=e.options.className,i=t.options.className;return ni?1:te.a.compareRangesUsingStarts(e.range,t.range)});for(var a=e.visibleRange.startLineNumber,u=e.visibleRange.endLineNumber,c=[],l=a;l<=u;l++){c[l-a]=""}this._renderWholeLineDecorations(e,n,c),this._renderNormalDecorations(e,n,c),this._renderResult=c},t.prototype._renderWholeLineDecorations=function(e,t,n){for(var i=String(this._lineHeight),r=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber,s=0,a=t.length;s',l=Math.max(u.range.startLineNumber,r),d=Math.min(u.range.endLineNumber,o),h=l;h<=d;h++){n[h-r]+=c}}},t.prototype._renderNormalDecorations=function(e,t,n){for(var i=String(this._lineHeight),r=e.visibleRange.startLineNumber,o=null,s=!1,a=null,u=0,c=t.length;u';s[d]+=m}}},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]},t}(Ne),kt=n("qecS"),Nt=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Et=function(e){function t(t,n,i,r){var s=e.call(this,t)||this,a=s._context.configuration.editor.viewInfo.scrollbar,u={listenOnDomNode:i.domNode,className:"editor-scrollable "+Object(V.e)(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,fastScrollSensitivity:a.fastScrollSensitivity};s.scrollbar=s._register(new kt.c(n.domNode,u,s._context.viewLayout.scrollable)),M.write(s.scrollbar.getDomNode(),5),s.scrollbarDomNode=Object(f.b)(s.scrollbar.getDomNode()),s.scrollbarDomNode.setPosition("absolute"),s._setLayout();var c=function(e,t,n){var i={};if(t){var r=e.scrollTop;r&&(i.scrollTop=s._context.viewLayout.getCurrentScrollTop()+r,e.scrollTop=0)}if(n){var o=e.scrollLeft;o&&(i.scrollLeft=s._context.viewLayout.getCurrentScrollLeft()+o,e.scrollLeft=0)}s._context.viewLayout.setScrollPositionNow(i)};return s._register(o.h(i.domNode,"scroll",function(e){return c(i.domNode,!0,!0)})),s._register(o.h(n.domNode,"scroll",function(e){return c(n.domNode,!0,!1)})),s._register(o.h(r.domNode,"scroll",function(e){return c(r.domNode,!0,!1)})),s._register(o.h(s.scrollbarDomNode.domNode,"scroll",function(e){return c(s.scrollbarDomNode.domNode,!0,!1)})),s}return Nt(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,n={handleMouseWheel:t.viewInfo.scrollbar.handleMouseWheel,mouseWheelScrollSensitivity:t.viewInfo.scrollbar.mouseWheelScrollSensitivity,fastScrollSensitivity:t.viewInfo.scrollbar.fastScrollSensitivity};this.scrollbar.updateOptions(n)}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(V.e)(this._context.theme.type)),!0},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this.scrollbar.renderNow()},t}(D),It=(n("uHSv"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),Dt=function(){return function(e,t,n){this.startLineNumber=+e,this.endLineNumber=+t,this.className=String(n)}}(),Mt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return It(t,e),t.prototype._render=function(e,t,n){for(var i=[],r=e;r<=t;r++){i[r-e]=[]}if(0===n.length)return i;n.sort(function(e,t){return e.className===t.className?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.className',s=[],a=t;a<=n;a++){var u=a-t,c=i[u];0===c.length?s[u]="":s[u]='
    =this._renderResult.length?"":this._renderResult[n]},t}(Mt),Pt=(n("gCdB"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),At=function(e){function t(t){var n=e.call(this)||this;n._context=t,n._primaryLineNumber=0,n._lineHeight=n._context.configuration.editor.lineHeight,n._spaceWidth=n._context.configuration.editor.fontInfo.spaceWidth,n._enabled=n._context.configuration.editor.viewInfo.renderIndentGuides,n._activeIndentEnabled=n._context.configuration.editor.viewInfo.highlightActiveIndentGuide;var i=n._context.configuration.editor.wrappingInfo.wrappingColumn;return n._maxIndentLeft=-1===i?-1:i*n._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,n._renderResult=null,n._context.addEventHandler(n),n}return Pt(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){if(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),e.wrappingInfo||e.fontInfo){var t=this._context.configuration.editor.wrappingInfo.wrappingColumn;this._maxIndentLeft=-1===t?-1:t*this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth}return!0},t.prototype.onCursorStateChanged=function(e){var t=e.selections[0],n=t.isEmpty()?t.positionLineNumber:0;return this._primaryLineNumber!==n&&(this._primaryLineNumber=n,!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,n=e.visibleRange.endLineNumber,i=this._context.model.getOptions().indentSize*this._spaceWidth,r=e.scrollWidth,o=this._lineHeight,s=this._context.model.getLinesIndentGuides(t,n),a=0,u=0,c=0;if(this._activeIndentEnabled&&this._primaryLineNumber){var l=this._context.model.getActiveIndentGuide(this._primaryLineNumber,t,n);a=l.startLineNumber,u=l.endLineNumber,c=l.indent}for(var d=[],h=t;h<=n;h++){for(var f=a<=h&&h<=u,p=h-t,g=s[p],m="",v=e.visibleRangeForPosition(new ee.a(h,1)),_=v?v.left:0,b=1;b<=g;b++){if(m+='
    ',(_+=i)>r||this._maxIndentLeft>0&&_>this._maxIndentLeft)break}d[p]=m}this._renderResult=d}else this._renderResult=null},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]},t}(Ne);Object(V.f)(function(e,t){var n=e.getColor(Ee.h);n&&t.addRule(".monaco-editor .lines-content .cigr { box-shadow: 1px 0 0 0 "+n+" inset; }");var i=e.getColor(Ee.a)||n;i&&t.addRule(".monaco-editor .lines-content .cigra { box-shadow: 1px 0 0 0 "+i+" inset; }")});n("+0Qw");var Rt=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ft=function(){function e(){this._currentVisibleRange=new te.a(1,1,1,1)}return e.prototype.getCurrentVisibleRange=function(){return this._currentVisibleRange},e.prototype.setCurrentVisibleRange=function(e){this._currentVisibleRange=e},e}(),jt=function(){return function(e,t,n,i,r,o){this.lineNumber=e,this.startColumn=t,this.endColumn=n,this.startScrollTop=i,this.stopScrollTop=r,this.scrollType=o}}(),Wt=function(e){function t(t,n){var i=e.call(this,t)||this;i._linesContent=n,i._textRangeRestingSpot=document.createElement("div"),i._visibleLines=new lt(i),i.domNode=i._visibleLines.domNode;var r=i._context.configuration;return i._lineHeight=r.editor.lineHeight,i._typicalHalfwidthCharacterWidth=r.editor.fontInfo.typicalHalfwidthCharacterWidth,i._isViewportWrapping=r.editor.wrappingInfo.isViewportWrapping,i._revealHorizontalRightPadding=r.editor.viewInfo.revealHorizontalRightPadding,i._scrollOff=r.editor.viewInfo.cursorSurroundingLines,i._canUseLayerHinting=r.editor.canUseLayerHinting,i._viewLineOptions=new q(r,i._context.theme.type),M.write(i.domNode,7),i.domNode.setClassName("view-lines"),l.a.applyFontInfo(i.domNode,r.editor.fontInfo),i._maxLineWidth=0,i._asyncUpdateLineWidths=new v.d(function(){i._updateLineWidthsSlow()},200),i._lastRenderedData=new Ft,i._horizontalRevealRequest=null,i}return Rt(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 G(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,this._scrollOff=t.editor.viewInfo.cursorSurroundingLines),e.canUseLayerHinting&&(this._canUseLayerHinting=t.editor.canUseLayerHinting),e.fontInfo&&l.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 q(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;for(var n=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber(),r=n;r<=i;r++){this._visibleLines.getVisibleLine(r).onOptionsChanged(this._viewLineOptions)}return!0}return!1},t.prototype.onCursorStateChanged=function(e){for(var t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),i=!1,r=t;r<=n;r++)i=this._visibleLines.getVisibleLine(r).onSelectionChanged()||i;return i},t.prototype.onDecorationsChanged=function(e){for(var t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),i=t;i<=n;i++)this._visibleLines.getVisibleLine(i).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),n=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range.startLineNumber!==e.range.endLineNumber?n={scrollTop:n.scrollTop,scrollLeft:0}:this._horizontalRevealRequest=new jt(e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),n.scrollTop,e.scrollType):this._horizontalRevealRequest=null;var i=Math.abs(this._context.viewLayout.getCurrentScrollTop()-n.scrollTop);return 0===e.scrollType&&i>this._lineHeight?this._context.viewLayout.setScrollPositionSmooth(n):this._context.viewLayout.setScrollPositionNow(n),!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),n=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTopn)&&(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 n=this._getViewLineDomNode(e);if(null===n)return null;var i=this._getLineNumberFor(n);if(-1===i)return null;if(i<1||i>this._context.model.getLineCount())return null;if(1===this._context.model.getLineMaxColumn(i))return new ee.a(i,1);var r=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber();if(io)return null;var s=this._visibleLines.getVisibleLine(i).getColumnOfNodeOffset(i,e,t),a=this._context.model.getLineMinColumn(i);return sn?-1:this._visibleLines.getVisibleLine(e).getWidth()},t.prototype.linesVisibleRangesForRange=function(e,t){if(this.shouldRender())return null;var n=e.endLineNumber,i=te.a.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!i)return null;var r=[],o=0,s=new K(this.domNode.domNode,this._textRangeRestingSpot),a=0;t&&(a=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new ee.a(i.startLineNumber,1)).lineNumber);for(var u=this._visibleLines.getStartLineNumber(),c=this._visibleLines.getEndLineNumber(),l=i.startLineNumber;l<=i.endLineNumber;l++)if(!(lc)){var d=l===i.startLineNumber?i.startColumn:1,h=l===i.endLineNumber?i.endColumn:this._context.model.getLineMaxColumn(l),f=this._visibleLines.getVisibleLine(l).getVisibleRangesForRange(d,h,s);if(f&&0!==f.length){if(t&&lo)){var a=s===t.startLineNumber?t.startColumn:1,u=s===t.endLineNumber?t.endColumn:this._context.model.getLineMaxColumn(s),c=this._visibleLines.getVisibleLine(s).getVisibleRangesForRange(a,u,i);c&&0!==c.length&&(n=n.concat(c))}return 0===n.length?null:n},t.prototype.visibleRangeForPosition=function(e){var t=this.visibleRangesForRange2(new te.a(e.lineNumber,e.column,e.lineNumber,e.column));return t?t[0]:null},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(),n=this._visibleLines.getEndLineNumber(),i=1,r=!0,o=t;o<=n;o++){var s=this._visibleLines.getVisibleLine(o);!e||s.getWidthIsFast()?i=Math.max(i,s.getWidth()):r=!1}return r&&1===t&&n===this._context.model.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(i),r},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,n=this._horizontalRevealRequest.startColumn,i=this._horizontalRevealRequest.endColumn,r=this._horizontalRevealRequest.scrollType;if(e.startLineNumber<=t&&t<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();var o=this._computeScrollLeftToRevealRange(t,n,i);this._isViewportWrapping||this._ensureMaxLineWidth(o.maxHorizontalOffset),0===r?this._context.viewLayout.setScrollPositionSmooth({scrollLeft:o.scrollLeft}):this._context.viewLayout.setScrollPositionNow({scrollLeft:o.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._maxLineWidthl&&(l=f.left+f.width)}return r=l,c=Math.max(0,c-t.HORIZONTAL_EXTRA_PX),l+=this._revealHorizontalRightPadding,{scrollLeft:this._computeMinimumScrolling(s,a,c,l),maxHorizontalOffset:r}},t.prototype._computeMinimumScrolling=function(e,t,n,i,r,o){r=!!r,o=!!o;var s=(t|=0)-(e|=0);return(i|=0)-(n|=0)t?Math.max(0,i-s):e:n},t.HORIZONTAL_EXTRA_PX=30,t}(D),Bt=(n("MlKm"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),Vt=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._decorationsLeft=n._context.configuration.editor.layoutInfo.decorationsLeft,n._decorationsWidth=n._context.configuration.editor.layoutInfo.decorationsWidth,n._renderResult=null,n._context.addEventHandler(n),n}return Bt(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),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(),n=[],i=0,r=0,o=t.length;r
    ',o=[],s=t;s<=n;s++){for(var a=s-t,u=i[a],c="",l=0,d=u.length;l';r[s]=u}this._renderResult=r},t.prototype.render=function(e,t){return this._renderResult?this._renderResult[t-e]:""},t}(Mt),Ut=(n("OkZj"),function(){function e(t,n,i,r){this.r=e._clamp(t),this.g=e._clamp(n),this.b=e._clamp(i),this.a=e._clamp(r)}return e._clamp=function(e){return e<0?0:e>255?255:0|e},e.Empty=new e(0,0,0,0),e}()),Kt=n("PCC9"),qt=function(){function e(){var e=this;this._onDidChange=new a.a,this.onDidChange=this._onDidChange.event,this._updateColorMap(),Kt.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=Kt.y.getColorMap();if(!e)return this._colors=[Ut.Empty],void(this._backgroundIsLight=!0);this._colors=[Ut.Empty];for(var t=1;t=.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}(),Gt=function(){function e(t,n){if(760!==t.length)throw new Error("Invalid x2CharData");if(190!==n.length)throw new Error("Invalid x1CharData");this.x2charData=t,this.x1charData=n,this.x2charDataLight=e.soften(t,.8),this.x1charDataLight=e.soften(n,50/60)}return e.soften=function(e,t){for(var n=new Uint8ClampedArray(e.length),i=0,r=e.length;it.width||i+4>t.height)console.warn("bad render request outside image data");else{var u=a?this.x2charDataLight:this.x2charData,c=e._getChIndex(r),l=4*t.width,d=s.r,h=s.g,f=s.b,p=o.r-d,g=o.g-h,m=o.b-f,v=t.data,_=4*c*2,b=i*l+4*n,y=u[_]/255;v[b+0]=d+p*y,v[b+1]=h+g*y,v[b+2]=f+m*y;y=u[_+1]/255;v[b+4]=d+p*y,v[b+5]=h+g*y,v[b+6]=f+m*y,b+=l;y=u[_+2]/255;v[b+0]=d+p*y,v[b+1]=h+g*y,v[b+2]=f+m*y;y=u[_+3]/255;v[b+4]=d+p*y,v[b+5]=h+g*y,v[b+6]=f+m*y,b+=l;y=u[_+4]/255;v[b+0]=d+p*y,v[b+1]=h+g*y,v[b+2]=f+m*y;y=u[_+5]/255;v[b+4]=d+p*y,v[b+5]=h+g*y,v[b+6]=f+m*y,b+=l;y=u[_+6]/255;v[b+0]=d+p*y,v[b+1]=h+g*y,v[b+2]=f+m*y;y=u[_+7]/255;v[b+4]=d+p*y,v[b+5]=h+g*y,v[b+6]=f+m*y}},e.prototype.x1RenderChar=function(t,n,i,r,o,s,a){if(n+1>t.width||i+2>t.height)console.warn("bad render request outside image data");else{var u=a?this.x1charDataLight:this.x1charData,c=e._getChIndex(r),l=4*t.width,d=s.r,h=s.g,f=s.b,p=o.r-d,g=o.g-h,m=o.b-f,v=t.data,_=2*c*1,b=i*l+4*n,y=u[_]/255;v[b+0]=d+p*y,v[b+1]=h+g*y,v[b+2]=f+m*y,b+=l;y=u[_+1]/255;v[b+0]=d+p*y,v[b+1]=h+g*y,v[b+2]=f+m*y}},e.prototype.x2BlockRenderChar=function(e,t,n,i,r,o){if(t+2>e.width||n+4>e.height)console.warn("bad render request outside image data");else{var s=4*e.width,a=r.r,u=r.g,c=r.b,l=a+.5*(i.r-a),d=u+.5*(i.g-u),h=c+.5*(i.b-c),f=e.data,p=n*s+4*t;f[p+0]=l,f[p+1]=d,f[p+2]=h,f[p+4]=l,f[p+5]=d,f[p+6]=h,f[(p+=s)+0]=l,f[p+1]=d,f[p+2]=h,f[p+4]=l,f[p+5]=d,f[p+6]=h,f[(p+=s)+0]=l,f[p+1]=d,f[p+2]=h,f[p+4]=l,f[p+5]=d,f[p+6]=h,f[(p+=s)+0]=l,f[p+1]=d,f[p+2]=h,f[p+4]=l,f[p+5]=d,f[p+6]=h}},e.prototype.x1BlockRenderChar=function(e,t,n,i,r,o){if(t+1>e.width||n+2>e.height)console.warn("bad render request outside image data");else{var s=4*e.width,a=r.r,u=r.g,c=r.b,l=a+.5*(i.r-a),d=u+.5*(i.g-u),h=c+.5*(i.b-c),f=e.data,p=n*s+4*t;f[p+0]=l,f[p+1]=d,f[p+2]=h,f[(p+=s)+0]=l,f[p+1]=d,f[p+2]=h}},e}();function Zt(e){for(var t=new Uint8ClampedArray(e.length),n=0,i=e.length;n=s+y)return new e(a,u,_,b,l,w=1,s);var w=Math.max(1,Math.floor(n-b*h/f));return c&&c.scrollHeight===u&&(c.scrollTop>a&&(w=Math.min(w,c.startLineNumber)),c.scrollToprn)n._context.viewLayout.setScrollPositionNow({scrollTop:r.scrollTop});else{var s=e.posy-t;n._context.viewLayout.setScrollPositionNow({scrollTop:r.getDesiredScrollTopFromDelta(s)})}},function(){n._slider.toggleClassName("active",!1)})}}),n}return en(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._decorationsCanvas.setWidth(this._options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._options.canvasInnerHeight,this._slider.setWidth(this._options.minimapWidth)},t.prototype._getBuffer=function(){return this._buffers||(this._buffers=new cn(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 on(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 this._renderDecorations=!0,!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.onDecorationsChanged=function(e){return this._renderDecorations=!0,!0},t.prototype.onThemeChanged=function(e){return this._context.model.invalidateMinimapColorCache(),this._renderDecorations=!!this._lastDecorations,!!this._lastDecorations},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=sn.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 n=e.scrollLeft/this._options.typicalHalfwidthCharacterWidth,i=Math.min(this._options.minimapWidth,Math.round(n*nn(this._options.renderMinimap)/this._options.pixelRatio));this._sliderHorizontal.setLeft(i),this._sliderHorizontal.setWidth(this._options.minimapWidth-i),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(t.sliderHeight),this.renderDecorations(t),this._lastRenderData=this.renderLines(t)},t.prototype.renderDecorations=function(e){if(this._renderDecorations){this._renderDecorations=!1;var t=this._context.model.getDecorationsInViewport(new te.a(e.startLineNumber,1,e.endLineNumber,this._context.model.getLineMaxColumn(e.endLineNumber))),n=this._options,i=n.renderMinimap,r=n.canvasInnerWidth,o=n.canvasInnerHeight,s=tn(i),a=nn(i),u=this._context.model.getOptions().tabSize,c=this._decorationsCanvas.domNode.getContext("2d");c.clearRect(0,0,r,o);for(var l=new Map,d=0;dr?l.length-1:_-1;if(C>0){var S=l[C]-w||2;this.renderDecoration(e,n.options.minimap,w,c,S,o)}d&&this.renderLineHighlight(e,n.options.minimap,c,o)},t.prototype.renderLineHighlight=function(e,t,n,i){var r=t.getColor(this._context.theme);e.fillStyle=r&&r.transparent(.5).toString()||"",e.fillRect(0,n,e.canvas.width,i)},t.prototype.renderDecoration=function(e,t,n,i,r,o){var s=t.getColor(this._context.theme);e.fillStyle=s&&s.toString()||"",e.fillRect(n,i,r,o)},t.prototype.renderLines=function(e){var n=this._options.renderMinimap,i=e.startLineNumber,r=e.endLineNumber,o=tn(n);if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){var s=this._lastRenderData._get();return new un(e,s.imageData,s.lines)}for(var a=this._getBuffer(),u=t._renderUntouchedLines(a,i,r,o,this._lastRenderData),c=u[0],l=u[1],d=u[2],h=this._context.model.getMinimapLinesRenderingData(i,r,d),f=h.tabSize,p=this._tokensColorTracker.getColor(2),g=this._tokensColorTracker.backgroundIsLight(),m=0,v=[],_=0,b=r-i+1;_=0&&Lh)return;var w=c.charCodeAt(p);if(9===w){var C=a-(p+g)%a;g+=C-1,f+=C*d}else if(32===w)f+=d;else for(var S=xe.v(w)?2:1,x=0;xh)return}},t}(D);Object(V.f)(function(e,t){var n=e.getColor(Qt._39);if(n){var i=n.transparent(.5);t.addRule(".monaco-editor .minimap-slider, .monaco-editor .minimap-slider .minimap-slider-horizontal { background: "+i+"; }")}var r=e.getColor(Qt._40);if(r){var o=r.transparent(.5);t.addRule(".monaco-editor .minimap-slider:hover, .monaco-editor .minimap-slider:hover .minimap-slider-horizontal { background: "+o+"; }")}var s=e.getColor(Qt._38);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 u=e.getColor(Qt._37);u&&t.addRule(".monaco-editor .minimap-shadow-visible { box-shadow: "+u+" -6px 0 6px -6px inset; }")});n("EG+O");var dn=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),hn=function(e){function t(t){var n=e.call(this,t)||this;return n._widgets={},n._verticalScrollbarWidth=n._context.configuration.editor.layoutInfo.verticalScrollbarWidth,n._minimapWidth=n._context.configuration.editor.layoutInfo.minimapWidth,n._horizontalScrollbarHeight=n._context.configuration.editor.layoutInfo.horizontalScrollbarHeight,n._editorHeight=n._context.configuration.editor.layoutInfo.height,n._editorWidth=n._context.configuration.editor.layoutInfo.width,n._domNode=Object(f.b)(document.createElement("div")),M.write(n._domNode,4),n._domNode.setClassName("overlayWidgets"),n}return dn(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._widgets={}},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(f.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 n=this._widgets[e.getId()];return n.preference!==t&&(n.preference=t,this.setShouldRender(),!0)},t.prototype.removeWidget=function(e){var t=e.getId();if(this._widgets.hasOwnProperty(t)){var n=this._widgets[t].domNode.domNode;delete this._widgets[t],n.parentNode.removeChild(n),this.setShouldRender()}},t.prototype._renderWidget=function(e){var t=e.domNode;if(null!==e.preference)if(0===e.preference)t.setTop(0),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth);else if(1===e.preference){var n=t.domNode.clientHeight;t.setTop(this._editorHeight-n-2*this._horizontalScrollbarHeight),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth)}else 2===e.preference&&(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),n=0,i=t.length;n=3){var r,o,s,a=i-(r=Math.floor(i/3))-(o=Math.floor(i/3)),u=(s=e)+r;return[[0,s,u,s,s+r+a,s,u,s],[0,r,a,r+a,o,r+a+o,a+o,r+a+o]]}if(2===n)return[[0,s=e,s,s,s+(r=Math.floor(i/2)),s,s,s],[0,r,r,r,o=i-r,r+o,r+o,r+o]];return[[0,e,e,e,e,e,e,e],[0,i,i,i,i,i,i,i]]},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}(),mn=function(e){function t(t){var n=e.call(this,t)||this;return n._domNode=Object(f.b)(document.createElement("canvas")),n._domNode.setClassName("decorationsOverviewRuler"),n._domNode.setPosition("absolute"),n._domNode.setLayerHinting(!0),n._domNode.setAttribute("aria-hidden","true"),n._updateSettings(!1),n._tokensColorTrackerListener=Kt.y.onDidChange(function(e){e.changedColorMap&&n._updateSettings(!0)}),n._cursorPositions=[],n}return pn(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._tokensColorTrackerListener.dispose()},t.prototype._updateSettings=function(e){var t=new gn(this._context.configuration,this._context.theme);return(!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,n=e.selections.length;tt&&(E=t-a),x=E-a,D=E+a;x>_+1||w!==m?(0!==b&&u.fillRect(c[m],v,l[m],_-v),m=w,v=x,_=D):D>_&&(_=D)}u.fillRect(c[m],v,l[m],_-v)}if(!this._settings.hideCursor&&this._settings.cursorColor){var L=2*this._settings.pixelRatio|0,O=L/2|0,k=this._settings.x[7],N=this._settings.w[7];u.fillStyle=this._settings.cursorColor;for(v=-100,_=-100,b=0,y=this._cursorPositions.length;bt&&(E=t-O);var D=(x=E-O)+L;x>_+1?(0!==b&&u.fillRect(k,v,N,_-v),v=x,_=D):D>_&&(_=D)}u.fillRect(k,v,N,_-v)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(u.beginPath(),u.lineWidth=1,u.strokeStyle=this._settings.borderColor,u.moveTo(0,0),u.lineTo(0,t),u.stroke(),u.moveTo(0,0),u.lineTo(e,0),u.stroke())},t}(D),vn=n("tGak"),_n=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),bn=function(e){function t(t,n){var i=e.call(this)||this;return i._context=t,i._domNode=Object(f.b)(document.createElement("canvas")),i._domNode.setClassName(n),i._domNode.setPosition("absolute"),i._domNode.setLayerHinting(!0),i._zoneManager=new vn.b(function(e){return i._context.viewLayout.getVerticalOffsetForLineNumber(e)}),i._zoneManager.setDOMWidth(0),i._zoneManager.setDOMHeight(0),i._zoneManager.setOuterHeight(i._context.viewLayout.getScrollHeight()),i._zoneManager.setLineHeight(i._context.configuration.editor.lineHeight),i._zoneManager.setPixelRatio(i._context.configuration.editor.pixelRatio),i._context.addEventHandler(i),i}return _n(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),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(),n=this._zoneManager.resolveColorZones(),i=this._zoneManager.getId2Color(),r=this._domNode.domNode.getContext("2d");return r.clearRect(0,0,e,t),n.length>0&&this._renderOneLane(r,n,i,e),!0},t.prototype._renderOneLane=function(e,t,n,i){for(var r=0,o=0,s=0,a=0,u=t;a=d?s=Math.max(s,h):(e.fillRect(0,o,i,s-o),o=d,s=h)}e.fillRect(0,o,i,s-o)},t}(E),yn=(n("5RGO"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),wn=function(e){function t(t){var n=e.call(this,t)||this;return n.domNode=Object(f.b)(document.createElement("div")),n.domNode.setAttribute("role","presentation"),n.domNode.setAttribute("aria-hidden","true"),n.domNode.setClassName("view-rulers"),n._renderedRulers=[],n._rulers=n._context.configuration.editor.viewInfo.rulers,n._typicalHalfwidthCharacterWidth=n._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,n}return yn(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(e0;){(o=Object(f.b)(document.createElement("div"))).setClassName("view-ruler"),o.setWidth(n),this.domNode.appendChild(o),this._renderedRulers.push(o),i--}else for(var r=e-t;r>0;){var o=this._renderedRulers.pop();this.domNode.removeChild(o),r--}},t.prototype.render=function(e){this._ensureRulersCount();for(var t=0,n=this._rulers.length;t0;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}(D);Object(V.f)(function(e,t){var n=e.getColor(Qt._37);n&&t.addRule(".monaco-editor .scroll-decoration { box-shadow: "+n+" 0 6px 6px -6px inset; }")});n("MfYP");var xn=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ln=function(){return function(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}}(),On=function(){return function(e,t){this.lineNumber=e,this.ranges=t}}();function kn(e){return new Ln(e)}function Nn(e){return new On(e.lineNumber,e.ranges.map(kn))}var En=g.g,In=function(e){function t(t){var n=e.call(this)||this;return n._previousFrameVisibleRangesWithStyle=[],n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._roundedSelection=n._context.configuration.editor.viewInfo.roundedSelection,n._typicalHalfwidthCharacterWidth=n._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,n._selections=[],n._renderResult=null,n._context.addEventHandler(n),n}return xn(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),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,n=e.length;t1)return!0}return!1},t.prototype._enrichVisibleRangesWithStyle=function(e,t,n){var i=this._typicalHalfwidthCharacterWidth/4,r=null,o=null;if(n&&n.length>0&&t.length>0){var s=t[0].lineNumber;if(s===e.startLineNumber)for(var a=0;!r&&a=0;a--)n[a].lineNumber===u&&(o=n[a].ranges[0]);r&&!r.startStyle&&(r=null),o&&!o.startStyle&&(o=null)}a=0;for(var c=t.length;a0){var g=t[a-1].ranges[0].left,m=t[a-1].ranges[0].left+t[a-1].ranges[0].width;Dn(d-g)g&&(f.top=1),Dn(h-m)'},t.prototype._actualRenderOneSelection=function(e,n,i,r){for(var o=r.length>0&&r[0].ranges[0].startStyle,s=this._lineHeight.toString(),a=(this._lineHeight-1).toString(),u=r.length>0?r[0].lineNumber:0,c=r.length>0?r[r.length-1].lineNumber:0,l=0,d=r.length;l1,c)}}this._previousFrameVisibleRangesWithStyle=o,this._renderResult=t},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]},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}(Ne);function Dn(e){return e<0?-e:e}Object(V.f)(function(e,t){var n=e.getColor(Qt.H);n&&t.addRule(".monaco-editor .focused .selected-text { background-color: "+n+"; }");var i=e.getColor(Qt.E);i&&t.addRule(".monaco-editor .selected-text { background-color: "+i+"; }");var r=e.getColor(Qt.I);r&&t.addRule(".monaco-editor .view-line span.inline-selected-text { color: "+r+"; }")});n("8EM9");var Mn=n("iXRW"),Tn=function(){return function(e,t,n,i,r,o){this.top=e,this.left=t,this.width=n,this.height=i,this.textContent=r,this.textContentClassName=o}}(),Pn=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(f.b)(document.createElement("div")),this._domNode.setClassName("cursor"),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),l.a.applyFontInfo(this._domNode,this._context.configuration.editor.fontInfo),this._domNode.setDisplay("none"),this._position=new ee.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&&(l.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._position=e,!0},e.prototype._prepareRender=function(e){var t="",n="";if(this._cursorStyle===Mn.g.Line||this._cursorStyle===Mn.g.LineThin){var i,r=e.visibleRangeForPosition(this._position);if(!r)return null;if(this._cursorStyle===Mn.g.Line){if((i=o.q(this._lineCursorWidth>0?this._lineCursorWidth:2))>2)t=this._context.model.getLineContent(this._position.lineNumber).charAt(this._position.column-1)}else i=o.q(1);var s=r.left;i>=2&&s>=1&&(s-=1);var a=e.getVerticalOffsetForLineNumber(this._position.lineNumber)-e.bigNumbersDelta;return new Tn(a,s,i,this._lineHeight,t,n)}var u=e.linesVisibleRangesForRange(new te.a(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column+1),!1);if(!u||0===u.length||0===u[0].ranges.length)return null;var c=u[0].ranges[0],l=c.width<1?this._typicalHalfwidthCharacterWidth:c.width;if(this._cursorStyle===Mn.g.Block){var d=this._context.model.getViewLineData(this._position.lineNumber);t=d.content.charAt(this._position.column-1),xe.w(d.content.charCodeAt(this._position.column-1))&&(t+=d.content.charAt(this._position.column));var h=d.tokens.findTokenIndexAtOffset(this._position.column-1);n=d.tokens.getClassName(h)}var f=e.getVerticalOffsetForLineNumber(this._position.lineNumber)-e.bigNumbersDelta,p=this._lineHeight;return this._cursorStyle!==Mn.g.Underline&&this._cursorStyle!==Mn.g.UnderlineThin||(f+=this._lineHeight-2,p=2),new Tn(f,c.left,l,p,t,n)},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}(),An=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Rn=function(e){function t(t){var n=e.call(this,t)||this;return n._readOnly=n._context.configuration.editor.readOnly,n._cursorBlinking=n._context.configuration.editor.viewInfo.cursorBlinking,n._cursorStyle=n._context.configuration.editor.viewInfo.cursorStyle,n._cursorSmoothCaretAnimation=n._context.configuration.editor.viewInfo.cursorSmoothCaretAnimation,n._selectionIsEmpty=!0,n._isVisible=!1,n._primaryCursor=new Pn(n._context),n._secondaryCursors=[],n._renderData=[],n._domNode=Object(f.b)(document.createElement("div")),n._domNode.setAttribute("role","presentation"),n._domNode.setAttribute("aria-hidden","true"),n._updateDomClassName(),n._domNode.appendChild(n._primaryCursor.getDomNode()),n._startCursorBlinkAnimation=new v.e,n._cursorFlatBlinkInterval=new v.c,n._blinkingEnabled=!1,n._editorHasFocus=!1,n._updateBlinking(),n}return An(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._cursorSmoothCaretAnimation=this._context.configuration.editor.viewInfo.cursorSmoothCaretAnimation),this._primaryCursor.onConfigurationChanged(e),this._updateBlinking(),e.viewInfo&&this._updateDomClassName();for(var t=0,n=this._secondaryCursors.length;tt.length){var o=this._secondaryCursors.length-t.length;for(i=0;in){var o=t-n;for(r=0;r=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,n=this.secondaryCursors.length;td&&S.index--}e.splice(d,1),t.splice(l,1),this._removeSecondaryCursor(d-1),r--}}}}},e}(),$n=n("2Ayt"),Jn=n("UuCV"),Qn=n("33h2"),ei=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();var ti=function(){return function(e,t,n){this.selections=e,this.source=t,this.reason=n}}(),ni=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,n=this.cursorState.length;t=t.length)return!1;if(!t[n].strictContainsRange(e[n]))return!1}return!0},e}(),ri=function(e){function t(t,n,i){var r=e.call(this)||this;r._onDidReachMaxCursorCount=r._register(new a.a),r.onDidReachMaxCursorCount=r._onDidReachMaxCursorCount.event,r._onDidAttemptReadOnlyEdit=r._register(new a.a),r.onDidAttemptReadOnlyEdit=r._onDidAttemptReadOnlyEdit.event,r._onDidChange=r._register(new a.a),r.onDidChange=r._onDidChange.event,r._configuration=t,r._model=n,r._knownModelVersionId=r._model.getVersionId(),r._viewModel=i,r.context=new ne.c(r._configuration,r._model,r._viewModel),r._cursors=new Xn(r.context),r._isHandling=!1,r._isDoingComposition=!1,r._columnSelectData=null,r._autoClosedActions=[],r._prevEditOperationType=0,r._register(r._model.onDidChangeRawContent(function(e){if(r._knownModelVersionId=e.versionId,!r._isHandling){var t=e.containsEvent(1);r._onModelContentChanged(t)}})),r._register(i.addEventListener(function(e){(function(e){for(var t=0,n=e.length;t0)for(var e=this._cursors.getSelections(),t=0;tt.MAX_CURSOR_COUNT&&(i=i.slice(0,t.MAX_CURSOR_COUNT),this._onDidReachMaxCursorCount.fire(void 0));var r=new ni(this._model,this);this._cursors.setStates(i),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,n,r)},t.prototype.setColumnSelectData=function(e){this._columnSelectData=e},t.prototype.reveal=function(e,t,n){this._revealRange(t,0,e,n)},t.prototype.revealRange=function(e,t,n,i){this.emitCursorRevealRange(t,n,e,i)},t.prototype.scrollTo=function(e){this._viewModel.viewLayout.setScrollPositionSmooth({scrollTop:e})},t.prototype.saveState=function(){for(var e=[],t=this._cursors.getSelections(),n=0,i=t.length;n0&&this._pushAutoClosedAction(n,i),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,n){var i=new ni(this._model,this);if(i.equals(n))return!1;var r=this._cursors.getSelections(),o=this._cursors.getViewSelections();try{this._beginEmit().emit(new Fe(o))}finally{this._endEmit()}return n&&n.cursorState.length===i.cursorState.length&&!i.cursorState.some(function(e,t){return!e.modelState.equals(n.cursorState[t].modelState)})||this._onDidChange.fire(new ti(r,e||"keyboard",t)),!0},t.prototype._revealRange=function(e,t,n,i){var r=this._cursors.getViewPositions(),o=r[0];if(1===e)for(var s=1;s1)return;var a=new te.a(o.lineNumber,o.column,o.lineNumber,o.column);this.emitCursorRevealRange(a,t,n,i)},t.prototype.emitCursorRevealRange=function(e,t,n,i){try{this._beginEmit().emit(new Ke(e,t,n,i))}finally{this._endEmit()}},t.prototype._findAutoClosingPairs=function(e){if(!e.length)return null;for(var t=[],n=0,i=e.length;n=0)return null;var o=r.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!o)return null;var s=o[1],a=this.context.config.autoClosingPairsClose2.get(s);if(!a||1!==a.length)return null;var u=a[0].open,c=r.text.length-o[2].length-1,l=r.text.lastIndexOf(u,c-1);if(-1===l)return null;t.push([l,c])}return t},t.prototype.executeEdits=function(e,t,n){var i=this,r=null;"snippet"===e&&(r=this._findAutoClosingPairs(t)),r&&(t[0]._isTracked=!0);var o=[],s=[],a=this._model.pushEditOperations(this.getSelections(),t,function(e){if(r)for(var t=0,a=r.length;t0&&this._pushAutoClosedAction(o,s)},t.prototype.trigger=function(e,t,n){var i=Qn.b;if(t!==i.CompositionStart)if(t===i.CompositionEnd&&(this._isDoingComposition=!1),this._configuration.editor.readOnly)this._onDidAttemptReadOnlyEdit.fire(void 0);else{var r=new ni(this._model,this),o=0;t!==i.Undo&&t!==i.Redo&&this._cursors.stopTrackingSelections(),this._cursors.ensureValidState(),this._isHandling=!0;try{switch(t){case i.Type:this._type(e,n.text);break;case i.ReplacePreviousChar:this._replacePreviousChar(n.text,n.replaceCharCnt);break;case i.Paste:o=4,this._paste(n.text,n.pasteOnNewLine,n.multicursorText);break;case i.Cut:this._cut();break;case i.Undo:o=5,this._interpretCommandResult(this._model.undo());break;case i.Redo:o=6,this._interpretCommandResult(this._model.redo());break;case i.ExecuteCommand:this._externalExecuteCommand(n);break;case i.ExecuteCommands:this._externalExecuteCommands(n);break;case i.CompositionEnd:this._interpretCompositionEnd(e)}}catch(e){Object(s.e)(e)}this._isHandling=!1,t!==i.Undo&&t!==i.Redo&&this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,o,r)&&this._revealRange(0,0,!0,0)}else this._isDoingComposition=!0},t.prototype._interpretCompositionEnd=function(e){if(!this._isDoingComposition&&"keyboard"===e){var t=ii.getAllAutoClosedCharacters(this._autoClosedActions);this._executeEditOperation(Jn.a.compositionEndWithInterceptors(this._prevEditOperationType,this.context.config,this.context.model,this.getSelections(),t))}},t.prototype._type=function(e,t){if(this._isDoingComposition||"keyboard"!==e)this._executeEditOperation(Jn.a.typeWithoutInterceptors(this._prevEditOperationType,this.context.config,this.context.model,this.getSelections(),t));else for(var n=0,i=t.length;n0&&(o[0]._isTracked=!0);var u=e.model.pushEditOperations(e.selectionsBefore,o,function(n){for(var i=[],r=0;r0?(i[n].sort(u),c[n]=t[n].computeCursorState(e.model,{getInverseEditOperations:function(){return i[n]},getTrackedSelection:function(t){var n=parseInt(t,10),i=e.model._getTrackedRange(e.trackedRanges[n]);return 0===e.trackedRangesDirection[n]?new he.a(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn):new he.a(i.endLineNumber,i.endColumn,i.startLineNumber,i.startColumn)}})):c[n]=e.selectionsBefore[n]};for(r=0;rr.identifier.major?i.identifier.major:r.identifier.major).toString()]=!0;for(var s=0;s0&&n--}}return t},e}(),si=n("lthF"),ai=n("/9db"),ui=n("Skdw"),ci=n("fyvs"),li=function(){function e(){this._instanceId=xe.I(++e.INSTANCE_COUNT),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,n,i){for(var r=0,o=e.length;r>>1;t===e[s]?i=t&&(this._whitespaceId2Index[c]=l+1)}this._whitespaceId2Index[e]=t,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)},e.prototype.changeWhitespace=function(e,t,n){t|=0,n|=0;var i=!1;return i=this.changeWhitespaceHeight(e,n)||i,i=this.changeWhitespaceAfterLineNumber(e,t)||i},e.prototype.changeWhitespaceHeight=function(e,t){if(t|=0,this._whitespaceId2Index.hasOwnProperty(e)){var n=this._whitespaceId2Index[e];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,n){if(n|=0,this._whitespaceId2Index.hasOwnProperty(t)){var i=this._whitespaceId2Index[t];if(this._afterLineNumbers[i]!==n){var r=this._ordinals[i],o=this._heights[i],s=this._minWidths[i];this.removeWhitespace(t);var a=e.findInsertionIndex(this._afterLineNumbers,n,this._ordinals,r);return this._insertWhitespaceAtIndex(t,a,n,r,o,s),!0}}return!1},e.prototype.removeWhitespace=function(e){if(this._whitespaceId2Index.hasOwnProperty(e)){var t=this._whitespaceId2Index[e];return delete this._whitespaceId2Index[e],this._removeWhitespaceAtIndex(t),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),n=0,i=t.length;n=e&&(this._whitespaceId2Index[r]=o-1)}},e.prototype.onLinesDeleted=function(e,t){e|=0,t|=0;for(var n=0,i=this._afterLineNumbers.length;nt&&(this._afterLineNumbers[n]-=t-e+1)}},e.prototype.onLinesInserted=function(e,t){e|=0,t|=0;for(var n=0,i=this._afterLineNumbers.length;n=t.length||t[r+1]>=e)return r;n=r+1|0}else i=r-1|0}return-1},e.prototype._findFirstWhitespaceAfterLineNumber=function(e){e|=0;var t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t1?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,n=this._lineHeight,i=1,r=t;i=s+n)i=o+1;else{if(e>=s)return o;r=o}}return i>t?t:i},e.prototype.getLinesViewportData=function(e,t){e|=0,t|=0;var n,i,r=this._lineHeight,o=0|this.getLineNumberAtOrAfterVerticalOffset(e),s=0|this.getVerticalOffsetForLineNumber(o),a=0|this._lineCount,u=0|this._whitespaces.getFirstWhitespaceIndexAfterLineNumber(o),c=0|this._whitespaces.getCount();-1===u?(u=c,i=a+1,n=0):(i=0|this._whitespaces.getAfterLineNumberForWhitespaceIndex(u),n=0|this._whitespaces.getHeightForWhitespaceIndex(u));var l=s,d=l,h=0;s>=5e5&&(h=5e5*Math.floor(s/5e5),d-=h=Math.floor(h/r)*r);for(var f=[],p=e+(t-e)/2,g=-1,m=o;m<=a;m++){if(-1===g){(l<=p&&pp)&&(g=m)}for(l+=r,f[m-o]=d,d+=r;i===m;)d+=n,l+=n,++u>=c?i=a+1:(i=0|this._whitespaces.getAfterLineNumberForWhitespaceIndex(u),n=0|this._whitespaces.getHeightForWhitespaceIndex(u));if(l>=t){a=m;break}}-1===g&&(g=a);var v=0|this.getVerticalOffsetForLineNumber(a),_=o,b=a;return _t&&b--,{bigNumbersDelta:h,startLineNumber:o,endLineNumber:a,relativeVerticalOffset:f,centeredLineNumber:g,completelyVisibleStartLineNumber:_,completelyVisibleEndLineNumber:b}},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,n,i=0,r=this._whitespaces.getCount()-1;if(r<0)return-1;if(e>=this.getVerticalOffsetForWhitespaceIndex(r)+this._whitespaces.getHeightForWhitespaceIndex(r))return-1;for(;i=(n=this.getVerticalOffsetForWhitespaceIndex(t))+this._whitespaces.getHeightForWhitespaceIndex(t))i=t+1;else{if(e>=n)return t;r=t}return i},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 n=this.getVerticalOffsetForWhitespaceIndex(t);if(n>e)return null;var i=this._whitespaces.getHeightForWhitespaceIndex(t);return{id:this._whitespaces.getIdForWhitespaceIndex(t),afterLineNumber:this._whitespaces.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:n,height:i}},e.prototype.getWhitespaceViewportData=function(e,t){e|=0,t|=0;var n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),i=this._whitespaces.getCount()-1;if(n<0)return[];for(var r=[],o=n;o<=i;o++){var s=this.getVerticalOffsetForWhitespaceIndex(o),a=this._whitespaces.getHeightForWhitespaceIndex(o);if(s>=t)break;r.push({id:this._whitespaces.getIdForWhitespaceIndex(o),afterLineNumber:this._whitespaces.getAfterLineNumberForWhitespaceIndex(o),verticalOffset:s,height:a})}return r},e.prototype.getWhitespaces=function(){return this._whitespaces.getWhitespaces(this._lineHeight)},e}(),hi=n("e1sR"),fi=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),pi=function(e){function t(t,n,i){var r=e.call(this)||this;return r._configuration=t,r._linesLayout=new di(n,r._configuration.editor.lineHeight),r.scrollable=r._register(new ci.a(0,i)),r._configureSmoothScrollDuration(),r.scrollable.setScrollDimensions({width:t.editor.layoutInfo.contentWidth,height:t.editor.layoutInfo.contentHeight}),r.onDidScroll=r.scrollable.onScroll,r._updateHeight(),r}return fi(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 2===this._configuration.editor.viewInfo.scrollbar.horizontal?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 hi.f(t.scrollTop,t.scrollLeft,e.width,e.height)},t.prototype.getFutureViewport=function(){var e=this.scrollable.getScrollDimensions(),t=this.scrollable.getFutureScrollPosition();return new hi.f(t.scrollTop,t.scrollLeft,e.width,e.height)},t.prototype._computeScrollWidth=function(e,t){if(!this._configuration.editor.wrappingInfo.isViewportWrapping){var n=this._configuration.editor.viewInfo.scrollBeyondLastColumn*this._configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,i=this._linesLayout.getWhitespaceMinWidth();return Math.max(e+n,t,i)}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,n=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(n),scrollLeft:e.scrollLeft}},t.prototype.addWhitespace=function(e,t,n,i){return this._linesLayout.insertWhitespace(e,t,n,i)},t.prototype.changeWhitespace=function(e,t,n){return this._linesLayout.changeWhitespace(e,t,n)},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 n=this.scrollable.getCurrentScrollPosition();this.scrollable.setScrollPositionNow({scrollLeft:n.scrollLeft+e,scrollTop:n.scrollTop+t})},t}(u.a),gi=n("GfE5"),mi=n("CQAd"),vi=n("Y6WZ"),_i=n("0ly5"),bi=function(){return function(e,t){this.outputLineIndex=e,this.outputOffset=t}}(),yi=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),n=this._lines.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new te.a(t.lineNumber,t.column,n.lineNumber,n.column)},e.prototype.validateViewPosition=function(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)},e.prototype.validateViewRange=function(e,t){var n=this._lines.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),i=this._lines.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new te.a(n.lineNumber,n.column,i.lineNumber,i.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),n=this._lines.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn);return new te.a(t.lineNumber,t.column,n.lineNumber,n.column)},e.prototype.modelPositionIsVisible=function(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)},e}(),wi=function(){function e(e,t,n,i,r,o){this.model=e,this._validModelVersionId=-1,this.tabSize=n,this.wrappingColumn=i,this.columnsForFullWidthChar=r,this.wrappingIndent=o,this.linePositionMapperFactory=t,this._constructLines(!0)}return e.prototype.dispose=function(){this.hiddenAreasIds=this.model.deltaDecorations(this.hiddenAreasIds,[])},e.prototype.createCoordinatesConverter=function(){return new yi(this)},e.prototype._ensureValidState=function(){if(this.model.getVersionId()!==this._validModelVersionId)throw new Error("ViewModel is out of sync with Model!");this.lines.length!==this.model.getLineCount()&&this._constructLines(!1)},e.prototype._constructLines=function(e){var t=this;this.lines=[],e&&(this.hiddenAreasIds=[]);for(var n=this.model.getLinesContent(),i=n.length,r=new Uint32Array(i),o=this.hiddenAreasIds.map(function(e){return t.model.getDecorationRange(e)}).sort(te.a.compareRangesUsingStarts),s=1,a=0,u=-1,c=u+1=s&&d<=a,f=Li(this.linePositionMapperFactory,n[l],this.tabSize,this.wrappingColumn,this.columnsForFullWidthChar,this.wrappingIndent,!h);r[l]=f.getViewLineCount(),this.lines[l]=f}this._validModelVersionId=this.model.getVersionId(),this.prefixSumComputer=new vi.b(r)},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 n=e.map(function(e){return t.model.validateRange(e)}).sort(te.a.compareRangesUsingStarts),i=[],r=n[0].startLineNumber,o=n[0].endLineNumber,s=1,a=n.length;so+1?(i.push(new te.a(r,1,o,1)),r=u.startLineNumber,o=u.endLineNumber):u.endLineNumber>o&&(o=u.endLineNumber)}return i.push(new te.a(r,1,o,1)),i},e.prototype.setHiddenAreas=function(e){var t=this,n=this._reduceRanges(e),i=this.hiddenAreasIds.map(function(e){return t.model.getDecorationRange(e)}).sort(te.a.compareRangesUsingStarts);if(n.length===i.length){for(var r=!1,o=0;o=d&&m<=h?this.lines[o].isVisible()&&(this.lines[o]=this.lines[o].setVisible(!1),v=!0):(g=!0,this.lines[o].isVisible()||(this.lines[o]=this.lines[o].setVisible(!0),v=!0)),v){var _=this.lines[o].getViewLineCount();this.prefixSumComputer.changeValue(o,_)}}return g||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,n){return(this.wrappingIndent!==e||this.wrappingColumn!==t||this.columnsForFullWidthChar!==n)&&(this.wrappingIndent=e,this.wrappingColumn=t,this.columnsForFullWidthChar=n,this._constructLines(!1),!0)},e.prototype.onModelFlushed=function(){this._constructLines(!0)},e.prototype.onModelLinesDeleted=function(e,t,n){if(e<=this._validModelVersionId)return null;var i=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1,r=this.prefixSumComputer.getAccumulatedValue(n-1);return this.lines.splice(t-1,n-t+1),this.prefixSumComputer.removeValues(t-1,n-t+1),new ze(i,r)},e.prototype.onModelLinesInserted=function(e,t,n,i){if(e<=this._validModelVersionId)return null;for(var r=this.getHiddenAreas(),o=!1,s=new ee.a(t,1),a=0,u=r;aa?(p=(f=(l=(c=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1)+a-1)+1)+(r-a)-1,u=!0):rt?t:e},e.prototype.warmUpLookupCache=function(e,t){this.prefixSumComputer.warmUpCache(e-1,t-1)},e.prototype.getActiveIndentGuide=function(e,t,n){this._ensureValidState(),e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),n=this._toValidViewLineNumber(n);var i=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),o=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),s=this.model.getActiveIndentGuide(i.lineNumber,r.lineNumber,o.lineNumber),a=this.convertModelPositionToViewPosition(s.startLineNumber,1),u=this.convertModelPositionToViewPosition(s.endLineNumber,this.model.getLineMaxColumn(s.endLineNumber));return{startLineNumber:a.lineNumber,endLineNumber:u.lineNumber,indent:s.indent}},e.prototype.getViewLinesIndentGuides=function(e,t){this._ensureValidState(),e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);for(var n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),i=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t)),r=[],o=[],s=[],a=n.lineNumber-1,u=i.lineNumber-1,c=null,l=a;l<=u;l++){var d=this.lines[l];if(d.isVisible()){var h=d.getViewLineNumberOfModelPosition(0,l===a?n.column:1),f=d.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(l+1)),p=0;(w=f-h+1)>1&&1===d.getViewLineMinColumn(this.model,l+1,f)&&(p=0===h?1:2),o.push(w),s.push(p),null===c&&(c=new ee.a(l+1,0))}else null!==c&&(r=r.concat(this.model.getLinesIndentGuides(c.lineNumber,l)),c=null)}null!==c&&(r=r.concat(this.model.getLinesIndentGuides(c.lineNumber,i.lineNumber)),c=null);for(var g=t-e+1,m=new Array(g),v=0,_=0,b=r.length;_t&&(f=!0,h=t-r+1);var p=d+h;if(l.getViewLinesData(this.model,u+1,d,p,r-e,n,a),r+=h,f)break}}return a},e.prototype.validateViewPosition=function(e,t,n){this._ensureValidState(),e=this._toValidViewLineNumber(e);var i=this.prefixSumComputer.getIndexOf(e-1),r=i.index,o=i.remainder,s=this.lines[r],a=s.getViewLineMinColumn(this.model,r+1,o),u=s.getViewLineMaxColumn(this.model,r+1,o);tu&&(t=u);var c=s.getModelColumnOfViewPosition(o,t);return this.model.validatePosition(new ee.a(r+1,c)).equals(n)?new ee.a(e,t):this.convertModelPositionToViewPosition(n.lineNumber,n.column)},e.prototype.convertViewPositionToModelPosition=function(e,t){this._ensureValidState(),e=this._toValidViewLineNumber(e);var n=this.prefixSumComputer.getIndexOf(e-1),i=n.index,r=n.remainder,o=this.lines[i].getModelColumnOfViewPosition(r,t);return this.model.validatePosition(new ee.a(i+1,o))},e.prototype.convertModelPositionToViewPosition=function(e,t){this._ensureValidState();for(var n=this.model.validatePosition(new ee.a(e,t)),i=n.lineNumber,r=n.column,o=i-1,s=!1;o>0&&!this.lines[o].isVisible();)o--,s=!0;if(0===o&&!this.lines[o].isVisible())return new ee.a(1,1);var a=1+(0===o?0:this.prefixSumComputer.getAccumulatedValue(o-1));return s?this.lines[o].getViewPositionOfModelPosition(a,this.model.getLineMaxColumn(o+1)):this.lines[i-1].getViewPositionOfModelPosition(a,r)},e.prototype._getViewLineNumberForModelPosition=function(e,t){var n=e-1;if(this.lines[n].isVisible()){var i=1+(0===n?0:this.prefixSumComputer.getAccumulatedValue(n-1));return this.lines[n].getViewLineNumberOfModelPosition(i,t)}for(;n>0&&!this.lines[n].isVisible();)n--;if(0===n&&!this.lines[n].isVisible())return 1;var r=1+(0===n?0:this.prefixSumComputer.getAccumulatedValue(n-1));return this.lines[n].getViewLineNumberOfModelPosition(r,this.model.getLineMaxColumn(n+1))},e.prototype.getAllOverviewRulerDecorations=function(e,t,n){for(var i=this.model.getOverviewRulerDecorations(e,t),r=new Ni,o=0,s=i;ot.id?1:0:n});for(var d=[],h=0,f=null,p=0,g=o;p0&&(o=this.wrappedIndent+o),o},e.prototype.getViewLineLength=function(e,t,n){if(!this._isVisible)throw new Error("Not supported");var i=this.getInputStartOffsetOfOutputLineIndex(n),r=this.getInputEndOffsetOfOutputLineIndex(e,t,n)-i;return n>0&&(r=this.wrappedIndent.length+r),r},e.prototype.getViewLineMinColumn=function(e,t,n){if(!this._isVisible)throw new Error("Not supported");return n>0?this.wrappedIndentLength+1:1},e.prototype.getViewLineMaxColumn=function(e,t,n){if(!this._isVisible)throw new Error("Not supported");return this.getViewLineContent(e,t,n).length+1},e.prototype.getViewLineData=function(e,t,n){if(!this._isVisible)throw new Error("Not supported");var i=this.getInputStartOffsetOfOutputLineIndex(n),r=this.getInputEndOffsetOfOutputLineIndex(e,t,n),o=e.getValueInRange({startLineNumber:t,startColumn:i+1,endLineNumber:t,endColumn:r+1});n>0&&(o=this.wrappedIndent+o);var s=n>0?this.wrappedIndentLength+1:1,a=o.length+1,u=n+10&&(c=this.wrappedIndentLength);var l=e.getLineTokens(t);return new hi.c(o,u,s,a,l.sliceAndInflate(i,r,c))},e.prototype.getViewLinesData=function(e,t,n,i,r,o,s){if(!this._isVisible)throw new Error("Not supported");for(var a=n;a0&&(n0&&(r+=this.wrappedIndentLength),new ee.a(e+i,r)},e.prototype.getViewLineNumberOfModelPosition=function(e,t){if(!this._isVisible)throw new Error("Not supported");return e+this.positionMapper.getOutputPositionOfInputOffset(t-1).outputLineIndex},e}();function Li(e,t,n,i,r,o,s){var a=e.createLineMapping(t,n,i,r,o);return null===a?s?Ci.INSTANCE:Si.INSTANCE:new xi(a,s)}var Oi=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}(),ki=function(){function e(e){this.model=e}return e.prototype.dispose=function(){},e.prototype.createCoordinatesConverter=function(){return new Oi(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,n){return!1},e.prototype.onModelFlushed=function(){},e.prototype.onModelLinesDeleted=function(e,t,n){return new ze(t,n)},e.prototype.onModelLinesInserted=function(e,t,n,i){return new Ue(t,n)},e.prototype.onModelLineChanged=function(e,t,n){return[!1,new He(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,n){return{startLineNumber:e,endLineNumber:e,indent:0}},e.prototype.getViewLinesIndentGuides=function(e,t){for(var n=t-e+1,i=new Array(n),r=0;r=t)return void(n>s&&(r[r.length-1]=n));r.push(i,t,n)}else this.result[e]=[i,t,n]},e}(),Ei=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ii=function(e){function t(t,n,i){for(var r=e.call(this,0)||this,o=0;o=12352&&t<=12543||t>=13312&&t<=19903||t>=19968&&t<=40959?4:e.prototype.get.call(this,t)},t}(gi.a),Di=function(){function e(e,t,n){this.classifier=new Ii(e,t,n)}return e.nextVisibleColumn=function(e,t,n,i){return e=+e,t=+t,i=+i,n?e+(t-e%t):e+i},e.prototype.createLineMapping=function(t,n,i,r,o){if(-1===i)return null;n=+n,i=+i,r=+r;var s=0,a="",u=-1;if(0!==(o=+o)&&-1!==(u=xe.q(t))){a=t.substring(0,u);for(var c=0;ci&&(a="",s=0)}var d=this.classifier,h=0,f=[],p=0,g=0,m=-1,v=0,_=-1,b=0,y=t.length;for(c=0;c0){var x=t.charCodeAt(c-1);1!==d.get(x)&&(m=c,v=s)}var L=1;if(xe.v(w)&&(L=r),(g=e.nextVisibleColumn(g,n,C,L))>i&&0!==c){var O=void 0,k=void 0;-1!==m&&v<=i?(O=m,k=v):-1!==_&&b<=i?(O=_,k=b):(O=c,k=s),f[p++]=O-h,h=O,g=e.nextVisibleColumn(k,n,C,L),m=-1,v=0,_=-1,b=0}if(-1!==m&&(v=e.nextVisibleColumn(v,n,C,L)),-1!==_&&(b=e.nextVisibleColumn(b,n,C,L)),2===S&&(0===o||c>=u)&&(m=c+1,v=s),4===S&&c=2&&e.viewportStartLineTrackedRange){var g=e.model._getTrackedRange(e.viewportStartLineTrackedRange);if(g){var m=e.coordinatesConverter.convertModelPositionToViewPosition(g.getStartPosition()),v=e.viewLayout.getVerticalOffsetForLineNumber(m.lineNumber);e.viewLayout.setScrollPositionNow({scrollTop:v+e.viewportStartLineDelta})}}})),this._register(this.model.onDidChangeTokens(function(t){for(var n=[],i=0,r=t.ranges.length;ia||(o0&&s[u-1]===s[u]||(a+=this.model.getLineContent(s[u])+r);return a}for(var c=[],l=0,d=o;l'+this._getHTMLToCopy(n,o)+""},t.prototype._getHTMLToCopy=function(e,t){for(var n=e.startLineNumber,i=e.startColumn,r=e.endLineNumber,o=e.endColumn,s=this.getTabSize(),a="",u=n;u<=r;u++){var c=this.model.getLineTokens(u),l=c.getLineContent(),d=u===n?i-1:0,h=u===r?o-1:l.length;a+=""===l?"
    ":Object(ui.a)(l,c.inflate(),t,d,h,s)}return a},t.prototype._getColorMap=function(){var e=Kt.y.getColorMap(),t=["#000000"];if(e)for(var n=1,i=e.length;n=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},qi=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Gi=0,Zi="showUnused",Yi=function(){function e(e,t,n,i,r,o){this.model=e,this.viewModel=t,this.cursor=n,this.view=i,this.hasRealView=r,this.listenersToRemove=o}return e.prototype.dispose=function(){Object(u.f)(this.listenersToRemove),this.model.onBeforeDetached(),this.hasRealView&&this.view.dispose(),this.cursor.dispose(),this.viewModel.dispose()},e}(),Xi=function(e){function t(t,n,i,r,o,u,c,l,h,f){var p,g=e.call(this)||this;g._onDidDispose=g._register(new a.a),g.onDidDispose=g._onDidDispose.event,g._onDidChangeModelContent=g._register(new a.a),g.onDidChangeModelContent=g._onDidChangeModelContent.event,g._onDidChangeModelLanguage=g._register(new a.a),g.onDidChangeModelLanguage=g._onDidChangeModelLanguage.event,g._onDidChangeModelLanguageConfiguration=g._register(new a.a),g.onDidChangeModelLanguageConfiguration=g._onDidChangeModelLanguageConfiguration.event,g._onDidChangeModelOptions=g._register(new a.a),g.onDidChangeModelOptions=g._onDidChangeModelOptions.event,g._onDidChangeModelDecorations=g._register(new a.a),g.onDidChangeModelDecorations=g._onDidChangeModelDecorations.event,g._onDidChangeConfiguration=g._register(new a.a),g.onDidChangeConfiguration=g._onDidChangeConfiguration.event,g._onDidChangeModel=g._register(new a.a),g.onDidChangeModel=g._onDidChangeModel.event,g._onDidChangeCursorPosition=g._register(new a.a),g.onDidChangeCursorPosition=g._onDidChangeCursorPosition.event,g._onDidChangeCursorSelection=g._register(new a.a),g.onDidChangeCursorSelection=g._onDidChangeCursorSelection.event,g._onDidAttemptReadOnlyEdit=g._register(new a.a),g.onDidAttemptReadOnlyEdit=g._onDidAttemptReadOnlyEdit.event,g._onDidLayoutChange=g._register(new a.a),g.onDidLayoutChange=g._onDidLayoutChange.event,g._editorTextFocus=g._register(new $i),g.onDidFocusEditorText=g._editorTextFocus.onDidChangeToTrue,g.onDidBlurEditorText=g._editorTextFocus.onDidChangeToFalse,g._editorWidgetFocus=g._register(new $i),g.onDidFocusEditorWidget=g._editorWidgetFocus.onDidChangeToTrue,g.onDidBlurEditorWidget=g._editorWidgetFocus.onDidChangeToFalse,g._onWillType=g._register(new a.a),g.onWillType=g._onWillType.event,g._onDidType=g._register(new a.a),g.onDidType=g._onDidType.event,g._onCompositionStart=g._register(new a.a),g.onCompositionStart=g._onCompositionStart.event,g._onCompositionEnd=g._register(new a.a),g.onCompositionEnd=g._onCompositionEnd.event,g._onDidPaste=g._register(new a.a),g.onDidPaste=g._onDidPaste.event,g._onMouseUp=g._register(new a.a),g.onMouseUp=g._onMouseUp.event,g._onMouseDown=g._register(new a.a),g.onMouseDown=g._onMouseDown.event,g._onMouseDrag=g._register(new a.a),g.onMouseDrag=g._onMouseDrag.event,g._onMouseDrop=g._register(new a.a),g.onMouseDrop=g._onMouseDrop.event,g._onContextMenu=g._register(new a.a),g.onContextMenu=g._onContextMenu.event,g._onMouseMove=g._register(new a.a),g.onMouseMove=g._onMouseMove.event,g._onMouseLeave=g._register(new a.a),g.onMouseLeave=g._onMouseLeave.event,g._onMouseWheel=g._register(new a.a),g.onMouseWheel=g._onMouseWheel.event,g._onKeyUp=g._register(new a.a),g.onKeyUp=g._onKeyUp.event,g._onKeyDown=g._register(new a.a),g.onKeyDown=g._onKeyDown.event,g._onDidScrollChange=g._register(new a.a),g.onDidScrollChange=g._onDidScrollChange.event,g._onDidChangeViewZones=g._register(new a.a),g.onDidChangeViewZones=g._onDidChangeViewZones.event,g._domElement=t,g._id=++Gi,g._decorationTypeKeysToIds={},g._decorationTypeSubtypes={},g.isSimpleWidget=i.isSimpleWidget||!1,g._telemetryData=i.telemetryData,n=n||{},g._configuration=g._register(g._createConfiguration(n,f)),g._register(g._configuration.onDidChange(function(e){g._onDidChangeConfiguration.fire(e),e.layoutInfo&&g._onDidLayoutChange.fire(g._configuration.editor.layoutInfo),g._configuration.editor.showUnused?g._domElement.classList.add(Zi):g._domElement.classList.remove(Zi)})),g._contextKeyService=g._register(c.createScoped(g._domElement)),g._notificationService=h,g._codeEditorService=o,g._commandService=u,g._themeService=l,g._register(new Ji(g,g._contextKeyService)),g._register(new Qi(g,g._contextKeyService)),g._instantiationService=r.createChild(new Bi.a([ji.c,g._contextKeyService])),g._modelData=null,g._contributions={},g._actions={},g._focusTracker=new er(t),g._focusTracker.onChange(function(){g._editorWidgetFocus.setValue(g._focusTracker.hasFocus())}),g._contentWidgets={},g._overlayWidgets={};for(var m=0,v=(p=Array.isArray(i.contributions)?i.contributions:d.d.getEditorContributions()).length;m1),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(Boolean(e&&e.canUndo())),this._canRedo.set(Boolean(e&&e.canRedo()))},t}(u.a),Qi=function(e){function t(t,n){var i=e.call(this)||this;i._editor=t,i._contextKeyService=n,i._langId=ai.a.languageId.bindTo(n),i._hasCompletionItemProvider=ai.a.hasCompletionItemProvider.bindTo(n),i._hasCodeActionsProvider=ai.a.hasCodeActionsProvider.bindTo(n),i._hasCodeLensProvider=ai.a.hasCodeLensProvider.bindTo(n),i._hasDefinitionProvider=ai.a.hasDefinitionProvider.bindTo(n),i._hasDeclarationProvider=ai.a.hasDeclarationProvider.bindTo(n),i._hasImplementationProvider=ai.a.hasImplementationProvider.bindTo(n),i._hasTypeDefinitionProvider=ai.a.hasTypeDefinitionProvider.bindTo(n),i._hasHoverProvider=ai.a.hasHoverProvider.bindTo(n),i._hasDocumentHighlightProvider=ai.a.hasDocumentHighlightProvider.bindTo(n),i._hasDocumentSymbolProvider=ai.a.hasDocumentSymbolProvider.bindTo(n),i._hasReferenceProvider=ai.a.hasReferenceProvider.bindTo(n),i._hasRenameProvider=ai.a.hasRenameProvider.bindTo(n),i._hasSignatureHelpProvider=ai.a.hasSignatureHelpProvider.bindTo(n),i._hasDocumentFormattingProvider=ai.a.hasDocumentFormattingProvider.bindTo(n),i._hasDocumentSelectionFormattingProvider=ai.a.hasDocumentSelectionFormattingProvider.bindTo(n),i._hasMultipleDocumentFormattingProvider=ai.a.hasMultipleDocumentFormattingProvider.bindTo(n),i._hasMultipleDocumentSelectionFormattingProvider=ai.a.hasMultipleDocumentSelectionFormattingProvider.bindTo(n),i._isInWalkThrough=ai.a.isInEmbeddedEditor.bindTo(n);var r=function(){return i._update()};return i._register(t.onDidChangeModel(r)),i._register(t.onDidChangeModelLanguage(r)),i._register(Kt.d.onDidChange(r)),i._register(Kt.a.onDidChange(r)),i._register(Kt.b.onDidChange(r)),i._register(Kt.f.onDidChange(r)),i._register(Kt.e.onDidChange(r)),i._register(Kt.o.onDidChange(r)),i._register(Kt.z.onDidChange(r)),i._register(Kt.n.onDidChange(r)),i._register(Kt.i.onDidChange(r)),i._register(Kt.k.onDidChange(r)),i._register(Kt.s.onDidChange(r)),i._register(Kt.t.onDidChange(r)),i._register(Kt.g.onDidChange(r)),i._register(Kt.j.onDidChange(r)),i._register(Kt.v.onDidChange(r)),r(),i}return Ui(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.reset=function(){var e=this;this._contextKeyService.bufferChangeEvents(function(){e._langId.reset(),e._hasCompletionItemProvider.reset(),e._hasCodeActionsProvider.reset(),e._hasCodeLensProvider.reset(),e._hasDefinitionProvider.reset(),e._hasDeclarationProvider.reset(),e._hasImplementationProvider.reset(),e._hasTypeDefinitionProvider.reset(),e._hasHoverProvider.reset(),e._hasDocumentHighlightProvider.reset(),e._hasDocumentSymbolProvider.reset(),e._hasReferenceProvider.reset(),e._hasRenameProvider.reset(),e._hasDocumentFormattingProvider.reset(),e._hasDocumentSelectionFormattingProvider.reset(),e._hasSignatureHelpProvider.reset(),e._isInWalkThrough.reset()})},t.prototype._update=function(){var e=this,t=this._editor.getModel();t?this._contextKeyService.bufferChangeEvents(function(){e._langId.set(t.getLanguageIdentifier().language),e._hasCompletionItemProvider.set(Kt.d.has(t)),e._hasCodeActionsProvider.set(Kt.a.has(t)),e._hasCodeLensProvider.set(Kt.b.has(t)),e._hasDefinitionProvider.set(Kt.f.has(t)),e._hasDeclarationProvider.set(Kt.e.has(t)),e._hasImplementationProvider.set(Kt.o.has(t)),e._hasTypeDefinitionProvider.set(Kt.z.has(t)),e._hasHoverProvider.set(Kt.n.has(t)),e._hasDocumentHighlightProvider.set(Kt.i.has(t)),e._hasDocumentSymbolProvider.set(Kt.k.has(t)),e._hasReferenceProvider.set(Kt.s.has(t)),e._hasRenameProvider.set(Kt.t.has(t)),e._hasSignatureHelpProvider.set(Kt.v.has(t)),e._hasDocumentFormattingProvider.set(Kt.g.has(t)||Kt.j.has(t)),e._hasDocumentSelectionFormattingProvider.set(Kt.j.has(t)),e._hasMultipleDocumentFormattingProvider.set(Kt.g.all(t).length+Kt.j.all(t).length>1),e._hasMultipleDocumentSelectionFormattingProvider.set(Kt.j.all(t).length>1),e._isInWalkThrough.set(t.uri.scheme===c.b.walkThroughSnippet)}):this.reset()},t}(u.a),er=function(e){function t(t){var n=e.call(this)||this;return n._onChange=n._register(new a.a),n.onChange=n._onChange.event,n._hasFocus=!1,n._domFocusTracker=n._register(o.S(t)),n._register(n._domFocusTracker.onDidFocus(function(){n._hasFocus=!0,n._onChange.fire(void 0)})),n._register(n._domFocusTracker.onDidBlur(function(){n._hasFocus=!1,n._onChange.fire(void 0)})),n}return Ui(t,e),t.prototype.hasFocus=function(){return this._hasFocus},t}(u.a),tr=encodeURIComponent("");function ir(e){return tr+encodeURIComponent(e.toString())+nr}var rr=encodeURIComponent('');Object(V.f)(function(e,t){var n=e.getColor(Qt.p);n&&t.addRule(".monaco-editor .squiggly-error { border-bottom: 4px double "+n+"; }");var i=e.getColor(Qt.q);i&&t.addRule('.monaco-editor .squiggly-error { background: url("data:image/svg+xml,'+ir(i)+'") repeat-x bottom left; }');var r=e.getColor(Qt.L);r&&t.addRule(".monaco-editor .squiggly-warning { border-bottom: 4px double "+r+"; }");var o=e.getColor(Qt.M);o&&t.addRule('.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,'+ir(o)+'") repeat-x bottom left; }');var s=e.getColor(Qt.F);s&&t.addRule(".monaco-editor .squiggly-info { border-bottom: 4px double "+s+"; }");var a=e.getColor(Qt.G);a&&t.addRule('.monaco-editor .squiggly-info { background: url("data:image/svg+xml,'+ir(a)+'") repeat-x bottom left; }');var u=e.getColor(Qt.y);u&&t.addRule(".monaco-editor .squiggly-hint { border-bottom: 2px dotted "+u+"; }");var c=e.getColor(Qt.z);c&&t.addRule('.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,'+(rr+encodeURIComponent(c.toString())+or)+'") no-repeat bottom left; }');var l=e.getColor(Ee.o);l&&t.addRule("."+Zi+" .monaco-editor .squiggly-inline-unnecessary { opacity: "+l.rgba.a+"; }");var d=e.getColor(Ee.n);d&&t.addRule("."+Zi+" .monaco-editor .squiggly-unnecessary { border-bottom: 2px dashed "+d+"; }");var h=e.getColor(Qt.x)||"inherit";t.addRule(".monaco-editor .squiggly-inline-deprecated { text-decoration: line-through; text-decoration-color: "+h+"}")})},vbff:function(e,t,n){"use strict";var i;n.d(t,"a",function(){return i}),function(e){function t(e,t){if(e.start>=t.end||t.start>=e.end)return{start:0,end:0};var n=Math.max(e.start,t.start),i=Math.min(e.end,t.end);return i-n<=0?{start:0,end:0}:{start:n,end:i}}function n(e){return e.end-e.start<=0}e.intersect=t,e.isEmpty=n,e.intersects=function(e,i){return!n(t(e,i))},e.relativeComplement=function(e,t){var i=[],r={start:e.start,end:Math.min(t.start,e.end)},o={start:Math.max(t.end,e.start),end:e.end};return n(r)||i.push(r),n(o)||i.push(o),i}}(i||(i={}))},vugd:function(e,t,n){var i=n("3UtB").Reporter,r=n("3UtB").EncoderBuffer,o=n("3UtB").DecoderBuffer,s=n("08Lv"),a=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],u=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(a);function c(e,t){var n={};this._baseState=n,n.enc=e,n.parent=t||null,n.children=null,n.tag=null,n.args=null,n.reverseArgs=null,n.choice=null,n.optional=!1,n.any=!1,n.obj=!1,n.use=null,n.useDecoder=null,n.key=null,n.default=null,n.explicit=null,n.implicit=null,n.contains=null,n.parent||(n.children=[],this._wrap())}e.exports=c;var l=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];c.prototype.clone=function(){var e=this._baseState,t={};l.forEach(function(n){t[n]=e[n]});var n=new this.constructor(t.parent);return n._baseState=t,n},c.prototype._wrap=function(){var e=this._baseState;u.forEach(function(t){this[t]=function(){var n=new this.constructor(this);return e.children.push(n),n[t].apply(n,arguments)}},this)},c.prototype._init=function(e){var t=this._baseState;s(null===t.parent),e.call(this),t.children=t.children.filter(function(e){return e._baseState.parent===this},this),s.equal(t.children.length,1,"Root node can have only one child")},c.prototype._useArgs=function(e){var t=this._baseState,n=e.filter(function(e){return e instanceof this.constructor},this);e=e.filter(function(e){return!(e instanceof this.constructor)},this),0!==n.length&&(s(null===t.children),t.children=n,n.forEach(function(e){e._baseState.parent=this},this)),0!==e.length&&(s(null===t.args),t.args=e,t.reverseArgs=e.map(function(e){if("object"!=typeof e||e.constructor!==Object)return e;var t={};return Object.keys(e).forEach(function(n){n==(0|n)&&(n|=0);var i=e[n];t[i]=n}),t}))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach(function(e){c.prototype[e]=function(){var t=this._baseState;throw new Error(e+" not implemented for encoding: "+t.enc)}}),a.forEach(function(e){c.prototype[e]=function(){var t=this._baseState,n=Array.prototype.slice.call(arguments);return s(null===t.tag),t.tag=e,this._useArgs(n),this}}),c.prototype.use=function(e){s(e);var t=this._baseState;return s(null===t.use),t.use=e,this},c.prototype.optional=function(){return this._baseState.optional=!0,this},c.prototype.def=function(e){var t=this._baseState;return s(null===t.default),t.default=e,t.optional=!0,this},c.prototype.explicit=function(e){var t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.explicit=e,this},c.prototype.implicit=function(e){var t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.implicit=e,this},c.prototype.obj=function(){var e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},c.prototype.key=function(e){var t=this._baseState;return s(null===t.key),t.key=e,this},c.prototype.any=function(){return this._baseState.any=!0,this},c.prototype.choice=function(e){var t=this._baseState;return s(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map(function(t){return e[t]})),this},c.prototype.contains=function(e){var t=this._baseState;return s(null===t.use),t.contains=e,this},c.prototype._decode=function(e,t){var n=this._baseState;if(null===n.parent)return e.wrapResult(n.children[0]._decode(e,t));var i,r=n.default,s=!0,a=null;if(null!==n.key&&(a=e.enterKey(n.key)),n.optional){var u=null;if(null!==n.explicit?u=n.explicit:null!==n.implicit?u=n.implicit:null!==n.tag&&(u=n.tag),null!==u||n.any){if(s=this._peekTag(e,u,n.any),e.isError(s))return s}else{var c=e.save();try{null===n.choice?this._decodeGeneric(n.tag,e,t):this._decodeChoice(e,t),s=!0}catch(e){s=!1}e.restore(c)}}if(n.obj&&s&&(i=e.enterObject()),s){if(null!==n.explicit){var l=this._decodeTag(e,n.explicit);if(e.isError(l))return l;e=l}var d=e.offset;if(null===n.use&&null===n.choice){if(n.any)c=e.save();var h=this._decodeTag(e,null!==n.implicit?n.implicit:n.tag,n.any);if(e.isError(h))return h;n.any?r=e.raw(c):e=h}if(t&&t.track&&null!==n.tag&&t.track(e.path(),d,e.length,"tagged"),t&&t.track&&null!==n.tag&&t.track(e.path(),e.offset,e.length,"content"),r=n.any?r:null===n.choice?this._decodeGeneric(n.tag,e,t):this._decodeChoice(e,t),e.isError(r))return r;if(n.any||null!==n.choice||null===n.children||n.children.forEach(function(n){n._decode(e,t)}),n.contains&&("octstr"===n.tag||"bitstr"===n.tag)){var f=new o(r);r=this._getUse(n.contains,e._reporterState.obj)._decode(f,t)}}return n.obj&&s&&(r=e.leaveObject(i)),null===n.key||null===r&&!0!==s?null!==a&&e.exitKey(a):e.leaveKey(a,n.key,r),r},c.prototype._decodeGeneric=function(e,t,n){var i=this._baseState;return"seq"===e||"set"===e?null:"seqof"===e||"setof"===e?this._decodeList(t,e,i.args[0],n):/str$/.test(e)?this._decodeStr(t,e,n):"objid"===e&&i.args?this._decodeObjid(t,i.args[0],i.args[1],n):"objid"===e?this._decodeObjid(t,null,null,n):"gentime"===e||"utctime"===e?this._decodeTime(t,e,n):"null_"===e?this._decodeNull(t,n):"bool"===e?this._decodeBool(t,n):"objDesc"===e?this._decodeStr(t,e,n):"int"===e||"enum"===e?this._decodeInt(t,i.args&&i.args[0],n):null!==i.use?this._getUse(i.use,t._reporterState.obj)._decode(t,n):t.error("unknown tag: "+e)},c.prototype._getUse=function(e,t){var n=this._baseState;return n.useDecoder=this._use(e,t),s(null===n.useDecoder._baseState.parent),n.useDecoder=n.useDecoder._baseState.children[0],n.implicit!==n.useDecoder._baseState.implicit&&(n.useDecoder=n.useDecoder.clone(),n.useDecoder._baseState.implicit=n.implicit),n.useDecoder},c.prototype._decodeChoice=function(e,t){var n=this._baseState,i=null,r=!1;return Object.keys(n.choice).some(function(o){var s=e.save(),a=n.choice[o];try{var u=a._decode(e,t);if(e.isError(u))return!1;i={type:o,value:u},r=!0}catch(t){return e.restore(s),!1}return!0},this),r?i:e.error("Choice not matched")},c.prototype._createEncoderBuffer=function(e){return new r(e,this.reporter)},c.prototype._encode=function(e,t,n){var i=this._baseState;if(null===i.default||i.default!==e){var r=this._encodeValue(e,t,n);if(void 0!==r&&!this._skipDefault(r,t,n))return r}},c.prototype._encodeValue=function(e,t,n){var r=this._baseState;if(null===r.parent)return r.children[0]._encode(e,t||new i);var o=null;if(this.reporter=t,r.optional&&void 0===e){if(null===r.default)return;e=r.default}var s=null,a=!1;if(r.any)o=this._createEncoderBuffer(e);else if(r.choice)o=this._encodeChoice(e,t);else if(r.contains)s=this._getUse(r.contains,n)._encode(e,t),a=!0;else if(r.children)s=r.children.map(function(n){if("null_"===n._baseState.tag)return n._encode(null,t,e);if(null===n._baseState.key)return t.error("Child should have a key");var i=t.enterKey(n._baseState.key);if("object"!=typeof e)return t.error("Child expected, but input is not object");var r=n._encode(e[n._baseState.key],t,e);return t.leaveKey(i),r},this).filter(function(e){return e}),s=this._createEncoderBuffer(s);else if("seqof"===r.tag||"setof"===r.tag){if(!r.args||1!==r.args.length)return t.error("Too many args for : "+r.tag);if(!Array.isArray(e))return t.error("seqof/setof, but data is not Array");var u=this.clone();u._baseState.implicit=null,s=this._createEncoderBuffer(e.map(function(n){var i=this._baseState;return this._getUse(i.args[0],e)._encode(n,t)},u))}else null!==r.use?o=this._getUse(r.use,n)._encode(e,t):(s=this._encodePrimitive(r.tag,e),a=!0);if(!r.any&&null===r.choice){var c=null!==r.implicit?r.implicit:r.tag,l=null===r.implicit?"universal":"context";null===c?null===r.use&&t.error("Tag could be omitted only for .use()"):null===r.use&&(o=this._encodeComposite(c,a,l,s))}return null!==r.explicit&&(o=this._encodeComposite(r.explicit,!1,"context",o)),o},c.prototype._encodeChoice=function(e,t){var n=this._baseState,i=n.choice[e.type];return i||s(!1,e.type+" not found in "+JSON.stringify(Object.keys(n.choice))),i._encode(e.value,t)},c.prototype._encodePrimitive=function(e,t){var n=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);if("objid"===e&&n.args)return this._encodeObjid(t,n.reverseArgs[0],n.args[1]);if("objid"===e)return this._encodeObjid(t,null,null);if("gentime"===e||"utctime"===e)return this._encodeTime(t,e);if("null_"===e)return this._encodeNull();if("int"===e||"enum"===e)return this._encodeInt(t,n.args&&n.reverseArgs[0]);if("bool"===e)return this._encodeBool(t);if("objDesc"===e)return this._encodeStr(t,e);throw new Error("Unsupported tag: "+e)},c.prototype._isNumstr=function(e){return/^[0-9 ]*$/.test(e)},c.prototype._isPrintstr=function(e){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(e)}},vzCy:function(e,t,n){"use strict";var i,r="object"==typeof Reflect?Reflect:null,o=r&&"function"==typeof r.apply?r.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};i=r&&"function"==typeof r.ownKeys?r.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 u=10;function c(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function l(e,t,n,i){var r,o,s,a;if("function"!=typeof n)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof n);if(void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),s=o[t]),void 0===s)s=o[t]=n,++e._eventsCount;else if("function"==typeof s?s=o[t]=i?[n,s]:[s,n]:i?s.unshift(n):s.push(n),(r=c(e))>0&&s.length>r&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=s.length,a=u,console&&console.warn&&console.warn(a)}return e}function d(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},r=function(){for(var e=[],t=0;t0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var u=r[e];if(void 0===u)return!1;if("function"==typeof u)o(u,this,t);else{var c=u.length,l=p(u,c);for(n=0;n=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,r=o;break}if(r<0)return this;0===r?n.shift():function(e,t){for(;t+1=0;i--)this.removeListener(e,t[i]);return this},a.prototype.listeners=function(e){return h(this,e,!0)},a.prototype.rawListeners=function(e){return h(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):f.call(e,t)},a.prototype.listenerCount=f,a.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},wV8Z:function(e,t,n){"use strict";t.d=function(e){var t=[];for(var n in e)i.call(e,n)&&t.push(e[n]);return t},t.b=function(e){for(var t in e)if(i.call(e,t))return e[t];return},t.c=function(e,t){var n=function(n){if(i.call(e,n)){var r=t({key:n,value:e[n]},function(){delete e[n]});if(!1===r)return{value:void 0}}};for(var r in e){var o=n(r);if("object"==typeof o)return o.value}},n.d(t,"a",function(){return r});var i=Object.prototype.hasOwnProperty;var r=function(){function e(){this.map=new Map}return e.prototype.add=function(e,t){var n=this.map.get(e);n||(n=new Set,this.map.set(e,n)),n.add(t)},e.prototype.delete=function(e,t){var n=this.map.get(e);n&&(n.delete(t),0===n.size&&this.map.delete(e))},e.prototype.forEach=function(e,t){var n=this.map.get(e);n&&n.forEach(t)},e}()},wrMp:function(e,t,n){"use strict";var i=n("tRuz"),r=n("lZ6o"),o=n("geuY"),s=n("LC74"),a=i.base,u=r.utils.assert;function c(e){a.call(this,"short",e),this.a=new o(e.a,16).toRed(this.red),this.b=new o(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function l(e,t,n,i){a.BasePoint.call(this,e,"affine"),null===t&&null===n?(this.x=null,this.y=null,this.inf=!0):(this.x=new o(t,16),this.y=new o(n,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function d(e,t,n,i){a.BasePoint.call(this,e,"jacobian"),null===t&&null===n&&null===i?(this.x=this.curve.one,this.y=this.curve.one,this.z=new o(0)):(this.x=new o(t,16),this.y=new o(n,16),this.z=new o(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}s(c,a),e.exports=c,c.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,n;if(e.beta)t=new o(e.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);t=(t=i[0].cmp(i[1])<0?i[0]:i[1]).toRed(this.red)}if(e.lambda)n=new o(e.lambda,16);else{var r=this._getEndoRoots(this.n);0===this.g.mul(r[0]).x.cmp(this.g.x.redMul(t))?n=r[0]:(n=r[1],u(0===this.g.mul(n).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:n,basis:e.basis?e.basis.map(function(e){return{a:new o(e.a,16),b:new o(e.b,16)}}):this._getEndoBasis(n)}}},c.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:o.mont(e),n=new o(2).toRed(t).redInvm(),i=n.redNeg(),r=new o(3).toRed(t).redNeg().redSqrt().redMul(n);return[i.redAdd(r).fromRed(),i.redSub(r).fromRed()]},c.prototype._getEndoBasis=function(e){for(var t,n,i,r,s,a,u,c,l,d=this.n.ushrn(Math.floor(this.n.bitLength()/2)),h=e,f=this.n.clone(),p=new o(1),g=new o(0),m=new o(0),v=new o(1),_=0;0!==h.cmpn(0);){var b=f.div(h);c=f.sub(b.mul(h)),l=m.sub(b.mul(p));var y=v.sub(b.mul(g));if(!i&&c.cmp(d)<0)t=u.neg(),n=p,i=c.neg(),r=l;else if(i&&2==++_)break;u=c,f=h,h=c,m=p,p=l,v=g,g=y}s=c.neg(),a=l;var w=i.sqr().add(r.sqr());return s.sqr().add(a.sqr()).cmp(w)>=0&&(s=t,a=n),i.negative&&(i=i.neg(),r=r.neg()),s.negative&&(s=s.neg(),a=a.neg()),[{a:i,b:r},{a:s,b:a}]},c.prototype._endoSplit=function(e){var t=this.endo.basis,n=t[0],i=t[1],r=i.b.mul(e).divRound(this.n),o=n.b.neg().mul(e).divRound(this.n),s=r.mul(n.a),a=o.mul(i.a),u=r.mul(n.b),c=o.mul(i.b);return{k1:e.sub(s).sub(a),k2:u.add(c).neg()}},c.prototype.pointFromX=function(e,t){(e=new o(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),i=n.redSqrt();if(0!==i.redSqr().redSub(n).cmp(this.zero))throw new Error("invalid point");var r=i.fromRed().isOdd();return(t&&!r||!t&&r)&&(i=i.redNeg()),this.point(e,i)},c.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,n=e.y,i=this.a.redMul(t),r=t.redSqr().redMul(t).redIAdd(i).redIAdd(this.b);return 0===n.redSqr().redISub(r).cmpn(0)},c.prototype._endoWnafMulAdd=function(e,t,n){for(var i=this._endoWnafT1,r=this._endoWnafT2,o=0;o":""},l.prototype.isInfinity=function(){return this.inf},l.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var n=t.redSqr().redISub(this.x).redISub(e.x),i=t.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,i)},l.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,n=this.x.redSqr(),i=e.redInvm(),r=n.redAdd(n).redIAdd(n).redIAdd(t).redMul(i),o=r.redSqr().redISub(this.x.redAdd(this.x)),s=r.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},l.prototype.getX=function(){return this.x.fromRed()},l.prototype.getY=function(){return this.y.fromRed()},l.prototype.mul=function(e){return e=new o(e,16),this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},l.prototype.mulAdd=function(e,t,n){var i=[this,t],r=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(i,r):this.curve._wnafMulAdd(1,i,r,2)},l.prototype.jmulAdd=function(e,t,n){var i=[this,t],r=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(i,r,!0):this.curve._wnafMulAdd(1,i,r,2,!0)},l.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},l.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,i=function(e){return e.neg()};t.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(i)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(i)}}}return t},l.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},s(d,a.BasePoint),c.prototype.jpoint=function(e,t,n){return new d(this,e,t,n)},d.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),n=this.x.redMul(t),i=this.y.redMul(t).redMul(e);return this.curve.point(n,i)},d.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},d.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),n=this.z.redSqr(),i=this.x.redMul(t),r=e.x.redMul(n),o=this.y.redMul(t.redMul(e.z)),s=e.y.redMul(n.redMul(this.z)),a=i.redSub(r),u=o.redSub(s);if(0===a.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=a.redSqr(),l=c.redMul(a),d=i.redMul(c),h=u.redSqr().redIAdd(l).redISub(d).redISub(d),f=u.redMul(d.redISub(h)).redISub(o.redMul(l)),p=this.z.redMul(e.z).redMul(a);return this.curve.jpoint(h,f,p)},d.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),n=this.x,i=e.x.redMul(t),r=this.y,o=e.y.redMul(t).redMul(this.z),s=n.redSub(i),a=r.redSub(o);if(0===s.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=s.redSqr(),c=u.redMul(s),l=n.redMul(u),d=a.redSqr().redIAdd(c).redISub(l).redISub(l),h=a.redMul(l.redISub(d)).redISub(r.redMul(c)),f=this.z.redMul(s);return this.curve.jpoint(d,h,f)},d.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,n=0;n=0)return!1;if(n.redIAdd(r),0===this.x.cmp(n))return!0}},d.prototype.inspect=function(){return this.isInfinity()?"":""},d.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},wtJh:function(e,t){},x0Ha:function(e,t,n){"use strict";var i=n("ypnx");function r(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var n=this,o=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return o||s?(t?t(e):!e||this._writableState&&this._writableState.errorEmitted||i.nextTick(r,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!t&&e?(i.nextTick(r,n,e),n._writableState&&(n._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)}}},x33M:function(e,t){},xF6g:function(e,t){},xJaW:function(e,t,n){"use strict";n.d(t,"b",function(){return o}),n.d(t,"a",function(){return s});var i=n("JVO/"),r=n("7g0X"),o=Object(i.c)("accessibilityService"),s=new r.d("accessibilityModeEnabled",!1)},xgy6:function(e,t,n){"use strict";(function(e){n.d(t,"a",function(){return o}),n.d(t,"b",function(){return s}),n.d(t,"c",function(){return a});var i=n("ZfGv"),r=void 0===e?{cwd:function(){return"/"},env:Object.create(null),get platform(){return i.g?"win32":i.d?"darwin":"linux"},nextTick:function(e){return Object(i.h)(e)}}:e,o=r.cwd,s=r.env,a=r.platform}).call(t,n("W2nU"))},xteI:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"ContextMenuController",function(){return v});var i,r=n("hK2W"),o=n("7/Cv"),s=n("IG52"),a=n("tqet"),u=n("03Zz"),c=n("/9db"),l=n("C3c5"),d=n("7g0X"),h=n("yO/1"),f=n("NqM+"),p=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),g=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},v=function(){function e(e,t,n,i,r,o){var s=this;this._contextMenuService=t,this._contextViewService=n,this._contextKeyService=i,this._keybindingService=r,this._menuService=o,this._toDispose=new a.b,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(function(e){return s._onContextMenu(e)})),this._toDispose.add(this._editor.onMouseWheel(function(e){s._contextMenuIsBeingShownCount>0&&s._contextViewService.hideContextView()})),this._toDispose.add(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.hasModel()){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));if(12!==e.target.type&&(e.event.preventDefault(),6===e.target.type||7===e.target.type||1===e.target.type)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);var t=null;1!==e.target.type&&(t={x:e.event.posx-1,width:2,y:e.event.posy-1,height:2}),this.showContextMenu(t)}}},e.prototype.showContextMenu=function(e){if(this._editor.getConfiguration().contribInfo.contextmenu&&this._editor.hasModel())if(this._contextMenuService){var t=this._getMenuActions(this._editor.getModel());t.length>0&&this._doShowContextMenu(t,e)}else this._editor.focus()},e.prototype._getMenuActions=function(e){var t=[],n=this._menuService.createMenu(7,this._contextKeyService),i=n.getActions({arg:e.uri});n.dispose();for(var r=0,o=i;r0&&this._contextViewService.hideContextView(),this._toDispose.dispose()},e.ID="editor.contrib.contextmenu",e=g([m(1,h.a),m(2,h.b),m(3,d.c),m(4,f.a),m(5,l.a)],e)}(),_=function(e){function t(){return e.call(this,{id:"editor.action.showContextMenu",label:r.a("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:c.a.textInputFocus,primary:1092,weight:100}})||this}return p(t,e),t.prototype.run=function(e,t){v.get(t).showContextMenu()},t}(u.b);Object(u.h)(v),Object(u.f)(_)},y3Fb:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,r=n("hK2W"),o=n("03Zz"),s=n("G8r4"),a=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),u=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomIn",label:r.a("EditorFontZoomIn.label","Editor Font Zoom In"),alias:"Editor Font Zoom In",precondition:void 0})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(s.a.getZoomLevel()+1)},t}(o.b),c=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomOut",label:r.a("EditorFontZoomOut.label","Editor Font Zoom Out"),alias:"Editor Font Zoom Out",precondition:void 0})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(s.a.getZoomLevel()-1)},t}(o.b),l=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomReset",label:r.a("EditorFontZoomReset.label","Editor Font Zoom Reset"),alias:"Editor Font Zoom Reset",precondition:void 0})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(0)},t}(o.b);Object(o.f)(u),Object(o.f)(c),Object(o.f)(l)},yDvu:function(e,t,n){"use strict";var i=n("X3l8").Buffer,r=n("9DG0").Transform;function o(e){r.call(this),this._block=i.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}n("LC74")(o,r),o.prototype._transform=function(e,t,n){var i=null;try{this.update(e,t)}catch(e){i=e}n(i)},o.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(e){t=e}e(t)},o.prototype.update=function(e,t){if(function(e,t){if(!i.isBuffer(e)&&"string"!=typeof e)throw new TypeError(t+" must be a string or a buffer")}(e,"Data"),this._finalized)throw new Error("Digest already called");i.isBuffer(e)||(e=i.from(e,t));for(var n=this._block,r=0;this._blockOffset+e.length-r>=this._blockSize;){for(var o=this._blockOffset;o0;++s)this._length[s]+=a,(a=this._length[s]/4294967296|0)>0&&(this._length[s]-=4294967296*a);return this},o.prototype._update=function(){throw new Error("_update is not implemented")},o.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();void 0!==e&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var n=0;n<4;++n)this._length[n]=0;return t},o.prototype._digest=function(){throw new Error("_digest is not implemented")},e.exports=o},yMmo:function(e,t,n){"use strict";var i=n("geuY"),r=n("lZ6o").utils.assert;function o(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}e.exports=o,o.fromPublic=function(e,t,n){return t instanceof o?t:new o(e,{pub:t,pubEnc:n})},o.fromPrivate=function(e,t,n){return t instanceof o?t:new o(e,{priv:t,privEnc:n})},o.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},o.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},o.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},o.prototype._importPrivate=function(e,t){this.priv=new i(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?r(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||r(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},o.prototype.derive=function(e){return e.mul(this.priv).getX()},o.prototype.sign=function(e,t,n){return this.ec.sign(e,this,t,n)},o.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},o.prototype.inspect=function(){return""}},yNY4:function(e,t,n){"use strict";function i(e){return(e/8|0)+(e%8==0?0:1)}var r={ES256:i(256),ES384:i(384),ES512:i(521)};e.exports=function(e){var t=r[e];if(t)return t;throw new Error('Unknown algorithm "'+e+'"')}},"yO/1":function(e,t,n){"use strict";n.d(t,"b",function(){return r}),n.d(t,"a",function(){return o});var i=n("JVO/"),r=Object(i.c)("contextViewService"),o=Object(i.c)("contextMenuService")},ygb1:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("X6iQ"),r=n("80kS"),o=n("uNfg"),s=n("tqet"),a=n("03Zz"),u=n("vORD"),c=n("GfE5"),l=n("vTy2"),d=n("/9db"),h=n("PCC9"),f=n("606G"),p=n("UqCF"),g=n("zxiH"),m=n("mrx5"),v=n("4tuZ"),_=n("P1SM"),b=n("artP"),y=n("iHM7"),w=n("jIdl"),C=n("0WPX"),S=function(){function e(){}return e._handleEolEdits=function(e,t){for(var n=void 0,i=[],r=0,o=t;r0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},z=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},U=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},K=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]1)){var n=this._editor.getModel(),r=this._editor.getPosition(),o=!1,s=this._editor.onDidChangeModelContent(function(e){if(e.isFlush)return o=!0,void s.dispose();for(var t=0,n=e.changes.length;t1||this._instantiationService.invokeFunction(T,this.editor,e,2,r.a.None).catch(g.e))},e.ID="editor.contrib.formatOnPaste",e=H([z(1,O.a)],e)}(),Y=function(e){function t(){return e.call(this,{id:"editor.action.formatDocument",label:x.a("formatDocument.label","Format Document"),alias:"Format Document",precondition:B.a.and(d.a.writable,d.a.hasDocumentFormattingProvider),kbOpts:{kbExpr:B.a.and(d.a.editorTextFocus,d.a.hasDocumentFormattingProvider),primary:1572,linux:{primary:3111},weight:100},menuOpts:{when:d.a.hasDocumentFormattingProvider,group:"1_modification",order:1.3}})||this}return V(t,e),t.prototype.run=function(e,t){return U(this,void 0,void 0,function(){return K(this,function(n){switch(n.label){case 0:return t.hasModel()?[4,e.get(O.a).invokeFunction(A,t,1,r.a.None)]:[3,2];case 1:n.sent(),n.label=2;case 2:return[2]}})})},t}(a.b),X=function(e){function t(){return e.call(this,{id:"editor.action.formatSelection",label:x.a("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:B.a.and(d.a.writable,d.a.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:B.a.and(d.a.editorTextFocus,d.a.hasDocumentSelectionFormattingProvider),primary:Object(o.a)(2089,2084),weight:100},menuOpts:{when:B.a.and(d.a.hasDocumentSelectionFormattingProvider,d.a.hasNonEmptySelection),group:"1_modification",order:1.31}})||this}return V(t,e),t.prototype.run=function(e,t){return U(this,void 0,void 0,function(){var n,i,o;return K(this,function(s){switch(s.label){case 0:return t.hasModel()?(n=e.get(O.a),i=t.getModel(),(o=t.getSelection()).isEmpty()&&(o=new l.a(o.startLineNumber,1,o.startLineNumber,i.getLineMaxColumn(o.startLineNumber))),[4,n.invokeFunction(T,t,o,1,r.a.None)]):[2];case 1:return s.sent(),[2]}})})},t}(a.b);Object(a.h)(G),Object(a.h)(Z),Object(a.f)(Y),Object(a.f)(X),W.a.registerCommand("editor.action.format",function(e){return U(q,void 0,void 0,function(){var t,n;return K(this,function(i){switch(i.label){case 0:return(t=e.get(u.a).getFocusedCodeEditor())&&t.hasModel()?(n=e.get(W.b),t.getSelection().isEmpty()?[4,n.executeCommand("editor.action.formatDocument")]:[3,2]):[2];case 1:return i.sent(),[3,4];case 2:return[4,n.executeCommand("editor.action.formatSelection")];case 3:i.sent(),i.label=4;case 4:return[2]}})})})},ypnx:function(e,t,n){"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,n,i,r){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var o,s,a=arguments.length;switch(a){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick(function(){e.call(null,n)});case 3:return t.nextTick(function(){e.call(null,n,i)});case 4:return t.nextTick(function(){e.call(null,n,i,r)});default:for(o=new Array(a-1),s=0;s>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function h(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function f(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}i(u,r),u.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},u.prototype._update=function(e){for(var t,n=this._w,i=0|this._a,r=0|this._b,o=0|this._c,a=0|this._d,u=0|this._e,p=0|this._f,g=0|this._g,m=0|this._h,v=0;v<16;++v)n[v]=e.readInt32BE(4*v);for(;v<64;++v)n[v]=0|(((t=n[v-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+n[v-7]+f(n[v-15])+n[v-16];for(var _=0;_<64;++_){var b=m+h(u)+c(u,p,g)+s[_]+n[_]|0,y=d(i)+l(i,r,o)|0;m=g,g=p,p=u,u=a+b|0,a=o,o=r,r=i,i=b+y|0}this._a=i+this._a|0,this._b=r+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=u+this._e|0,this._f=p+this._f|0,this._g=g+this._g|0,this._h=m+this._h|0},u.prototype._hash=function(){var e=o.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=u},zwZj:function(e,t,n){"use strict";n("3Clc");var i,r=n("03Zz"),o=n("0ly5"),s=n("7/Cv"),a=(n("2ZBE"),n("hK2W")),u=n("ZfGv"),c=n("KIxu"),l=function(){function e(e){this.modelProvider=Object(c.f)(e.getModel)?e:{getModel:function(){return e}}}return e.prototype.getId=function(e,t){if(!t)return null;var n=this.modelProvider.getModel();return n===t?"__root__":n.dataSource.getId(t)},e.prototype.hasChildren=function(e,t){var n=this.modelProvider.getModel();return!!(n&&n===t&&n.entries.length>0)},e.prototype.getChildren=function(e,t){var n=this.modelProvider.getModel();return Promise.resolve(n===t?n.entries:[])},e.prototype.getParent=function(e,t){return Promise.resolve(null)},e}(),d=function(){function e(e){this.modelProvider=e}return e.prototype.getAriaLabel=function(e,t){var n=this.modelProvider.getModel();return n.accessibilityProvider?n.accessibilityProvider.getAriaLabel(t):null},e.prototype.getPosInSet=function(e,t){var n=this.modelProvider.getModel(),i=0;if(n.filter)for(var r=0,o=n.entries;r=0;t--){var n=this._arr[t];if(e.toChord().equals(n.keybinding))return n.callback}return null},e}(),_=function(){function e(e){var t=this;void 0===e&&(e={clickBehavior:0,keyboardSupport:!0,openMode:0}),this.options=e,this.downKeyBindingDispatcher=new v,this.upKeyBindingDispatcher=new v,("boolean"!=typeof e.keyboardSupport||e.keyboardSupport)&&(this.downKeyBindingDispatcher.set(16,function(e,n){return t.onUp(e,n)}),this.downKeyBindingDispatcher.set(18,function(e,n){return t.onDown(e,n)}),this.downKeyBindingDispatcher.set(15,function(e,n){return t.onLeft(e,n)}),this.downKeyBindingDispatcher.set(17,function(e,n){return t.onRight(e,n)}),u.d&&(this.downKeyBindingDispatcher.set(2064,function(e,n){return t.onLeft(e,n)}),this.downKeyBindingDispatcher.set(300,function(e,n){return t.onDown(e,n)}),this.downKeyBindingDispatcher.set(302,function(e,n){return t.onUp(e,n)})),this.downKeyBindingDispatcher.set(11,function(e,n){return t.onPageUp(e,n)}),this.downKeyBindingDispatcher.set(12,function(e,n){return t.onPageDown(e,n)}),this.downKeyBindingDispatcher.set(14,function(e,n){return t.onHome(e,n)}),this.downKeyBindingDispatcher.set(13,function(e,n){return t.onEnd(e,n)}),this.downKeyBindingDispatcher.set(10,function(e,n){return t.onSpace(e,n)}),this.downKeyBindingDispatcher.set(9,function(e,n){return t.onEscape(e,n)}),this.upKeyBindingDispatcher.set(3,this.onEnter.bind(this)),this.upKeyBindingDispatcher.set(2051,this.onEnter.bind(this)))}return e.prototype.onMouseDown=function(e,t,n,i){if(void 0===i&&(i="mouse"),0===this.options.clickBehavior&&(n.leftButton||n.middleButton)){if(n.target){if(n.target.tagName&&"input"===n.target.tagName.toLowerCase())return!1;if(s.t(n.target,"scrollbar","monaco-tree"))return!1;if(s.t(n.target,"monaco-action-bar","row"))return!1}return this.onLeftClick(e,t,n,i)}return!1},e.prototype.onClick=function(e,t,n){return u.d&&n.ctrlKey?(n.preventDefault(),n.stopPropagation(),!1):(!n.target||!n.target.tagName||"input"!==n.target.tagName.toLowerCase())&&((0!==this.options.clickBehavior||!n.leftButton&&!n.middleButton)&&this.onLeftClick(e,t,n))},e.prototype.onLeftClick=function(e,t,n,i){void 0===i&&(i="mouse");var r=n,o={origin:i,originalEvent:n,didClickOnTwistie:this.isClickOnTwistie(r)};e.getInput()===t?(e.clearFocus(o),e.clearSelection(o)):(n&&r.browserEvent&&"mousedown"===r.browserEvent.type&&1===r.browserEvent.detail||n.preventDefault(),n.stopPropagation(),e.domFocus(),e.setSelection([t],o),e.setFocus(t,o),this.shouldToggleExpansion(t,r,i)&&(e.isExpanded(t)?e.collapse(t).then(void 0,g.e):e.expand(t).then(void 0,g.e)));return!0},e.prototype.shouldToggleExpansion=function(e,t,n){var i="mouse"===n&&2===t.detail;return this.openOnSingleClick||i||this.isClickOnTwistie(t)},Object.defineProperty(e.prototype,"openOnSingleClick",{get:function(){return 0===this.options.openMode},enumerable:!0,configurable:!0}),e.prototype.isClickOnTwistie=function(e){var t=e.target;if(!s.C(t,"content"))return!1;var n=window.getComputedStyle(t,":before");if("none"===n.backgroundImage||"none"===n.display)return!1;var i=parseInt(n.width)+parseInt(n.paddingRight);return e.browserEvent.offsetX<=i},e.prototype.onContextMenu=function(e,t,n){return(!n.target||!n.target.tagName||"input"!==n.target.tagName.toLowerCase())&&(n&&(n.preventDefault(),n.stopPropagation()),!1)},e.prototype.onTap=function(e,t,n){var i=n.initialTarget;return(!i||!i.tagName||"input"!==i.tagName.toLowerCase())&&this.onLeftClick(e,t,n,"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,n){var i=e.dispatch(n.toKeybinding());return!(!i||!i(t,n))&&(n.preventDefault(),n.stopPropagation(),!0)},e.prototype.onUp=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusPrevious(1,n),e.reveal(e.getFocus()).then(void 0,g.e)),!0},e.prototype.onPageUp=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusPreviousPage(n),e.reveal(e.getFocus()).then(void 0,g.e)),!0},e.prototype.onDown=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusNext(1,n),e.reveal(e.getFocus()).then(void 0,g.e)),!0},e.prototype.onPageDown=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusNextPage(n),e.reveal(e.getFocus()).then(void 0,g.e)),!0},e.prototype.onHome=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusFirst(n),e.reveal(e.getFocus()).then(void 0,g.e)),!0},e.prototype.onEnd=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusLast(n),e.reveal(e.getFocus()).then(void 0,g.e)),!0},e.prototype.onLeft=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())e.clearHighlight(n);else{var i=e.getFocus();e.collapse(i).then(function(t){if(i&&!t)return e.focusParent(n),e.reveal(e.getFocus())}).then(void 0,g.e)}return!0},e.prototype.onRight=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())e.clearHighlight(n);else{var i=e.getFocus();e.expand(i).then(function(t){if(i&&!t)return e.focusFirstChild(n),e.reveal(e.getFocus())}).then(void 0,g.e)}return!0},e.prototype.onEnter=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())return!1;var i=e.getFocus();return i&&e.setSelection([i],n),!0},e.prototype.onSpace=function(e,t){if(e.getHighlight())return!1;var n=e.getFocus();return n&&e.toggleExpansion(n),!0},e.prototype.onEscape=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?(e.clearHighlight(n),!0):e.getSelection().length?(e.clearSelection(n),!0):!!e.getFocus()&&(e.clearFocus(n),!0)},e}(),b=function(){function e(){}return e.prototype.getDragURI=function(e,t){return null},e.prototype.onDragStart=function(e,t,n){},e.prototype.onDragOver=function(e,t,n,i){return null},e.prototype.drop=function(e,t,n,i){},e}(),y=function(){function e(){}return e.prototype.isVisible=function(e,t){return!0},e}(),w=function(){function e(){}return e.prototype.getAriaLabel=function(e,t){return null},e}(),C=function(){function e(e,t){this.styleElement=e,this.selectorSuffix=t}return e.prototype.style=function(e){var t=this.selectorSuffix?"."+this.selectorSuffix:"",n=[];e.listFocusBackground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { background-color: "+e.listFocusBackground+"; }"),e.listFocusForeground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { color: "+e.listFocusForeground+"; }"),e.listActiveSelectionBackground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+e.listActiveSelectionBackground+"; }"),e.listActiveSelectionForeground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+e.listActiveSelectionForeground+"; }"),e.listFocusAndSelectionBackground&&n.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&&n.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&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+e.listInactiveSelectionBackground+"; }"),e.listInactiveSelectionForeground&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+e.listInactiveSelectionForeground+"; }"),e.listHoverBackground&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { background-color: "+e.listHoverBackground+"; }"),e.listHoverForeground&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { color: "+e.listHoverForeground+"; }"),e.listDropBackground&&n.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&&n.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 i=n.join("\n");i!==this.styleElement.innerHTML&&(this.styleElement.innerHTML=i)},e}(),S=n("5TlO"),x=n("tqet"),L=n("Kp7x"),O=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),k=function(){function e(e){this._onDispose=new L.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=void 0)},e}(),N=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 n=this,i=this.getLock(e);return i?new Promise(function(r,o){L.b.once(i.onDispose)(function(){return n.run(e,t).then(r,o)})}):new Promise(function(i,r){if(e.isDisposed())return r(new Error("Item is disposed."));var o=n.locks[e.id]=new k(e);return t().then(function(t){return delete n.locks[e.id],o.dispose(),t}).then(i,r)})},e.prototype.getLock=function(e){var t;for(t in this.locks){var n=this.locks[t];if(e.intersects(n.item))return n}return null},e}(),E=function(){function e(){this._isDisposed=!1,this._onDidRevealItem=new L.d,this.onDidRevealItem=this._onDidRevealItem.event,this._onExpandItem=new L.d,this.onExpandItem=this._onExpandItem.event,this._onDidExpandItem=new L.d,this.onDidExpandItem=this._onDidExpandItem.event,this._onCollapseItem=new L.d,this.onCollapseItem=this._onCollapseItem.event,this._onDidCollapseItem=new L.d,this.onDidCollapseItem=this._onDidCollapseItem.event,this._onDidAddTraitItem=new L.d,this.onDidAddTraitItem=this._onDidAddTraitItem.event,this._onDidRemoveTraitItem=new L.d,this.onDidRemoveTraitItem=this._onDidRemoveTraitItem.event,this._onDidRefreshItem=new L.d,this.onDidRefreshItem=this._onDidRefreshItem.event,this._onRefreshItemChildren=new L.d,this.onRefreshItemChildren=this._onRefreshItemChildren.event,this._onDidRefreshItemChildren=new L.d,this.onDidRefreshItemChildren=this._onDidRefreshItemChildren.event,this._onDidDisposeItem=new L.d,this.onDidDisposeItem=this._onDidDisposeItem.event,this.items={}}return e.prototype.register=function(e){S.a(!this.isRegistered(e.id),"item already registered: "+e.id);var t=Object(x.e)(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){S.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}(),I=function(){function e(e,t,n,i,r){this._onDidCreate=new L.a,this._onDidReveal=new L.a,this.onDidReveal=this._onDidReveal.event,this._onExpand=new L.a,this.onExpand=this._onExpand.event,this._onDidExpand=new L.a,this.onDidExpand=this._onDidExpand.event,this._onCollapse=new L.a,this.onCollapse=this._onCollapse.event,this._onDidCollapse=new L.a,this.onDidCollapse=this._onDidCollapse.event,this._onDidAddTrait=new L.a,this.onDidAddTrait=this._onDidAddTrait.event,this._onDidRemoveTrait=new L.a,this.onDidRemoveTrait=this._onDidRemoveTrait.event,this._onDidRefresh=new L.a,this.onDidRefresh=this._onDidRefresh.event,this._onRefreshChildren=new L.a,this.onRefreshChildren=this._onRefreshChildren.event,this._onDidRefreshChildren=new L.a,this.onDidRefreshChildren=this._onDidRefreshChildren.event,this._onDidDispose=new L.a,this.onDidDispose=this._onDidDispose.event,this.registry=t,this.context=n,this.lock=i,this.element=r,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,r)),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)?Promise.resolve(!1):this.lock.run(this,function(){if(e.isExpanded()||!e.doesHaveChildren)return Promise.resolve(!1);var t={item:e};return e._onExpand.fire(t),(e.needsChildrenRefresh?e.refreshChildren(!1,!0,!0):Promise.resolve(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 n=Promise.resolve(null);return this.forEachChild(function(e){n=n.then(function(){return e.collapse(!0)})}),n.then(function(){return t.collapse(!1)})}return!this.isExpanded()||this.lock.isLocked(this)?Promise.resolve(!1):this.lock.run(this,function(){var e={item:t};return t._onCollapse.fire(e),t._setExpanded(!1),t._onDidCollapse.fire(e),Promise.resolve(!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,n,i){var r=this;if(void 0===n&&(n=!1),void 0===i&&(i=!1),!i&&!this.isExpanded()){var o=function(e){e.needsChildrenRefresh=!0,e.forEachChild(o)};return o(this),Promise.resolve(this)}this.needsChildrenRefresh=!1;var s=function(){var i={item:r,isNested:n};return r._onRefreshChildren.fire(i),(r.doesHaveChildren?r.context.dataSource.getChildren(r.context.tree,r.element):Promise.resolve([])).then(function(n){if(r.isDisposed()||r.registry.isDisposed())return Promise.resolve(null);if(!Array.isArray(n))return Promise.reject(new Error("Please return an array of children."));n=n?n.slice(0):[],n=r.sort(n);for(var i={};null!==r.firstChild;)i[r.firstChild.id]=r.firstChild,r.removeChild(r.firstChild);for(var o=0,s=n.length;o=0;r--)this.onInsertItem(c[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,n=null,i=null,r=0,o=0;n=e.next();){if(r=this.indexes[n],!(t=this.heightMap[r]))return void console.error("view item doesnt exist");o-=t.height,delete this.indexes[n],this.onRemoveItem(t),null===i&&(i=r)}if(0!==o&&null!==i)for(this.heightMap.splice(i,r-i+1),r=i;r=n.top+n.height))return t;if(i===t)break;i=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=[],this.indexes={}},e}(),q=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),G=function(){function e(e,t,n){this._posx=e,this._posy=t,this._target=n}return e.prototype.preventDefault=function(){},e.prototype.stopPropagation=function(){},Object.defineProperty(e.prototype,"target",{get:function(){return this._target},enumerable:!0,configurable:!0}),e}(),Z=function(e){function t(t){var n=e.call(this,t.posx,t.posy,t.target)||this;return n.originalEvent=t,n}return q(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(G),Y=function(e){function t(t,n,i){var r=e.call(this,t,n,i.target)||this;return r.originalEvent=i,r}return q(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(G),X=n("VvfH"),$=n("odeJ"),J=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();var Q=function(){function e(e){this.context=e,this._cache={"":[]}}return e.prototype.alloc=function(e){var t=this.cache(e).pop();if(!t){var n=document.createElement("div");n.className="content";var i=document.createElement("div");i.appendChild(n);var r=null;try{r=this.context.renderer.renderTemplate(this.context.tree,e,n)}catch(e){console.error("Tree usage error: exception while rendering template"),console.error(e)}t={element:i,templateId:e,templateData:r}}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(n){e.context.renderer.disposeTemplate(e.context.tree,t,n.templateData),n.element=null,n.templateData=null}),delete e._cache[t]})},e.prototype.dispose=function(){this.garbageCollect(),this._cache=null},e}(),ee=function(){function e(e,t){var n=this;this.width=0,this.needsRender=!1,this.uri=null,this.unbindDragStart=x.a.None,this._draggable=!1,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 n._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 n=["monaco-tree-row"];n.push.apply(n,Object.keys(this._styles)),this.model.hasChildren()&&n.push("has-children"),this.element.className=n.join(" "),this.element.draggable=this.draggable,this.element.style.height=this.height+"px",this.element.setAttribute("role","treeitem");var i=this.context.accessibilityProvider,r=i.getAriaLabel(this.context.tree,this.model.getElement());if(r&&this.element.setAttribute("aria-label",r),i.getPosInSet&&i.getSetSize&&(this.element.setAttribute("aria-setsize",i.getSetSize()),this.element.setAttribute("aria-posinset",i.getPosInSet(this.context.tree,this.model.getElement()))),this.model.hasTrait("focused")){var o=F.H(this.model.id);this.element.setAttribute("aria-selected","true"),this.element.setAttribute("id",o)}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 a=this.context.dnd.getDragURI(this.context.tree,this.model.getElement());if(a!==this.uri&&(this.unbindDragStart&&this.unbindDragStart.dispose(),a?(this.uri=a,this.draggable=!0,this.unbindDragStart=s.h(this.element,"dragstart",function(e){t.onDragStart(e)})):this.uri=null),!e&&this.element){var u=0;if(this.context.horizontalScrolling){var c=window.getComputedStyle(this.element);u=parseFloat(c.paddingLeft)}this.context.horizontalScrolling&&(this.element.style.width="fit-content");try{this.context.renderer.renderElement(this.context.tree,this.model.getElement(),this.templateId,this.row.templateData)}catch(e){console.error("Tree usage error: exception while rendering element"),console.error(e)}this.context.horizontalScrolling&&(this.width=s.w(this.element)+u,this.element.style.width="")}}},e.prototype.insertInDOM=function(e,t){if(this.row||(this.row=this.context.cache.alloc(this.templateId),this.element[ne.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.dispose(),this.uri=null,this.element[ne.BINDING]=null,this.context.cache.release(this.templateId,this.row),this.row=null)},e.prototype.dispose=function(){this.row=null},e}(),te=function(e){function t(t,n,i){var r=e.call(this,t,n)||this;return r.row={element:i,templateData:null,templateId:null},r}return J(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}(ee);var ne=function(e){function t(n,i){var r=e.call(this)||this;r.model=null,r.lastPointerType="",r.lastClickTimeStamp=0,r.contentWidthUpdateDelayer=new $.a(50),r.isRefreshing=!1,r.refreshingPreviousChildrenIds={},r.currentDragAndDropData=null,r.currentDropTarget=null,r.currentDropTargets=null,r.currentDropDisposable=x.a.None,r.dragAndDropScrollInterval=null,r.dragAndDropScrollTimeout=null,r.dragAndDropMouseY=null,r.highlightedItemWasDraggable=!1,r.onHiddenScrollTop=null,r._onDOMFocus=new L.a,r.onDOMFocus=r._onDOMFocus.event,r._onDOMBlur=new L.a,r._onDidScroll=new L.a,t.counter++,r.instance=t.counter;var o=void 0===n.options.horizontalScrollMode?2:n.options.horizontalScrollMode;r.horizontalScrolling=2!==o,r.context={dataSource:n.dataSource,renderer:n.renderer,controller:n.controller,dnd:n.dnd,filter:n.filter,sorter:n.sorter,tree:n.tree,accessibilityProvider:n.accessibilityProvider,options:n.options,cache:new Q(n),horizontalScrolling:r.horizontalScrolling},r.modelListeners=[],r.viewListeners=[],r.items={},r.domNode=document.createElement("div"),r.domNode.className="monaco-tree no-focused-item monaco-tree-instance-"+r.instance,r.domNode.tabIndex=n.options.preventRootFocus?-1:0,r.styleElement=s.s(r.domNode),r.treeStyler=n.styler||new C(r.styleElement,"monaco-tree-instance-"+r.instance),r.domNode.setAttribute("role","tree"),r.context.options.ariaLabel&&r.domNode.setAttribute("aria-label",r.context.options.ariaLabel),r.context.options.alwaysFocused&&s.f(r.domNode,"focused"),r.context.options.paddingOnRow||s.f(r.domNode,"no-row-padding"),r.wrapper=document.createElement("div"),r.wrapper.className="monaco-tree-wrapper",r.scrollableElement=new U.b(r.wrapper,{alwaysConsumeMouseWheel:!0,horizontal:o,vertical:void 0!==n.options.verticalScrollMode?n.options.verticalScrollMode:1,useShadows:n.options.useShadows}),r.scrollableElement.onScroll(function(e){r.render(e.scrollTop,e.height,e.scrollLeft,e.width,e.scrollWidth),r._onDidScroll.fire()}),P.j?(r.wrapper.style.msTouchAction="none",r.wrapper.style.msContentZooming="none"):R.b.addTarget(r.wrapper),r.rowsContainer=document.createElement("div"),r.rowsContainer.className="monaco-tree-rows",n.options.showTwistie&&(r.rowsContainer.className+=" show-twisties");var a=s.S(r.domNode);return r.viewListeners.push(a.onDidFocus(function(){return r.onFocus()})),r.viewListeners.push(a.onDidBlur(function(){return r.onBlur()})),r.viewListeners.push(a),r.viewListeners.push(s.h(r.domNode,"keydown",function(e){return r.onKeyDown(e)})),r.viewListeners.push(s.h(r.domNode,"keyup",function(e){return r.onKeyUp(e)})),r.viewListeners.push(s.h(r.domNode,"mousedown",function(e){return r.onMouseDown(e)})),r.viewListeners.push(s.h(r.domNode,"mouseup",function(e){return r.onMouseUp(e)})),r.viewListeners.push(s.h(r.wrapper,"auxclick",function(e){e&&1===e.button&&r.onMouseMiddleClick(e)})),r.viewListeners.push(s.h(r.wrapper,"click",function(e){return r.onClick(e)})),r.viewListeners.push(s.h(r.domNode,"contextmenu",function(e){return r.onContextMenu(e)})),r.viewListeners.push(s.h(r.wrapper,R.a.Tap,function(e){return r.onTap(e)})),r.viewListeners.push(s.h(r.wrapper,R.a.Change,function(e){return r.onTouchChange(e)})),P.j&&(r.viewListeners.push(s.h(r.wrapper,"MSPointerDown",function(e){return r.onMsPointerDown(e)})),r.viewListeners.push(s.h(r.wrapper,"MSGestureTap",function(e){return r.onMsGestureTap(e)})),r.viewListeners.push(s.j(r.wrapper,"MSGestureChange",function(e){return r.onThrottledMsGestureChange(e)},function(e,t){t.stopPropagation(),t.preventDefault();var n={translationY:t.translationY,translationX:t.translationX};return e&&(n.translationY+=e.translationY,n.translationX+=e.translationX),n}))),r.viewListeners.push(s.h(window,"dragover",function(e){return r.onDragOver(e)})),r.viewListeners.push(s.h(r.wrapper,"drop",function(e){return r.onDrop(e)})),r.viewListeners.push(s.h(window,"dragend",function(e){return r.onDragEnd(e)})),r.viewListeners.push(s.h(window,"dragleave",function(e){return r.onDragOver(e)})),r.wrapper.appendChild(r.rowsContainer),r.domNode.appendChild(r.scrollableElement.getDomNode()),i.appendChild(r.domNode),r.lastRenderTop=0,r.lastRenderHeight=0,r.didJustPressContextMenuKey=!1,r.currentDropTarget=null,r.currentDropTargets=[],r.shouldInvalidateDropReaction=!1,r.dragAndDropScrollInterval=null,r.dragAndDropScrollTimeout=null,r.onRowsChanged(),r.layout(),r.setupMSGesture(),r.applyStyles(n.options),r}return J(t,e),t.prototype.applyStyles=function(e){this.treeStyler.style(e)},t.prototype.createViewItem=function(e){return new ee(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||s.v(this.wrapper),this.scrollHeight=this.getContentHeight(),this.horizontalScrolling&&(this.viewWidth=t||s.w(this.wrapper)))},t.prototype.render=function(e,t,n,i,r){var o,s,a=e,u=e+t,c=this.lastRenderTop+this.lastRenderHeight;for(o=this.indexAfter(u)-1,s=this.indexAt(Math.max(c,a));o>=s;o--)this.insertItemInDOM(this.itemAtIndex(o));for(o=Math.min(this.indexAt(this.lastRenderTop),this.indexAfter(u))-1,s=this.indexAt(a);o>=s;o--)this.insertItemInDOM(this.itemAtIndex(o));for(o=this.indexAt(this.lastRenderTop),s=Math.min(this.indexAt(a),this.indexAfter(c));o1e3,c=[],l=!1;if(!u)l=(c=new A.a({getLength:function(){return r.length},getElementAtIndex:function(e){return r[e]}},{getLength:function(){return o.length},getElementAtIndex:function(e){return o[e].id}},null).ComputeDiff(!1)).some(function(e){if(e.modifiedLength>0)for(var n=e.modifiedStart,i=e.modifiedStart+e.modifiedLength;n0&&this.onRemoveItems(new z.a(r,f.originalStart,f.originalStart+f.originalLength)),f.modifiedLength>0){var p=o[f.modifiedStart-1]||n;p=p.getDepth()>0?p:null,this.onInsertItems(new z.a(o,f.modifiedStart,f.modifiedStart+f.modifiedLength),p?p.id:null)}}else(u||c.length)&&(this.onRemoveItems(new z.a(r)),this.onInsertItems(new z.a(o),n.getDepth()>0?n.id:null));(u||c.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,n=this.items[t.id];if(n){n.expanded=!0;var i=this.onInsertItems(t.getNavigator(),t.id)||0,r=this.scrollTop;n.top+n.height<=this.scrollTop&&(r+=i),this.onRowsChanged(r)}},t.prototype.onItemCollapsing=function(e){var t=e.item,n=this.items[t.id];n&&(n.expanded=!1,this.onRemoveItems(new z.e(t.getNavigator(),function(e){return e&&e.id})),this.onRowsChanged())},t.prototype.onItemReveal=function(e){var t=e.item,n=e.relativeTop,i=this.items[t.id];if(i)if(null!==n){n=(n=n<0?0:n)>1?1:n;var r=i.height-this.viewHeight;this.scrollTop=r*n+i.top}else{var o=i.top+i.height,s=this.scrollTop+this.viewHeight;i.top=s&&(this.scrollTop=o-this.viewHeight)}},t.prototype.onItemAddTrait=function(e){var t=e.item,n=e.trait,i=this.items[t.id];i&&i.addClass(n),"highlighted"===n&&(s.f(this.domNode,n),i&&(this.highlightedItemWasDraggable=!!i.draggable,i.draggable&&(i.draggable=!1)))},t.prototype.onItemRemoveTrait=function(e){var t=e.item,n=e.trait,i=this.items[t.id];i&&i.removeClass(n),"highlighted"===n&&(s.I(this.domNode,n),this.highlightedItemWasDraggable&&(i.draggable=!0),this.highlightedItemWasDraggable=!1)},t.prototype.onModelFocusChange=function(){var e=this.model&&this.model.getFocus();s.R(this.domNode,"no-focused-item",!e),e?this.domNode.setAttribute("aria-activedescendant",F.H(this.context.dataSource.getId(this.context.tree,e))):this.domNode.removeAttribute("aria-activedescendant")},t.prototype.onInsertItem=function(e){var t=this;e.onDragStart=function(n){t.onDragStart(e,n)},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 j.b(e),n=this.getItemAround(t.target);n&&(P.j&&Date.now()-this.lastClickTimeStamp<300&&(t.detail=2),this.lastClickTimeStamp=Date.now(),this.context.controller.onClick(this.context.tree,n.model.getElement(),t))}},t.prototype.onMouseMiddleClick=function(e){if(this.context.controller.onMouseMiddleClick){var t=new j.b(e),n=this.getItemAround(t.target);n&&this.context.controller.onMouseMiddleClick(this.context.tree,n.model.getElement(),t)}},t.prototype.onMouseDown=function(e){if(this.didJustPressContextMenuKey=!1,this.context.controller.onMouseDown&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new j.b(e);if(!(t.ctrlKey&&u.e&&u.d)){var n=this.getItemAround(t.target);n&&this.context.controller.onMouseDown(this.context.tree,n.model.getElement(),t)}}},t.prototype.onMouseUp=function(e){if(this.context.controller.onMouseUp&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new j.b(e);if(!(t.ctrlKey&&u.e&&u.d)){var n=this.getItemAround(t.target);n&&this.context.controller.onMouseUp(this.context.tree,n.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,n;if(e instanceof KeyboardEvent||this.didJustPressContextMenuKey){this.didJustPressContextMenuKey=!1;var i=new W.a(e),r=void 0;if(n=this.model.getFocus()){var o=this.context.dataSource.getId(this.context.tree,n),a=this.items[o];r=s.x(a.element)}else n=this.model.getInput(),r=s.x(this.inputItem.element);t=new Y(r.left+r.width,r.top,i)}else{var u=new j.b(e),c=this.getItemAround(u.target);if(!c)return;n=c.model.getElement(),t=new Z(u)}this.context.controller.onContextMenu(this.context.tree,n,t)},t.prototype.onKeyDown=function(e){var t=new W.a(e);this.didJustPressContextMenuKey=58===t.keyCode||t.shiftKey&&68===t.keyCode,t.target&&t.target.tagName&&"input"===t.target.tagName.toLowerCase()||(this.didJustPressContextMenuKey&&(t.preventDefault(),t.stopPropagation()),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 W.a(e))},t.prototype.onDragStart=function(e,t){if(!this.model.getHighlight()){var n,i=e.model.getElement(),r=this.model.getSelection();if(n=r.indexOf(i)>-1?r:[i],t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setData(X.a.RESOURCES,JSON.stringify([e.uri])),t.dataTransfer.setDragImage){var o=void 0;o=this.context.dnd.getDragLabel?this.context.dnd.getDragLabel(this.context.tree,n):String(n.length);var s=document.createElement("div");s.className="monaco-tree-drag-image",s.textContent=o,document.body.appendChild(s),t.dataTransfer.setDragImage(s,-10,-10),setTimeout(function(){return document.body.removeChild(s)},0)}this.currentDragAndDropData=new B(n),X.c.CurrentDragAndDropData=new V(n),this.context.dnd.onDragStart(this.context.tree,this.currentDragAndDropData,new j.a(t))}},t.prototype.setupDragAndDropScrollInterval=function(){var e=this,t=s.z(this.wrapper).top;this.dragAndDropScrollInterval||(this.dragAndDropScrollInterval=window.setInterval(function(){if(null!==e.dragAndDropMouseY){var n=e.dragAndDropMouseY-t,i=0,r=e.viewHeight-35;n<35?i=Math.max(-14,.2*(n-35)):n>r&&(i=Math.min(14,.2*(n-r))),e.scrollTop+=i}},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 t=this;e.preventDefault();var n,i=new j.a(e),r=this.getItemAround(i.target);if(!r||0===i.posx&&0===i.posy&&i.browserEvent.type===s.d.DRAG_LEAVE)return this.currentDropTarget&&(this.currentDropTargets.forEach(function(e){return e.dropTarget=!1}),this.currentDropTargets=[],this.currentDropDisposable.dispose()),this.cancelDragAndDropScrollInterval(),this.currentDropTarget=null,this.currentDropElement=null,this.dragAndDropMouseY=null,!1;if(this.setupDragAndDropScrollInterval(),this.dragAndDropMouseY=i.posy,!this.currentDragAndDropData)if(X.c.CurrentDragAndDropData)this.currentDragAndDropData=X.c.CurrentDragAndDropData;else{if(!i.dataTransfer.types)return!1;this.currentDragAndDropData=new H}this.currentDragAndDropData.update(i.browserEvent.dataTransfer);var o,a=r.model;do{if(n=a?a.getElement():this.model.getInput(),!(o=this.context.dnd.onDragOver(this.context.tree,this.currentDragAndDropData,n,i))||1!==o.bubble)break;a=a&&a.parent}while(a);if(!a)return this.currentDropElement=null,!1;var u=o&&o.accept;u?(this.currentDropElement=a.getElement(),i.preventDefault(),i.dataTransfer.dropEffect=0===o.effect?"copy":"move"):this.currentDropElement=null;var c,l,d=a.id===this.inputItem.id?this.inputItem:this.items[a.id];if((this.shouldInvalidateDropReaction||this.currentDropTarget!==d||(c=this.currentDropElementReaction,l=o,!(!c&&!l||c&&l&&c.accept===l.accept&&c.bubble===l.bubble&&c.effect===l.effect)))&&(this.shouldInvalidateDropReaction=!1,this.currentDropTarget&&(this.currentDropTargets.forEach(function(e){return e.dropTarget=!1}),this.currentDropTargets=[],this.currentDropDisposable.dispose()),this.currentDropTarget=d,this.currentDropElementReaction=o,u)){if(this.currentDropTarget&&(this.currentDropTarget.dropTarget=!0,this.currentDropTargets.push(this.currentDropTarget)),0===o.bubble)for(var h=a.getNavigator(),f=void 0;f=h.next();)(r=this.items[f.id])&&(r.dropTarget=!0,this.currentDropTargets.push(r));if(o.autoExpand){var p=Object($.l)(500);this.currentDropDisposable=x.h(function(){return p.cancel()}),p.then(function(){return t.context.tree.expand(t.currentDropElement)}).then(function(){return t.shouldInvalidateDropReaction=!0})}}return!0},t.prototype.onDrop=function(e){if(this.currentDropElement){var t=new j.a(e);t.preventDefault(),this.currentDragAndDropData.update(t.browserEvent.dataTransfer),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.currentDropDisposable.dispose(),this.cancelDragAndDropScrollInterval(),this.currentDragAndDropData=null,X.c.CurrentDragAndDropData=void 0,this.currentDropElement=null,this.currentDropTarget=null,this.dragAndDropMouseY=null},t.prototype.onFocus=function(){this.context.options.alwaysFocused||s.f(this.domNode,"focused"),this._onDOMFocus.fire()},t.prototype.onBlur=function(){this.context.options.alwaysFocused||s.I(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,n=this.itemAfter(e);n&&n.element&&(t=n.element),e.insertInDOM(this.rowsContainer,t)},t.prototype.removeItemFromDOM=function(e){e&&e.removeFromDOM()},t.prototype.shouldBeRendered=function(e){return e.topthis.lastRenderTop},t.prototype.getItemAround=function(e){var n=this.inputItem,i=e;do{if(i[t.BINDING]&&(n=i[t.BINDING]),i===this.wrapper||i===this.domNode)return n;if(i===this.scrollableElement.getDomNode()||i===document.body)return}while(i=i.parentElement)},t.prototype.releaseModel=function(){this.model&&(this.modelListeners=x.f(this.modelListeners),this.model=null)},t.prototype.dispose=function(){var t=this;this.scrollableElement.dispose(),this.releaseModel(),this.viewListeners=x.f(this.viewListeners),this._onDOMFocus.dispose(),this._onDOMBlur.dispose(),this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),this.items&&Object.keys(this.items).forEach(function(e){return t.items[e].removeFromDOM()}),this.context.cache&&this.context.cache.dispose(),e.prototype.dispose.call(this)},t.BINDING="monaco-tree-row",t.LOADING_DECORATION_DELAY=800,t.counter=0,t}(K),ie=n("TNPA"),re=n("TU7t"),oe=function(){return function(e,t,n){if(void 0===n&&(n={}),this.tree=e,this.configuration=t,this.options=n,!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 _({clickBehavior:1,keyboardSupport:"boolean"!=typeof n.keyboardSupport||n.keyboardSupport}),this.dnd=t.dnd||new b,this.filter=t.filter||new y,this.sorter=t.sorter,this.accessibilityProvider=t.accessibilityProvider||new w,this.styler=t.styler}}(),se={listFocusBackground:ie.a.fromHex("#073655"),listActiveSelectionBackground:ie.a.fromHex("#0E639C"),listActiveSelectionForeground:ie.a.fromHex("#FFFFFF"),listFocusAndSelectionBackground:ie.a.fromHex("#094771"),listFocusAndSelectionForeground:ie.a.fromHex("#FFFFFF"),listInactiveSelectionBackground:ie.a.fromHex("#3F3F46"),listHoverBackground:ie.a.fromHex("#2A2D2E"),listDropBackground:ie.a.fromHex("#383B3D")},ae=function(){function e(e,t,n){void 0===n&&(n={}),this._onDidChangeFocus=new L.f,this.onDidChangeFocus=this._onDidChangeFocus.event,this._onDidChangeSelection=new L.f,this.onDidChangeSelection=this._onDidChangeSelection.event,this._onHighlightChange=new L.f,this._onDidExpandItem=new L.f,this._onDidCollapseItem=new L.f,this._onDispose=new L.a,this.onDidDispose=this._onDispose.event,this.container=e,Object(re.g)(n,se,!1),n.twistiePixels="number"==typeof n.twistiePixels?n.twistiePixels:32,n.showTwistie=!1!==n.showTwistie,n.indentPixels="number"==typeof n.indentPixels?n.indentPixels:12,n.alwaysFocused=!0===n.alwaysFocused,n.useShadows=!1!==n.useShadows,n.paddingOnRow=!1!==n.paddingOnRow,n.showLoading=!1!==n.showLoading,this.context=new oe(this,t,n),this.model=new T(this.context),this.view=new ne(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.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}(),ue=(n("1O6n"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),ce={progressBarBackground:ie.a.fromHex("#0E70C0")},le=function(e){function t(t,n){var i=e.call(this)||this;return i.options=n||Object.create(null),Object(re.g)(i.options,ce,!1),i.workedVal=0,i.progressBarBackground=i.options.progressBarBackground,i._register(i.showDelayedScheduler=new $.d(function(){return Object(s.Q)(i.element)},0)),i.create(t),i}return ue(t,e),t.prototype.create=function(e){this.element=document.createElement("div"),Object(s.f)(this.element,"monaco-progress-container"),e.appendChild(this.element),this.bit=document.createElement("div"),Object(s.f)(this.bit,"progress-bit"),this.element.appendChild(this.bit),this.applyStyles()},t.prototype.off=function(){this.bit.style.width="inherit",this.bit.style.opacity="1",Object(s.J)(this.element,"active","infinite","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 Object(s.f)(this.element,"done"),Object(s.C)(this.element,"infinite")?(this.bit.style.opacity="0",e?setTimeout(function(){return t.off()},200):this.off()):(this.bit.style.width="inherit",e?setTimeout(function(){return t.off()},200):this.off()),this},t.prototype.hide=function(){Object(s.D)(this.element),this.showDelayedScheduler.cancel()},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}(x.a),de=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),he=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return de(t,e),t.prototype.onContextMenu=function(t,n,i){return u.d?this.onLeftClick(t,n,i):e.prototype.onContextMenu.call(this,t,n,i)},t}(_),fe={background:ie.a.fromHex("#1E1E1E"),foreground:ie.a.fromHex("#CCCCCC"),pickerGroupForeground:ie.a.fromHex("#0097FB"),pickerGroupBorder:ie.a.fromHex("#3F3F46"),widgetShadow:ie.a.fromHex("#000000"),progressBarBackground:ie.a.fromHex("#0E70C0")},pe=a.a("quickOpenAriaLabel","Quick picker. Type to narrow down results."),ge=function(e){function t(t,n,i){var r=e.call(this)||this;return r.isDisposed=!1,r.container=t,r.callbacks=n,r.options=i,r.styles=i||Object.create(null),Object(re.g)(r.styles,fe,!1),r.model=null,r}return de(t,e),t.prototype.getModel=function(){return this.model},t.prototype.create=function(){var e=this;this.element=document.createElement("div"),s.f(this.element,"monaco-quick-open-widget"),this.container.appendChild(this.element),this._register(s.h(this.element,s.d.CONTEXT_MENU,function(e){return s.c.stop(e,!0)})),this._register(s.h(this.element,s.d.FOCUS,function(t){return e.gainingFocus()},!0)),this._register(s.h(this.element,s.d.BLUR,function(t){return e.loosingFocus(t)},!0)),this._register(s.h(this.element,s.d.KEY_DOWN,function(t){var n=new W.a(t);if(9===n.keyCode)s.c.stop(t,!0),e.hide(2);else if(2===n.keyCode&&!n.altKey&&!n.ctrlKey&&!n.metaKey){var i=t.currentTarget.querySelectorAll("input, .monaco-tree, .monaco-tree-row.focused .action-label.icon");n.shiftKey&&n.target===i[0]?(s.c.stop(t,!0),i[i.length-1].focus()):n.shiftKey||n.target!==i[i.length-1]||(s.c.stop(t,!0),i[0].focus())}})),this.progressBar=this._register(new le(this.element,{progressBarBackground:this.styles.progressBarBackground})),this.progressBar.hide(),this.inputContainer=document.createElement("div"),s.f(this.inputContainer,"quick-open-input"),this.element.appendChild(this.inputContainer),this.inputBox=this._register(new p.b(this.inputContainer,void 0,{placeholder:this.options.inputPlaceHolder||"",ariaLabel:pe,inputBackground:this.styles.inputBackground,inputForeground:this.styles.inputForeground,inputBorder:this.styles.inputBorder,inputValidationInfoBackground:this.styles.inputValidationInfoBackground,inputValidationInfoForeground:this.styles.inputValidationInfoForeground,inputValidationInfoBorder:this.styles.inputValidationInfoBorder,inputValidationWarningBackground:this.styles.inputValidationWarningBackground,inputValidationWarningForeground:this.styles.inputValidationWarningForeground,inputValidationWarningBorder:this.styles.inputValidationWarningBorder,inputValidationErrorBackground:this.styles.inputValidationErrorBackground,inputValidationErrorForeground:this.styles.inputValidationErrorForeground,inputValidationErrorBorder:this.styles.inputValidationErrorBorder})),this.inputElement=this.inputBox.inputElement,this.inputElement.setAttribute("role","combobox"),this.inputElement.setAttribute("aria-haspopup","false"),this.inputElement.setAttribute("aria-autocomplete","list"),this._register(s.h(this.inputBox.inputElement,s.d.INPUT,function(t){return e.onType()})),this._register(s.h(this.inputBox.inputElement,s.d.KEY_DOWN,function(t){var n=new W.a(t),i=e.shouldOpenInBackground(n);if(2!==n.keyCode)if(18===n.keyCode||16===n.keyCode||12===n.keyCode||11===n.keyCode)s.c.stop(t,!0),e.navigateInTree(n.keyCode,n.shiftKey),e.inputBox.inputElement.selectionStart===e.inputBox.inputElement.selectionEnd&&(e.inputBox.inputElement.selectionStart=e.inputBox.value.length);else if(3===n.keyCode||i){s.c.stop(t,!0);var r=e.tree.getFocus();r&&e.elementSelected(r,t,i?2:1)}})),this.resultCount=document.createElement("div"),s.f(this.resultCount,"quick-open-result-count"),this.resultCount.setAttribute("aria-live","polite"),this.resultCount.setAttribute("aria-atomic","true"),this.element.appendChild(this.resultCount),this.treeContainer=document.createElement("div"),s.f(this.treeContainer,"quick-open-tree"),this.element.appendChild(this.treeContainer);var t=this.options.treeCreator||function(e,t,n){return new ae(e,t,n)};return this.tree=this._register(t(this.treeContainer,{dataSource:new l(this),controller:new he({clickBehavior:1,keyboardSupport:this.options.keyboardSupport}),renderer:this.renderer=new f(this,this.styles),filter:new h(this),accessibilityProvider:new d(this)},{twistiePixels:11,indentPixels:0,alwaysFocused:!0,verticalScrollMode:3,horizontalScrollMode:2,ariaLabel:a.a("treeAriaLabel","Quick Picker"),keyboardSupport:this.options.keyboardSupport,preventRootFocus:!1})),this.treeElement=this.tree.getHTMLElement(),this._register(this.tree.onDidChangeFocus(function(t){e.elementFocused(t.focus,t)})),this._register(this.tree.onDidChangeSelection(function(t){if(t.selection&&t.selection.length>0){var n=t.payload&&t.payload.originalEvent instanceof j.b?t.payload.originalEvent:void 0,i=!!n&&e.shouldOpenInBackground(n);e.elementSelected(t.selection[0],t,i?2:1)}})),this._register(s.h(this.treeContainer,s.d.KEY_DOWN,function(t){var n=new W.a(t);e.quickNavigateConfiguration&&(18!==n.keyCode&&16!==n.keyCode&&12!==n.keyCode&&11!==n.keyCode||(s.c.stop(t,!0),e.navigateInTree(n.keyCode)))})),this._register(s.h(this.treeContainer,s.d.KEY_UP,function(t){var n=new W.a(t),i=n.keyCode;if(e.quickNavigateConfiguration){var r=e.quickNavigateConfiguration.keybindings;if(3===i||r.some(function(e){var t=e.getParts(),r=t[0];return!t[1]&&(r.shiftKey&&4===i?!(n.ctrlKey||n.altKey||n.metaKey):!(!r.altKey||6!==i)||(!(!r.ctrlKey||5!==i)||!(!r.metaKey||57!==i)))})){var o=e.tree.getFocus();o&&e.elementSelected(o,t)}}})),this.layoutDimensions&&this.layout(this.layoutDimensions),this.applyStyles(),this._register(s.h(this.treeContainer,s.d.KEY_DOWN,function(t){var n=new W.a(t);e.quickNavigateConfiguration||18!==n.keyCode&&16!==n.keyCode&&12!==n.keyCode&&11!==n.keyCode||(s.c.stop(t,!0),e.navigateInTree(n.keyCode,n.shiftKey),e.treeElement.focus())})),this.element},t.prototype.style=function(e){this.styles=e,this.applyStyles()},t.prototype.applyStyles=function(){if(this.element){var e=this.styles.foreground?this.styles.foreground.toString():null,t=this.styles.background?this.styles.background.toString():null,n=this.styles.borderColor?this.styles.borderColor.toString():null,i=this.styles.widgetShadow?this.styles.widgetShadow.toString():null;this.element.style.color=e,this.element.style.backgroundColor=t,this.element.style.borderColor=n,this.element.style.borderWidth=n?"1px":null,this.element.style.borderStyle=n?"solid":null,this.element.style.boxShadow=i?"0 5px 8px "+i: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,inputValidationInfoForeground:this.styles.inputValidationInfoForeground,inputValidationInfoBorder:this.styles.inputValidationInfoBorder,inputValidationWarningBackground:this.styles.inputValidationWarningBackground,inputValidationWarningForeground:this.styles.inputValidationWarningForeground,inputValidationWarningBorder:this.styles.inputValidationWarningBorder,inputValidationErrorBackground:this.styles.inputValidationErrorBackground,inputValidationErrorForeground:this.styles.inputValidationErrorForeground,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?s.D(this.helpText):s.Q(this.helpText)),this.callbacks.onType(e)},t.prototype.navigateInTree=function(e,t){var n=this.tree.getInput(),i=n?n.entries:[],r=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 o=this.tree.getFocus();i.length>1&&r===o&&(16===e||2===e&&t?this.tree.focusLast():(18===e||2===e&&!t)&&this.tree.focusFirst()),(o=this.tree.getFocus())&&this.tree.reveal(o)},t.prototype.elementFocused=function(e,t){if(e&&this.isVisible()){var n=this.treeElement.getAttribute("aria-activedescendant");n?this.inputElement.setAttribute("aria-activedescendant",n):this.inputElement.removeAttribute("aria-activedescendant");var i={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};this.model.runner.run(e,0,i)}},t.prototype.elementSelected=function(e,t,n){var i=!0;if(this.isVisible()){var r=n||1,o={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};i=this.model.runner.run(e,r,o)}i&&this.hide(0)},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?(s.D(this.inputContainer),s.Q(this.element),this.tree.domFocus()):(s.Q(this.inputContainer),s.Q(this.element),this.inputBox.focus()),this.helpText&&(this.quickNavigateConfiguration||c.i(e)?s.D(this.helpText):s.Q(this.helpText)),c.i(e)?this.doShowWithPrefix(e):(t&&t.value&&this.restoreLastInput(t.value),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.restoreLastInput=function(e){this.inputBox.value=e,this.inputBox.select(),this.callbacks.onType(e)},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 n=this;this.treeContainer.style.height=this.getHeight(e)+"px",this.tree.setInput(null).then(function(){return n.model=e,n.inputElement.setAttribute("aria-haspopup",String(e&&e.entries&&e.entries.length>0)),n.tree.setInput(e)}).then(function(){n.tree.layout();var i=e?e.entries.filter(function(t){return n.isElementVisible(e,t)}):[];n.updateResultCount(i.length),i.length&&n.autoFocus(e,i,t)})},t.prototype.isElementVisible=function(e,t){return!e.filter||e.filter.isVisible(t)},t.prototype.autoFocus=function(e,t,n){if(void 0===n&&(n={}),n.autoFocusPrefixMatch){for(var i=void 0,r=void 0,o=n.autoFocusPrefixMatch,s=o.toLowerCase(),a=0,u=t;an.autoFocusIndex&&(this.tree.focusNth(n.autoFocusIndex),this.tree.reveal(this.tree.getFocus())):n.autoFocusSecondEntry?t.length>1&&this.tree.focusNth(1):n.autoFocusLastEntry&&t.length>1&&this.tree.focusLast()},t.prototype.getHeight=function(e){var n=this,i=e.renderer;if(!e){var r=i.getHeight(null);return this.options.minItemsToShow?this.options.minItemsToShow*r:0}var o,s=0;this.layoutDimensions&&this.layoutDimensions.height&&(o=.4*(this.layoutDimensions.height-50)),(!o||o>t.MAX_ITEMS_HEIGHT)&&(o=t.MAX_ITEMS_HEIGHT);for(var a=e.entries.filter(function(t){return n.isElementVisible(e,t)}),u=this.options.maxItemsToShow||a.length,c=0;c=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Ce=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Se=function(){function e(e,t){this.themeService=t,this.widget=null,this.rangeHighlightDecorationId=null,this.lastKnownEditorSelection=null,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 n=function(e){t.clearDecorations(),e&&t.lastKnownEditorSelection&&(t.editor.setSelection(t.lastKnownEditorSelection),t.editor.revealRangeInCenterIfOutsideViewport(t.lastKnownEditorSelection,0)),t.lastKnownEditorSelection=null,document.activeElement!==document.body&&e||t.editor.focus()};this.widget=new _e(this.editor,function(){return n(!1)},function(){return n(!0)},function(n){t.widget.setInput(e.getModel(n),e.getAutoFocus(n))},{inputAriaLabel:e.inputAriaLabel},this.themeService),this.lastKnownEditorSelection||(this.lastKnownEditorSelection=this.editor.getSelection()),this.widget.show("")},e.prototype.decorateLine=function(t,n){var i=[];this.rangeHighlightDecorationId&&(i.push(this.rangeHighlightDecorationId),this.rangeHighlightDecorationId=null);var r=[{range:t,options:e._RANGE_HIGHLIGHT_DECORATION}],o=n.deltaDecorations(i,r);this.rangeHighlightDecorationId=o[0]},e.prototype.clearDecorations=function(){this.rangeHighlightDecorationId&&(this.editor.deltaDecorations([this.rangeHighlightDecorationId],[]),this.rangeHighlightDecorationId=null)},e.ID="editor.controller.quickOpenController",e._RANGE_HIGHLIGHT_DECORATION=o.a.register({className:"rangeHighlight",isWholeLine:!0}),e=we([Ce(1,be.c)],e)}(),xe=function(e){function t(t,n){var i=e.call(this,n)||this;return i._inputAriaLabel=t,i}return ye(t,e),t.prototype.getController=function(e){return Se.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}(r.b);Object(r.h)(Se)},zxiH:function(e,t,n){"use strict";t.e=function(e){o(e)||i.onUnexpectedError(e);return},t.f=function(e){o(e)||i.onUnexpectedExternalError(e);return},t.g=function(e){if(e instanceof Error){var t=e.name,n=e.message,i=e.stacktrace||e.stack;return{$isError:!0,name:t,message:n,stack:i}}return e},t.d=o,t.a=function(){var e=new Error(r);return e.name=e.message,e},t.b=function(e){return e?new Error("Illegal argument: "+e):new Error("Illegal argument")},t.c=function(e){return e?new Error("Illegal state: "+e):new Error("Illegal state")};var i=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}());var r="Canceled";function o(e){return e instanceof Error&&e.name===r&&e.message===r}}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/2.71ffb214c95162432f13.js b/apps/emqx_dashboard/priv/www/static/js/2.71ffb214c95162432f13.js new file mode 100644 index 000000000..9d6fb1400 --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/2.71ffb214c95162432f13.js @@ -0,0 +1,8 @@ +webpackJsonp([2],{"+0Qw":function(e,t){},"+AxE":function(e,t){},"+HRN":function(e,t,n){"use strict";var i=n("kkc6").Buffer,r=n(2);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,n=""+t.data;t=t.next;)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return i.alloc(0);if(1===this.length)return this.head.data;for(var t,n,r,o=i.allocUnsafe(e>>>0),s=this.head,a=0;s;)t=s.data,n=o,r=a,t.copy(n,r),a+=s.data.length,s=s.next;return o},e}(),r&&r.inspect&&r.inspect.custom&&(e.exports.prototype[r.inspect.custom]=function(){var e=r.inspect({length:this.length});return this.constructor.name+" "+e})},"+Tn7":function(e,t){},"+e0g":function(e,t,n){"use strict";var i=n("3PYz"),r=n("lZ6o"),o=r.utils,s=o.assert,a=o.parseBytes,u=n("RzOE"),c=n("hkfz");function l(e){if(s("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof l))return new l(e);e=r.curves[e].curve;this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=i.sha512}e.exports=l,l.prototype.sign=function(e,t){e=a(e);var n=this.keyFromSecret(t),i=this.hashInt(n.messagePrefix(),e),r=this.g.mul(i),o=this.encodePoint(r),s=this.hashInt(o,n.pubBytes(),e).mul(n.priv()),u=i.add(s).umod(this.curve.n);return this.makeSignature({R:r,S:u,Rencoded:o})},l.prototype.verify=function(e,t,n){e=a(e),t=this.makeSignature(t);var i=this.keyFromPublic(n),r=this.hashInt(t.Rencoded(),i.pubBytes(),e),o=this.g.mul(t.S());return t.R().add(i.pub().mul(r)).eq(o)},l.prototype.hashInt=function(){for(var e=this.hash(),t=0;t16)throw new Error("unable to decrypt data");var n=-1;for(;++n16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(this.cache.length>=16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},d.prototype.flush=function(){if(this.cache.length)return this.cache},t.createDecipher=function(e,t){var n=o[e.toLowerCase()];if(!n)throw new TypeError("invalid suite type");var i=c(t,!1,n.key,n.iv);return h(e,i.key,i.iv)},t.createDecipheriv=h},"+jct":function(e,t,n){"use strict";n.d(t,"b",function(){return i}),n.d(t,"a",function(){return r}),t.c=function(e){var t=r;if(e&&e instanceof RegExp)if(e.global)t=e;else{var n="g";e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),t=new RegExp(e.source,n)}return t.lastIndex=0,t},t.d=function(e,t,n,i){t.lastIndex=0;var r=t.exec(n);if(!r)return null;var o=r[0].indexOf(" ")>=0?function(e,t,n,i){var r,o=e-1-i;t.lastIndex=0;for(;r=t.exec(n);){var s=r.index||0;if(s>o)return null;if(t.lastIndex>=o)return{word:r[0],startColumn:i+1+s,endColumn:i+1+t.lastIndex}}return null}(e,t,n,i):function(e,t,n,i){var r,o=e-1-i,s=n.lastIndexOf(" ",o-1)+1;t.lastIndex=s;for(;r=t.exec(n);){var a=r.index||0;if(a<=o&&t.lastIndex>=o)return{word:r[0],startColumn:i+1+a,endColumn:i+1+t.lastIndex}}return null}(e,t,n,i);return t.lastIndex=0,o};var i="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";var r=function(e){void 0===e&&(e="");for(var t="(-?\\d*\\.\\d\\w*)|([^",n=0,r=i;n=0||(t+="\\"+o)}return t+="\\s]+)",new RegExp(t,"g")}()},"+oh4":function(e,t,n){"use strict";var i;n.d(t,"a",function(){return i}),n.d(t,"b",function(){return r}),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(i||(i={}));var r=function(){function e(e){if(this.open=e.open,this.close=e.close,this._standardTokenMask=0,Array.isArray(e.notIn))for(var t=0,n=e.notIn.length;t200)return t;if("object"==typeof t){switch(t.$mid){case 1:return i.a.revive(t);case 2:return new RegExp(t.source,t.flags)}for(var r in t)Object.hasOwnProperty.call(t,r)&&(t[r]=e(t[r],n+1))}return t}(t,0)};var i=n("mrx5")},"/9db":function(e,t,n){"use strict";n.d(t,"a",function(){return i});var i,r=n("7g0X");!function(e){e.editorTextFocus=new r.d("editorTextFocus",!1),e.focus=new r.d("editorFocus",!1),e.textInputFocus=new r.d("textInputFocus",!1),e.readOnly=new r.d("editorReadonly",!1),e.writable=e.readOnly.toNegated(),e.hasNonEmptySelection=new r.d("editorHasSelection",!1),e.hasOnlyEmptySelection=e.hasNonEmptySelection.toNegated(),e.hasMultipleSelections=new r.d("editorHasMultipleSelections",!1),e.hasSingleSelection=e.hasMultipleSelections.toNegated(),e.tabMovesFocus=new r.d("editorTabMovesFocus",!1),e.tabDoesNotMoveFocus=e.tabMovesFocus.toNegated(),e.isInEmbeddedEditor=new r.d("isInEmbeddedEditor",!1),e.canUndo=new r.d("canUndo",!1),e.canRedo=new r.d("canRedo",!1),e.languageId=new r.d("editorLangId",""),e.hasCompletionItemProvider=new r.d("editorHasCompletionItemProvider",!1),e.hasCodeActionsProvider=new r.d("editorHasCodeActionsProvider",!1),e.hasCodeLensProvider=new r.d("editorHasCodeLensProvider",!1),e.hasDefinitionProvider=new r.d("editorHasDefinitionProvider",!1),e.hasDeclarationProvider=new r.d("editorHasDeclarationProvider",!1),e.hasImplementationProvider=new r.d("editorHasImplementationProvider",!1),e.hasTypeDefinitionProvider=new r.d("editorHasTypeDefinitionProvider",!1),e.hasHoverProvider=new r.d("editorHasHoverProvider",!1),e.hasDocumentHighlightProvider=new r.d("editorHasDocumentHighlightProvider",!1),e.hasDocumentSymbolProvider=new r.d("editorHasDocumentSymbolProvider",!1),e.hasReferenceProvider=new r.d("editorHasReferenceProvider",!1),e.hasRenameProvider=new r.d("editorHasRenameProvider",!1),e.hasSignatureHelpProvider=new r.d("editorHasSignatureHelpProvider",!1),e.hasDocumentFormattingProvider=new r.d("editorHasDocumentFormattingProvider",!1),e.hasDocumentSelectionFormattingProvider=new r.d("editorHasDocumentSelectionFormattingProvider",!1),e.hasMultipleDocumentFormattingProvider=new r.d("editorHasMultipleDocumentFormattingProvider",!1),e.hasMultipleDocumentSelectionFormattingProvider=new r.d("editorHasMultipleDocumentSelectionFormattingProvider",!1)}(i||(i={}))},"/MLu":function(e,t,n){e.exports=n("cSWu").PassThrough},"/bUF":function(module,exports){var indexOf=function(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0;n=s&&e<=u||e>=a&&e<=c}function _(e,t,n,i){for(var r,o="",s=0,a=-1,u=0,c=0;c<=e.length;++c){if(c2){var h=o.lastIndexOf(n);-1===h?(o="",s=0):s=(o=o.slice(0,h)).length-1-o.lastIndexOf(n),a=c,u=0;continue}if(2===o.length||1===o.length){o="",s=0,a=c,u=0;continue}}t&&(o.length>0?o+=n+"..":o="..",s=2)}else o.length>0?o+=n+e.slice(a+1,c):o=e.slice(a+1,c),s=c-a-1;a=c,u=0}else r===l&&-1!==u?++u:u=-1}return o}function b(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+e+i:i}var y={resolve:function(){for(var e=[],t=0;t=-1;s--){var a=void 0;if(s>=0?a=e[s]:n?void 0!==(a=r.b["="+n]||r.a())&&a.slice(0,3).toLowerCase()===n.toLowerCase()+"\\"||(a=n+"\\"):a=r.a(),p(a,"path"),0!==a.length){var u=a.length,c=0,l="",d=!1,h=a.charCodeAt(0);if(u>1)if(g(h))if(d=!0,g(a.charCodeAt(1))){for(var f=2,m=f;f2&&g(a.charCodeAt(2))&&(d=!0,c=3));else g(h)&&(c=1,d=!0);if(!(l.length>0&&n.length>0&&l.toLowerCase()!==n.toLowerCase())&&(0===n.length&&l.length>0&&(n=l),o||(i=a.slice(c)+"\\"+i,o=d),n.length>0&&o))break}}return i=_(i,!o,"\\",g),n+(o?"\\":"")+i||"."},normalize:function(e){p(e,"path");var t=e.length;if(0===t)return".";var n,i,r=0,o=!1,s=e.charCodeAt(0);if(t>1)if(g(s))if(o=!0,g(e.charCodeAt(1))){for(var a=2,u=a;a2&&g(e.charCodeAt(2))&&(o=!0,r=3));else if(g(s))return"\\";return 0!==(i=r0&&g(e.charCodeAt(t-1))&&(i+="\\"),void 0===n?o?i.length>0?"\\"+i:"\\":i.length>0?i:"":o?i.length>0?n+"\\"+i:n+"\\":i.length>0?n+i:n},isAbsolute:function(e){p(e,"path");var t=e.length;if(0===t)return!1;var n=e.charCodeAt(0);return!!g(n)||!!(v(n)&&t>2&&58===e.charCodeAt(1)&&g(e.charCodeAt(2)))},join:function(){for(var e,t,n=[],i=0;i0&&(void 0===e?e=t=o:e+="\\"+o)}if(void 0===e)return".";var s=!0,a=0;if("string"==typeof t&&g(t.charCodeAt(0))){++a;var u=t.length;u>1&&g(t.charCodeAt(1))&&(++a,u>2&&(g(t.charCodeAt(2))?++a:s=!1))}if(s){for(;a=2&&(e="\\"+e.slice(a))}return y.normalize(e)},relative:function(e,t){if(p(e,"from"),p(t,"to"),e===t)return"";var n=y.resolve(e),i=y.resolve(t);if(n===i)return"";if((e=n.toLowerCase())===(t=i.toLowerCase()))return"";for(var r=0;rr&&e.charCodeAt(o-1)===h;--o);for(var s=o-r,a=0;aa&&t.charCodeAt(u-1)===h;--u);for(var c=u-a,l=sl){if(t.charCodeAt(a+f)===h)return i.slice(a+f+1);if(2===f)return i.slice(a+f)}s>l&&(e.charCodeAt(r+f)===h?d=f:2===f&&(d=3));break}var g=e.charCodeAt(r+f);if(g!==t.charCodeAt(a+f))break;g===h&&(d=f)}if(f!==l&&-1===d)return i;var m="";for(-1===d&&(d=0),f=r+d+1;f<=o;++f)f!==o&&e.charCodeAt(f)!==h||(0===m.length?m+="..":m+="\\..");return m.length>0?m+i.slice(a+d,u):(a+=d,i.charCodeAt(a)===h&&++a,i.slice(a,u))},toNamespacedPath:function(e){if("string"!=typeof e)return e;if(0===e.length)return"";var t=y.resolve(e);if(t.length>=3)if(t.charCodeAt(0)===h){if(t.charCodeAt(1)===h){var n=t.charCodeAt(2);if(63!==n&&n!==l)return"\\\\?\\UNC\\"+t.slice(2)}}else if(v(t.charCodeAt(0))&&58===t.charCodeAt(1)&&t.charCodeAt(2)===h)return"\\\\?\\"+t;return e},dirname:function(e){p(e,"path");var t=e.length;if(0===t)return".";var n=-1,i=-1,r=!0,o=0,s=e.charCodeAt(0);if(t>1)if(g(s)){if(n=o=1,g(e.charCodeAt(1))){for(var a=2,u=a;a2&&g(e.charCodeAt(2))&&(n=o=3));else if(g(s))return e;for(var c=t-1;c>=o;--c)if(g(e.charCodeAt(c))){if(!r){i=c;break}}else r=!1;if(-1===i){if(-1===n)return".";i=n}return e.slice(0,i)},basename:function(e,t){void 0!==t&&p(t,"ext"),p(e,"path");var n,i=0,r=-1,o=!0;e.length>=2&&(v(e.charCodeAt(0))&&58===e.charCodeAt(1)&&(i=2));if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var s=t.length-1,a=-1;for(n=e.length-1;n>=i;--n){var u=e.charCodeAt(n);if(g(u)){if(!o){i=n+1;break}}else-1===a&&(o=!1,a=n+1),s>=0&&(u===t.charCodeAt(s)?-1==--s&&(r=n):(s=-1,r=a))}return i===r?r=a:-1===r&&(r=e.length),e.slice(i,r)}for(n=e.length-1;n>=i;--n)if(g(e.charCodeAt(n))){if(!o){i=n+1;break}}else-1===r&&(o=!1,r=n+1);return-1===r?"":e.slice(i,r)},extname:function(e){p(e,"path");var t=0,n=-1,i=0,r=-1,o=!0,s=0;e.length>=2&&58===e.charCodeAt(1)&&v(e.charCodeAt(0))&&(t=i=2);for(var a=e.length-1;a>=t;--a){var u=e.charCodeAt(a);if(g(u)){if(!o){i=a+1;break}}else-1===r&&(o=!1,r=a+1),u===l?-1===n?n=a:1!==s&&(s=1):-1!==n&&(s=-1)}return-1===n||-1===r||0===s||1===s&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new f("pathObject","Object",e);return b("\\",e)},parse:function(e){p(e,"path");var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var n=e.length,i=0,r=e.charCodeAt(0);if(n>1){if(g(r)){if(i=1,g(e.charCodeAt(1))){for(var o=2,s=o;o2))return t.root=t.dir=e,t;if(g(e.charCodeAt(2))){if(3===n)return t.root=t.dir=e,t;i=3}}}else if(g(r))return t.root=t.dir=e,t;i>0&&(t.root=e.slice(0,i));for(var a=-1,u=i,c=-1,d=!0,h=e.length-1,f=0;h>=i;--h)if(g(r=e.charCodeAt(h))){if(!d){u=h+1;break}}else-1===c&&(d=!1,c=h+1),r===l?-1===a?a=h:1!==f&&(f=1):-1!==a&&(f=-1);return-1===a||-1===c||0===f||1===f&&a===c-1&&a===u+1?-1!==c&&(t.base=t.name=e.slice(u,c)):(t.name=e.slice(u,a),t.base=e.slice(u,c),t.ext=e.slice(a,c)),t.dir=u>0&&u!==i?e.slice(0,u-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},w={resolve:function(){for(var e=[],t=0;t=-1&&!i;o--){var s=void 0;p(s=o>=0?e[o]:r.a(),"path"),0!==s.length&&(n=s+"/"+n,i=s.charCodeAt(0)===d)}return n=_(n,!i,"/",m),i?n.length>0?"/"+n:"/":n.length>0?n:"."},normalize:function(e){if(p(e,"path"),0===e.length)return".";var t=e.charCodeAt(0)===d,n=e.charCodeAt(e.length-1)===d;return 0!==(e=_(e,!t,"/",m)).length||t||(e="."),e.length>0&&n&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return p(e,"path"),e.length>0&&e.charCodeAt(0)===d},join:function(){for(var e,t=[],n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":w.normalize(e)},relative:function(e,t){if(p(e,"from"),p(t,"to"),e===t)return"";if((e=w.resolve(e))===(t=w.resolve(t)))return"";for(var n=1;na){if(t.charCodeAt(o+c)===d)return t.slice(o+c+1);if(0===c)return t.slice(o+c)}else r>a&&(e.charCodeAt(n+c)===d?u=c:0===c&&(u=0));break}var l=e.charCodeAt(n+c);if(l!==t.charCodeAt(o+c))break;l===d&&(u=c)}var h="";for(c=n+u+1;c<=i;++c)c!==i&&e.charCodeAt(c)!==d||(0===h.length?h+="..":h+="/..");return h.length>0?h+t.slice(o+u):(o+=u,t.charCodeAt(o)===d&&++o,t.slice(o))},toNamespacedPath:function(e){return e},dirname:function(e){if(p(e,"path"),0===e.length)return".";for(var t=e.charCodeAt(0)===d,n=-1,i=!0,r=e.length-1;r>=1;--r)if(e.charCodeAt(r)===d){if(!i){n=r;break}}else i=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)},basename:function(e,t){void 0!==t&&p(t,"ext"),p(e,"path");var n,i=0,r=-1,o=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var s=t.length-1,a=-1;for(n=e.length-1;n>=0;--n){var u=e.charCodeAt(n);if(u===d){if(!o){i=n+1;break}}else-1===a&&(o=!1,a=n+1),s>=0&&(u===t.charCodeAt(s)?-1==--s&&(r=n):(s=-1,r=a))}return i===r?r=a:-1===r&&(r=e.length),e.slice(i,r)}for(n=e.length-1;n>=0;--n)if(e.charCodeAt(n)===d){if(!o){i=n+1;break}}else-1===r&&(o=!1,r=n+1);return-1===r?"":e.slice(i,r)},extname:function(e){p(e,"path");for(var t=-1,n=0,i=-1,r=!0,o=0,s=e.length-1;s>=0;--s){var a=e.charCodeAt(s);if(a!==d)-1===i&&(r=!1,i=s+1),a===l?-1===t?t=s:1!==o&&(o=1):-1!==t&&(o=-1);else if(!r){n=s+1;break}}return-1===t||-1===i||0===o||1===o&&t===i-1&&t===n+1?"":e.slice(t,i)},format:function(e){if(null===e||"object"!=typeof e)throw new f("pathObject","Object",e);return b("/",e)},parse:function(e){p(e,"path");var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var n,i=e.charCodeAt(0)===d;i?(t.root="/",n=1):n=0;for(var r=-1,o=0,s=-1,a=!0,u=e.length-1,c=0;u>=n;--u){var h=e.charCodeAt(u);if(h!==d)-1===s&&(a=!1,s=u+1),h===l?-1===r?r=u:1!==c&&(c=1):-1!==r&&(c=-1);else if(!a){o=u+1;break}}return-1===r||-1===s||0===c||1===c&&r===s-1&&r===o+1?-1!==s&&(t.base=t.name=0===o&&i?e.slice(1,s):e.slice(o,s)):(0===o&&i?(t.name=e.slice(1,r),t.base=e.slice(1,s)):(t.name=e.slice(o,r),t.base=e.slice(o,s)),t.ext=e.slice(r,s)),o>0?t.dir=e.slice(0,o-1):i&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};w.win32=y.win32=y,w.posix=y.posix=w;var C="win32"===r.c?y.normalize:w.normalize,S="win32"===r.c?y.join:w.join,x="win32"===r.c?y.relative:w.relative,L="win32"===r.c?y.dirname:w.dirname,O="win32"===r.c?y.basename:w.basename,k="win32"===r.c?y.extname:w.extname,N="win32"===r.c?y.sep:w.sep},"/vd3":function(e,t,n){t.pbkdf2=n("GUE9"),t.pbkdf2Sync=n("Zq1s")},"/y0r":function(e,t,n){var i=n("BEbT"),r=n("X3l8").Buffer,o=n("z+8S"),s=n("LC74"),a=n("UPHp"),u=n("H2Pp"),c=n("4sPJ");function l(e,t,n,s){o.call(this);var u=r.alloc(4,0);this._cipher=new i.AES(t);var l=this._cipher.encryptBlock(u);this._ghash=new a(l),n=function(e,t,n){if(12===t.length)return e._finID=r.concat([t,r.from([0,0,0,1])]),r.concat([t,r.from([0,0,0,2])]);var i=new a(n),o=t.length,s=o%16;i.update(t),s&&(s=16-s,i.update(r.alloc(s,0))),i.update(r.alloc(8,0));var u=8*o,l=r.alloc(8);l.writeUIntBE(u,0,8),i.update(l),e._finID=i.state;var d=r.from(e._finID);return c(d),d}(this,n,l),this._prev=r.from(n),this._cache=r.allocUnsafe(0),this._secCache=r.allocUnsafe(0),this._decrypt=s,this._alen=0,this._len=0,this._mode=e,this._authTag=null,this._called=!1}s(l,o),l.prototype._update=function(e){if(!this._called&&this._alen){var t=16-this._alen%16;t<16&&(t=r.alloc(t,0),this._ghash.update(t))}this._called=!0;var n=this._mode.encrypt(this,e);return this._decrypt?this._ghash.update(e):this._ghash.update(n),this._len+=e.length,n},l.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var e=u(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(e,t){var n=0;e.length!==t.length&&n++;for(var i=Math.min(e.length,t.length),r=0;r0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},k=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}};!function(e){e.Hidden=new(function(){return function(){this.type=0}}());var t=function(){return function(e,t,n){this.actions=e,this.editorPosition=t,this.widgetPosition=n,this.type=1}}();e.Showing=t}(r||(r={}));var N,E=function(e){function t(t,n,i){var o=e.call(this)||this;return o._editor=t,o._quickFixActionId=n,o._keybindingService=i,o._onClick=o._register(new C.a),o.onClick=o._onClick.event,o._state=r.Hidden,o._domNode=document.createElement("div"),o._domNode.className="lightbulb-glyph",o._editor.addContentWidget(o),o._register(o._editor.onDidChangeModelContent(function(e){var t=o._editor.getModel();(1!==o._state.type||!t||o._state.editorPosition.lineNumber>=t.getLineCount())&&o.hide()})),o._register(p.k(o._domNode,"mousedown",function(e){if(1===o._state.type){o._editor.focus(),e.preventDefault();var t=p.x(o._domNode),n=t.top,i=t.height,r=o._editor.getConfiguration().lineHeight,s=Math.floor(r/3);null!==o._state.widgetPosition.position&&o._state.widgetPosition.position.lineNumber2&&i._editor.getTopForLineNumber(e)===i._editor.getTopForLineNumber(e-1)},f=s;if(!(o.fontInfo.spaceWidth*d>22))if(s>1&&!h(s-1))f-=1;else if(h(s+1)){if(a*o.fontInfo.spaceWidth<22)return this.hide()}else f+=1;this._state=new r.Showing(e,n,{position:{lineNumber:f,column:1},preference:t._posPref}),p.R(this._domNode,"autofixable",e.hasAutoFix),this._editor.layoutContentWidget(this)},Object.defineProperty(t.prototype,"title",{set:function(e){this._domNode.title=e},enumerable:!0,configurable:!0}),t.prototype.hide=function(){this._state=r.Hidden,this._editor.layoutContentWidget(this)},t.prototype._updateLightBulbTitle=function(){var e,t=this._keybindingService.lookupKeybinding(this._quickFixActionId);e=t?x.a("quickFixWithKb","Show Fixes ({0})",t.getLabel()):x.a("quickFix","Show Fixes"),this.title=e},t._posPref=[0],t=O([k(2,f.a)],t)}(o.a),I=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),D=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},M=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},T=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},P=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]0))return[3,9];if(1!==e.trigger.autoApply&&(0!==e.trigger.autoApply||1!==t.actions.length))return[3,9];i.label=5;case 5:return i.trys.push([5,,7,8]),[4,this.delegate.applyCodeAction(t.actions[0],!1)];case 6:return i.sent(),[3,8];case 7:return t.dispose(),[7];case 8:return[2];case 9:return this._activeCodeActions.value=t,this._codeActionWidget.show(t,e.position),[3,11];case 10:this._codeActionWidget.isVisible?t.dispose():this._activeCodeActions.value=t,i.label=11;case 11:return[2]}})})},t.prototype.showCodeActionList=function(e,t){return T(this,void 0,void 0,function(){return P(this,function(n){return this._codeActionWidget.show(e,t),[2]})})},t.prototype._handleLightBulbSelect=function(e){this._codeActionWidget.show(e.actions,e)},t=D([M(3,h.a),M(4,f.a)],t)}(o.a),R=n("ItKl"),F=n("7g0X"),j=n("OHx0"),W=n("DBt1"),B=n("odeJ"),V=n("vTy2"),H=n("PCC9"),z=n("OBuU"),U=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),K=new F.d("supportedCodeAction",""),q=function(e){function t(t,n,i,r){void 0===r&&(r=250);var o=e.call(this)||this;return o._editor=t,o._markerService=n,o._signalChange=i,o._delay=r,o._autoTriggerTimer=o._register(new B.e),o._register(o._markerService.onMarkerChanged(function(e){return o._onMarkerChanges(e)})),o._register(o._editor.onDidChangeCursorPosition(function(){return o._onCursorChange()})),o}return U(t,e),t.prototype.trigger=function(e){var t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);return this._createEventAndSignalChange(e,t)},t.prototype._onMarkerChanges=function(e){var t=this,n=this._editor.getModel();n&&e.some(function(e){return e.toString()===n.uri.toString()})&&this._autoTriggerTimer.cancelAndSet(function(){t.trigger({type:"auto"})},this._delay)},t.prototype._onCursorChange=function(){var e=this;this._autoTriggerTimer.cancelAndSet(function(){e.trigger({type:"auto"})},this._delay)},t.prototype._getRangeOfMarker=function(e){var t=this._editor.getModel();if(t)for(var n=0,i=this._markerService.read({resource:t.uri});n=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},$=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},J=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},Q=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0;t--)this.editOperations[t]={operations:e.applyEdits(this.editOperations[t].operations)}},e.prototype.redo=function(e){for(var t=0;t0){var e=this.past.pop();try{e.undo(this.model)}catch(e){return Object(i.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||null!==this.currentOpenStackElement},e.prototype.redo=function(){if(this.future.length>0){var e=this.future.pop();try{e.redo(this.model)}catch(e){return Object(i.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}(),v=function(){return function(){this.spacesDiff=0,this.looksLikeAlignment=!1}}();function _(e,t,n,i,r){var o;for(r.spacesDiff=0,r.looksLikeAlignment=!1,o=0;o0&&a>0||c>0&&l>0)){var d=Math.abs(a-l),h=Math.abs(s-c);if(0===d)return r.spacesDiff=h,void(h>0&&0<=c-1&&c-10?r++:m>1&&o++,_(s,a,h,g,c),!c.looksLikeAlignment||n&&t===c.spacesDiff)){var S=c.spacesDiff;S<=8&&u[S]++,s=h,a=g}}var x=n;r!==o&&(x=rO&&(O=t,L=e)}),4===L&&u[4]>0&&u[2]>0&&u[2]>=u[4]/2&&(L=2)}return{insertSpaces:x,tabSize:L}}function y(e){return(1&e.metadata)>>>0}function w(e,t){e.metadata=254&e.metadata|t<<0}function C(e){return(2&e.metadata)>>>1==1}function S(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function x(e){return(4&e.metadata)>>>2==1}function L(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function O(e){return(8&e.metadata)>>>3==1}function k(e,t){e.metadata=247&e.metadata|(t?1:0)<<3}function N(e,t){e.metadata=207&e.metadata|t<<4}function E(e,t){e.metadata=191&e.metadata|(t?1:0)<<6}var I=function(){function e(e,t,n){this.metadata=0,this.parent=this,this.left=this,this.right=this,w(this,1),this.start=t,this.end=n,this.delta=0,this.maxEnd=n,this.id=e,this.ownerId=0,this.options=null,L(this,!1),N(this,1),k(this,!1),E(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=null,S(this,!1)}return e.prototype.reset=function(e,t,n,i){this.start=t,this.end=n,this.maxEnd=n,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=i},e.prototype.setOptions=function(e){this.options=e;var t=this.options.className;L(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),N(this,this.options.stickiness),k(this,!(!this.options.overviewRuler||!this.options.overviewRuler.color)),E(this,this.options.collapseOnReplaceEdit)},e.prototype.setCachedOffsets=function(e,t,n){this.cachedVersionId!==n&&(this.range=null),this.cachedVersionId=n,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,w(D,0);var M=function(){function e(){this.root=D,this.requestNormalizeDelta=!1}return e.prototype.intervalSearch=function(e,t,n,i,r){return this.root===D?[]:function(e,t,n,i,r,o){var s=e.root,a=0,u=0,c=0,l=[],d=0;for(;s!==D;)if(C(s))S(s.left,!1),S(s.right,!1),s===s.parent.right&&(a-=s.parent.delta),s=s.parent;else{if(!C(s.left)){if(a+s.maxEndn)S(s,!0);else{if((c=a+s.end)>=t){s.setCachedOffsets(u,c,o);var h=!0;i&&s.ownerId&&s.ownerId!==i&&(h=!1),r&&x(s)&&(h=!1),h&&(l[d++]=s)}S(s,!0),s.right===D||C(s.right)||(a+=s.delta,s=s.right)}}return S(e.root,!1),l}(this,e,t,n,i,r)},e.prototype.search=function(e,t,n){return this.root===D?[]:function(e,t,n,i){var r=e.root,o=0,s=0,a=0,u=[],c=0;for(;r!==D;)if(C(r))S(r.left,!1),S(r.right,!1),r===r.parent.right&&(o-=r.parent.delta),r=r.parent;else if(r.left===D||C(r.left)){s=o+r.start,a=o+r.end,r.setCachedOffsets(s,a,i);var l=!0;t&&r.ownerId&&r.ownerId!==t&&(l=!1),n&&x(r)&&(l=!1),l&&(u[c++]=r),S(r,!0),r.right===D||C(r.right)||(o+=r.delta,r=r.right)}else r=r.left;return S(e.root,!1),u}(this,e,t,n)},e.prototype.collectNodesFromOwner=function(e){return function(e,t){var n=e.root,i=[],r=0;for(;n!==D;)C(n)?(S(n.left,!1),S(n.right,!1),n=n.parent):n.left===D||C(n.left)?(n.ownerId===t&&(i[r++]=n),S(n,!0),n.right===D||C(n.right)||(n=n.right)):n=n.left;return S(e.root,!1),i}(this,e)},e.prototype.collectNodesPostOrder=function(){return function(e){var t=e.root,n=[],i=0;for(;t!==D;)C(t)?(S(t.left,!1),S(t.right,!1),t=t.parent):t.left===D||C(t.left)?t.right===D||C(t.right)?(n[i++]=t,S(t,!0)):t=t.right:t=t.left;return S(e.root,!1),n}(this)},e.prototype.insert=function(e){A(this,e),this._normalizeDeltaIfNecessary()},e.prototype.delete=function(e){R(this,e),this._normalizeDeltaIfNecessary()},e.prototype.resolveNode=function(e,t){for(var n=e,i=0;e!==this.root;)e===e.parent.right&&(i+=e.parent.delta),e=e.parent;var r=n.start+i,o=n.end+i;n.setCachedOffsets(r,o,t)},e.prototype.acceptReplace=function(e,t,n,i){for(var r=function(e,t,n){var i=e.root,r=0,o=0,s=0,a=[],u=0;for(;i!==D;)if(C(i))S(i.left,!1),S(i.right,!1),i===i.parent.right&&(r-=i.parent.delta),i=i.parent;else{if(!C(i.left)){if(r+i.maxEndn?S(i,!0):((s=r+i.end)>=t&&(i.setCachedOffsets(o,s,0),a[u++]=i),S(i,!0),i.right===D||C(i.right)||(r+=i.delta,i=i.right))}return S(e.root,!1),a}(this,e,e+t),o=0,s=r.length;on?(r.start+=s,r.end+=s,r.delta+=s,(r.delta<-1073741824||r.delta>1073741824)&&(e.requestNormalizeDelta=!0),S(r,!0)):(S(r,!0),r.right===D||C(r.right)||(o+=r.delta,r=r.right))}S(e.root,!1)}(this,e,e+t,n),this._normalizeDeltaIfNecessary();for(o=0,s=r.length;on)&&(1!==i&&(2===i||t))}function P(e,t,n,i,r){var o=function(e){return(48&e.metadata)>>>4}(e),s=0===o||2===o,a=1===o||2===o,u=n-t,c=i,l=Math.min(u,c),d=e.start,h=!1,f=e.end,p=!1;t<=d&&f<=n&&function(e){return(64&e.metadata)>>>6==1}(e)&&(e.start=t,h=!0,e.end=t,p=!0);var g=r?1:u>0?2:0;if(!h&&T(d,s,t,g)&&(h=!0),!p&&T(f,a,t,g)&&(p=!0),l>0&&!r){g=u>c?2:0;!h&&T(d,s,t+l,g)&&(h=!0),!p&&T(f,a,t+l,g)&&(p=!0)}g=r?1:0;!h&&T(d,s,n,g)&&(e.start=t+c,h=!0),!p&&T(f,a,n,g)&&(e.end=t+c,p=!0);var m=c-u;h||(e.start=Math.max(0,d+m)),p||(e.end=Math.max(0,f+m)),e.start>e.end&&(e.end=e.start)}function A(e,t){if(e.root===D)return t.parent=D,t.left=D,t.right=D,w(t,0),e.root=t,e.root;!function(e,t){var n=0,i=e.root,r=t.start,o=t.end;for(;;){var s=z(r,o,i.start+n,i.end+n);if(s<0){if(i.left===D){t.start-=n,t.end-=n,t.maxEnd-=n,i.left=t;break}i=i.left}else{if(i.right===D){t.start-=n+i.delta,t.end-=n+i.delta,t.maxEnd-=n+i.delta,i.right=t;break}n+=i.delta,i=i.right}}t.parent=i,t.left=D,t.right=D,w(t,1)}(e,t),H(t.parent);for(var n=t;n!==e.root&&1===y(n.parent);){var i;if(n.parent===n.parent.parent.left)1===y(i=n.parent.parent.right)?(w(n.parent,0),w(i,0),w(n.parent.parent,1),n=n.parent.parent):(n===n.parent.right&&j(e,n=n.parent),w(n.parent,0),w(n.parent.parent,1),W(e,n.parent.parent));else 1===y(i=n.parent.parent.left)?(w(n.parent,0),w(i,0),w(n.parent.parent,1),n=n.parent.parent):(n===n.parent.left&&W(e,n=n.parent),w(n.parent,0),w(n.parent.parent,1),j(e,n.parent.parent))}return w(e.root,0),t}function R(e,t){var n,i;if(t.left===D?(i=t,(n=t.right).delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta):t.right===D?(n=t.left,i=t):((n=(i=function(e){for(;e.left!==D;)e=e.left;return e}(t.right)).right).start+=i.delta,n.end+=i.delta,n.delta+=i.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta,i.delta=t.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0)),i===e.root)return e.root=n,w(n,0),t.detach(),F(),V(n),void(e.root.parent=D);var r,o=1===y(i);if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?n.parent=i.parent:(i.parent===t?n.parent=i:n.parent=i.parent,i.left=t.left,i.right=t.right,i.parent=t.parent,w(i,y(t)),t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==D&&(i.left.parent=i),i.right!==D&&(i.right.parent=i)),t.detach(),o)return H(n.parent),i!==t&&(H(i),H(i.parent)),void F();for(H(n),H(n.parent),i!==t&&(H(i),H(i.parent));n!==e.root&&0===y(n);)n===n.parent.left?(1===y(r=n.parent.right)&&(w(r,0),w(n.parent,1),j(e,n.parent),r=n.parent.right),0===y(r.left)&&0===y(r.right)?(w(r,1),n=n.parent):(0===y(r.right)&&(w(r.left,0),w(r,1),W(e,r),r=n.parent.right),w(r,y(n.parent)),w(n.parent,0),w(r.right,0),j(e,n.parent),n=e.root)):(1===y(r=n.parent.left)&&(w(r,0),w(n.parent,1),W(e,n.parent),r=n.parent.left),0===y(r.left)&&0===y(r.right)?(w(r,1),n=n.parent):(0===y(r.left)&&(w(r.right,0),w(r,1),j(e,r),r=n.parent.left),w(r,y(n.parent)),w(n.parent,0),w(r.left,0),W(e,n.parent),n=e.root));w(n,0),F()}function F(){D.parent=D,D.delta=0,D.start=0,D.end=0}function j(e,t){var n=t.right;n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta,t.right=n.left,n.left!==D&&(n.left.parent=t),n.parent=t.parent,t.parent===D?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n,V(t),V(n)}function W(e,t){var n=t.left;t.delta-=n.delta,(t.delta<-1073741824||t.delta>1073741824)&&(e.requestNormalizeDelta=!0),t.start-=n.delta,t.end-=n.delta,t.left=n.right,n.right!==D&&(n.right.parent=t),n.parent=t.parent,t.parent===D?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n,V(t),V(n)}function B(e){var t=e.end;if(e.left!==D){var n=e.left.maxEnd;n>t&&(t=n)}if(e.right!==D){var i=e.right.maxEnd+e.delta;i>t&&(t=i)}return t}function V(e){e.maxEnd=B(e)}function H(e){for(;e!==D;){var t=B(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}function z(e,t,n,i){return e===n?t-i:e-n}var U=function(){function e(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}return e.prototype.next=function(){if(this.right!==K)return q(this.right);for(var e=this;e.parent!==K&&e.parent.left!==e;)e=e.parent;return e.parent===K?K:e.parent},e.prototype.prev=function(){if(this.left!==K)return G(this.left);for(var e=this;e.parent!==K&&e.parent.right!==e;)e=e.parent;return e.parent===K?K:e.parent},e.prototype.detach=function(){this.parent=null,this.left=null,this.right=null},e}(),K=new U(null,0);function q(e){for(;e.left!==K;)e=e.left;return e}function G(e){for(;e.right!==K;)e=e.right;return e}function Z(e){return e===K?0:e.size_left+e.piece.length+Z(e.right)}function Y(e){return e===K?0:e.lf_left+e.piece.lineFeedCnt+Y(e.right)}function X(){K.parent=K}function $(e,t){var n=t.right;n.size_left+=t.size_left+(t.piece?t.piece.length:0),n.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=n.left,n.left!==K&&(n.left.parent=t),n.parent=t.parent,t.parent===K?e.root=n:t.parent.left===t?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n}function J(e,t){var n=t.left;t.left=n.right,n.right!==K&&(n.right.parent=t),n.parent=t.parent,t.size_left-=n.size_left+(n.piece?n.piece.length:0),t.lf_left-=n.lf_left+(n.piece?n.piece.lineFeedCnt:0),t.parent===K?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n}function Q(e,t){var n,i;if(n=t.left===K?(i=t).right:t.right===K?(i=t).left:(i=q(t.right)).right,i===e.root)return e.root=n,n.color=0,t.detach(),X(),void(e.root.parent=K);var r=1===i.color;if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?(n.parent=i.parent,ne(e,n)):(i.parent===t?n.parent=i:n.parent=i.parent,ne(e,n),i.left=t.left,i.right=t.right,i.parent=t.parent,i.color=t.color,t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==K&&(i.left.parent=i),i.right!==K&&(i.right.parent=i),i.size_left=t.size_left,i.lf_left=t.lf_left,ne(e,i)),t.detach(),n.parent.left===n){var o=Z(n),s=Y(n);if(o!==n.parent.size_left||s!==n.parent.lf_left){var a=o-n.parent.size_left,u=s-n.parent.lf_left;n.parent.size_left=o,n.parent.lf_left=s,te(e,n.parent,a,u)}}if(ne(e,n.parent),r)X();else{for(var c;n!==e.root&&0===n.color;)n===n.parent.left?(1===(c=n.parent.right).color&&(c.color=0,n.parent.color=1,$(e,n.parent),c=n.parent.right),0===c.left.color&&0===c.right.color?(c.color=1,n=n.parent):(0===c.right.color&&(c.left.color=0,c.color=1,J(e,c),c=n.parent.right),c.color=n.parent.color,n.parent.color=0,c.right.color=0,$(e,n.parent),n=e.root)):(1===(c=n.parent.left).color&&(c.color=0,n.parent.color=1,J(e,n.parent),c=n.parent.left),0===c.left.color&&0===c.right.color?(c.color=1,n=n.parent):(0===c.left.color&&(c.right.color=0,c.color=1,$(e,c),c=n.parent.left),c.color=n.parent.color,n.parent.color=0,c.left.color=0,J(e,n.parent),n=e.root));n.color=0,X()}}function ee(e,t){for(ne(e,t);t!==e.root&&1===t.parent.color;){var n;if(t.parent===t.parent.parent.left)1===(n=t.parent.parent.right).color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&$(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,J(e,t.parent.parent));else 1===(n=t.parent.parent.left).color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&J(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,$(e,t.parent.parent))}e.root.color=0}function te(e,t,n,i){for(;t!==e.root&&t!==K;)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}function ne(e,t){var n=0,i=0;if(t!==e.root){if(0===n){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t===e.root)return;n=Z((t=t.parent).left)-t.size_left,i=Y(t.left)-t.lf_left,t.size_left+=n,t.lf_left+=i}for(;t!==e.root&&(0!==n||0!==i);)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}}K.parent=K,K.left=K,K.right=K,K.color=0;var ie=n("IErJ");function re(e){var t;return(t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length)).set(e,0),t}var oe=function(){return function(e,t,n,i,r){this.lineStarts=e,this.cr=t,this.lf=n,this.crlf=i,this.isBasicASCII=r}}();function se(e,t){void 0===t&&(t=!0);for(var n=[0],i=1,r=0,o=e.length;r=0;t--){var n=this._cache[t];if(n.nodeStartOffset<=e&&n.nodeStartOffset+n.node.piece.length>=e)return n}return null},e.prototype.get2=function(e){for(var t=this._cache.length-1;t>=0;t--){var n=this._cache[t];if(n.nodeStartLineNumber&&n.nodeStartLineNumber=e)return n}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,n=this._cache,i=0;i=e)&&(n[i]=null,t=!0)}if(t){for(var o=[],s=0,a=n;s0){e[r].lineStarts||(e[r].lineStarts=se(e[r].buffer));var s=new ae(r+1,{line:0,column:0},{line:e[r].lineStarts.length-1,column:e[r].buffer.length-e[r].lineStarts[e[r].lineStarts.length-1]},e[r].lineStarts.length-1,e[r].buffer.length);this._buffers.push(e[r]),i=this.rbInsertRight(i,s)}this._searchCache=new ce(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()},e.prototype.normalizeEOL=function(e){var t=this,n=65535-Math.floor(21845),i=2*n,r="",o=0,s=[];if(this.iterate(this.root,function(a){var u=t.getNodeContent(a),c=u.length;if(o<=n||o+c0){var a=r.replace(/\r\n|\r|\n/g,e);s.push(new ue(a,se(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 n=0,i=this.root;i!==K;)if(i.left!==K&&i.lf_left+1>=e)i=i.left;else{if(i.lf_left+i.piece.lineFeedCnt+1>=e)return(n+=i.size_left)+(this.getAccumulatedValue(i,e-i.lf_left-2)+t-1);e-=i.lf_left+i.piece.lineFeedCnt,n+=i.size_left+i.piece.length,i=i.right}return n},e.prototype.getPositionAt=function(e){e=Math.floor(e),e=Math.max(0,e);for(var t=this.root,n=0,i=e;t!==K;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){var r=this.getIndexOf(t,e-t.size_left);if(n+=t.lf_left+r.index,0===r.index){var o=i-this.getOffsetAt(n+1,1);return new c.a(n+1,o+1)}return new c.a(n+1,r.remainder+1)}if(e-=t.size_left+t.piece.length,n+=t.lf_left+t.piece.lineFeedCnt,t.right===K){o=i-e-this.getOffsetAt(n+1,1);return new c.a(n+1,o+1)}t=t.right}return new c.a(1,1)},e.prototype.getValueInRange=function(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";var n=this.nodeAt2(e.startLineNumber,e.startColumn),i=this.nodeAt2(e.endLineNumber,e.endColumn),r=this.getValueInRange2(n,i);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?r:r.replace(/\r\n|\r|\n/g,t):r},e.prototype.getValueInRange2=function(e,t){if(e.node===t.node){var n=e.node,i=this._buffers[n.piece.bufferIndex].buffer,r=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i.substring(r+e.remainder,r+t.remainder)}var o=e.node,s=this._buffers[o.piece.bufferIndex].buffer,a=this.offsetInBuffer(o.piece.bufferIndex,o.piece.start),u=s.substring(a+e.remainder,a+o.piece.length);for(o=o.next();o!==K;){var c=this._buffers[o.piece.bufferIndex].buffer,l=this.offsetInBuffer(o.piece.bufferIndex,o.piece.start);if(o===t.node){u+=c.substring(l,l+t.remainder);break}u+=c.substr(l,o.piece.length),o=o.next()}return u},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 n=this.nodeAt2(e,t+1);if(n.remainder===n.node.piece.length){var i=n.node.next();if(!i)return 0;var r=this._buffers[i.piece.bufferIndex],o=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return r.buffer.charCodeAt(o)}r=this._buffers[n.node.piece.bufferIndex];var s=(o=this.offsetInBuffer(n.node.piece.bufferIndex,n.node.piece.start))+n.remainder;return r.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,n,i,r,o,s,a,u,c,d){var h,f=this._buffers[e.piece.bufferIndex],p=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start),g=this.offsetInBuffer(e.piece.bufferIndex,r),m=this.offsetInBuffer(e.piece.bufferIndex,o);t.reset(g);var v={line:0,column:0};do{if(h=t.next(f.buffer)){if(h.index>=m)return c;this.positionInBuffer(e,h.index-p,v);var _=this.getLineFeedCnt(e.piece.bufferIndex,r,v),b=v.line===r.line?v.column-r.column+i:v.column+1,y=b+h[0].length;if(d[c++]=Object(ie.d)(new l.a(n+_,b,n+_,y),h,a),h.index+h[0].length>=m)return c;if(c>=u)return c}}while(h);return c},e.prototype.findMatchesLineByLine=function(e,t,n,i){var r=[],o=0,s=new ie.b(t.wordSeparators,t.regex),a=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===a)return[];var u=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===u)return[];var c=this.positionInBuffer(a.node,a.remainder),l=this.positionInBuffer(u.node,u.remainder);if(a.node===u.node)return this.findMatchesInNode(a.node,s,e.startLineNumber,e.startColumn,c,l,t,n,i,o,r),r;for(var d=e.startLineNumber,h=a.node;h!==u.node;){var f=this.getLineFeedCnt(h.piece.bufferIndex,c,h.piece.end);if(f>=1){var p=this._buffers[h.piece.bufferIndex].lineStarts,g=this.offsetInBuffer(h.piece.bufferIndex,h.piece.start),m=p[c.line+f],v=d===e.startLineNumber?e.startColumn:1;if((o=this.findMatchesInNode(h,s,d,v,c,this.positionInBuffer(h,m-g),t,n,i,o,r))>=i)return r;d+=f}var _=d===e.startLineNumber?e.startColumn-1:0;if(d===e.endLineNumber){var b=this.getLineContent(d).substring(_,e.endColumn-1);return o=this._findMatchesInLine(t,s,b,e.endLineNumber,_,o,r,n,i),r}if((o=this._findMatchesInLine(t,s,this.getLineContent(d).substr(_),d,_,o,r,n,i))>=i)return r;d++,h=(a=this.nodeAt2(d,1)).node,c=this.positionInBuffer(a.node,a.remainder)}if(d===e.endLineNumber){var y=d===e.startLineNumber?e.startColumn-1:0;b=this.getLineContent(d).substring(y,e.endColumn-1);return o=this._findMatchesInLine(t,s,b,e.endLineNumber,y,o,r,n,i),r}var w=d===e.startLineNumber?e.startColumn:1;return o=this.findMatchesInNode(u.node,s,d,w,c,l,t,n,i,o,r),r},e.prototype._findMatchesInLine=function(e,t,n,i,r,o,s,a,u){var c,d=e.wordSeparators;if(!a&&e.simpleSearch){for(var f=e.simpleSearch,p=f.length,g=n.length,m=-p;-1!==(m=n.indexOf(f,m+p));)if((!d||Object(ie.e)(d,n,g,m,p))&&(s[o++]=new h.b(new l.a(i,m+1+r,i,m+1+p+r),null),o>=u))return o;return o}t.reset(0);do{if((c=t.next(n))&&(s[o++]=Object(ie.d)(new l.a(i,c.index+1+r,i,c.index+1+c[0].length+r),c,a),o>=u))return o}while(c);return o},e.prototype.insert=function(e,t,n){if(void 0===n&&(n=!1),this._EOLNormalized=this._EOLNormalized&&n,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==K){var i=this.nodeAt(e),r=i.node,o=i.remainder,s=i.nodeStartOffset,a=r.piece,u=a.bufferIndex,c=this.positionInBuffer(r,o);if(0===r.piece.bufferIndex&&a.end.line===this._lastChangeBufferPos.line&&a.end.column===this._lastChangeBufferPos.column&&s+a.length===e&&t.length<65535)return this.appendToNode(r,t),void this.computeBufferMetadata();if(s===e)this.insertContentToNodeLeft(t,r),this._searchCache.valdiate(e);else if(s+r.piece.length>e){var l=[],d=new ae(a.bufferIndex,c,a.end,this.getLineFeedCnt(a.bufferIndex,c,a.end),this.offsetInBuffer(u,a.end)-this.offsetInBuffer(u,c));if(this.shouldCheckCRLF()&&this.endWithCR(t))if(10===this.nodeCharCodeAt(r,o)){var h={line:d.start.line+1,column:0};d=new ae(d.bufferIndex,h,d.end,this.getLineFeedCnt(d.bufferIndex,h,d.end),d.length-1),t+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(13===this.nodeCharCodeAt(r,o-1)){var f=this.positionInBuffer(r,o-1);this.deleteNodeTail(r,f),t="\r"+t,0===r.piece.length&&l.push(r)}else this.deleteNodeTail(r,c);else this.deleteNodeTail(r,c);var p=this.createNewPieces(t);d.length>0&&this.rbInsertRight(r,d);for(var g=r,m=0;m=0;u--)a=this.rbInsertLeft(a,s[u]);this.validateCRLFWithPrevNode(a),this.deleteNodes(n)},e.prototype.insertContentToNodeRight=function(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");for(var n=this.createNewPieces(e),i=this.rbInsertRight(t,n[0]),r=i,o=1;o=l))break;a=c+1}return n?(n.line=c,n.column=s-d,null):{line:c,column:s-d}},e.prototype.getLineFeedCnt=function(e,t,n){if(0===n.column)return n.line-t.line;var i=this._buffers[e].lineStarts;if(n.line===i.length-1)return n.line-t.line;var r=i[n.line+1],o=i[n.line]+n.column;if(r>o+1)return n.line-t.line;var s=o-1;return 13===this._buffers[e].buffer.charCodeAt(s)?n.line-t.line+1:n.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;t65535){for(var t=[];e.length>65535;){var n=e.charCodeAt(65534),i=void 0;13===n||n>=55296&&n<=56319?(i=e.substring(0,65534),e=e.substring(65534)):(i=e.substring(0,65535),e=e.substring(65535));var r=se(i);t.push(new ae(this._buffers.length,{line:0,column:0},{line:r.length-1,column:i.length-r[r.length-1]},r.length-1,i.length)),this._buffers.push(new ue(i,r))}var o=se(e);return t.push(new ae(this._buffers.length,{line:0,column:0},{line:o.length-1,column:e.length-o[o.length-1]},o.length-1,e.length)),this._buffers.push(new ue(e,o)),t}var s=this._buffers[0].buffer.length,a=se(e,!1),u=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},u=this._lastChangeBufferPos;for(var c=0;c=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){o=this.getAccumulatedValue(n,e-n.lf_left-2),u=this.getAccumulatedValue(n,e-n.lf_left-1),s=this._buffers[n.piece.bufferIndex].buffer,a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return c+=n.size_left,this._searchCache.set({node:n,nodeStartOffset:c,nodeStartLineNumber:l-(e-1-n.lf_left)}),s.substring(a+o,a+u-t)}if(n.lf_left+n.piece.lineFeedCnt===e-1){o=this.getAccumulatedValue(n,e-n.lf_left-2),s=this._buffers[n.piece.bufferIndex].buffer,a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i=s.substring(a+o,a+n.piece.length);break}e-=n.lf_left+n.piece.lineFeedCnt,c+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==K;){s=this._buffers[n.piece.bufferIndex].buffer;if(n.piece.lineFeedCnt>0){u=this.getAccumulatedValue(n,0),a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i+=s.substring(a,a+u-t)}a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i+=s.substr(a,n.piece.length),n=n.next()}return i},e.prototype.computeBufferMetadata=function(){for(var e=this.root,t=1,n=0;e!==K;)t+=e.lf_left+e.piece.lineFeedCnt,n+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=n,this._searchCache.valdiate(this._length)},e.prototype.getIndexOf=function(e,t){var n=e.piece,i=this.positionInBuffer(e,t),r=i.line-n.start.line;if(this.offsetInBuffer(n.bufferIndex,n.end)-this.offsetInBuffer(n.bufferIndex,n.start)===t){var o=this.getLineFeedCnt(e.piece.bufferIndex,n.start,i);if(o!==r)return{index:o,remainder:0}}return{index:r,remainder:i.column}},e.prototype.getAccumulatedValue=function(e,t){if(t<0)return 0;var n=e.piece,i=this._buffers[n.bufferIndex].lineStarts,r=n.start.line+t+1;return r>n.end.line?i[n.end.line]+n.end.column-i[n.start.line]-n.start.column:i[r]-i[n.start.line]-n.start.column},e.prototype.deleteNodeTail=function(e,t){var n=e.piece,i=n.lineFeedCnt,r=this.offsetInBuffer(n.bufferIndex,n.end),o=t,s=this.offsetInBuffer(n.bufferIndex,o),a=this.getLineFeedCnt(n.bufferIndex,n.start,o),u=a-i,c=s-r,l=n.length+c;e.piece=new ae(n.bufferIndex,n.start,o,a,l),te(this,e,c,u)},e.prototype.deleteNodeHead=function(e,t){var n=e.piece,i=n.lineFeedCnt,r=this.offsetInBuffer(n.bufferIndex,n.start),o=t,s=this.getLineFeedCnt(n.bufferIndex,o,n.end),a=s-i,u=r-this.offsetInBuffer(n.bufferIndex,o),c=n.length+u;e.piece=new ae(n.bufferIndex,o,n.end,s,c),te(this,e,u,a)},e.prototype.shrinkNode=function(e,t,n){var i=e.piece,r=i.start,o=i.end,s=i.length,a=i.lineFeedCnt,u=t,c=this.getLineFeedCnt(i.bufferIndex,i.start,u),l=this.offsetInBuffer(i.bufferIndex,t)-this.offsetInBuffer(i.bufferIndex,r);e.piece=new ae(i.bufferIndex,i.start,u,c,l),te(this,e,l-s,c-a);var d=new ae(i.bufferIndex,n,o,this.getLineFeedCnt(i.bufferIndex,n,o),this.offsetInBuffer(i.bufferIndex,o)-this.offsetInBuffer(i.bufferIndex,n)),h=this.rbInsertRight(e,d);this.validateCRLFWithPrevNode(h)},e.prototype.appendToNode=function(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");var n=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),i=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;for(var r=se(t,!1),o=0;oe)t=t.left;else{if(t.size_left+t.piece.length>=e){i+=t.size_left;var r={node:t,remainder:e-t.size_left,nodeStartOffset:i};return this._searchCache.set(r),r}e-=t.size_left+t.piece.length,i+=t.size_left+t.piece.length,t=t.right}return null},e.prototype.nodeAt2=function(e,t){for(var n=this.root,i=0;n!==K;)if(n.left!==K&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){var r=this.getAccumulatedValue(n,e-n.lf_left-2),o=this.getAccumulatedValue(n,e-n.lf_left-1);return i+=n.size_left,{node:n,remainder:Math.min(r+t-1,o),nodeStartOffset:i}}if(n.lf_left+n.piece.lineFeedCnt===e-1){if((r=this.getAccumulatedValue(n,e-n.lf_left-2))+t-1<=n.piece.length)return{node:n,remainder:r+t-1,nodeStartOffset:i};t-=n.piece.length-r;break}e-=n.lf_left+n.piece.lineFeedCnt,i+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==K;){if(n.piece.lineFeedCnt>0){o=this.getAccumulatedValue(n,0);var s=this.offsetOfNode(n);return{node:n,remainder:Math.min(t-1,o),nodeStartOffset:s}}if(n.piece.length>=t-1)return{node:n,remainder:t-1,nodeStartOffset:this.offsetOfNode(n)};t-=n.piece.length,n=n.next()}return null},e.prototype.nodeCharCodeAt=function(e,t){if(e.piece.lineFeedCnt<1)return-1;var n=this._buffers[e.piece.bufferIndex],i=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return n.buffer.charCodeAt(i)},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===K||0===e.piece.lineFeedCnt)return!1;var t=e.piece,n=this._buffers[t.bufferIndex].lineStarts,i=t.start.line,r=n[i]+t.start.column;return i!==n.length-1&&(!(n[i+1]>r+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(r))},e.prototype.endWithCR=function(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==K&&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 n,i=[],r=this._buffers[e.piece.bufferIndex].lineStarts;n=0===e.piece.end.column?{line:e.piece.end.line-1,column:r[e.piece.end.line]-r[e.piece.end.line-1]-1}:{line:e.piece.end.line,column:e.piece.end.column-1};var o=e.piece.length-1,s=e.piece.lineFeedCnt-1;e.piece=new ae(e.piece.bufferIndex,e.piece.start,n,s,o),te(this,e,-1,-1),0===e.piece.length&&i.push(e);var a={line:t.piece.start.line+1,column:0},u=t.piece.length-1,c=this.getLineFeedCnt(t.piece.bufferIndex,a,t.piece.end);t.piece=new ae(t.piece.bufferIndex,a,t.piece.end,c,u),te(this,t,-1,-1),0===t.piece.length&&i.push(t);var l=this.createNewPieces("\r\n");this.rbInsertRight(e,l[0]);for(var d=0;d0){v.sort(function(e,t){return t.lineNumber-e.lineNumber}),S=[];u=0;for(var x=v.length;u0&&v[u-1].lineNumber===b)){var L=v[u].oldContent,O=this.getLineContent(b);0!==O.length&&O!==L&&-1===s.q(O)&&S.push(b)}}}return new h.a(w,C,S)},e.prototype._reduceOperations=function(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]},e.prototype._toSingleEditOperation=function(e){for(var t=!1,n=e[0].range,i=e[e.length-1].range,r=new l.a(n.startLineNumber,n.startColumn,i.endLineNumber,i.endColumn),o=n.startLineNumber,s=n.startColumn,a=[],u=0,c=e.length;u0){var h=a.lines.length,f=a.lines[0],p=a.lines[h-1];d=1===h?new l.a(u,c,u,c+f.length):new l.a(u,c,u+h-1,p.length+1)}else d=new l.a(u,c,u,c);n=d.endLineNumber,i=d.endColumn,t.push(d),r=a}return t},e._sortOpsAscending=function(e,t){var n=l.a.compareRangesUsingEnds(e.range,t.range);return 0===n?e.sortIndex-t.sortIndex:n},e._sortOpsDescending=function(e,t){var n=l.a.compareRangesUsingEnds(e.range,t.range);return 0===n?t.sortIndex-e.sortIndex:-n},e}(),he=function(){function e(e,t,n,i,r,o,s,a){this._chunks=e,this._bom=t,this._cr=n,this._lf=i,this._crlf=r,this._containsRTL=o,this._isBasicASCII=s,this._normalizeEOL=a}return e.prototype._getEOL=function(e){var t=this._cr+this._lf+this._crlf,n=this._cr+this._crlf;return 0===t?1===e?"\n":"\r\n":n>t/2?"\r\n":"\n"},e.prototype.create=function(e){var t=this._getEOL(e),n=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(var i=0,r=n.length;i=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 n=1,i=0,r=0,o=0,s=!0,a=0,u=t.length;a126)&&(s=!1)}var l=new oe(re(e),i,r,o,s);return e.length=0,l}(this._tmpLineStarts,e);this.chunks.push(new ue(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=s.h(e))},e.prototype.finish=function(e){return void 0===e&&(e=!0),this._finish(),new he(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=se(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}},e}(),pe=function(){return function(){this.changeType=1}}(),ge=function(){return function(e,t){this.changeType=2,this.lineNumber=e,this.detail=t}}(),me=function(){return function(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}(),ve=function(){return function(e,t,n){this.changeType=4,this.fromLineNumber=e,this.toLineNumber=t,this.detail=n}}(),_e=function(){return function(){this.changeType=5}}(),be=function(){function e(e,t,n,i){this.changes=e,this.versionId=t,this.isUndoing=n,this.isRedoing=i}return e.prototype.containsEvent=function(e){for(var t=0,n=this.changes.length;t>>0}var Ne=new Uint32Array(0).buffer,Ee=function(){function e(){this.tokens=[]}return e.prototype.add=function(e,t){if(this.tokens.length>0){var n=this.tokens[this.tokens.length-1];if(n.startLineNumber+n.tokens.length-1+1===e)return void n.tokens.push(t)}this.tokens.push(new Ie(e,[t]))},e}(),Ie=function(){return function(e,t){this.startLineNumber=e,this.tokens=t}}();function De(e){return e instanceof Uint32Array?e:new Uint32Array(e)}var Me,Te=function(){function e(){this._lineTokens=[],this._len=0}return e.prototype.flush=function(){this._lineTokens=[],this._len=0},e.prototype.getTokens=function(e,t,n){var i=null;if(t1&&(r=Se.x.getLanguageId(i[1])!==e),!r)return Ne}if(!i||0===i.length){var o=new Uint32Array(2);return o[0]=t,o[1]=ke(e),o.buffer}return i[i.length-2]=t,0===i.byteOffset&&i.byteLength===i.buffer.byteLength?i.buffer:i},e.prototype._ensureLine=function(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++},e.prototype._deleteLines=function(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)},e.prototype._insertLines=function(e,t){if(0!==t){for(var n=[],i=0;i=this._len))if(t.startLineNumber!==t.endLineNumber){this._lineTokens[n]=e._deleteEnding(this._lineTokens[n],t.startColumn-1);var i=t.endLineNumber-1,r=null;i=this._len||(0!==n?(this._lineTokens[r]=e._deleteEnding(this._lineTokens[r],t.column-1),this._lineTokens[r]=e._insert(this._lineTokens[r],t.column-1,i),this._insertLines(t.lineNumber,n)):this._lineTokens[r]=e._insert(this._lineTokens[r],t.column-1,i))}},e._deleteBeginning=function(t,n){return null===t||t===Ne?t:e._delete(t,0,n)},e._deleteEnding=function(t,n){if(null===t||t===Ne)return t;var i=De(t),r=i[i.length-2];return e._delete(t,n,r)},e._delete=function(e,t,n){if(null===e||e===Ne||t===n)return e;var i=De(e),r=i.length>>>1;if(0===t&&i[i.length-2]===n)return Ne;var o,s,a=Ce.a.findIndexInTokensArray(i,t),u=a>0?i[a-1<<1]:0;if(ns&&(i[o++]=f,i[o++]=i[1+(h<<1)],s=f)}if(o===i.length)return e;var p=new Uint32Array(o);return p.set(i.subarray(0,o),0),p.buffer},e._append=function(e,t){if(t===Ne)return e;if(e===Ne)return t;if(null===e)return e;if(null===t)return null;var n=De(e),i=De(t),r=i.length>>>1,o=new Uint32Array(n.length+i.length);o.set(n,0);for(var s=n.length,a=n[n.length-2],u=0;u>>1,o=Ce.a.findIndexInTokensArray(i,t);o>0&&(i[o-1<<1]===t&&o--);for(var s=o;s=this._len;)this._beginState[this._len]=null,this._valid[this._len]=!1,this._len++},e.prototype._deleteLines=function(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._beginState.splice(e,t),this._valid.splice(e,t),this._len-=t)},e.prototype._insertLines=function(e,t){if(0!==t){for(var n=[],i=[],r=0;r=0;r--)this._invalidateLine(e.startLineNumber+r-1);this._acceptDeleteRange(e),this._acceptInsertText(new c.a(e.startLineNumber,e.startColumn),t)},e.prototype._acceptDeleteRange=function(e){e.startLineNumber-1>=this._len||this._deleteLines(e.startLineNumber,e.endLineNumber-e.startLineNumber)},e.prototype._acceptInsertText=function(e,t){e.lineNumber-1>=this._len||this._insertLines(e.lineNumber,t)},e}(),Re=function(e){function t(t){var n=e.call(this)||this;return n._textModel=t,n._tokenizationStateStore=new Ae,n._revalidateTokensTimeout=-1,n._tokenizationSupport=null,n._register(Se.y.onDidChange(function(e){var t=n._textModel.getLanguageIdentifier();-1!==e.changedLanguages.indexOf(t.language)&&(n._resetTokenizationState(),n._textModel.clearTokens())})),n._register(n._textModel.onDidChangeRawContentFast(function(e){e.containsEvent(1)&&n._resetTokenizationState()})),n._register(n._textModel.onDidChangeContentFast(function(e){for(var t=0,i=e.changes.length;t20);){if(this._tokenizeOneInvalidLine(t)>=e)break}this._beginBackgroundTokenization(),this._textModel.setTokens(t.tokens)},t.prototype.tokenizeViewport=function(e,t){var n=new Ee;this._tokenizeViewport(n,e,t),this._textModel.setTokens(n.tokens)},t.prototype.reset=function(){this._resetTokenizationState(),this._textModel.clearTokens()},t.prototype.forceTokenization=function(e){var t=new Ee;this._updateTokensUntilLine(t,e),this._textModel.setTokens(t.tokens)},t.prototype.isCheapToTokenize=function(e){if(!this._tokenizationSupport)return!0;var t=this._tokenizationStateStore.invalidLineStartIndex+1;return!(e>t)&&(e0&&s>=1;s--){var a=this._textModel.getLineFirstNonWhitespaceColumn(s);if(0!==a&&a=0;s--){c=(h=Fe(u,this._tokenizationSupport,r[s],c)).endState}for(var l=t;l<=n;l++){var d=this._textModel.getLineContent(l),h=Fe(u,this._tokenizationSupport,d,c);e.add(l,h.tokens),this._tokenizationStateStore.setFakeTokens(l-1),c=h.endState}}},t}(o.a);function Fe(e,t,n,r){var o=null;if(t)try{o=t.tokenize2(n,r.clone(),0)}catch(e){Object(i.e)(e)}return o||(o=Object(xe.e)(e.id,n,r,0)),Ce.a.convertToEndOffset(o.tokens,n.length),o}var je=n("+jct"),We=n("Fllr"),Be=n("Eeyw"),Ve=n("iNUG"),He=n("KIxu"),ze=n("TNPA");n.d(t,"b",function(){return Ye}),n.d(t,"a",function(){return tt});var Ue=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();function Ke(e){var t=new fe;return t.acceptChunk(e),t.finish()}function qe(e,t){return("string"==typeof e?Ke(e):e).create(t)}var Ge=0,Ze=function(){throw new Error("Invalid change accessor")},Ye=function(e){function t(n,i,o,u){void 0===u&&(u=null);var c=e.call(this)||this;c._onWillDispose=c._register(new r.a),c.onWillDispose=c._onWillDispose.event,c._onDidChangeDecorations=c._register(new rt),c.onDidChangeDecorations=c._onDidChangeDecorations.event,c._onDidChangeLanguage=c._register(new r.a),c.onDidChangeLanguage=c._onDidChangeLanguage.event,c._onDidChangeLanguageConfiguration=c._register(new r.a),c.onDidChangeLanguageConfiguration=c._onDidChangeLanguageConfiguration.event,c._onDidChangeTokens=c._register(new r.a),c.onDidChangeTokens=c._onDidChangeTokens.event,c._onDidChangeOptions=c._register(new r.a),c.onDidChangeOptions=c._onDidChangeOptions.event,c._onDidChangeAttached=c._register(new r.a),c.onDidChangeAttached=c._onDidChangeAttached.event,c._eventEmitter=c._register(new ot),Ge++,c.id="$model"+Ge,c.isForSimpleWidget=i.isForSimpleWidget,c._associatedResource=void 0===u||null===u?a.a.parse("inmemory://model/"+Ge):u,c._attachedEditorCount=0,c._buffer=qe(n,i.defaultEOL),c._options=t.resolveOptions(c._buffer,i);var d=c._buffer.getLineCount(),h=c._buffer.getValueLengthInRange(new l.a(1,1,d,c._buffer.getLineLength(d)+1),0);return i.largeFileOptimizations?c._isTooLargeForTokenization=h>t.LARGE_FILE_SIZE_THRESHOLD||d>t.LARGE_FILE_LINE_COUNT_THRESHOLD:c._isTooLargeForTokenization=!1,c._isTooLargeForSyncing=h>t.MODEL_SYNC_LIMIT,c._versionId=1,c._alternativeVersionId=1,c._isDisposed=!1,c._isDisposing=!1,c._languageIdentifier=o||xe.a,c._languageRegistryListener=We.a.onDidChange(function(e){e.languageIdentifier.id===c._languageIdentifier.id&&c._onDidChangeLanguageConfiguration.fire({})}),c._instanceId=s.I(Ge),c._lastDecorationId=0,c._decorations=Object.create(null),c._decorationsTree=new Xe,c._commandManager=new m(c),c._isUndoing=!1,c._isRedoing=!1,c._trimAutoWhitespaceLines=null,c._tokens=new Te,c._tokenization=new Re(c),c}return Ue(t,e),t.createFromString=function(e,n,i,r){return void 0===n&&(n=t.DEFAULT_CREATION_OPTIONS),void 0===i&&(i=null),void 0===r&&(r=null),new t(e,n,i,r)},t.resolveOptions=function(e,t){if(t.detectIndentation){var n=b(e,t.tabSize,t.insertSpaces);return new h.e({tabSize:n.tabSize,indentSize:n.tabSize,insertSpaces:n.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL})}return new h.e({tabSize:t.tabSize,indentSize:t.indentSize,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.onDidChangeContentFast=function(e){return this._eventEmitter.fastEvent(function(t){return e(t.contentChangedEvent)})},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._languageRegistryListener.dispose(),this._tokenization.dispose(),this._isDisposed=!0,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 ye(e,t))},t.prototype.setValue=function(e){if(this._assertNotDisposed(),null!==e){var t=qe(e,this._options.defaultEOL);this.setValueFromTextBuffer(t)}},t.prototype._createContentChanged2=function(e,t,n,i,r,o,s){return{changes:[{range:e,rangeOffset:t,rangeLength:n,text:i}],eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:r,isRedoing:o,isFlush:s}},t.prototype.setValueFromTextBuffer=function(e){if(this._assertNotDisposed(),null!==e){var t=this.getFullModelRange(),n=this.getValueLengthInRange(t),i=this.getLineCount(),r=this.getLineMaxColumn(i);this._buffer=e,this._increaseVersionId(),this._tokens.flush(),this._decorations=Object.create(null),this._decorationsTree=new Xe,this._commandManager=new m(this),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new be([new pe],this._versionId,!1,!1),this._createContentChanged2(new l.a(1,1,i,r),0,n,this.getValue(),!1,!1,!0))}},t.prototype.setEOL=function(e){this._assertNotDisposed();var t=1===e?"\r\n":"\n";if(this._buffer.getEOL()!==t){var n=this.getFullModelRange(),i=this.getValueLengthInRange(n),r=this.getLineCount(),o=this.getLineMaxColumn(r);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new be([new _e],this._versionId,!1,!1),this._createContentChanged2(new l.a(1,1,r,o),0,i,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(),n=0,i=t.length;n0},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,n=this._buffer.getLineCount(),i=1;i<=n;i++){var r=this._buffer.getLineLength(i);r>=1e4?t+=r:e+=r}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.getFormattingOptions=function(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}},t.prototype.updateOptions=function(e){this._assertNotDisposed();var t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,n=void 0!==e.indentSize?e.indentSize:this._options.indentSize,i=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,r=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,o=new h.e({tabSize:t,indentSize:n,insertSpaces:i,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:r});if(!this._options.equals(o)){var s=this._options.createChangeEvent(o);this._options=o,this._onDidChangeOptions.fire(s)}},t.prototype.detectIndentation=function(e,t){this._assertNotDisposed();var n=b(this._buffer,t,e);this.updateOptions({insertSpaces:n.insertSpaces,tabSize:n.tabSize,indentSize:n.tabSize})},t._normalizeIndentationFromWhitespace=function(e,t,n){for(var i=0,r=0;rthis.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,n,i=this._buffer.getLineCount(),r=e.startLineNumber,o=e.startColumn;if(r<1)t=1,n=1;else if(r>i)t=i,n=this.getLineMaxColumn(t);else{if(t=0|r,o<=1)n=1;else n=o>=(h=this.getLineMaxColumn(t))?h:0|o}var s,a,u=e.endLineNumber,c=e.endColumn;if(u<1)s=1,a=1;else if(u>i)s=i,a=this.getLineMaxColumn(s);else{var h;if(s=0|u,c<=1)a=1;else a=c>=(h=this.getLineMaxColumn(s))?h:0|c}return r===t&&o===n&&u===s&&c===a&&e instanceof l.a&&!(e instanceof d.a)?e:new l.a(t,n,s,a)},t.prototype._isValidPosition=function(e,t,n){if("number"!=typeof e||"number"!=typeof t)return!1;if(isNaN(e)||isNaN(t))return!1;if(e<1||t<1)return!1;if((0|e)!==e||(0|t)!==t)return!1;if(e>this._buffer.getLineCount())return!1;if(t>this.getLineMaxColumn(e))return!1;if(n&&t>1){var i=this._buffer.getLineCharCode(e,t-2);if(s.w(i))return!1}return!0},t.prototype._validatePosition=function(e,t,n){var i=Math.floor("number"!=typeof e||isNaN(e)?1:e),r=Math.floor("number"!=typeof t||isNaN(t)?1:t),o=this._buffer.getLineCount();if(i<1)return new c.a(1,1);if(i>o)return new c.a(o,this.getLineMaxColumn(o));if(r<=1)return new c.a(i,1);var a=this.getLineMaxColumn(i);if(r>=a)return new c.a(i,a);if(n){var u=this._buffer.getLineCharCode(i,r-2);if(s.w(u))return new c.a(i,r-1)}return new c.a(i,r)},t.prototype.validatePosition=function(e){return this._assertNotDisposed(),e instanceof c.a&&this._isValidPosition(e.lineNumber,e.column,!0)?e:this._validatePosition(e.lineNumber,e.column,!0)},t.prototype._isValidRange=function(e,t){var n=e.startLineNumber,i=e.startColumn,r=e.endLineNumber,o=e.endColumn;if(!this._isValidPosition(n,i,!1))return!1;if(!this._isValidPosition(r,o,!1))return!1;if(t){var a=i>1?this._buffer.getLineCharCode(n,i-2):0,u=o>1&&o<=this._buffer.getLineLength(r)?this._buffer.getLineCharCode(r,o-2):0,c=s.w(a),l=s.w(u);return!c&&!l}return!0},t.prototype.validateRange=function(e){if(this._assertNotDisposed(),e instanceof l.a&&!(e instanceof d.a)&&this._isValidRange(e,!0))return e;var t=this._validatePosition(e.startLineNumber,e.startColumn,!1),n=this._validatePosition(e.endLineNumber,e.endColumn,!1),i=t.lineNumber,r=t.column,o=n.lineNumber,a=n.column,u=r>1?this._buffer.getLineCharCode(i,r-2):0,c=a>1&&a<=this._buffer.getLineLength(o)?this._buffer.getLineCharCode(o,a-2):0,h=s.w(u),f=s.w(c);return h||f?i===o&&r===a?new l.a(i,r-1,o,a-1):h&&f?new l.a(i,r-1,o,a+1):h?new l.a(i,r-1,o,a):new l.a(i,r,o,a+1):new l.a(i,r,o,a)},t.prototype.modifyPosition=function(e,t){this._assertNotDisposed();var n=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,n)))},t.prototype.getFullModelRange=function(){this._assertNotDisposed();var e=this.getLineCount();return new l.a(1,1,e,this.getLineMaxColumn(e))},t.prototype.findMatchesLineByLine=function(e,t,n,i){return this._buffer.findMatchesLineByLine(e,t,n,i)},t.prototype.findMatches=function(e,t,n,i,r,o,s){var a;if(void 0===s&&(s=999),this._assertNotDisposed(),a=l.a.isIRange(t)?this.validateRange(t):this.getFullModelRange(),!n&&e.indexOf("\n")<0){var u=new ie.a(e,n,i,r).parseSearchRequest();return u?this.findMatchesLineByLine(a,u,o,s):[]}return ie.c.findMatches(this,new ie.a(e,n,i,r),a,o,s)},t.prototype.findNextMatch=function(e,t,n,i,r,o){this._assertNotDisposed();var s=this.validatePosition(t);if(!n&&e.indexOf("\n")<0){var a=new ie.a(e,n,i,r).parseSearchRequest();if(!a)return null;var u=this.getLineCount(),c=new l.a(s.lineNumber,s.column,u,this.getLineMaxColumn(u)),d=this.findMatchesLineByLine(c,a,o,1);return ie.c.findNextMatch(this,new ie.a(e,n,i,r),s,o),d.length>0?d[0]:(c=new l.a(1,1,s.lineNumber,this.getLineMaxColumn(s.lineNumber)),(d=this.findMatchesLineByLine(c,a,o,1)).length>0?d[0]:null)}return ie.c.findNextMatch(this,new ie.a(e,n,i,r),s,o)},t.prototype.findPreviousMatch=function(e,t,n,i,r,o){this._assertNotDisposed();var s=this.validatePosition(t);return ie.c.findPreviousMatch(this,new ie.a(e,n,i,r),s,o)},t.prototype.pushStackElement=function(){this._commandManager.pushStackElement()},t.prototype.pushEOL=function(e){if(("\n"===this.getEOL()?0:1)!==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,n){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,t,n)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t.prototype._pushEditOperations=function(e,t,n){var i=this;if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){for(var r=t.map(function(e){return{range:i.validateRange(e.range),text:e.text}}),o=!0,s=0,a=e.length;su.endLineNumber,p=u.startLineNumber>_.endLineNumber;if(!f&&!p){c=!0;break}}if(!c){o=!1;break}}if(o)for(s=0,a=this._trimAutoWhitespaceLines.length;s_.endLineNumber)&&!(g===_.startLineNumber&&_.startColumn===m&&_.isEmpty()&&b&&b.length>0&&"\n"===b.charAt(0)||g===_.startLineNumber&&1===_.startColumn&&_.isEmpty()&&b&&b.length>0&&"\n"===b.charAt(b.length-1))){v=!1;break}}v&&t.push({range:new l.a(g,1,g,m),text:null})}this._trimAutoWhitespaceLines=null}return this._commandManager.pushEditOperation(e,t,n)},t.prototype.applyEdits=function(e){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._applyEdits(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t.prototype._applyEdits=function(e){for(var t=0,n=e.length;t=0;b--){var y=f+b,w=o-u-_+y;a.push(new ge(y,this.getLineContent(w)))}if(vthis.getLineCount()?[]:this.getLinesDecorations(e,e,t,n)},t.prototype.getLinesDecorations=function(e,t,n,i){void 0===n&&(n=0),void 0===i&&(i=!1);var r=this.getLineCount(),o=Math.min(r,Math.max(1,e)),s=Math.min(r,Math.max(1,t)),a=this.getLineMaxColumn(s);return this._getDecorationsInRange(new l.a(o,1,s,a),n,i)},t.prototype.getDecorationsInRange=function(e,t,n){void 0===t&&(t=0),void 0===n&&(n=!1);var i=this.validateRange(e);return this._getDecorationsInRange(i,t,n)},t.prototype.getOverviewRulerDecorations=function(e,t){void 0===e&&(e=0),void 0===t&&(t=!1);var n=this.getVersionId(),i=this._decorationsTree.search(e,t,!0,n);return this._ensureNodesHaveRanges(i)},t.prototype.getAllDecorations=function(e,t){void 0===e&&(e=0),void 0===t&&(t=!1);var n=this.getVersionId(),i=this._decorationsTree.search(e,t,!1,n);return this._ensureNodesHaveRanges(i)},t.prototype._getDecorationsInRange=function(e,t,n){var i=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),r=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn),o=this.getVersionId(),s=this._decorationsTree.intervalSearch(i,r,t,n,o);return this._ensureNodesHaveRanges(s)},t.prototype._ensureNodesHaveRanges=function(e){for(var t=0,n=e.length;tthis.getLineCount())throw new Error("Illegal value for lineNumber");this._tokens.setTokens(this._languageIdentifier.id,e-1,this._buffer.getLineLength(e),t)},t.prototype.setTokens=function(e){if(0!==e.length){for(var t=[],n=0,i=e.length;nthis.getLineCount())throw new Error("Illegal value for lineNumber");this._tokenization.forceTokenization(e)},t.prototype.isCheapToTokenize=function(e){return this._tokenization.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.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._onDidChangeLanguage.fire(t),this._onDidChangeLanguageConfiguration.fire({})}},t.prototype.getLanguageIdAtPosition=function(e,t){var n=this.validatePosition(new c.a(e,t)),i=this.getLineTokens(n.lineNumber);return i.getLanguageId(i.findTokenIndexAtOffset(n.column-1))},t.prototype.getWordAtPosition=function(e){this._assertNotDisposed();var n=this.validatePosition(e),i=this.getLineContent(n.lineNumber),r=this._getLineTokens(n.lineNumber),o=r.findTokenIndexAtOffset(n.column-1),s=t._findLanguageBoundaries(r,o),a=s[0],u=s[1],c=Object(je.d)(n.column,We.a.getWordDefinition(r.getLanguageId(o)),i.substring(a,u),a);if(c&&c.startColumn<=e.column&&e.column<=c.endColumn)return c;if(o>0&&a===n.column-1){var l=t._findLanguageBoundaries(r,o-1),d=l[0],h=l[1],f=Object(je.d)(n.column,We.a.getWordDefinition(r.getLanguageId(o-1)),i.substring(d,h),d);if(f&&f.startColumn<=e.column&&e.column<=f.endColumn)return f}return null},t._findLanguageBoundaries=function(e,t){for(var n=e.getLanguageId(t),i=0,r=t;r>=0&&e.getLanguageId(r)===n;r--)i=e.getStartOffset(r);for(var o=e.getLineContent().length,s=(r=t,e.getCount());r0&&n.getStartOffset(r)===e.column-1){a=n.getStartOffset(r);r--;var c=We.a.getBracketsSupport(n.getLanguageId(r));if(c&&!Object(Be.b)(n.getStandardTokenType(r))){var l,d,h;s=Math.max(n.getStartOffset(r),e.column-1-c.maxBracketLength);if((l=Ve.a.findPrevBracketInToken(c.reversedRegex,t,i,s,a))&&l.startColumn<=e.column&&e.column<=l.endColumn)if(d=(d=i.substring(l.startColumn-1,l.endColumn-1)).toLowerCase(),h=this._matchFoundBracket(l,c.textIsBracket[d],c.textIsOpenBracket[d]))return h}}return null},t.prototype._matchFoundBracket=function(e,t,n){if(!t)return null;var i;if(n){if(i=this._findMatchingBracketDown(t,e.getEndPosition()))return[e,i]}else if(i=this._findMatchingBracketUp(t,e.getStartPosition()))return[e,i];return null},t.prototype._findMatchingBracketUp=function(e,t){for(var n=e.languageIdentifier.id,i=e.reversedRegex,r=-1,o=t.lineNumber;o>=1;o--){var s=this._getLineTokens(o),a=s.getCount(),u=this._buffer.getLineContent(o),c=a-1,l=-1;for(o===t.lineNumber&&(c=s.findTokenIndexAtOffset(t.column-1),l=t.column-1);c>=0;c--){var d=s.getLanguageId(c),h=s.getStandardTokenType(c),f=s.getStartOffset(c),p=s.getEndOffset(c);if(-1===l&&(l=p),d===n&&!Object(Be.b)(h))for(;;){var g=Ve.a.findPrevBracketInToken(i,o,u,f,l);if(!g)break;var m=u.substring(g.startColumn-1,g.endColumn-1);if((m=m.toLowerCase())===e.open?r++:m===e.close&&r--,0===r)return g;l=g.startColumn-1}l=-1}}return null},t.prototype._findMatchingBracketDown=function(e,t){for(var n=e.languageIdentifier.id,i=e.forwardRegex,r=1,o=t.lineNumber,s=this.getLineCount();o<=s;o++){var a=this._getLineTokens(o),u=a.getCount(),c=this._buffer.getLineContent(o),l=0,d=0;for(o===t.lineNumber&&(l=a.findTokenIndexAtOffset(t.column-1),d=t.column-1);l=1;r--){var o=this._getLineTokens(r),s=o.getCount(),a=this._buffer.getLineContent(r),u=s-1,c=-1;for(r===t.lineNumber&&(u=o.findTokenIndexAtOffset(t.column-1),c=t.column-1);u>=0;u--){var l=o.getLanguageId(u),d=o.getStandardTokenType(u),h=o.getStartOffset(u),f=o.getEndOffset(u);if(-1===c&&(c=f),n!==l&&(n=l,i=We.a.getBracketsSupport(n)),i&&!Object(Be.b)(d)){var p=Ve.a.findPrevBracketInToken(i.reversedRegex,r,a,h,c);if(p)return this._toFoundBracket(i,p)}c=-1}}return null},t.prototype.findNextBracket=function(e){for(var t=this.validatePosition(e),n=-1,i=null,r=t.lineNumber,o=this.getLineCount();r<=o;r++){var s=this._getLineTokens(r),a=s.getCount(),u=this._buffer.getLineContent(r),c=0,l=0;for(r===t.lineNumber&&(c=s.findTokenIndexAtOffset(t.column-1),l=t.column-1);cr)throw new Error("Illegal value for lineNumber");for(var o=We.a.getFoldingRules(this._languageIdentifier.id),s=Boolean(o&&o.offSide),a=-2,u=-1,c=-2,l=-1,d=function(e){if(-1!==a&&(-2===a||a>e-1)){a=-1,u=-1;for(var t=e-2;t>=0;t--){var n=i._computeIndentLevel(t);if(n>=0){a=t,u=n;break}}}if(-2===c){c=-1,l=-1;for(t=e;t=0){c=t,l=o;break}}}},h=-2,f=-1,p=-2,g=-1,m=function(e){if(-2===h){h=-1,f=-1;for(var t=e-2;t>=0;t--){var n=i._computeIndentLevel(t);if(n>=0){h=t,f=n;break}}}if(-1!==p&&(-2===p||p=0){p=t,g=o;break}}}},v=0,_=!0,b=0,y=!0,w=0,C=0;_||y;C++){var S=e-C,x=e+C;if(0!==C&&(S<1||Sr||x>n)&&(y=!1),C>5e4&&(_=!1,y=!1),_){var L=void 0;if((O=this._computeIndentLevel(S-1))>=0?(c=S-1,l=O,L=Math.ceil(O/this._options.indentSize)):(d(S),L=this._getIndentLevelForWhitespaceLine(s,u,l)),0===C){if(v=S,b=x,0===(w=L))return{startLineNumber:v,endLineNumber:b,indent:w};continue}L>=w?v=S:_=!1}if(y){var O,k=void 0;(O=this._computeIndentLevel(x-1))>=0?(h=x-1,f=O,k=Math.ceil(O/this._options.indentSize)):(m(x),k=this._getIndentLevelForWhitespaceLine(s,f,g)),k>=w?b=x:y=!1}}return{startLineNumber:v,endLineNumber:b,indent:w}},t.prototype.getLinesIndentGuides=function(e,t){this._assertNotDisposed();var n=this.getLineCount();if(e<1||e>n)throw new Error("Illegal value for startLineNumber");if(t<1||t>n)throw new Error("Illegal value for endLineNumber");for(var i=We.a.getFoldingRules(this._languageIdentifier.id),r=Boolean(i&&i.offSide),o=new Array(t-e+1),s=-2,a=-1,u=-2,c=-1,l=e;l<=t;l++){var d=l-e,h=this._computeIndentLevel(l-1);if(h>=0)s=l-1,a=h,o[d]=Math.ceil(h/this._options.indentSize);else{if(-2===s){s=-1,a=-1;for(var f=l-2;f>=0;f--){if((p=this._computeIndentLevel(f))>=0){s=f,a=p;break}}}if(-1!==u&&(-2===u||u=0){u=f,c=p;break}}}o[d]=this._getIndentLevelForWhitespaceLine(r,a,c)}}return o},t.prototype._getIndentLevelForWhitespaceLine=function(e,t,n){return-1===t||-1===n?0:t0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))},t}(o.a)},"0u1n":function(e,t){},1:function(e,t){},"16On":function(e,t,n){var i=n("LC74");function r(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}function o(e,t){this.path=e,this.rethrow(t)}t.Reporter=r,r.prototype.isError=function(e){return e instanceof o},r.prototype.save=function(){var e=this._reporterState;return{obj:e.obj,pathLen:e.path.length}},r.prototype.restore=function(e){var t=this._reporterState;t.obj=e.obj,t.path=t.path.slice(0,e.pathLen)},r.prototype.enterKey=function(e){return this._reporterState.path.push(e)},r.prototype.exitKey=function(e){var t=this._reporterState;t.path=t.path.slice(0,e-1)},r.prototype.leaveKey=function(e,t,n){var i=this._reporterState;this.exitKey(e),null!==i.obj&&(i.obj[t]=n)},r.prototype.path=function(){return this._reporterState.path.join("/")},r.prototype.enterObject=function(){var e=this._reporterState,t=e.obj;return e.obj={},t},r.prototype.leaveObject=function(e){var t=this._reporterState,n=t.obj;return t.obj=e,n},r.prototype.error=function(e){var t,n=this._reporterState,i=e instanceof o;if(t=i?e:new o(n.path.map(function(e){return"["+JSON.stringify(e)+"]"}).join(""),e.message||e,e.stack),!n.options.partial)throw t;return i||n.errors.push(t),t},r.prototype.wrapResult=function(e){var t=this._reporterState;return t.options.partial?{result:this.isError(e)?null:e,errors:t.errors}:e},i(o,Error),o.prototype.rethrow=function(e){if(this.message=e+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,o),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},"19bf":function(e,t,n){"use strict";var i=n("KDHK");t.certificate=n("lQBd");var r=i.define("RSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())});t.RSAPrivateKey=r;var o=i.define("RSAPublicKey",function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())});t.RSAPublicKey=o;var s=i.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(a),this.key("subjectPublicKey").bitstr())});t.PublicKey=s;var a=i.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())}),u=i.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(a),this.key("subjectPrivateKey").octstr())});t.PrivateKey=u;var c=i.define("EncryptedPrivateKeyInfo",function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())});t.EncryptedPrivateKey=c;var l=i.define("DSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())});t.DSAPrivateKey=l,t.DSAparam=i.define("DSAparam",function(){this.int()});var d=i.define("ECPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(h),this.key("publicKey").optional().explicit(1).bitstr())});t.ECPrivateKey=d;var h=i.define("ECParameters",function(){this.choice({namedCurve:this.objid()})});t.signature=i.define("signature",function(){this.seq().obj(this.key("r").int(),this.key("s").int())})},"1LBi":function(e,t){},"1O6n":function(e,t){},"1Z8u":function(e,t){},"1lLf":function(e,t,n){"use strict";var i=n("08Lv"),r=n("LC74");function o(e,t){return 55296==(64512&e.charCodeAt(t))&&(!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1)))}function s(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function a(e){return 1===e.length?"0"+e:e}function u(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}t.inherits=r,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),r=0;r>6|192,n[i++]=63&s|128):o(e,r)?(s=65536+((1023&s)<<10)+(1023&e.charCodeAt(++r)),n[i++]=s>>18|240,n[i++]=s>>12&63|128,n[i++]=s>>6&63|128,n[i++]=63&s|128):(n[i++]=s>>12|224,n[i++]=s>>6&63|128,n[i++]=63&s|128)}else for(r=0;r>>0}return s},t.split32=function(e,t){for(var n=new Array(4*e.length),i=0,r=0;i>>24,n[r+1]=o>>>16&255,n[r+2]=o>>>8&255,n[r+3]=255&o):(n[r+3]=o>>>24,n[r+2]=o>>>16&255,n[r+1]=o>>>8&255,n[r]=255&o)}return n},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,n){return e+t+n>>>0},t.sum32_4=function(e,t,n,i){return e+t+n+i>>>0},t.sum32_5=function(e,t,n,i,r){return e+t+n+i+r>>>0},t.sum64=function(e,t,n,i){var r=e[t],o=i+e[t+1]>>>0,s=(o>>0,e[t+1]=o},t.sum64_hi=function(e,t,n,i){return(t+i>>>0>>0},t.sum64_lo=function(e,t,n,i){return t+i>>>0},t.sum64_4_hi=function(e,t,n,i,r,o,s,a){var u=0,c=t;return u+=(c=c+i>>>0)>>0)>>0)>>0},t.sum64_4_lo=function(e,t,n,i,r,o,s,a){return t+i+o+a>>>0},t.sum64_5_hi=function(e,t,n,i,r,o,s,a,u,c){var l=0,d=t;return l+=(d=d+i>>>0)>>0)>>0)>>0)>>0},t.sum64_5_lo=function(e,t,n,i,r,o,s,a,u,c){return t+i+o+a+c>>>0},t.rotr64_hi=function(e,t,n){return(t<<32-n|e>>>n)>>>0},t.rotr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0},t.shr64_hi=function(e,t,n){return e>>>n},t.shr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0}},"1mBN":function(e,t){},"1sup":function(e,t,n){"use strict";t.b=function(e,t,n){"string"==typeof e&&(e=i.a.file(e));if(n){var h=n.getWorkspaceFolder(e);if(h){var f=n.getWorkspace().folders.length>1,p=void 0;if(p=Object(u.e)(h.uri,e)?"":Object(u.h)(h.uri,e),f){var g=h&&h.name?h.name:Object(u.b)(h.uri);p=p?g+" • "+p:g}return p}}if(e.scheme!==s.b.file&&e.scheme!==s.b.untitled)return e.with({query:null,fragment:null}).toString(!0);if(c(e.fsPath))return Object(r.normalize)(l(e.fsPath));var m=Object(r.normalize)(e.fsPath);!a.g&&t&&(m=function(e,t){if(a.g||!e||!t)return e;var n=d.original===t?d.normalized:void 0;n||(n=""+Object(o.G)(t,r.posix.sep)+r.posix.sep,d={original:t,normalized:n});(a.c?Object(o.J)(e,n):Object(o.K)(e,n))&&(e="~/"+e.substr(n.length));return e}(m,t.userHome));return m},t.a=function(e){if(!e)return;"string"==typeof e&&(e=i.a.file(e));var t=Object(u.b)(e)||(e.scheme===s.b.file?e.fsPath:e.path);if(c(t))return l(t);return t};var i=n("mrx5"),r=n("/uRs"),o=n("aL7J"),s=n("lapT"),a=n("ZfGv"),u=n("ZYUE");function c(e){return!(!a.g||!e||":"!==e[1])}function l(e){return c(e)?e.charAt(0).toUpperCase()+e.slice(1):e}var d=Object.create(null)},"1xIj":function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return o});var i=n("JVO/"),r=Object(i.c)("logService"),o=function(){function e(){}return e.prototype.trace=function(e){for(var t=[],n=1;n":""},l.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},l.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr();n=n.redIAdd(n);var i=this.curve._mulA(e),r=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),o=i.redAdd(t),s=o.redSub(n),a=i.redSub(t),u=r.redMul(s),c=o.redMul(a),l=r.redMul(a),d=s.redMul(o);return this.curve.point(u,c,d,l)},l.prototype._projDbl=function(){var e,t,n,i=this.x.redAdd(this.y).redSqr(),r=this.x.redSqr(),o=this.y.redSqr();if(this.curve.twisted){var s=(c=this.curve._mulA(r)).redAdd(o);if(this.zOne)e=i.redSub(r).redSub(o).redMul(s.redSub(this.curve.two)),t=s.redMul(c.redSub(o)),n=s.redSqr().redSub(s).redSub(s);else{var a=this.z.redSqr(),u=s.redSub(a).redISub(a);e=i.redSub(r).redISub(o).redMul(u),t=s.redMul(c.redSub(o)),n=s.redMul(u)}}else{var c=r.redAdd(o);a=this.curve._mulC(this.z).redSqr(),u=c.redSub(a).redSub(a);e=this.curve._mulC(i.redISub(c)).redMul(u),t=this.curve._mulC(c).redMul(r.redISub(o)),n=c.redMul(u)}return this.curve.point(e,t,n)},l.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},l.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),n=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),i=this.t.redMul(this.curve.dd).redMul(e.t),r=this.z.redMul(e.z.redAdd(e.z)),o=n.redSub(t),s=r.redSub(i),a=r.redAdd(i),u=n.redAdd(t),c=o.redMul(s),l=a.redMul(u),d=o.redMul(u),h=s.redMul(a);return this.curve.point(c,l,h,d)},l.prototype._projAdd=function(e){var t,n,i=this.z.redMul(e.z),r=i.redSqr(),o=this.x.redMul(e.x),s=this.y.redMul(e.y),a=this.curve.d.redMul(o).redMul(s),u=r.redSub(a),c=r.redAdd(a),l=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(o).redISub(s),d=i.redMul(u).redMul(l);return this.curve.twisted?(t=i.redMul(c).redMul(s.redSub(this.curve._mulA(o))),n=u.redMul(c)):(t=i.redMul(c).redMul(s.redSub(o)),n=this.curve._mulC(u).redMul(c)),this.curve.point(d,t,n)},l.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},l.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},l.prototype.mulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!1)},l.prototype.jmulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!0)},l.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},l.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},l.prototype.getX=function(){return this.normalize(),this.x.fromRed()},l.prototype.getY=function(){return this.normalize(),this.y.fromRed()},l.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},l.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var n=e.clone(),i=this.curve.redN.redMul(this.z);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(i),0===this.x.cmp(t))return!0}},l.prototype.toP=l.prototype.normalize,l.prototype.mixedAdd=l.prototype.add},"2Ayt":function(e,t,n){"use strict";n.d(t,"a",function(){return u});var i=n("aL7J"),r=n("Ao9X"),o=n("6boo"),s=n("ZSmM"),a=n("vTy2"),u=function(){function e(){}return e.deleteRight=function(e,t,n,i){for(var o=[],u=3!==e,c=0,l=i.length;c1){var m=n.getLineContent(g.lineNumber),v=i.q(m),_=-1===v?m.length+1:v+1;if(g.column<=_){var b=o.a.visibleColumnFromColumn2(t,n,g),y=o.a.prevIndentTabStop(b,t.indentSize),w=o.a.columnFromVisibleColumn2(t,n,g.lineNumber,y);p=new a.a(g.lineNumber,w,g.lineNumber,g.column)}else p=new a.a(g.lineNumber,g.column-1,g.lineNumber,g.column)}else{var C=s.a.left(t,n,g.lineNumber,g.column);p=new a.a(C.lineNumber,C.column,g.lineNumber,g.column)}}p.isEmpty()?c[d]=null:(p.startLineNumber!==p.endLineNumber&&(l=!0),c[d]=new r.a(p,""))}return[l,c]},e.cut=function(e,t,n){for(var i=[],s=0,u=n.length;s1?(d=l.lineNumber-1,h=t.getLineMaxColumn(l.lineNumber-1),f=l.lineNumber,p=t.getLineMaxColumn(l.lineNumber)):(d=l.lineNumber,h=1,f=l.lineNumber,p=t.getLineMaxColumn(l.lineNumber));var g=new a.a(d,h,f,p);g.isEmpty()?i[s]=null:i[s]=new r.a(g,"")}else i[s]=null;else i[s]=new r.a(c,"")}return new o.e(0,i,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e}()},"2JY6":function(e,t,n){(function(t){var n=Math.pow(2,30)-1;function i(e,n){if("string"!=typeof e&&!t.isBuffer(e))throw new TypeError(n+" must be a buffer or string")}e.exports=function(e,t,r,o){if(i(e,"Password"),i(t,"Salt"),"number"!=typeof r)throw new TypeError("Iterations not a number");if(r<0)throw new TypeError("Bad iterations");if("number"!=typeof o)throw new TypeError("Key length not a number");if(o<0||o>n||o!=o)throw new TypeError("Bad key length")}}).call(t,n("EuP9").Buffer)},"2LSJ":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"InsertCursorAbove",function(){return y}),n.d(t,"InsertCursorBelow",function(){return w}),n.d(t,"MultiCursorSessionResult",function(){return L}),n.d(t,"MultiCursorSession",function(){return O}),n.d(t,"MultiCursorSelectionController",function(){return k}),n.d(t,"MultiCursorSelectionControllerAction",function(){return N}),n.d(t,"AddSelectionToNextFindMatchAction",function(){return E}),n.d(t,"AddSelectionToPreviousFindMatchAction",function(){return I}),n.d(t,"MoveSelectionToNextFindMatchAction",function(){return D}),n.d(t,"MoveSelectionToPreviousFindMatchAction",function(){return M}),n.d(t,"SelectHighlightsAction",function(){return T}),n.d(t,"CompatChangeAll",function(){return P}),n.d(t,"SelectionHighlighter",function(){return R});var i,r=n("hK2W"),o=n("odeJ"),s=n("uNfg"),a=n("tqet"),u=n("03Zz"),c=n("HAT9"),l=n("vTy2"),d=n("iHM7"),h=n("/9db"),f=n("D2uo"),p=n("0ly5"),g=n("PCC9"),m=n("T1Qz"),v=n("L5KM"),_=n("eoic"),b=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),y=function(e){function t(){return e.call(this,{id:"editor.action.insertCursorAbove",label:r.a("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:h.a.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menubarOpts:{menuId:22,group:"3_multi",title:r.a({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})||this}return b(t,e),t.prototype.run=function(e,t,n){if(t.hasModel()){var i=n&&!0===n.logicalLine,r=t._getCursors(),o=r.context;o.config.readOnly||(o.model.pushStackElement(),r.setStates(n.source,3,c.b.addCursorUp(o,r.getAll(),i)),r.reveal(!0,1,0))}},t}(u.b),w=function(e){function t(){return e.call(this,{id:"editor.action.insertCursorBelow",label:r.a("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:h.a.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menubarOpts:{menuId:22,group:"3_multi",title:r.a({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})||this}return b(t,e),t.prototype.run=function(e,t,n){if(t.hasModel()){var i=n&&!0===n.logicalLine,r=t._getCursors(),o=r.context;o.config.readOnly||(o.model.pushStackElement(),r.setStates(n.source,3,c.b.addCursorDown(o,r.getAll(),i)),r.reveal(!0,2,0))}},t}(u.b),C=function(e){function t(){return e.call(this,{id:"editor.action.insertCursorAtEndOfEachLineSelected",label:r.a("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:h.a.editorTextFocus,primary:1575,weight:100},menubarOpts:{menuId:22,group:"3_multi",title:r.a({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})||this}return b(t,e),t.prototype.getCursorsForSelection=function(e,t,n){if(!e.isEmpty()){for(var i=e.startLineNumber;i1&&n.push(new d.a(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}},t.prototype.run=function(e,t){var n=this;if(t.hasModel()){var i=t.getModel(),r=[];t.getSelections().forEach(function(e){return n.getCursorsForSelection(e,i,r)}),r.length>0&&t.setSelections(r)}},t}(u.b),S=function(e){function t(){return e.call(this,{id:"editor.action.addCursorsToBottom",label:r.a("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})||this}return b(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getSelections(),i=t.getModel().getLineCount(),r=[],o=n[0].startLineNumber;o<=i;o++)r.push(new d.a(o,n[0].startColumn,o,n[0].endColumn));r.length>0&&t.setSelections(r)}},t}(u.b),x=function(e){function t(){return e.call(this,{id:"editor.action.addCursorsToTop",label:r.a("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})||this}return b(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getSelections(),i=[],r=n[0].startLineNumber;r>=1;r--)i.push(new d.a(r,n[0].startColumn,r,n[0].endColumn));i.length>0&&t.setSelections(i)}},t}(u.b),L=function(){return function(e,t,n){this.selections=e,this.revealRange=t,this.revealScrollType=n}}(),O=function(){function e(e,t,n,i,r,o,s){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=n,this.searchText=i,this.wholeWord=r,this.matchCase=o,this.currentMatch=s}return e.create=function(t,n){if(!t.hasModel())return null;var i=n.getState();if(!t.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new e(t,n,!1,i.searchString,i.wholeWord,i.matchCase,null);var r,o,s=!1,a=t.getSelections();1===a.length&&a[0].isEmpty()?(s=!0,r=!0,o=!0):(r=i.wholeWord,o=i.matchCase);var u,c=t.getSelection(),l=null;if(c.isEmpty()){var h=t.getModel().getWordAtPosition(c.getStartPosition());if(!h)return null;u=h.word,l=new d.a(c.startLineNumber,h.startColumn,c.startLineNumber,h.endColumn)}else u=t.getModel().getValueInRange(c).replace(/\r\n/g,"\n");return new e(t,n,s,u,r,o,l)},e.prototype.addSelectionToNextFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new L(t.concat(e),e,0)},e.prototype.moveSelectionToNextFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new L(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getNextMatch=function(){if(!this._editor.hasModel())return null;if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),n=t[t.length-1],i=this._editor.getModel().findNextMatch(this.searchText,n.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return i?new d.a(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null},e.prototype.addSelectionToPreviousFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new L(t.concat(e),e,0)},e.prototype.moveSelectionToPreviousFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new L(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getPreviousMatch=function(){if(!this._editor.hasModel())return null;if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),n=t[t.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,n.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return i?new d.a(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null},e.prototype.selectAll=function(){return this._editor.hasModel()?(this.findController.highlightFindOptions(),this._editor.getModel().findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1,1073741824)):[]},e}(),k=function(e){function t(t){var n=e.call(this)||this;return n._sessionDispose=n._register(new a.b),n._editor=t,n._ignoreSelectionChange=!1,n._session=null,n}return b(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 n=O.create(this._editor,e);if(!n)return;this._session=n;var i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(function(e){t._ignoreSelectionChange||t._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(function(){t._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(function(e){(e.matchCase||e.wholeWord)&&t._endSession()}))}},t.prototype._endSession=function(){if(this._sessionDispose.clear(),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 n=e.getWordAtPosition(t.getStartPosition());return n?new d.a(t.startLineNumber,n.startColumn,t.startLineNumber,n.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._editor.hasModel()){if(!this._session){var t=this._editor.getSelections();if(t.length>1){var n=e.getState().matchCase;if(!F(this._editor.getModel(),t,n)){for(var i=this._editor.getModel(),r=[],o=0,s=t.length;o0&&n.isRegex)t=this._editor.getModel().findMatches(n.searchString,!0,n.isRegex,n.matchCase,n.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 i=this._editor.getSelection(),r=0,o=t.length;r1){var a=r.getState().matchCase;if(!F(t.getModel(),s,a))return null}o=O.create(t,r)}if(!o)return null;if(o.currentMatch)return null;if(/^[ \t]+$/.test(o.searchText))return null;if(o.searchText.length>200)return null;var u=r.getState(),c=u.matchCase;if(u.isRevealed){var l=u.searchString;c||(l=l.toLowerCase());var d=o.searchText;if(c||(d=d.toLowerCase()),l===d&&o.matchCase===u.matchCase&&o.wholeWord===u.wholeWord&&!u.isRegex)return null}return new A(o.searchText,o.matchCase,o.wholeWord?t.getConfiguration().wordSeparators:null)},t.prototype._setState=function(e){if(A.softEquals(this.state,e))this.state=e;else if(this.state=e,this.state){if(this.editor.hasModel()){var n=this.editor.getModel();if(!n.isTooLargeForTokenization()){var i=g.i.has(n),r=n.findMatches(this.state.searchText,!0,!1,this.state.matchCase,this.state.wordSeparators,!1).map(function(e){return e.range});r.sort(l.a.compareRangesUsingStarts);var o=this.editor.getSelections();o.sort(l.a.compareRangesUsingStarts);for(var s=[],a=0,u=0,c=r.length,d=o.length;a=d)s.push(h),a++;else{var f=l.a.compareRangesUsingStarts(h,o[u]);f<0?(!o[u].isEmpty()&&l.a.areIntersecting(h,o[u])||s.push(h),a++):f>0?u++:(a++,u++)}}var p=s.map(function(e){return{range:e,options:i?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=p.a.register({stickiness:1,className:"selectionHighlight",overviewRuler:{color:Object(_.g)(v._32),position:f.d.Center}}),t._SELECTION_HIGHLIGHT=p.a.register({stickiness:1,className:"selectionHighlight"}),t}(a.a);function F(e,t,n){for(var i=j(e,t[0],!n),r=1,o=t.length;r=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},w=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},C=Object(v._36)("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hc:null},r.a("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0),S=Object(v._36)("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hc:null},r.a("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0),x=Object(v._36)("editor.wordHighlightBorder",{light:null,dark:null,hc:v.b},r.a("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable.")),L=Object(v._36)("editor.wordHighlightStrongBorder",{light:null,dark:null,hc:v.b},r.a("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable.")),O=Object(v._36)("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hc:"#A0A0A0CC"},r.a("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),k=Object(v._36)("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hc:"#C0A0C0CC"},r.a("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),N=new m.d("hasWordHighlights",!1);function E(e,t,n){var i=g.i.ordered(e);return Object(s.h)(i.map(function(i){return function(){return Promise.resolve(i.provideDocumentHighlights(e,t,n)).then(void 0,u.f)}}),o.n)}var I=function(){function e(e,t,n){var i=this;this._wordRange=this._getCurrentWordRange(e,t),this.result=Object(s.f)(function(r){return i._compute(e,t,n,r)})}return e.prototype._getCurrentWordRange=function(e,t){var n=e.getWordAtPosition(t.getPosition());return n?new d.a(t.startLineNumber,n.startColumn,t.startLineNumber,n.endColumn):null},e.prototype.isValid=function(e,t,n){for(var i=t.startLineNumber,r=t.startColumn,o=t.endColumn,s=this._getCurrentWordRange(e,t),a=Boolean(this._wordRange&&this._wordRange.equalsRange(s)),u=0,c=n.length;!a&&u=o&&(a=!0)}return a},e.prototype.cancel=function(){this.result.cancel()},e}(),D=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return b(t,e),t.prototype._compute=function(e,t,n,i){return E(e,t.getPosition(),i).then(function(e){return e||[]})},t}(I),M=function(e){function t(t,n,i){var r=e.call(this,t,n,i)||this;return r._selectionIsEmpty=n.isEmpty(),r}return b(t,e),t.prototype._compute=function(e,t,n,i){return Object(s.l)(250,i).then(function(){if(!t.isEmpty())return[];var i=e.getWordAtPosition(t.getPosition());return i?e.findMatches(i.word,!0,!1,!0,n,!1).map(function(e){return{range:e.range,kind:g.h.Text}}):[]})},t.prototype.isValid=function(t,n,i){var r=n.isEmpty();return this._selectionIsEmpty===r&&e.prototype.isValid.call(this,t,n,i)},t}(I);Object(l.e)("_executeDocumentHighlights",function(e,t){return E(e,t,a.a.None)});var T=function(){function e(e,t){var n=this;this.toUnhook=new c.b,this.workerRequestTokenId=0,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.add(e.onDidChangeCursorPosition(function(e){n._ignorePositionChangeEvent||n.occurrencesHighlight&&n._onPositionChanged(e)})),this.toUnhook.add(e.onDidChangeModelContent(function(e){n._stopAll()})),this.toUnhook.add(e.onDidChangeConfiguration(function(e){var t=n.editor.getConfiguration().contribInfo.occurrencesHighlight;n.occurrencesHighlight!==t&&(n.occurrencesHighlight=t,n._stopAll())})),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 o.d(this._decorationIds.map(function(t){return e.model.getDecorationRange(t)}).sort(d.a.compareRangesUsingStarts))},e.prototype.moveNext=function(){var e=this,t=this._getSortedHighlights(),n=t[(o.j(t,function(t){return t.containsPosition(e.editor.getPosition())})+1)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n)}finally{this._ignorePositionChangeEvent=!1}},e.prototype.moveBack=function(){var e=this,t=this._getSortedHighlights(),n=t[(o.j(t,function(t){return t.containsPosition(e.editor.getPosition())})-1+t.length)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n)}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._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&&3===e.reason?this._run():this._stopAll()},e.prototype._run=function(){var e=this,t=this.editor.getSelection();if(t.startLineNumber===t.endLineNumber){var n=t.startLineNumber,i=t.startColumn,r=t.endColumn,o=this.model.getWordAtPosition({lineNumber:n,column:i});if(!o||o.startColumn>i||o.endColumn=n?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(function(){e.renderDecorations()},n-t)},e.prototype.renderDecorations=function(){this.renderDecorationsTimer=-1;for(var t=[],n=0,i=this.workerRequestValue.length;n=6?"utf-8":"binary";e.exports=n}).call(t,n("W2nU"))},"3Clc":function(e,t){},"3PYz":function(e,t,n){var i=t;i.utils=n("1lLf"),i.common=n("YSDb"),i.sha=n("NCTB"),i.ripemd=n("CKAI"),i.hmac=n("3kRU"),i.sha1=i.sha.sha1,i.sha256=i.sha.sha256,i.sha224=i.sha.sha224,i.sha384=i.sha.sha384,i.sha512=i.sha.sha512,i.ripemd160=i.ripemd.ripemd160},"3UJ8":function(e,t,n){"use strict";n.d(t,"a",function(){return i});var i=function(){function e(){for(var e=[],t=0;te;)n.ishrn(1);if(n.isEven()&&n.iadd(a),n.testn(1)||n.iadd(u),t.cmp(u)){if(!t.cmp(c))for(;n.mod(l).cmp(d);)n.iadd(f)}else for(;n.mod(o).cmp(h);)n.iadd(f);if(m(p=n.shrn(1))&&m(n)&&v(p)&&v(n)&&s.test(p)&&s.test(n))return n}}},"3j2o":function(e,t){},"3kRU":function(e,t,n){"use strict";var i=n("1lLf"),r=n("08Lv");function o(e,t,n){if(!(this instanceof o))return new o(e,t,n);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(i.toArray(t,n))}e.exports=o,o.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),r(e.length<=this.blockSize);for(var t=e.length;t>>3},t.g1_256=function(e){return i(e,17)^i(e,19)^e>>>10}},"3uSZ":function(e,t,n){"use strict";n.d(t,"a",function(){return r}),t.b=function e(t){return o(t)?!t.value:!Array.isArray(t)||t.every(e)},t.c=function(e,t){return!e&&!t||!(!e||!t)&&(Array.isArray(e)&&Array.isArray(t)?Object(i.g)(e,t,s):!(!o(e)||!o(t))&&s(e,t))},t.e=function(e){if(!e)return e;return e.replace(/\\([\\`*_{}[\]()#+\-.!])/g,"$1")},t.d=function(e){var t=[],n=e.split("|").map(function(e){return e.trim()});e=n[0];var i=n[1];if(i){var r=/height=(\d+)/.exec(i),o=/width=(\d+)/.exec(i),s=r?r[1]:"",a=o?o[1]:"",u=isFinite(parseInt(a)),c=isFinite(parseInt(s));u&&t.push('width="'+a+'"'),c&&t.push('height="'+s+'"')}return{href:e,dimensions:t}};var i=n("X6iQ"),r=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 o(e){return e instanceof r||!(!e||"object"!=typeof e)&&("string"==typeof e.value&&("boolean"==typeof e.isTrusted||void 0===e.isTrusted))}function s(e,t){return e===t||!(!e||!t)&&(e.value===t.value&&e.isTrusted===t.isTrusted)}},4:function(e,t){},"4/4u":function(e,t,n){e.exports=n("cSWu").Transform},"44YW":function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("JVO/"),r=Object(i.c)("clipboardService")},"4JIo":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,r=n("3j2o"),o=(n.n(r),n("hK2W")),s=n("lAcG"),a=n("ZfGv"),u=n("4QaN"),c=n("03Zz"),l=n("vORD"),d=n("/9db"),h=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),f="9_cutcopypaste",p=a.e||document.queryCommandSupported("cut"),g=a.e||document.queryCommandSupported("copy"),m=g&&!s.g,v=a.e||!s.e&&document.queryCommandSupported("paste"),_=function(e){function t(t,n){var i=e.call(this,n)||this;return i.browserCommand=t,i}return h(t,e),t.prototype.runCommand=function(e,t){var n=e.get(l.a).getFocusedCodeEditor();n&&n.hasTextFocus()?n.trigger("keyboard",this.id,t):document.execCommand(this.browserCommand)},t.prototype.run=function(e,t){t.focus(),document.execCommand(this.browserCommand)},t}(c.b),b=function(e){function t(){var t={kbExpr:d.a.textInputFocus,primary:2102,win:{primary:2102,secondary:[1044]},weight:100};return a.e||(t=void 0),e.call(this,"cut",{id:"editor.action.clipboardCutAction",label:o.a("actions.clipboard.cutLabel","Cut"),alias:"Cut",precondition:d.a.writable,kbOpts:t,menuOpts:{group:f,order:1},menubarOpts:{menuId:14,group:"2_ccp",title:o.a({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1}})||this}return h(t,e),t.prototype.run=function(t,n){n.hasModel()&&(!n.getConfiguration().emptySelectionClipboard&&n.getSelection().isEmpty()||e.prototype.run.call(this,t,n))},t}(_),y=function(e){function t(){var t={kbExpr:d.a.textInputFocus,primary:2081,win:{primary:2081,secondary:[2067]},weight:100};return a.e||(t=void 0),e.call(this,"copy",{id:"editor.action.clipboardCopyAction",label:o.a("actions.clipboard.copyLabel","Copy"),alias:"Copy",precondition:void 0,kbOpts:t,menuOpts:{group:f,order:2},menubarOpts:{menuId:14,group:"2_ccp",title:o.a({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2}})||this}return h(t,e),t.prototype.run=function(t,n){n.hasModel()&&(!n.getConfiguration().emptySelectionClipboard&&n.getSelection().isEmpty()||e.prototype.run.call(this,t,n))},t}(_),w=function(e){function t(){var t={kbExpr:d.a.textInputFocus,primary:2100,win:{primary:2100,secondary:[1043]},weight:100};return a.e||(t=void 0),e.call(this,"paste",{id:"editor.action.clipboardPasteAction",label:o.a("actions.clipboard.pasteLabel","Paste"),alias:"Paste",precondition:d.a.writable,kbOpts:t,menuOpts:{group:f,order:3},menubarOpts:{menuId:14,group:"2_ccp",title:o.a({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:3}})||this}return h(t,e),t}(_),C=function(e){function t(){return e.call(this,"copy",{id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:o.a("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:d.a.textInputFocus,primary:0,weight:100}})||this}return h(t,e),t.prototype.run=function(t,n){n.hasModel()&&(!n.getConfiguration().emptySelectionClipboard&&n.getSelection().isEmpty()||(u.a.forceCopyWithSyntaxHighlighting=!0,e.prototype.run.call(this,t,n),u.a.forceCopyWithSyntaxHighlighting=!1))},t}(_);p&&Object(c.f)(b),g&&Object(c.f)(y),v&&Object(c.f)(w),m&&Object(c.f)(C)},"4QaN":function(e,t,n){"use strict";n.d(t,"a",function(){return p}),n.d(t,"b",function(){return g});var i,r=n("lAcG"),o=n("7/Cv"),s=n("odeJ"),a=n("Kp7x"),u=n("tqet"),c=n("ZfGv"),l=n("aL7J"),d=n("ZWAj"),h=n("iHM7"),f=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),p={forceCopyWithSyntaxHighlighting:!1},g=function(e){function t(t,n){var i=e.call(this)||this;i._onFocus=i._register(new a.a),i.onFocus=i._onFocus.event,i._onBlur=i._register(new a.a),i.onBlur=i._onBlur.event,i._onKeyDown=i._register(new a.a),i.onKeyDown=i._onKeyDown.event,i._onKeyUp=i._register(new a.a),i.onKeyUp=i._onKeyUp.event,i._onCut=i._register(new a.a),i.onCut=i._onCut.event,i._onPaste=i._register(new a.a),i.onPaste=i._onPaste.event,i._onType=i._register(new a.a),i.onType=i._onType.event,i._onCompositionStart=i._register(new a.a),i.onCompositionStart=i._onCompositionStart.event,i._onCompositionUpdate=i._register(new a.a),i.onCompositionUpdate=i._onCompositionUpdate.event,i._onCompositionEnd=i._register(new a.a),i.onCompositionEnd=i._onCompositionEnd.event,i._onSelectionChangeRequest=i._register(new a.a),i.onSelectionChangeRequest=i._onSelectionChangeRequest.event,i._host=t,i._textArea=i._register(new v(n)),i._lastTextAreaEvent=0,i._asyncTriggerCut=i._register(new s.d(function(){return i._onCut.fire()},0)),i._textAreaState=d.b.EMPTY,i._selectionChangeListener=null,i.writeScreenReaderContent("ctor"),i._hasFocus=!1,i._isDoingComposition=!1,i._nextCommand=0,i._register(o.k(n.domNode,"keydown",function(e){!i._isDoingComposition||109!==e.keyCode&&1!==e.keyCode||e.stopPropagation(),e.equals(9)&&e.preventDefault(),i._onKeyDown.fire(e)})),i._register(o.k(n.domNode,"keyup",function(e){i._onKeyUp.fire(e)})),i._register(o.h(n.domNode,"compositionstart",function(e){i._lastTextAreaEvent=1,i._isDoingComposition||(i._isDoingComposition=!0,r.g||i._setAndWriteTextAreaState("compositionstart",d.b.EMPTY),i._onCompositionStart.fire())}));var u=function(e,t){var n=i._textAreaState,r=d.b.readFromTextArea(i._textArea);return[r,d.b.deduceInput(n,r,e,t)]},h=function(e){var t=i._textAreaState,n=d.b.selectedText(e);return[n,{text:n.value,replaceCharCnt:t.selectionEnd-t.selectionStart}]},f=function(e){return!(!r.g||"ja"!==e)||!(!r.j||0!==e.indexOf("zh-Han"))};return i._register(o.h(n.domNode,"compositionupdate",function(e){if(i._lastTextAreaEvent=2,f(e.locale)){var t=u(!1,!1),n=t[0],r=t[1];return i._textAreaState=n,i._onType.fire(r),void i._onCompositionUpdate.fire(e)}var o=h(e.data),s=o[0],a=o[1];i._textAreaState=s,i._onType.fire(a),i._onCompositionUpdate.fire(e)})),i._register(o.h(n.domNode,"compositionend",function(e){if(i._lastTextAreaEvent=3,f(e.locale)){var t=u(!1,!1),n=t[0],o=t[1];i._textAreaState=n,i._onType.fire(o)}else{var s=h(e.data);n=s[0],o=s[1];i._textAreaState=n,i._onType.fire(o)}(r.g||r.e)&&(i._textAreaState=d.b.readFromTextArea(i._textArea)),i._isDoingComposition&&(i._isDoingComposition=!1,i._onCompositionEnd.fire())})),i._register(o.h(n.domNode,"input",function(){var e=8===i._lastTextAreaEvent;if(i._lastTextAreaEvent=4,i._textArea.setIgnoreSelectionChangeTime("received input event"),!i._isDoingComposition){var t=u(c.d,e&&c.d),n=t[0],r=t[1];0===r.replaceCharCnt&&1===r.text.length&&l.w(r.text.charCodeAt(0))||(i._textAreaState=n,0===i._nextCommand?""!==r.text&&i._onType.fire(r):(""!==r.text&&i._onPaste.fire({text:r.text}),i._nextCommand=0))}})),i._register(o.h(n.domNode,"cut",function(e){i._lastTextAreaEvent=5,i._textArea.setIgnoreSelectionChangeTime("received cut event"),i._ensureClipboardGetsEditorSelection(e),i._asyncTriggerCut.schedule()})),i._register(o.h(n.domNode,"copy",function(e){i._lastTextAreaEvent=6,i._ensureClipboardGetsEditorSelection(e)})),i._register(o.h(n.domNode,"paste",function(e){if(i._lastTextAreaEvent=7,i._textArea.setIgnoreSelectionChangeTime("received paste event"),m.canUseTextData(e)){var t=m.getTextData(e);""!==t&&i._onPaste.fire({text:t})}else i._textArea.getSelectionStart()!==i._textArea.getSelectionEnd()&&i._setAndWriteTextAreaState("paste",d.b.EMPTY),i._nextCommand=1})),i._register(o.h(n.domNode,"focus",function(){i._lastTextAreaEvent=8,i._setHasFocus(!0)})),i._register(o.h(n.domNode,"blur",function(){i._lastTextAreaEvent=9,i._setHasFocus(!1)})),i}return f(t,e),t.prototype._installSelectionChangeListener=function(){var e=this,t=0;return o.h(document,"selectionchange",function(n){if(e._hasFocus&&!e._isDoingComposition&&r.e&&c.g){var i=Date.now(),o=i-t;if(t=i,!(o<5)){var s=i-e._textArea.getIgnoreSelectionChangeTime();if(e._textArea.resetSelectionChangeTime(),!(s<100)&&e._textAreaState.selectionStartPosition&&e._textAreaState.selectionEndPosition){var a=e._textArea.getValue();if(e._textAreaState.value===a){var u=e._textArea.getSelectionStart(),l=e._textArea.getSelectionEnd();if(e._textAreaState.selectionStart!==u||e._textAreaState.selectionEnd!==l){var d=e._textAreaState.deduceEditorPosition(u),f=e._host.deduceModelPosition(d[0],d[1],d[2]),p=e._textAreaState.deduceEditorPosition(l),g=e._host.deduceModelPosition(p[0],p[1],p[2]),m=new h.a(f.lineNumber,f.column,g.lineNumber,g.column);e._onSelectionChangeRequest.fire(m)}}}}}})},t.prototype.dispose=function(){e.prototype.dispose.call(this),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)},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._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&(r.f?this._setAndWriteTextAreaState("focusgain",d.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 n=null;r.d()&&(t.length<65536||p.forceCopyWithSyntaxHighlighting)&&(n=this._host.getHTMLToCopy()),m.setTextData(e,t,n)}else this._setAndWriteTextAreaState("copy or cut",d.b.selectedText(t))},t}(u.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,n){if(e.clipboardData)return e.clipboardData.setData("text/plain",t),null!==n&&e.clipboardData.setData("text/html",n),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}(),v=function(e){function t(t){var n=e.call(this)||this;return n._actual=t,n._ignoreSelectionChangeTime=0,n}return f(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 n=this._actual.domNode;n.value!==t&&(this.setIgnoreSelectionChangeTime("setValue"),n.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,n){var i=this._actual.domNode,s=document.activeElement===i,a=i.selectionStart,u=i.selectionEnd;if(s&&a===t&&u===n)r.i&&window.parent!==window&&i.focus();else{if(s)return this.setIgnoreSelectionChangeTime("setSelectionRange"),i.setSelectionRange(t,n),void(r.i&&window.parent!==window&&i.focus());try{var c=o.O(i);this.setIgnoreSelectionChangeTime("setSelectionRange"),i.focus(),i.setSelectionRange(t,n),o.M(i,c)}catch(e){}}},t}(u.a)},"4R/o":function(e,t,n){"use strict";(function(e,i){function r(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var o=n("X3l8"),s=n("rOku"),a=o.Buffer,u=o.kMaxLength,c=e.crypto||e.msCrypto,l=Math.pow(2,32)-1;function d(e,t){if("number"!=typeof e||e!=e)throw new TypeError("offset must be a number");if(e>l||e<0)throw new TypeError("offset must be a uint32");if(e>u||e>t)throw new RangeError("offset out of range")}function h(e,t,n){if("number"!=typeof e||e!=e)throw new TypeError("size must be a number");if(e>l||e<0)throw new TypeError("size must be a uint32");if(e+t>n||e>u)throw new RangeError("buffer too small")}function f(e,t,n,r){if(i.browser){var o=e.buffer,a=new Uint8Array(o,t,n);return c.getRandomValues(a),r?void i.nextTick(function(){r(null,e)}):e}if(!r)return s(n).copy(e,t),e;s(n,function(n,i){if(n)return r(n);i.copy(e,t),r(null,e)})}c&&c.getRandomValues||!i.browser?(t.randomFill=function(t,n,i,r){if(!(a.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof n)r=n,n=0,i=t.length;else if("function"==typeof i)r=i,i=t.length-n;else if("function"!=typeof r)throw new TypeError('"cb" argument must be a function');return d(n,t.length),h(i,n,t.length),f(t,n,i,r)},t.randomFillSync=function(t,n,i){void 0===n&&(n=0);if(!(a.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');d(n,t.length),void 0===i&&(i=t.length-n);return h(i,n,t.length),f(t,n,i)}):(t.randomFill=r,t.randomFillSync=r)}).call(t,n("DuR2"),n("W2nU"))},"4Vh3":function(e,t){e.exports={modp1:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},modp2:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},modp5:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},modp14:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},modp15:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},modp16:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},modp17:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},modp18:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}},"4Yhh":function(e,t){},"4sPJ":function(e,t){e.exports=function(e){for(var t,n=e.length;n--;){if(255!==(t=e.readUInt8(n))){t++,e.writeUInt8(t,n);break}e.writeUInt8(0,n)}}},"4tuZ":function(e,t,n){"use strict";var i,r=n("aL7J"),o=n("80kS"),s=n("tqet"),a=n("03Zz"),u=n("7g0X"),c=n("EMhq"),l=n("JVO/"),d=n("8xpx"),h=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),f=Object(l.c)("IEditorCancelService"),p=new u.d("cancellableOperation",!1);Object(d.b)(f,function(){function e(){this._tokens=new WeakMap}return e.prototype.add=function(e,t){var n,i=this._tokens.get(e);return i||(i=e.invokeWithinContext(function(e){return{key:p.bindTo(e.get(u.c)),tokens:new c.a}}),this._tokens.set(e,i)),i.key.set(!0),n=i.tokens.push(t),function(){n&&(n(),i.key.set(!i.tokens.isEmpty()),n=void 0)}},e.prototype.cancel=function(e){var t=this._tokens.get(e);if(t){var n=t.tokens.pop();n&&(n.cancel(),t.key.set(!t.tokens.isEmpty()))}},e}(),!0);var g=function(e){function t(t,n){var i=e.call(this,n)||this;return i.editor=t,i._unregister=t.invokeWithinContext(function(e){return e.get(f).add(t,i)}),i}return h(t,e),t.prototype.dispose=function(){this._unregister(),e.prototype.dispose.call(this)},t}(o.b);Object(a.g)(new(function(e){function t(){return e.call(this,{id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:p})||this}return h(t,e),t.prototype.runEditorCommand=function(e,t){e.get(f).cancel(t)},t}(a.c))),n.d(t,"a",function(){return v}),n.d(t,"b",function(){return _}),n.d(t,"d",function(){return b}),n.d(t,"c",function(){return y});var m=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),v=function(){function e(e,t){if(this.flags=t,0!=(1&this.flags)){var n=e.getModel();this.modelVersionId=n?r.r("{0}#{1}",n.uri.toString(),n.getVersionId()):null}else this.modelVersionId=null;0!=(4&this.flags)?this.position=e.getPosition():this.position=null,0!=(2&this.flags)?this.selection=e.getSelection():this.selection=null,0!=(8&this.flags)?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}return e.prototype._equals=function(t){if(!(t instanceof e))return!1;var n=t;return this.modelVersionId===n.modelVersionId&&(this.scrollLeft===n.scrollLeft&&this.scrollTop===n.scrollTop&&(!(!this.position&&n.position||this.position&&!n.position||this.position&&n.position&&!this.position.equals(n.position))&&!(!this.selection&&n.selection||this.selection&&!n.selection||this.selection&&n.selection&&!this.selection.equalsRange(n.selection))))},e.prototype.validate=function(t){return this._equals(new e(t,this.flags))},e}(),_=function(e){function t(t,n,i){var r=e.call(this,t,i)||this;return r.editor=t,r._listener=new s.b,4&n&&r._listener.add(t.onDidChangeCursorPosition(function(e){return r.cancel()})),2&n&&r._listener.add(t.onDidChangeCursorSelection(function(e){return r.cancel()})),8&n&&r._listener.add(t.onDidScrollChange(function(e){return r.cancel()})),1&n&&(r._listener.add(t.onDidChangeModel(function(e){return r.cancel()})),r._listener.add(t.onDidChangeModelContent(function(e){return r.cancel()}))),r}return m(t,e),t.prototype.dispose=function(){this._listener.dispose(),e.prototype.dispose.call(this)},t}(g),b=function(e){function t(t,n){var i=e.call(this,n)||this;return i._listener=t.onDidChangeContent(function(){return i.cancel()}),i}return m(t,e),t.prototype.dispose=function(){this._listener.dispose(),e.prototype.dispose.call(this)},t}(o.b),y=function(){function e(e,t){this._visiblePosition=e,this._visiblePositionScrollDelta=t}return e.capture=function(t){var n=null,i=0;if(0!==t.getScrollTop()){var r=t.getVisibleRanges();if(r.length>0){n=r[0].getStartPosition();var o=t.getTopForPosition(n.lineNumber,n.column);i=t.getScrollTop()-o}}return new e(n,i)},e.prototype.restore=function(e){if(this._visiblePosition){var t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}},e}()},"5QAX":function(e,t,n){var i=n("geuY"),r=n("X3l8").Buffer;e.exports=function(e,t){return r.from(e.toRed(i.mont(t.modulus)).redPow(new i(t.publicExponent)).fromRed().toArray())}},"5RGO":function(e,t){},"5TlO":function(e,t,n){"use strict";t.a=function(e,t){if(!e)throw new Error(t?"Assertion failed ("+t+")":"Assertion Failed")}},"5VRF":function(e,t,n){"use strict";n.d(t,"c",function(){return s}),n.d(t,"d",function(){return r}),t.f=function(e){return Array.isArray(e)?r.fromArray(e):e},n.d(t,"a",function(){return a}),n.d(t,"b",function(){return u}),n.d(t,"e",function(){return c});var i,r,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s={done:!0,value:void 0};!function(e){var t={next:function(){return s}};e.empty=function(){return t},e.single=function(e){var t=!1;return{next:function(){return t?s:(t=!0,{done:!1,value:e})}}},e.fromArray=function(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=e.length),{next:function(){return t>=n?s:{done:!1,value:e[t++]}}}},e.from=function(t){return t?Array.isArray(t)?e.fromArray(t):t:e.empty()},e.map=function(e,t){return{next:function(){var n=e.next();return n.done?s:{done:!1,value:t(n.value)}}}},e.filter=function(e,t){return{next:function(){for(;;){var n=e.next();if(n.done)return s;if(t(n.value))return{done:!1,value:n.value}}}}},e.forEach=function(e,t){for(var n=e.next();!n.done;n=e.next())t(n.value)},e.collect=function(e,t){void 0===t&&(t=Number.POSITIVE_INFINITY);var n=[];if(0===t)return n;for(var i=0,r=e.next();!(r.done||(n.push(r.value),++i>=t));r=e.next());return n},e.concat=function(){for(var e=[],t=0;t=e.length)return s;var t=e[n].next();return t.done?(n++,this.next()):t}}}}(r||(r={}));var a=function(){function e(e,t,n,i){void 0===t&&(t=0),void 0===n&&(n=e.length),void 0===i&&(i=t-1),this.items=e,this.start=t,this.end=n,this.index=i}return e.prototype.first=function(){return this.index=this.start,this.current()},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}(),u=function(e){function t(t,n,i,r){return void 0===n&&(n=0),void 0===i&&(i=t.length),void 0===r&&(r=n-1),e.call(this,t,n,i,r)||this}return o(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}(a),c=function(){function e(e,t){this.iterator=e,this.fn=t}return e.prototype.next=function(){return this.fn(this.iterator.next())},e}()},"5kgg":function(e,t){},"5lao":function(e,t,n){"use strict";n.d(t,"a",function(){return h}),n.d(t,"b",function(){return f});var i,r=n("ZfGv"),o=n("iXRW"),s=n("G8r4"),a=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),u=r.d?1.5:1.35;function c(e,t){if("number"==typeof e)return e;if(void 0===e)return t;var n=parseFloat(e);return isNaN(n)?t:n}function l(e,t,n){return en?n:e}function d(e,t){return"string"!=typeof e?t:e}var h=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,n,i){void 0===i&&(i=!1);var r=d(t.fontFamily,o.b.fontFamily),a=d(t.fontWeight,o.b.fontWeight),h=c(t.fontSize,o.b.fontSize);0===(h=l(h,0,100))?h=o.b.fontSize:h<8&&(h=8);var f=function(e,t){if("number"==typeof e)return Math.round(e);if(void 0===e)return t;var n=parseInt(e);return isNaN(n)?t:n}(t.lineHeight,0);0===(f=l(f,0,150))?f=Math.round(u*h):f<8&&(f=8);var p=c(t.letterSpacing,0);p=l(p,-5,20);var g=1+(i?0:.1*s.a.getZoomLevel());return new e({zoomLevel:n,fontFamily:r,fontWeight:a,fontSize:h*=g,lineHeight:f*=g,letterSpacing:p})},e.prototype.getId=function(){return this.zoomLevel+"-"+this.fontFamily+"-"+this.fontWeight+"-"+this.fontSize+"-"+this.lineHeight+"-"+this.letterSpacing},e.prototype.getMassagedFontFamily=function(){return/[,"']/.test(this.fontFamily)?this.fontFamily:/[+ ]/.test(this.fontFamily)?'"'+this.fontFamily+'"':this.fontFamily},e}(),f=function(e){function t(t,n){var i=e.call(this,t)||this;return i.isTrusted=n,i.isMonospace=t.isMonospace,i.typicalHalfwidthCharacterWidth=t.typicalHalfwidthCharacterWidth,i.typicalFullwidthCharacterWidth=t.typicalFullwidthCharacterWidth,i.canUseHalfwidthRightwardsArrow=t.canUseHalfwidthRightwardsArrow,i.spaceWidth=t.spaceWidth,i.maxDigitWidth=t.maxDigitWidth,i}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.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.spaceWidth===e.spaceWidth&&this.maxDigitWidth===e.maxDigitWidth},t}(h)},"5tK6":function(e,t,n){"use strict";n.d(t,"a",function(){return m});var i,r=n("LCUL"),o=(n.n(r),n("tqet")),s=n("lAcG"),a=n("ZfGv"),u=n("KIxu"),c=n("Bug4"),l=n("b1X/"),d=n("Kp7x"),h=n("7/Cv"),f=n("Gxst"),p=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),g=!1,m=function(e){function t(t,n,i){void 0===i&&(i={});var r=e.call(this)||this;return r._state=3,r._onDidEnablementChange=r._register(new d.a),r.onDidEnablementChange=r._onDidEnablementChange.event,r._onDidStart=r._register(new d.a),r.onDidStart=r._onDidStart.event,r._onDidChange=r._register(new d.a),r.onDidChange=r._onDidChange.event,r._onDidReset=r._register(new d.a),r.onDidReset=r._onDidReset.event,r._onDidEnd=r._register(new d.a),r.onDidEnd=r._onDidEnd.event,r.linkedSash=void 0,r.orthogonalStartSashDisposables=r._register(new o.b),r.orthogonalEndSashDisposables=r._register(new o.b),r.el=Object(h.m)(t,Object(h.a)(".monaco-sash")),a.d&&Object(h.f)(r.el,"mac"),r._register(Object(f.a)(r.el,"mousedown")(r.onMouseDown,r)),r._register(Object(f.a)(r.el,"dblclick")(r.onMouseDoubleClick,r)),c.b.addTarget(r.el),r._register(Object(f.a)(r.el,c.a.Start)(r.onTouchStart,r)),s.k&&Object(h.f)(r.el,"touch"),r.setOrientation(i.orientation||0),r.hidden=!1,r.layoutProvider=n,r.orthogonalStartSash=i.orthogonalStartSash,r.orthogonalEndSash=i.orthogonalEndSash,Object(h.R)(r.el,"debug",g),r}return p(t,e),Object.defineProperty(t.prototype,"state",{get:function(){return this._state},set:function(e){this._state!==e&&(Object(h.R)(this.el,"disabled",0===e),Object(h.R)(this.el,"minimum",1===e),Object(h.R)(this.el,"maximum",2===e),this._state=e,this._onDidEnablementChange.fire(e))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"orthogonalStartSash",{get:function(){return this._orthogonalStartSash},set:function(e){this.orthogonalStartSashDisposables.clear(),e?(this.orthogonalStartSashDisposables.add(e.onDidEnablementChange(this.onOrthogonalStartSashEnablementChange,this)),this.onOrthogonalStartSashEnablementChange(e.state)):this.onOrthogonalStartSashEnablementChange(0),this._orthogonalStartSash=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"orthogonalEndSash",{get:function(){return this._orthogonalEndSash},set:function(e){this.orthogonalEndSashDisposables.clear(),e?(this.orthogonalEndSashDisposables.add(e.onDidEnablementChange(this.onOrthogonalEndSashEnablementChange,this)),this.onOrthogonalEndSashEnablementChange(e.state)):this.onOrthogonalEndSashEnablementChange(0),this._orthogonalEndSash=e},enumerable:!0,configurable:!0}),t.prototype.setOrientation=function(e){this.orientation=e,1===this.orientation?(Object(h.f)(this.el,"horizontal"),Object(h.I)(this.el,"vertical")):(Object(h.I)(this.el,"horizontal"),Object(h.f)(this.el,"vertical")),this.layoutProvider&&this.layout()},t.prototype.onMouseDown=function(e){var t=this;h.c.stop(e,!1);var n=!1;if(!e.__orthogonalSashEvent){var i=this.getOrthogonalSash(e);i&&(n=!0,e.__orthogonalSashEvent=!0,i.onMouseDown(e))}if(this.linkedSash&&!e.__linkedSashEvent&&(e.__linkedSashEvent=!0,this.linkedSash.onMouseDown(e)),this.state){for(var r=Object(h.y)("iframe").concat(Object(h.y)("webview")),s=0,u=r;s=this.el.clientHeight-4)return this.orthogonalEndSash}else{if(e.offsetX<=4)return this.orthogonalStartSash;if(e.offsetX>=this.el.clientWidth-4)return this.orthogonalEndSash}},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.el&&this.el.parentElement&&this.el.parentElement.removeChild(this.el),this.el=null},t}(o.a)},"5zde":function(e,t,n){n("zQR9"),n("qyJz"),e.exports=n("FeBl").Array.from},"606G":function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("JVO/"),r=Object(i.c)("editorWorkerService")},"67ys":function(e,t){},"6Hge":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("X6iQ"),r=n("80kS"),o=n("03Zz"),s=n("artP"),a=n("vTy2"),u=n("iHM7"),c=n("/9db"),l=n("PCC9"),d=n("hK2W"),h=n("tqet"),f=n("aL7J"),p=function(){function e(){}return e.prototype.provideSelectionRanges=function(e,t){for(var n=[],i=0,r=t;i=0;u--){if(95===(d=r.charCodeAt(u))||45===d)break;if(Object(f.y)(d)&&Object(f.z)(l))break;l=d}for(u+=1;c0&&0===t.getLineFirstNonWhitespaceColumn(n.lineNumber)&&0===t.getLineLastNonWhitespaceColumn(n.lineNumber)&&e.push({range:new a.a(n.lineNumber,1,n.lineNumber,t.getLineMaxColumn(n.lineNumber))})},e}(),g=n("NjuD"),m=n("ItKl"),v=n("zxiH");t.provideSelectionRanges=k;var _,b=this&&this.__extends||(_=function(e,t){return(_=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}_(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),y=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},w=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=this.ranges.length)return this;var i=new e(n,this.ranges);return i.ranges[n].equalsRange(this.ranges[this.index])?i.mov(t):i},e}(),S=function(){function e(e){this._ignoreSelection=!1,this._editor=e}return e.get=function(t){return t.getContribution(e._id)},e.prototype.dispose=function(){Object(h.f)(this._selectionListener)},e.prototype.getId=function(){return e._id},e.prototype.run=function(e){var t=this;if(this._editor.hasModel()){var n=this._editor.getSelections(),o=this._editor.getModel();if(l.u.has(o)){var s=Promise.resolve(void 0);return this._state||(s=k(o,n.map(function(e){return e.getPosition()}),r.a.None).then(function(e){if(i.n(e)&&e.length===n.length&&t._editor.hasModel()&&i.g(t._editor.getSelections(),n,function(e,t){return e.equalsSelection(t)})){for(var r=function(t){e[t]=e[t].filter(function(e){return e.containsPosition(n[t].getStartPosition())&&e.containsPosition(n[t].getEndPosition())}),e[t].unshift(n[t])},o=0;o)?=?)";var L=u++;a[L]=a[l]+"|x|X|\\*";var O=u++;a[O]=a[c]+"|x|X|\\*";var k=u++;a[k]="[v=\\s]*("+a[O]+")(?:\\.("+a[O]+")(?:\\.("+a[O]+")(?:"+a[m]+")?"+a[b]+"?)?)?";var N=u++;a[N]="[v=\\s]*("+a[L]+")(?:\\.("+a[L]+")(?:\\.("+a[L]+")(?:"+a[v]+")?"+a[b]+"?)?)?";var E=u++;a[E]="^"+a[x]+"\\s*"+a[k]+"$";var I=u++;a[I]="^"+a[x]+"\\s*"+a[N]+"$";var D=u++;a[D]="(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var M=u++;a[M]="(?:~>?)";var T=u++;a[T]="(\\s*)"+a[M]+"\\s+",s[T]=new RegExp(a[T],"g");var P=u++;a[P]="^"+a[M]+a[k]+"$";var A=u++;a[A]="^"+a[M]+a[N]+"$";var R=u++;a[R]="(?:\\^)";var F=u++;a[F]="(\\s*)"+a[R]+"\\s+",s[F]=new RegExp(a[F],"g");var j=u++;a[j]="^"+a[R]+a[k]+"$";var W=u++;a[W]="^"+a[R]+a[N]+"$";var B=u++;a[B]="^"+a[x]+"\\s*("+C+")$|^$";var V=u++;a[V]="^"+a[x]+"\\s*("+w+")$|^$";var H=u++;a[H]="(\\s*)"+a[x]+"\\s*("+C+"|"+a[k]+")",s[H]=new RegExp(a[H],"g");var z=u++;a[z]="^\\s*("+a[k]+")\\s+-\\s+("+a[k]+")\\s*$";var U=u++;a[U]="^\\s*("+a[N]+")\\s+-\\s+("+a[N]+")\\s*$";var K=u++;a[K]="(<|>)?=?\\s*\\*";for(var q=0;qr)return null;if(!(t.loose?s[S]:s[y]).test(e))return null;try{return new Z(e,t)}catch(e){return null}}function Z(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof Z){if(e.loose===t.loose)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>r)throw new TypeError("version is longer than "+r+" characters");if(!(this instanceof Z))return new Z(e,t);i("SemVer",e,t),this.options=t,this.loose=!!t.loose;var n=e.trim().match(t.loose?s[S]:s[y]);if(!n)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>o||this.major<0)throw new TypeError("Invalid major version");if(this.minor>o||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>o||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);-1===n&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this},t.inc=function(e,t,n,i){"string"==typeof n&&(i=n,n=void 0);try{return new Z(e,n).inc(t,i).version}catch(e){return null}},t.diff=function(e,t){if(ee(e,t))return null;var n=G(e),i=G(t),r="";if(n.prerelease.length||i.prerelease.length){r="pre";var o="prerelease"}for(var s in n)if(("major"===s||"minor"===s||"patch"===s)&&n[s]!==i[s])return r+s;return o},t.compareIdentifiers=X;var Y=/^[0-9]+$/;function X(e,t){var n=Y.test(e),i=Y.test(t);return n&&i&&(e=+e,t=+t),e===t?0:n&&!i?-1:i&&!n?1:e0}function Q(e,t,n){return $(e,t,n)<0}function ee(e,t,n){return 0===$(e,t,n)}function te(e,t,n){return 0!==$(e,t,n)}function ne(e,t,n){return $(e,t,n)>=0}function ie(e,t,n){return $(e,t,n)<=0}function re(e,t,n,i){switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e===n;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e!==n;case"":case"=":case"==":return ee(e,n,i);case"!=":return te(e,n,i);case">":return J(e,n,i);case">=":return ne(e,n,i);case"<":return Q(e,n,i);case"<=":return ie(e,n,i);default:throw new TypeError("Invalid operator: "+t)}}function oe(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof oe){if(e.loose===!!t.loose)return e;e=e.value}if(!(this instanceof oe))return new oe(e,t);i("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===se?this.value="":this.value=this.operator+this.semver.version,i("comp",this)}t.rcompareIdentifiers=function(e,t){return X(t,e)},t.major=function(e,t){return new Z(e,t).major},t.minor=function(e,t){return new Z(e,t).minor},t.patch=function(e,t){return new Z(e,t).patch},t.compare=$,t.compareLoose=function(e,t){return $(e,t,!0)},t.rcompare=function(e,t,n){return $(t,e,n)},t.sort=function(e,n){return e.sort(function(e,i){return t.compare(e,i,n)})},t.rsort=function(e,n){return e.sort(function(e,i){return t.rcompare(e,i,n)})},t.gt=J,t.lt=Q,t.eq=ee,t.neq=te,t.gte=ne,t.lte=ie,t.cmp=re,t.Comparator=oe;var se={};function ae(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof ae)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new ae(e.raw,t);if(e instanceof oe)return new ae(e.value,t);if(!(this instanceof ae))return new ae(e,t);if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);this.format()}function ue(e){return!e||"x"===e.toLowerCase()||"*"===e}function ce(e,t,n,i,r,o,s,a,u,c,l,d,h){return((t=ue(n)?"":ue(i)?">="+n+".0.0":ue(r)?">="+n+"."+i+".0":">="+t)+" "+(a=ue(u)?"":ue(c)?"<"+(+u+1)+".0.0":ue(l)?"<"+u+"."+(+c+1)+".0":d?"<="+u+"."+c+"."+l+"-"+d:"<="+a)).trim()}function le(e,t,n){for(var r=0;r0){var o=e[r].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}function de(e,t,n){try{t=new ae(t,n)}catch(e){return!1}return t.test(e)}function he(e,t,n,i){var r,o,s,a,u;switch(e=new Z(e,i),t=new ae(t,i),n){case">":r=J,o=ie,s=Q,a=">",u=">=";break;case"<":r=Q,o=ne,s=J,a="<",u="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(de(e,t,i))return!1;for(var c=0;c=0.0.0")),l=l||e,d=d||e,r(e.semver,l.semver,i)?l=e:s(e.semver,d.semver,i)&&(d=e)}),l.operator===a||l.operator===u)return!1;if((!d.operator||d.operator===a)&&o(e,d.semver))return!1;if(d.operator===u&&s(e,d.semver))return!1}return!0}oe.prototype.parse=function(e){var t=this.options.loose?s[B]:s[V],n=e.match(t);if(!n)throw new TypeError("Invalid comparator: "+e);this.operator=n[1],"="===this.operator&&(this.operator=""),n[2]?this.semver=new Z(n[2],this.options.loose):this.semver=se},oe.prototype.toString=function(){return this.value},oe.prototype.test=function(e){return i("Comparator.test",e,this.options.loose),this.semver===se||("string"==typeof e&&(e=new Z(e,this.options)),re(e,this.operator,this.semver,this.options))},oe.prototype.intersects=function(e,t){if(!(e instanceof oe))throw new TypeError("a Comparator is required");var n;if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return n=new ae(e.value,t),de(this.value,n,t);if(""===e.operator)return n=new ae(this.value,t),de(e.semver,n,t);var i=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),r=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),o=this.semver.version===e.semver.version,s=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),a=re(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),u=re(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return i||r||o&&s||a||u},t.Range=ae,ae.prototype.format=function(){return this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim(),this.range},ae.prototype.toString=function(){return this.range},ae.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var n=t?s[U]:s[z];e=e.replace(n,ce),i("hyphen replace",e),e=e.replace(s[H],"$1$2$3"),i("comparator trim",e,s[H]),e=(e=(e=e.replace(s[T],"$1~")).replace(s[F],"$1^")).split(/\s+/).join(" ");var r=t?s[B]:s[V],o=e.split(" ").map(function(e){return function(e,t){return i("comp",e,t),e=function(e,t){return e.trim().split(/\s+/).map(function(e){return function(e,t){i("caret",e,t);var n=t.loose?s[W]:s[j];return e.replace(n,function(t,n,r,o,s){var a;return i("caret",e,t,n,r,o,s),ue(n)?a="":ue(r)?a=">="+n+".0.0 <"+(+n+1)+".0.0":ue(o)?a="0"===n?">="+n+"."+r+".0 <"+n+"."+(+r+1)+".0":">="+n+"."+r+".0 <"+(+n+1)+".0.0":s?(i("replaceCaret pr",s),a="0"===n?"0"===r?">="+n+"."+r+"."+o+"-"+s+" <"+n+"."+r+"."+(+o+1):">="+n+"."+r+"."+o+"-"+s+" <"+n+"."+(+r+1)+".0":">="+n+"."+r+"."+o+"-"+s+" <"+(+n+1)+".0.0"):(i("no pr"),a="0"===n?"0"===r?">="+n+"."+r+"."+o+" <"+n+"."+r+"."+(+o+1):">="+n+"."+r+"."+o+" <"+n+"."+(+r+1)+".0":">="+n+"."+r+"."+o+" <"+(+n+1)+".0.0"),i("caret return",a),a})}(e,t)}).join(" ")}(e,t),i("caret",e),e=function(e,t){return e.trim().split(/\s+/).map(function(e){return function(e,t){var n=t.loose?s[A]:s[P];return e.replace(n,function(t,n,r,o,s){var a;return i("tilde",e,t,n,r,o,s),ue(n)?a="":ue(r)?a=">="+n+".0.0 <"+(+n+1)+".0.0":ue(o)?a=">="+n+"."+r+".0 <"+n+"."+(+r+1)+".0":s?(i("replaceTilde pr",s),a=">="+n+"."+r+"."+o+"-"+s+" <"+n+"."+(+r+1)+".0"):a=">="+n+"."+r+"."+o+" <"+n+"."+(+r+1)+".0",i("tilde return",a),a})}(e,t)}).join(" ")}(e,t),i("tildes",e),e=function(e,t){return i("replaceXRanges",e,t),e.split(/\s+/).map(function(e){return function(e,t){e=e.trim();var n=t.loose?s[I]:s[E];return e.replace(n,function(t,n,r,o,s,a){i("xRange",e,t,n,r,o,s,a);var u=ue(r),c=u||ue(o),l=c||ue(s),d=l;return"="===n&&d&&(n=""),u?t=">"===n||"<"===n?"<0.0.0":"*":n&&d?(c&&(o=0),s=0,">"===n?(n=">=",c?(r=+r+1,o=0,s=0):(o=+o+1,s=0)):"<="===n&&(n="<",c?r=+r+1:o=+o+1),t=n+r+"."+o+"."+s):c?t=">="+r+".0.0 <"+(+r+1)+".0.0":l&&(t=">="+r+"."+o+".0 <"+r+"."+(+o+1)+".0"),i("xRange return",t),t})}(e,t)}).join(" ")}(e,t),i("xrange",e),e=function(e,t){return i("replaceStars",e,t),e.trim().replace(s[K],"")}(e,t),i("stars",e),e}(e,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(o=o.filter(function(e){return!!e.match(r)})),o=o.map(function(e){return new oe(e,this.options)},this)},ae.prototype.intersects=function(e,t){if(!(e instanceof ae))throw new TypeError("a Range is required");return this.set.some(function(n){return n.every(function(n){return e.set.some(function(e){return e.every(function(e){return n.intersects(e,t)})})})})},t.toComparators=function(e,t){return new ae(e,t).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})},ae.prototype.test=function(e){if(!e)return!1;"string"==typeof e&&(e=new Z(e,this.options));for(var t=0;t":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":n&&!J(n,t)||(n=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}})}if(n&&e.test(n))return n;return null},t.validRange=function(e,t){try{return new ae(e,t).range||"*"}catch(e){return null}},t.ltr=function(e,t,n){return he(e,t,"<",n)},t.gtr=function(e,t,n){return he(e,t,">",n)},t.outside=he,t.prerelease=function(e,t){var n=G(e,t);return n&&n.prerelease.length?n.prerelease:null},t.intersects=function(e,t,n){return e=new ae(e,n),t=new ae(t,n),e.intersects(t)},t.coerce=function(e){if(e instanceof Z)return e;if("string"!=typeof e)return null;var t=e.match(s[D]);if(null==t)return null;return G(t[1]+"."+(t[2]||"0")+"."+(t[3]||"0"))}}).call(t,n("W2nU"))},"6TMp":function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("JVO/"),r=Object(i.c)("modeService")},"6ZSt":function(e,t){e.exports={"aes-128-ecb":{cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},"aes-192-ecb":{cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},"aes-256-ecb":{cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},"aes-128-cbc":{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},"aes-192-cbc":{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},"aes-256-cbc":{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},aes128:{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},aes192:{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},aes256:{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},"aes-128-cfb":{cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},"aes-192-cfb":{cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},"aes-256-cfb":{cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},"aes-128-cfb8":{cipher:"AES",key:128,iv:16,mode:"CFB8",type:"stream"},"aes-192-cfb8":{cipher:"AES",key:192,iv:16,mode:"CFB8",type:"stream"},"aes-256-cfb8":{cipher:"AES",key:256,iv:16,mode:"CFB8",type:"stream"},"aes-128-cfb1":{cipher:"AES",key:128,iv:16,mode:"CFB1",type:"stream"},"aes-192-cfb1":{cipher:"AES",key:192,iv:16,mode:"CFB1",type:"stream"},"aes-256-cfb1":{cipher:"AES",key:256,iv:16,mode:"CFB1",type:"stream"},"aes-128-ofb":{cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},"aes-192-ofb":{cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},"aes-256-ofb":{cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},"aes-128-ctr":{cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},"aes-192-ctr":{cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},"aes-256-ctr":{cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"},"aes-128-gcm":{cipher:"AES",key:128,iv:12,mode:"GCM",type:"auth"},"aes-192-gcm":{cipher:"AES",key:192,iv:12,mode:"GCM",type:"auth"},"aes-256-gcm":{cipher:"AES",key:256,iv:12,mode:"GCM",type:"auth"}}},"6boo":function(e,t,n){"use strict";n.d(t,"b",function(){return p}),n.d(t,"f",function(){return g}),n.d(t,"c",function(){return m}),n.d(t,"d",function(){return b}),n.d(t,"e",function(){return y}),n.d(t,"a",function(){return w}),t.g=function(e){return"'"===e||'"'===e||"`"===e};var i=n("zxiH"),r=n("aL7J"),o=n("artP"),s=n("vTy2"),a=n("iHM7"),u=n("0ly5"),c=n("Fllr"),l=function(){return!0},d=function(){return!1},h=function(e){return" "===e||"\t"===e};function f(e,t,n){e.has(t)?e.get(t).push(n):e.set(t,[n])}var p=function(){function e(t,n,i){this._languageIdentifier=t;var r=i.editor;this.readOnly=r.readOnly,this.tabSize=n.tabSize,this.indentSize=n.indentSize,this.insertSpaces=n.insertSpaces,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.copyWithSyntaxHighlighting=r.copyWithSyntaxHighlighting,this.multiCursorMergeOverlapping=r.multiCursorMergeOverlapping,this.autoClosingBrackets=r.autoClosingBrackets,this.autoClosingQuotes=r.autoClosingQuotes,this.autoClosingOvertype=r.autoClosingOvertype,this.autoSurround=r.autoSurround,this.autoIndent=r.autoIndent,this.autoClosingPairsOpen2=new Map,this.autoClosingPairsClose2=new Map,this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:e._getShouldAutoClose(t,this.autoClosingQuotes),bracket:e._getShouldAutoClose(t,this.autoClosingBrackets)};var o=e._getAutoClosingPairs(t);if(o)for(var s=0,a=o;s=i.length)&&r.x(i.charCodeAt(n))},e.isHighSurrogate=function(e,t,n){var i=e.getLineContent(t);return!(n<0||n>=i.length)&&r.w(i.charCodeAt(n))},e.isInsideSurrogatePair=function(e,t,n){return this.isHighSurrogate(e,t,n-2)},e.visibleColumnFromColumn=function(e,t,n){var i=e.length;i>t-1&&(i=t-1);for(var o=0,s=0;s=t)return u-ts?s:r},e.nextRenderTabStop=function(e,t){return e+t-e%t},e.nextIndentTabStop=function(e,t){return e+t-e%t},e.prevRenderTabStop=function(e,t){return e-1-(e-1)%t},e.prevIndentTabStop=function(e,t){return e-1-(e-1)%t},e}()},"6hW9":function(e,t,n){var i=n("BEbT"),r=n("X3l8").Buffer,o=n("z+8S");function s(e,t,n,s){o.call(this),this._cipher=new i.AES(t),this._prev=r.from(n),this._cache=r.allocUnsafe(0),this._secCache=r.allocUnsafe(0),this._decrypt=s,this._mode=e}n("LC74")(s,o),s.prototype._update=function(e){return this._mode.encrypt(this,e,this._decrypt)},s.prototype._final=function(){this._cipher.scrub()},e.exports=s},"6jTg":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("odeJ"),r=n("zxiH"),o=n("tqet"),s=n("4tuZ"),a=n("03Zz"),u=n("PCC9"),c=n("X6iQ"),l=n("80kS"),d=n("mrx5"),h=n("jIdl"),f=function(){function e(){this.lenses=[],this._dispoables=new o.b}return e.prototype.dispose=function(){this._dispoables.dispose()},e.prototype.add=function(e,t){this._dispoables.add(e);for(var n=0,i=e.lenses;nt.symbol.range.startLineNumber?1:i.get(e.provider)i.get(t.provider)?1:e.symbol.range.startColumnt.symbol.range.startColumn?1:0}),o})}Object(a.j)("_executeCodeLensProvider",function(e,t){var n=t.resource,i=t.itemResolveCount;if(!(n instanceof d.a))throw Object(r.b)();var s=e.get(h.a).getModel(n);if(!s)throw Object(r.b)();var a=[],u=new o.b;return p(s,l.a.None).then(function(e){u.add(e);for(var t=[],n=function(e){void 0===i||Boolean(e.symbol.command)?a.push(e.symbol):i-- >0&&e.provider.resolveCodeLens&&t.push(Promise.resolve(e.provider.resolveCodeLens(s,e.symbol,l.a.None)).then(function(t){return a.push(t||e.symbol)}))},r=0,o=e.lenses;rno commands";else{for(var i=[],r=0;r"+s+"",this._commands.set(String(r),o)):a=""+s+"",i.push(a)}}var u=""===this._domNode.innerHTML||" "===this._domNode.innerHTML;this._domNode.innerHTML=i.join(" | "),this._editor.layoutContentWidget(this),u&&t&&g.f(this._domNode,"fadein")}},e.prototype.getCommand=function(e){return e.parentElement===this._domNode?this._commands.get(e.id):void 0},e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.setSymbolRange=function(e){if(this._editor.hasModel()){var t=e.startLineNumber,n=this._editor.getModel().getLineFirstNonWhitespaceColumn(t);this._widgetPosition={position:{lineNumber:t,column:n},preference:[1]}}},e.prototype.getPosition=function(){return this._widgetPosition||null},e.prototype.isVisible=function(){return this._domNode.hasAttribute("monaco-visible-content-widget")},e._idPool=0,e}(),x=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),n=0,i=t.length;n a:hover { color: "+i+" !important; }")});var O=n("ItKl"),k=n("fAkY"),N=n("JVO/"),E=n("8xpx"),I=n("WTFd"),D=n("Cfmk"),M=n("dwjm"),T=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},P=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},A=Object(N.c)("ICodeLensCache"),R=function(){return function(e,t){this.lineCount=e,this.data=t}}(),F=function(){function e(e){var t=this;this._fakeProvider=new(function(){function e(){}return e.prototype.provideCodeLenses=function(){throw new Error("not supported")},e}()),this._cache=new I.a(20,.75);Object(i.k)(function(){return e.remove("codelens/cache",1)});var n="codelens/cache2",r=e.get(n,1,"{}");this._deserialize(r),Object(M.a)(e.onWillSaveState)(function(i){i.reason===D.c.SHUTDOWN&&e.store(n,t._serialize(),1)})}return e.prototype.put=function(e,t){var n=new f;n.add({lenses:t.lenses.map(function(e){return e.symbol}),dispose:function(){}},this._fakeProvider);var i=new R(e.getLineCount(),n);this._cache.set(e.uri.toString(),i)},e.prototype.get=function(e){var t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0},e.prototype.delete=function(e){this._cache.delete(e.uri.toString())},e.prototype._serialize=function(){var e=Object.create(null);return this._cache.forEach(function(t,n){for(var i=new Set,r=0,o=t.data.lenses;r=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},W=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},B=function(){function e(e,t,n,i){var r=this;this._editor=e,this._commandService=t,this._notificationService=n,this._codeLensCache=i,this._globalToDispose=new o.b,this._localToDispose=new o.b,this._lenses=[],this._oldCodeLensModels=new o.b,this._modelChangeCounter=0,this._isEnabled=this._editor.getConfiguration().contribInfo.codeLens,this._globalToDispose.add(this._editor.onDidChangeModel(function(){return r._onModelChange()})),this._globalToDispose.add(this._editor.onDidChangeModelLanguage(function(){return r._onModelChange()})),this._globalToDispose.add(this._editor.onDidChangeConfiguration(function(){var e=r._isEnabled;r._isEnabled=r._editor.getConfiguration().contribInfo.codeLens,e!==r._isEnabled&&r._onModelChange()})),this._globalToDispose.add(u.b.onDidChange(this._onModelChange,this)),this._onModelChange()}return e.prototype.dispose=function(){this._localDispose(),this._globalToDispose.dispose(),this._oldCodeLensModels.dispose(),Object(o.f)(this._currentCodeLensModel)},e.prototype._localDispose=function(){this._currentFindCodeLensSymbolsPromise&&(this._currentFindCodeLensSymbolsPromise.cancel(),this._currentFindCodeLensSymbolsPromise=void 0,this._modelChangeCounter++),this._currentResolveCodeLensSymbolsPromise&&(this._currentResolveCodeLensSymbolsPromise.cancel(),this._currentResolveCodeLensSymbolsPromise=void 0),this._localToDispose.clear(),this._oldCodeLensModels.clear(),Object(o.f)(this._currentCodeLensModel)},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){var n=this._codeLensCache.get(t);if(n&&this._renderCodeLensSymbols(n),u.b.has(t)){for(var a=0,c=u.b.all(t);a0&&h.schedule()})),this._localToDispose.add(this._editor.onDidLayoutChange(function(){h.schedule()})),this._localToDispose.add(Object(o.h)(function(){if(e._editor.getModel()){var t=s.c.capture(e._editor);e._editor.changeDecorations(function(t){e._editor.changeViewZones(function(n){e._disposeAllLenses(t,n)})}),t.restore(e._editor)}else e._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onDidChangeConfiguration(function(t){if(t.fontInfo)for(var n=0,i=e._lenses;ni||(n&&n[n.length-1].symbol.range.startLineNumber===c?n.push(u):(n=[u],r.push(n)))}var l=s.c.capture(this._editor);this._editor.changeDecorations(function(e){t._editor.changeViewZones(function(n){for(var i=new x,o=0,s=0;s=0;r--)t.sheet.deleteRule(i[r])},t.F=function(e){if("object"==typeof HTMLElement)return e instanceof HTMLElement;return e&&"object"==typeof e&&1===e.nodeType&&"string"==typeof e.nodeName},n.d(t,"d",function(){return Y}),n.d(t,"c",function(){return X}),t.O=function(e){for(var t=[],n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)t[n]=e.scrollTop,e=e.parentNode;return t},t.M=function(e,t){for(var n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)e.scrollTop!==t[n]&&(e.scrollTop=t[n]),e=e.parentNode},t.S=function(e){return new $(e)},t.m=function(e){for(var t=[],n=1;n=0;){if(o=s+r,(0===s||32===n.charCodeAt(s-1))&&32===n.charCodeAt(o))return this._lastStart=s,void(this._lastEnd=o+1);if(s>0&&32===n.charCodeAt(s-1)&&o===i)return this._lastStart=s-1,void(this._lastEnd=o);if(0===s&&o===i)return this._lastStart=0,void(this._lastEnd=o)}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,n=[],i=1;i0;){T.sort(F.sort),T.shift().execute()}A=!1},I=function(e,t){void 0===t&&(t=0);var n,i=new F(e,t);return M.push(i),P||(P=!0,n=R,D||(D=self.requestAnimationFrame||self.msRequestAnimationFrame||self.webkitRequestAnimationFrame||self.mozRequestAnimationFrame||self.oRequestAnimationFrame||function(e){return setTimeout(function(){return e((new Date).getTime())},0)}),D.call(self,n)),i},E=function(e,t){if(A){var n=new F(e,t);return T.push(n),n}return I(e,t)};var j=16,W=function(e,t){return t},B=function(e){function t(t,n,i,r,o){void 0===r&&(r=W),void 0===o&&(o=j);var s=e.call(this)||this,a=null,c=0,l=s._register(new u.e),d=function(){c=(new Date).getTime(),i(a),a=null};return s._register(k(t,n,function(e){a=r(a,e);var t=(new Date).getTime()-c;t>=o?(l.cancel(),d()):l.setIfNotSet(d,o-t)})),s}return g(t,e),t}(d.a);function V(e){return document.defaultView.getComputedStyle(e,null)}var H=function(){function e(){}return e.convertToPixels=function(e,t){return parseFloat(t)||0},e.getDimension=function(t,n,i){var r=V(t),o="0";return r&&(o=r.getPropertyValue?r.getPropertyValue(n):r.getAttribute(i)),e.convertToPixels(t,o)},e.getBorderLeftWidth=function(t){return e.getDimension(t,"border-left-width","borderLeftWidth")},e.getBorderRightWidth=function(t){return e.getDimension(t,"border-right-width","borderRightWidth")},e.getBorderTopWidth=function(t){return e.getDimension(t,"border-top-width","borderTopWidth")},e.getBorderBottomWidth=function(t){return e.getDimension(t,"border-bottom-width","borderBottomWidth")},e.getPaddingLeft=function(t){return e.getDimension(t,"padding-left","paddingLeft")},e.getPaddingRight=function(t){return e.getDimension(t,"padding-right","paddingRight")},e.getPaddingTop=function(t){return e.getDimension(t,"padding-top","paddingTop")},e.getPaddingBottom=function(t){return e.getDimension(t,"padding-bottom","paddingBottom")},e.getMarginLeft=function(t){return e.getDimension(t,"margin-left","marginLeft")},e.getMarginTop=function(t){return e.getDimension(t,"margin-top","marginTop")},e.getMarginRight=function(t){return e.getDimension(t,"margin-right","marginRight")},e.getMarginBottom=function(t){return e.getDimension(t,"margin-bottom","marginBottom")},e}(),z=function(){return function(e,t){this.width=e,this.height=t}}();var U=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 K(e,t){for(;e;){if(e===t)return!0;e=e.parentNode}return!1}function q(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 G=null;function Z(){return G||(G=q()),G}var Y={CLICK:"click",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",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",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:r.m?"webkitAnimationStart":"animationstart",ANIMATION_END:r.m?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:r.m?"webkitAnimationIteration":"animationiteration"},X={stop:function(e,t){e.preventDefault?e.preventDefault():e.returnValue=!1,t&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)}};var $=function(e){function t(t){var n=e.call(this)||this;n._onDidFocus=n._register(new l.a),n.onDidFocus=n._onDidFocus.event,n._onDidBlur=n._register(new l.a),n.onDidBlur=n._onDidBlur.event;var i=K(document.activeElement,t),r=!1;return n._register(Object(o.a)(t,Y.FOCUS,!0)(function(){r=!1,i||(i=!0,n._onDidFocus.fire())})),n._register(Object(o.a)(t,Y.BLUR,!0)(function(){i&&(r=!0,window.setTimeout(function(){r&&(r=!1,i=!1,n._onDidBlur.fire())},0))})),n}return g(t,e),t}(d.a);var J,Q=/([\w\-]+)?(#([\w\-]+))?((.([\w\-]+))*)/;function ee(e,t,n){for(var i=[],r=3;r=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},S=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},x=function(){function e(){}return e.prototype.select=function(e,t,n){if(0===n.length)return 0;for(var i=n[0].score[0],r=1;ru&&d.type===i[c].completion.kind&&d.insertText===i[c].completion.insertText&&(u=d.touch,a=c),i[c].completion.preselect&&-1===s)return c}return-1!==a?a:-1!==s?s:0},t.prototype.toJSON=function(){var e=[];return this._cache.forEach(function(t,n){e.push([n,t])}),e},t.prototype.fromJSON=function(e){this._cache.clear();for(var t=0,n=e;t0){this._seq=e[0][1].touch+1;for(var t=0,n=e;t=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},R=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},F=function(){function e(t,n){this._editor=t,this._index=0,this._ckOtherSuggestions=e.OtherSuggestions.bindTo(n)}return e.prototype.dispose=function(){this.reset()},e.prototype.reset=function(){this._ckOtherSuggestions.reset(),Object(a.f)(this._listener),this._model=void 0,this._acceptNext=void 0,this._ignore=!1},e.prototype.set=function(t,n){var i=this,r=t.model,o=t.index;0!==r.items.length?e._moveIndex(!0,r,o)!==o?(this._acceptNext=n,this._model=r,this._index=o,this._listener=this._editor.onDidChangeCursorPosition(function(){i._ignore||i.reset()}),this._ckOtherSuggestions.set(!0)):this.reset():this.reset()},e._moveIndex=function(e,t,n){for(var i=n;(i=(i+t.items.length+(e?1:-1))%t.items.length)!==n&&t.items[i].completion.additionalTextEdits;);return i},e.prototype.next=function(){this._move(!0)},e.prototype.prev=function(){this._move(!1)},e.prototype._move=function(t){if(this._model)try{this._ignore=!0,this._index=e._moveIndex(t,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}},e.OtherSuggestions=new T.d("hasOtherSuggestions",!1),e=A([R(1,T.c)],e)}(),j=n("Kp7x"),W=n("iHM7"),B=n("GYOr"),V=n("iXRW"),H=n("aL7J"),z=(function(){}(),function(){function e(t,n,i,r,o){void 0===o&&(o=V.a.contribInfo.suggest),this._snippetCompareFn=e._compareCompletionItems,this._items=t,this._column=n,this._wordDistance=r,this._options=o,this._refilterKind=1,this._lineContext=i,"top"===o.snippets?this._snippetCompareFn=e._compareCompletionItemsSnippetsUp:"bottom"===o.snippets&&(this._snippetCompareFn=e._compareCompletionItemsSnippetsDown)}return 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.characterCountDelta2e3?B.d:B.e,u=0;u=d)c.score=B.a.Default;else if("string"==typeof c.completion.filterText){if(!(p=a(i,r,h,c.completion.filterText,c.filterTextLow,0,!1)))continue;0===Object(H.e)(c.completion.filterText,c.completion.label)?c.score=p:(c.score=Object(B.b)(i,r,h,c.completion.label,c.labelLow,0),c.score[0]=p[0])}else{var p;if(!(p=a(i,r,h,c.completion.label,c.labelLow,0,!1)))continue;c.score=p}}switch(c.idx=u,c.distance=this._wordDistance.distance(c.position,c.completion),s.push(c),this._stats.suggestionCount++,c.completion.kind){case 25:this._stats.snippetCount++;break;case 18:this._stats.textCount++}}this._filteredItems=s.sort(this._snippetCompareFn),this._refilterKind=0},e._compareCompletionItems=function(e,t){return e.score[0]>t.score[0]?-1:e.score[0]t.distance?1:e.idxt.idx?1:0},e._compareCompletionItemsSnippetsDown=function(t,n){if(t.completion.kind!==n.completion.kind){if(25===t.completion.kind)return 1;if(25===n.completion.kind)return-1}return e._compareCompletionItems(t,n)},e._compareCompletionItemsSnippetsUp=function(t,n){if(t.completion.kind!==n.completion.kind){if(25===t.completion.kind)return-1;if(25===n.completion.kind)return 1}return e._compareCompletionItems(t,n)},e}()),U=n("80kS"),K=n("NjuD"),q=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),G=function(){function e(){}return e.create=function(t,n){if(!n.getConfiguration().contribInfo.suggest.localityBonus)return Promise.resolve(e.None);if(!n.hasModel())return Promise.resolve(e.None);var i=n.getModel(),r=n.getPosition();return t.canComputeWordRanges(i.uri)?(new K.a).provideSelectionRanges(i,[r]).then(function(s){return s&&0!==s.length&&0!==s[0].length?t.computeWordRanges(i.uri,s[0][0].range).then(function(t){return new(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return q(i,e),i.prototype.distance=function(e,i){if(!t||!r.equals(n.getPosition()))return 0;if(17===i.kind)return 2<<20;var a=i.label,u=t[a];if(Object(o.m)(u))return 2<<20;for(var c=Object(o.c)(u,l.a.fromPositions(e),l.a.compareRangesUsingStarts),d=c>=0?u[c]:u[Math.max(0,~c-1)],h=s.length,f=0,p=s[0];f0?{triggerKind:2}:{triggerKind:0},this._requestToken=new U.b;var h=this._editor.getConfiguration().contribInfo,f=new Set,p=1;switch(h.suggest.snippets){case"top":p=0;break;case"bottom":p=2;break;case"none":f.add(25)}for(var g in h.suggest.filteredTypes){var v=Object(m.A)(g,!0);void 0!==v&&!1===h.suggest.filteredTypes[g]&&f.add(v)}var _=G.create(this._editorWorker,this._editor),b=Object(P.e)(c,this._editor.getPosition(),new P.a(p,f,n),u,this._requestToken.token);Promise.all([b,_]).then(function(t){var n=t[0],s=t[1];if(Object(a.f)(r._requestToken),0!==r._state&&r._editor.hasModel()){var u=r._editor.getModel();if(Object(o.n)(i)){var c=Object(P.d)(p);n=n.concat(i).sort(c)}var d=new Z(u,r._editor.getPosition(),l,e.shy);r._completionModel=new z(n,r._context.column,{leadingLineContent:d.leadingLineContent,characterCountDelta:d.column-r._context.column},s,r._editor.getConfiguration().contribInfo.suggest);for(var h=0,f=n;hthis._context.column&&this._completionModel.incomplete.size>0&&0!==e.leadingWord.word.length){var t=this._completionModel.incomplete,n=this._completionModel.adopt(t);this.trigger({auto:2===this._state,shy:!1},!0,t,n)}else{var i=this._completionModel.lineContext,r=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},0===this._completionModel.items.length){if(Z.shouldAutoTrigger(this._editor)&&this._context.leadingWord.endColumn0)&&0===e.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,auto:this._context.auto,shy:this._context.shy,isFrozen:r})}}else this.cancel()},e}(),X=(n("YUwp"),n("7/Cv")),$=n("SWdJ"),J=n("qecS"),Q=n("NqM+"),ee=n("3ciN"),te=n("Yqb6"),ne=n("eoic"),ie=n("L5KM"),re=n("VBCr"),oe=n("6TMp"),se=n("GsV8"),ae=n("tpa8"),ue=n("lapT"),ce=n("ZYUE"),le=n("9XyG");function de(e,t,n,i){var r=i===I.ROOT_FOLDER?["rootfolder-icon"]:i===I.FOLDER?["folder-icon"]:["file-icon"];if(n){var o;if(n.scheme===ue.b.data)o=ce.a.parseMetaData(n).get(ce.a.META_DATA_LABEL);else o=he(Object(ce.c)(n).toLowerCase());if(i===I.FOLDER)r.push(o+"-name-folder-icon");else{if(o){r.push(o+"-name-file-icon");for(var s=o.split("."),a=1;a=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},_e=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},be=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},ye=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0&&(c.extraClasses=(c.extraClasses||[]).concat(["deprecated"]),c.matches=[]),r.iconLabel.setLabel(s.label,void 0,c),r.typeLabel.textContent=(s.detail||"").replace(/\n.*$/m,""),ke(e)?(Object(X.Q)(r.readMore),r.readMore.onmousedown=function(e){e.stopPropagation(),e.preventDefault()},r.readMore.onclick=function(e){e.stopPropagation(),e.preventDefault(),i.widget.toggleDetails()}):(Object(X.D)(r.readMore),r.readMore.onmousedown=null,r.readMore.onclick=null)},e.prototype.disposeTemplate=function(e){e.disposables.dispose()},e=ve([_e(3,fe.a),_e(4,oe.a),_e(5,ne.c)],e)}(),Ee=function(){function e(e,t,n,i,r){var o=this;this.widget=t,this.editor=n,this.markdownRenderer=i,this.triggerKeybindingLabel=r,this.borderWidth=1,this.disposables=new a.b,this.el=Object(X.m)(e,Object(X.a)(".details")),this.disposables.add(Object(a.h)(function(){return e.removeChild(o.el)})),this.body=Object(X.a)(".body"),this.scrollbar=new J.a(this.body,{}),Object(X.m)(this.el,this.scrollbar.getDomNode()),this.disposables.add(this.scrollbar),this.header=Object(X.m)(this.body,Object(X.a)(".header")),this.close=Object(X.m)(this.header,Object(X.a)("span.close")),this.close.title=D.a("readLess","Read less...{0}",this.triggerKeybindingLabel),this.type=Object(X.m)(this.header,Object(X.a)("p.type")),this.docs=Object(X.m)(this.body,Object(X.a)("p.docs")),this.ariaLabel=null,this.configureFont(),j.b.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(function(e){return e.fontInfo}).on(this.configureFont,this,this.disposables),i.onDidRenderCodeBlock(function(){return o.scrollbar.scanDomNode()},this,this.disposables)}return Object.defineProperty(e.prototype,"element",{get:function(){return this.el},enumerable:!0,configurable:!0}),e.prototype.renderLoading=function(){this.type.textContent=D.a("loading","Loading..."),this.docs.textContent=""},e.prototype.renderItem=function(e,t){var n=this;this.renderDisposeable=Object(a.f)(this.renderDisposeable);var i=e.completion,r=i.documentation,o=i.detail;if(t){var s="";s+="score: "+e.score[0]+(e.word?", compared '"+(e.completion.filterText&&e.completion.filterText+" (filterText)"||e.completion.label)+"' with '"+e.word+"'":" (no prefix)")+"\n",s+="distance: "+e.distance+", see localityBonus-setting\n",s+="index: "+e.idx+", based on "+(e.completion.sortText&&'sortText: "'+e.completion.sortText+'"'||"label")+"\n",r=(new ge.a).appendCodeblock("empty",s),o="Provider: "+e.provider._debugDisplayName}if(!t&&!ke(e))return this.type.textContent="",this.docs.textContent="",Object(X.f)(this.el,"no-docs"),void(this.ariaLabel=null);if(Object(X.I)(this.el,"no-docs"),"string"==typeof r)Object(X.I)(this.docs,"markdown-docs"),this.docs.textContent=r;else{Object(X.f)(this.docs,"markdown-docs"),this.docs.innerHTML="";var u=this.markdownRenderer.render(r);this.renderDisposeable=u,this.docs.appendChild(u.element)}o?(this.type.innerText=o,Object(X.Q)(this.type)):(this.type.innerText="",Object(X.D)(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(),n.widget.toggleDetails()},this.body.scrollTop=0,this.scrollbar.scanDomNode(),this.ariaLabel=H.r("{0}{1}",o||"",r?"string"==typeof r?r:r.value:"")},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,n=e.contribInfo.suggestFontSize||e.fontInfo.fontSize,i=e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight,r=e.fontInfo.fontWeight,o=n+"px",s=i+"px";this.el.style.fontSize=o,this.el.style.fontWeight=r,this.type.style.fontFamily=t,this.close.style.height=s,this.close.style.width=s},e.prototype.dispose=function(){this.disposables.dispose(),this.renderDisposeable=Object(a.f)(this.renderDisposeable)},e}(),Ie=function(){function e(e,t,n,i,r,o,s,u,c){var l=this;this.editor=e,this.telemetryService=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.state=null,this.isAuto=!1,this.loadingTimeout=a.a.None,this.currentSuggestionDetails=null,this.ignoreFocusEvents=!1,this.completionModel=null,this.showTimeout=new v.e,this.toDispose=new a.b,this.onDidSelectEmitter=new j.a,this.onDidFocusEmitter=new j.a,this.onDidHideEmitter=new j.a,this.onDidShowEmitter=new j.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.firstFocusInCurrentList=!1,this.preferDocPositionTop=!1,this.docsPositionPreviousWidgetY=null,this.explainMode=!1,this._lastAriaAlertLabel=null;var d=o.lookupKeybinding("editor.action.triggerSuggest"),h=d?" ("+d.getLabel()+")":"",f=this.toDispose.add(new re.a(e,s,u));this.isAuto=!1,this.focusedItem=null,this.storageService=r,this.element=Object(X.a)(".editor-widget.suggest-widget"),this.toDispose.add(Object(X.h)(this.element,"click",function(e){e.target===l.element&&l.hideWidget()})),this.messageElement=Object(X.m)(this.element,Object(X.a)(".message")),this.listElement=Object(X.m)(this.element,Object(X.a)(".tree")),this.details=c.createInstance(Ee,this.element,this,this.editor,f,h);var p=function(){return Object(X.R)(l.element,"no-icons",!l.editor.getConfiguration().contribInfo.suggest.showIcons)};p();var g=c.createInstance(Ne,this,this.editor,h);this.list=new $.b(this.listElement,this,[g],{useShadows:!1,openController:{shouldOpen:function(){return!1}},mouseSupport:!1}),this.toDispose.add(Object(te.b)(this.list,i,{listInactiveFocusBackground:xe,listInactiveFocusOutline:ie.b})),this.toDispose.add(i.onThemeChange(function(e){return l.onThemeChange(e)})),this.toDispose.add(e.onDidLayoutChange(function(){return l.onEditorLayoutChange()})),this.toDispose.add(this.list.onMouseDown(function(e){return l.onListMouseDown(e)})),this.toDispose.add(this.list.onSelectionChange(function(e){return l.onListSelection(e)})),this.toDispose.add(this.list.onFocusChange(function(e){return l.onListFocus(e)})),this.toDispose.add(this.editor.onDidChangeCursorSelection(function(){return l.onCursorSelectionChanged()})),this.toDispose.add(this.editor.onDidChangeConfiguration(function(e){return e.contribInfo&&p()})),this.suggestWidgetVisible=P.b.Visible.bindTo(n),this.suggestWidgetMultipleSuggestions=P.b.MultipleSuggestions.bindTo(n),this.editor.addContentWidget(this),this.setState(0),this.onThemeChange(i.getTheme())}return e.prototype.onCursorSelectionChanged=function(){0!==this.state&&this.editor.layoutContentWidget(this)},e.prototype.onEditorLayoutChange=function(){3!==this.state&&5!==this.state||!this.expandDocsSettingFromStorage()||this.expandSideOrBelow()},e.prototype.onListMouseDown=function(e){void 0!==e.element&&void 0!==e.index&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this.select(e.element,e.index))},e.prototype.onListSelection=function(e){e.elements.length&&this.select(e.elements[0],e.indexes[0])},e.prototype.select=function(e,t){var n=this.completionModel;n&&(this.onDidSelectEmitter.fire({item:e,index:t,model:n}),this.editor.focus())},e.prototype._getSuggestionAriaAlertLabel=function(e){return this.expandDocsSettingFromStorage()?D.a("ariaCurrenttSuggestionReadDetails","Item {0}, docs: {1}",e.completion.label,this.details.getAriaLabel()):e.completion.label},e.prototype._ariaAlert=function(e){this._lastAriaAlertLabel!==e&&(this._lastAriaAlertLabel=e,this._lastAriaAlertLabel&&Object(r.a)(this._lastAriaAlertLabel,!0))},e.prototype.onThemeChange=function(e){var t=e.getColor(we);t&&(this.listElement.style.backgroundColor=t.toString(),this.details.element.style.backgroundColor=t.toString(),this.messageElement.style.backgroundColor=t.toString());var n=e.getColor(Ce);n&&(this.listElement.style.borderColor=n.toString(),this.details.element.style.borderColor=n.toString(),this.messageElement.style.borderColor=n.toString(),this.detailsBorderColor=n.toString());var i=e.getColor(ie.S);i&&(this.detailsFocusBorderColor=i.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);if(this.completionModel){var n=e.elements[0],i=e.indexes[0];this.firstFocusInCurrentList=!this.focusedItem,n!==this.focusedItem&&(this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null),this.focusedItem=n,this.list.reveal(i),this.currentSuggestionDetails=Object(v.f)(function(e){return be(t,void 0,void 0,function(){var t,i,r=this;return ye(this,function(o){switch(o.label){case 0:return t=Object(v.g)(function(){return r.showDetails(!0)},250),e.onCancellationRequested(function(){return t.dispose()}),[4,n.resolve(e)];case 1:return i=o.sent(),t.dispose(),[2,i]}})})}),this.currentSuggestionDetails.then(function(){i>=t.list.length||n!==t.list.element(i)||(t.ignoreFocusEvents=!0,t.list.splice(i,1,[n]),t.list.setFocus([i]),t.ignoreFocusEvents=!1,t.expandDocsSettingFromStorage()?t.showDetails(!1):Object(X.I)(t.element,"docs-side"),t._ariaAlert(t._getSuggestionAriaAlertLabel(n)))}).catch(s.e)),this.onDidFocusEmitter.fire({item:n,index:i,model:this.completionModel})}}},e.prototype.setState=function(t){if(this.element){var n=this.state!==t;switch(this.state=t,Object(X.R)(this.element,"frozen",4===t),t){case 0:Object(X.D)(this.messageElement,this.details.element,this.listElement),this.hide(),this.listHeight=0,n&&this.list.splice(0,this.list.length),this.focusedItem=null;break;case 1:this.messageElement.textContent=e.LOADING_MESSAGE,Object(X.D)(this.listElement,this.details.element),Object(X.Q)(this.messageElement),Object(X.I)(this.element,"docs-side"),this.show(),this.focusedItem=null;break;case 2:this.messageElement.textContent=e.NO_SUGGESTIONS_MESSAGE,Object(X.D)(this.listElement,this.details.element),Object(X.Q)(this.messageElement),Object(X.I)(this.element,"docs-side"),this.show(),this.focusedItem=null;break;case 3:case 4:Object(X.D)(this.messageElement),Object(X.Q)(this.listElement),this.show();break;case 5:Object(X.D)(this.messageElement),Object(X.Q)(this.details.element,this.listElement),this.show(),this._ariaAlert(this.details.getAriaLabel())}}},e.prototype.showTriggered=function(e,t){var n=this;0===this.state&&(this.isAuto=!!e,this.isAuto||(this.loadingTimeout=Object(v.g)(function(){return n.setState(1)},t)))},e.prototype.showSuggestions=function(e,t,n,i){if(this.preferDocPositionTop=!1,this.docsPositionPreviousWidgetY=null,this.loadingTimeout.dispose(),this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null),this.completionModel!==e&&(this.completionModel=e),n&&2!==this.state&&0!==this.state)this.setState(4);else{var r=this.completionModel.items.length,o=0===r;if(this.suggestWidgetMultipleSuggestions.set(r>1),o)i?this.setState(0):this.setState(2),this.completionModel=null;else{if(3!==this.state){var s=this.completionModel.stats;s.wasAutomaticallyTriggered=!!i,this.telemetryService.publicLog("suggestWidget",me({},s))}this.focusedItem=null,this.list.splice(0,this.list.length,this.completionModel.items),n?this.setState(4):this.setState(3),this.list.reveal(t,0),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&&this.completionModel)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.publicLog2("suggestWidget:toggleDetailsFocus")},e.prototype.toggleDetails=function(){if(ke(this.list.getFocusedElements()[0]))if(this.expandDocsSettingFromStorage())this.updateExpandDocsSetting(!1),Object(X.D)(this.details.element),Object(X.I)(this.element,"docs-side"),Object(X.I)(this.element,"docs-below"),this.editor.layoutContentWidget(this),this.telemetryService.publicLog2("suggestWidget:collapseDetails");else{if(3!==this.state&&5!==this.state&&4!==this.state)return;this.updateExpandDocsSetting(!0),this.showDetails(!1),this._ariaAlert(this.details.getAriaLabel()),this.telemetryService.publicLog2("suggestWidget:expandDetails")}},e.prototype.showDetails=function(e){this.expandSideOrBelow(),Object(X.Q)(this.details.element),this.details.element.style.maxHeight=this.maxWidgetHeight+"px",e?this.details.renderLoading():this.details.renderItem(this.list.getFocusedElements()[0],this.explainMode),this.listElement.style.marginTop="0px",this.editor.layoutContentWidget(this),this.adjustDocsPosition(),this.editor.focus()},e.prototype.toggleExplainMode=function(){this.list.getFocusedElements()[0]&&this.expandDocsSettingFromStorage()&&(this.explainMode=!this.explainMode,this.showDetails(!1))},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(X.f)(e.element,"visible"),e.onDidShowEmitter.fire(e)},100)},e.prototype.hide=function(){this.suggestWidgetVisible.reset(),this.suggestWidgetMultipleSuggestions.reset(),Object(X.I)(this.element,"visible")},e.prototype.hideWidget=function(){this.loadingTimeout.dispose(),this.setState(0),this.onDidHideEmitter.fire(this)},e.prototype.getPosition=function(){if(0===this.state)return null;var e=[2,1];return this.preferDocPositionTop&&(e=[1]),{position:this.editor.getPosition(),preference:e}},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,n=this.editor.getConfiguration().contribInfo.suggest.maxVisibleSuggestions;e=Math.min(t,n)*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(){if(this.editor.hasModel()){var e=this.editor.getConfiguration().fontInfo.lineHeight,t=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),n=Object(X.x)(this.editor.getDomNode()),i=n.left+t.left,r=n.top+t.top+t.height,o=Object(X.x)(this.element),s=o.left,a=o.top;if(this.docsPositionPreviousWidgetY&&this.docsPositionPreviousWidgetYa&&this.details.element.offsetHeight>this.listElement.offsetHeight&&(this.listElement.style.marginTop=this.details.element.offsetHeight-this.listElement.offsetHeight+"px")}},e.prototype.expandSideOrBelow=function(){if(!ke(this.focusedItem)&&this.firstFocusInCurrentList)return Object(X.I)(this.element,"docs-side"),void Object(X.I)(this.element,"docs-below");var e=this.element.style.maxWidth.match(/(\d+)px/);!e||Number(e[1])=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Te=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Pe=function(e){function t(n,i){var r=e.call(this)||this;return r._editor=n,r._enabled=!1,r._ckAtEnd=t.AtEnd.bindTo(i),r._register(r._editor.onDidChangeConfiguration(function(e){return e.contribInfo&&r._update()})),r._update(),r}return De(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),Object(a.f)(this._selectionListener),this._ckAtEnd.reset()},t.prototype._update=function(){var e=this,t="on"===this._editor.getConfiguration().contribInfo.tabCompletion;if(this._enabled!==t)if(this._enabled=t,this._enabled){var n=function(){if(e._editor.hasModel()){var t=e._editor.getModel(),n=e._editor.getSelection(),i=t.getWordAtPosition(n.getStartPosition());i?e._ckAtEnd.set(i.endColumn===n.getStartPosition().column):e._ckAtEnd.set(!1)}else e._ckAtEnd.set(!1)};this._selectionListener=this._editor.onDidChangeCursorSelection(n),n()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)},t.AtEnd=new T.d("atEndOfWord",!1),t=Me([Te(1,T.c)],t)}(a.a),Ae=n("606G"),Re=n("KIxu"),Fe=n("GfE5"),je=function(){function e(e,t,n){var i=this;this._disposables=new a.b,this._disposables.add(t.onDidShow(function(){return i._onItem(t.getFocusedItem())})),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(function(t){if(i._active){var r=t.charCodeAt(t.length-1);i._active.acceptCharacters.has(r)&&e.getConfiguration().contribInfo.acceptSuggestionOnCommitCharacter&&n(i._active.item)}}))}return e.prototype._onItem=function(e){if(e&&Object(o.n)(e.item.completion.commitCharacters)){if(!this._active||this._active.item.item!==e.item){for(var t=new Fe.b,n=0,i=e.item.completion.commitCharacters;n0&&t.add(r.charCodeAt(0))}this._active={acceptCharacters:t,item:e}}}else this.reset()},e.prototype.reset=function(){this._active=void 0},e.prototype.dispose=function(){this._disposables.dispose()},e}();n.d(t,"SuggestController",function(){return Ke}),n.d(t,"TriggerSuggestAction",function(){return qe});var We=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Be=this&&this.__assign||function(){return(Be=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},He=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ze=!1,Ue=function(){function e(e,t){if(this._model=e,this._position=t,e.getLineMaxColumn(t.lineNumber)!==t.column){var n=e.getOffsetAt(t),i=e.getPositionAt(n+1);this._marker=e.deltaDecorations([],[{range:l.a.fromPositions(t,i),options:{stickiness:1}}])}}return e.prototype.dispose=function(){this._marker&&!this._model.isDisposed()&&this._model.deltaDecorations(this._marker,[])},e.prototype.delta=function(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){var t=this._model.getDecorationRange(this._marker[0]);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}return this._model.getLineMaxColumn(e.lineNumber)-e.column},e}(),Ke=function(){function e(e,t,n,i,r,o){var s=this;this._editor=e,this._memoryService=n,this._commandService=i,this._contextKeyService=r,this._instantiationService=o,this._lineSuffix=new a.d,this._toDispose=new a.b,this._model=new Y(this._editor,t),this._widget=new v.b(function(){var e=s._instantiationService.createInstance(Ie,s._editor);s._toDispose.add(e),s._toDispose.add(e.onDidSelect(function(e){return s._insertSuggestion(e,!1,!0)},s));var t=new je(s._editor,e,function(e){return s._insertSuggestion(e,!1,!0)});s._toDispose.add(t),s._toDispose.add(s._model.onDidSuggest(function(e){0===e.completionModel.items.length&&t.reset()}));var n=P.b.MakesTextEdit.bindTo(s._contextKeyService);return s._toDispose.add(e.onDidFocus(function(e){var t=e.item,i=s._editor.getPosition(),r=t.completion.range.startColumn,o=i.column,a=!0;"smart"!==s._editor.getConfiguration().contribInfo.acceptSuggestionOnEnter||2!==s._model.state||t.completion.command||t.completion.additionalTextEdits||4&t.completion.insertTextRules||o-r!==t.completion.insertText.length||(a=s._editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:r,endLineNumber:i.lineNumber,endColumn:o})!==t.completion.insertText);n.set(a)})),s._toDispose.add(Object(a.h)(function(){return n.reset()})),e}),this._alternatives=new v.b(function(){return s._toDispose.add(new F(s._editor,s._contextKeyService))}),this._toDispose.add(o.createInstance(Pe,e)),this._toDispose.add(this._model.onDidTrigger(function(e){s._widget.getValue().showTriggered(e.auto,e.shy?250:50),s._lineSuffix.value=new Ue(s._editor.getModel(),e.position)})),this._toDispose.add(this._model.onDidSuggest(function(e){if(!e.shy){var t=s._memoryService.select(s._editor.getModel(),s._editor.getPosition(),e.completionModel.items);s._widget.getValue().showSuggestions(e.completionModel,t,e.isFrozen,e.auto)}})),this._toDispose.add(this._model.onDidCancel(function(e){e.retrigger||s._widget.getValue().hideWidget()})),this._toDispose.add(this._editor.onDidBlurEditorWidget(function(){ze||(s._model.cancel(),s._model.clear())}));var u=P.b.AcceptSuggestionsOnEnter.bindTo(r),c=function(){var e=s._editor.getConfiguration().contribInfo.acceptSuggestionOnEnter;u.set("on"===e||"smart"===e)};this._toDispose.add(this._editor.onDidChangeConfiguration(function(){return c()})),c()}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._alternatives.dispose(),this._toDispose.dispose(),this._widget.dispose(),this._model.dispose(),this._lineSuffix.dispose()},e.prototype._insertSuggestion=function(e,t,n){var i,r=this;if(!e||!e.item)return this._alternatives.getValue().reset(),this._model.cancel(),void this._model.clear();if(this._editor.hasModel()){var o=this._editor.getModel(),a=o.getAlternativeVersionId(),u=e.item,d=u.completion,p=u.position,g=this._editor.getPosition().column-p.column;n&&this._editor.pushUndoStop(),Array.isArray(d.additionalTextEdits)&&this._editor.executeEdits("suggestController.additionalTextEdits",d.additionalTextEdits.map(function(e){return c.a.replace(l.a.lift(e.range),e.text)})),this._memoryService.memorize(o,this._editor.getPosition(),e.item);var m=d.insertText;4&d.insertTextRules||(m=f.c.escape(m));var v=p.column-d.range.startColumn,_=d.range.endColumn-p.column,b=this._lineSuffix.value?this._lineSuffix.value.delta(this._editor.getPosition()):0;h.SnippetController2.get(this._editor).insert(m,{overwriteBefore:v+g,overwriteAfter:_+b,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(1&d.insertTextRules)}),n&&this._editor.pushUndoStop(),d.command?d.command.id===qe.id?this._model.trigger({auto:!0,shy:!1},!0):((i=this._commandService).executeCommand.apply(i,[d.command.id].concat(d.command.arguments?d.command.arguments.slice():[])).catch(s.e).finally(function(){return r._model.clear()}),this._model.cancel()):(this._model.cancel(),this._model.clear()),t&&this._alternatives.getValue().set(e,function(e){for(;o.canUndo();){a!==o.getAlternativeVersionId()&&o.undo(),r._insertSuggestion(e,!1,!1);break}}),this._alertCompletionItem(e.item)}},e.prototype._alertCompletionItem=function(e){var t=e.completion;if(Object(o.n)(t.additionalTextEdits)){var n=D.a("arai.alert.snippet","Accepting '{0}' made {1} additional edits",t.label,t.additionalTextEdits.length);Object(r.a)(n)}},e.prototype.triggerSuggest=function(e){this._editor.hasModel()&&(this._model.trigger({auto:!1,shy:!1},!1,e),this._editor.revealLine(this._editor.getPosition().lineNumber,0),this._editor.focus())},e.prototype.triggerSuggestAndAcceptBest=function(e){var t=this;if(this._editor.hasModel()){var n=this._editor.getPosition(),i=function(){n.equals(t._editor.getPosition())&&t._commandService.executeCommand(e.fallback)};j.b.once(this._model.onDidTrigger)(function(e){var n=[];j.b.any(t._model.onDidTrigger,t._model.onDidCancel)(function(){Object(a.f)(n),i()},void 0,n),t._model.onDidSuggest(function(e){var r=e.completionModel;if(Object(a.f)(n),0!==r.items.length){var o=t._memoryService.select(t._editor.getModel(),t._editor.getPosition(),r.items),s=r.items[o];!function(e){if(4&e.completion.insertTextRules||e.completion.additionalTextEdits)return!0;var n=t._editor.getPosition(),i=e.completion.range.startColumn,r=n.column;return r-i!==e.completion.insertText.length||t._editor.getModel().getValueInRange({startLineNumber:n.lineNumber,startColumn:i,endLineNumber:n.lineNumber,endColumn:r})!==e.completion.insertText}(s)?i():(t._editor.pushUndoStop(),t._insertSuggestion({index:o,item:s,model:r},!0,!1))}else i()},void 0,n)}),this._model.trigger({auto:!1,shy:!0}),this._editor.revealLine(n.lineNumber,0),this._editor.focus()}},e.prototype.acceptSelectedSuggestion=function(e){var t=this._widget.getValue().getFocusedItem();this._insertSuggestion(t,!!e,!0)},e.prototype.acceptNextSuggestion=function(){this._alternatives.getValue().next()},e.prototype.acceptPrevSuggestion=function(){this._alternatives.getValue().prev()},e.prototype.cancelSuggestWidget=function(){this._model.cancel(),this._model.clear(),this._widget.getValue().hideWidget()},e.prototype.selectNextSuggestion=function(){this._widget.getValue().selectNext()},e.prototype.selectNextPageSuggestion=function(){this._widget.getValue().selectNextPage()},e.prototype.selectLastSuggestion=function(){this._widget.getValue().selectLast()},e.prototype.selectPrevSuggestion=function(){this._widget.getValue().selectPrevious()},e.prototype.selectPrevPageSuggestion=function(){this._widget.getValue().selectPreviousPage()},e.prototype.selectFirstSuggestion=function(){this._widget.getValue().selectFirst()},e.prototype.toggleSuggestionDetails=function(){this._widget.getValue().toggleDetails()},e.prototype.toggleExplainMode=function(){this._widget.getValue().toggleExplainMode()},e.prototype.toggleSuggestionFocus=function(){this._widget.getValue().toggleDetailsFocus()},e.ID="editor.contrib.suggestController",e=Ve([He(1,Ae.a),He(2,E),He(3,M.b),He(4,T.c),He(5,_.a)],e)}(),qe=function(e){function t(){return e.call(this,{id:t.id,label:D.a("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:T.a.and(d.a.writable,d.a.hasCompletionItemProvider),kbOpts:{kbExpr:d.a.textInputFocus,primary:2058,mac:{primary:266},weight:100}})||this}return We(t,e),t.prototype.run=function(e,t){var n=Ke.get(t);n&&n.triggerSuggest()},t.id="editor.action.triggerSuggest",t}(u.b);Object(u.h)(Ke),Object(u.f)(qe);var Ge=u.c.bindToContribution(Ke.get);Object(u.g)(new Ge({id:"acceptSelectedSuggestion",precondition:P.b.Visible,handler:function(e){return e.acceptSelectedSuggestion(!0)},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:2}})),Object(u.g)(new Ge({id:"acceptSelectedSuggestionOnEnter",precondition:P.b.Visible,handler:function(e){return e.acceptSelectedSuggestion(!1)},kbOpts:{weight:190,kbExpr:T.a.and(d.a.textInputFocus,P.b.AcceptSuggestionsOnEnter,P.b.MakesTextEdit),primary:3}})),Object(u.g)(new Ge({id:"hideSuggestWidget",precondition:P.b.Visible,handler:function(e){return e.cancelSuggestWidget()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:9,secondary:[1033]}})),Object(u.g)(new Ge({id:"selectNextSuggestion",precondition:T.a.and(P.b.Visible,P.b.MultipleSuggestions),handler:function(e){return e.selectNextSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),Object(u.g)(new Ge({id:"selectNextPageSuggestion",precondition:T.a.and(P.b.Visible,P.b.MultipleSuggestions),handler:function(e){return e.selectNextPageSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:12,secondary:[2060]}})),Object(u.g)(new Ge({id:"selectLastSuggestion",precondition:T.a.and(P.b.Visible,P.b.MultipleSuggestions),handler:function(e){return e.selectLastSuggestion()}})),Object(u.g)(new Ge({id:"selectPrevSuggestion",precondition:T.a.and(P.b.Visible,P.b.MultipleSuggestions),handler:function(e){return e.selectPrevSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),Object(u.g)(new Ge({id:"selectPrevPageSuggestion",precondition:T.a.and(P.b.Visible,P.b.MultipleSuggestions),handler:function(e){return e.selectPrevPageSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:11,secondary:[2059]}})),Object(u.g)(new Ge({id:"selectFirstSuggestion",precondition:T.a.and(P.b.Visible,P.b.MultipleSuggestions),handler:function(e){return e.selectFirstSuggestion()}})),Object(u.g)(new Ge({id:"toggleSuggestionDetails",precondition:P.b.Visible,handler:function(e){return e.toggleSuggestionDetails()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:2058,mac:{primary:266}}})),Object(u.g)(new Ge({id:"toggleExplainMode",precondition:P.b.Visible,handler:function(e){return e.toggleExplainMode()},kbOpts:{weight:100,primary:2133}})),Object(u.g)(new Ge({id:"toggleSuggestionFocus",precondition:P.b.Visible,handler:function(e){return e.toggleSuggestionFocus()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:2570,mac:{primary:778}}})),Object(u.g)(new Ge({id:"insertBestCompletion",precondition:T.a.and(T.a.equals("config.editor.tabCompletion","on"),Pe.AtEnd,P.b.Visible.toNegated(),F.OtherSuggestions.toNegated(),h.SnippetController2.InSnippetMode.toNegated()),handler:function(e,t){e.triggerSuggestAndAcceptBest(Object(Re.h)(t)?Be({fallback:"tab"},t):{fallback:"tab"})},kbOpts:{weight:190,primary:2}})),Object(u.g)(new Ge({id:"insertNextSuggestion",precondition:T.a.and(T.a.equals("config.editor.tabCompletion","on"),F.OtherSuggestions,P.b.Visible.toNegated(),h.SnippetController2.InSnippetMode.toNegated()),handler:function(e){return e.acceptNextSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:2}})),Object(u.g)(new Ge({id:"insertPrevSuggestion",precondition:T.a.and(T.a.equals("config.editor.tabCompletion","on"),F.OtherSuggestions,P.b.Visible.toNegated(),h.SnippetController2.InSnippetMode.toNegated()),handler:function(e){return e.acceptPrevSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:1026}}))},"7dSG":function(e,t,n){"use strict";(function(t,i){var r=n("ypnx");function o(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var i=e.entry;e.entry=null;for(;i;){var r=i.callback;t.pendingcb--,r(n),i=i.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=v;var s,a=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?setImmediate:r.nextTick;v.WritableState=m;var u=n("jOgh");u.inherits=n("LC74");var c={deprecate:n("iP15")},l=n("UcPO"),d=n("kkc6").Buffer,h=i.Uint8Array||function(){};var f,p=n("x0Ha");function g(){}function m(e,t){s=s||n("DsFX"),e=e||{};var i=t instanceof s;this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var u=e.highWaterMark,c=e.writableHighWaterMark,l=this.objectMode?16:16384;this.highWaterMark=u||0===u?u:i&&(c||0===c)?c:l,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 d=!1===e.decodeStrings;this.decodeStrings=!d,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 n=e._writableState,i=n.sync,o=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,i,o){--t.pendingcb,n?(r.nextTick(o,i),r.nextTick(S,e,t),e._writableState.errorEmitted=!0,e.emit("error",i)):(o(i),e._writableState.errorEmitted=!0,e.emit("error",i),S(e,t))}(e,n,i,t,o);else{var s=w(n);s||n.corked||n.bufferProcessing||!n.bufferedRequest||y(e,n),i?a(b,e,n,s,o):b(e,n,s,o)}}(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 o(this)}function v(e){if(s=s||n("DsFX"),!(f.call(v,this)||this instanceof s))return new v(e);this._writableState=new m(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)),l.call(this)}function _(e,t,n,i,r,o,s){t.writelen=i,t.writecb=s,t.writing=!0,t.sync=!0,n?e._writev(r,t.onwrite):e._write(r,o,t.onwrite),t.sync=!1}function b(e,t,n,i){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,i(),S(e,t)}function y(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var i=t.bufferedRequestCount,r=new Array(i),s=t.corkedRequestsFree;s.entry=n;for(var a=0,u=!0;n;)r[a]=n,n.isBuf||(u=!1),n=n.next,a+=1;r.allBuffers=u,_(e,t,!0,t.length,r,"",s.finish),t.pendingcb++,t.lastBufferedRequest=null,s.next?(t.corkedRequestsFree=s.next,s.next=null):t.corkedRequestsFree=new o(t),t.bufferedRequestCount=0}else{for(;n;){var c=n.chunk,l=n.encoding,d=n.callback;if(_(e,t,!1,t.objectMode?1:c.length,c,l,d),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function w(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function C(e,t){e._final(function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),S(e,t)})}function S(e,t){var n=w(t);return n&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,r.nextTick(C,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}u.inherits(v,l),m.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(m.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]?(f=Function.prototype[Symbol.hasInstance],Object.defineProperty(v,Symbol.hasInstance,{value:function(e){return!!f.call(this,e)||this===v&&(e&&e._writableState instanceof m)}})):f=function(e){return e instanceof this},v.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},v.prototype.write=function(e,t,n){var i,o=this._writableState,s=!1,a=!o.objectMode&&(i=e,d.isBuffer(i)||i instanceof h);return a&&!d.isBuffer(e)&&(e=function(e){return d.from(e)}(e)),"function"==typeof t&&(n=t,t=null),a?t="buffer":t||(t=o.defaultEncoding),"function"!=typeof n&&(n=g),o.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),r.nextTick(t,n)}(this,n):(a||function(e,t,n,i){var o=!0,s=!1;return null===n?s=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),r.nextTick(i,s),o=!1),o}(this,o,e,n))&&(o.pendingcb++,s=function(e,t,n,i,r,o){if(!n){var s=function(e,t,n){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=d.from(t,n));return t}(t,i,r);i!==s&&(n=!0,r="buffer",i=s)}var a=t.objectMode?1:i.length;t.length+=a;var u=t.length-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(v.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),v.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},v.prototype._writev=null,v.prototype.end=function(e,t,n){var i=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!==e&&void 0!==e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||function(e,t,n){t.ending=!0,S(e,t),n&&(t.finished?r.nextTick(n):e.once("finish",n));t.ended=!0,e.writable=!1}(this,i,n)},Object.defineProperty(v.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),v.prototype.destroy=p.destroy,v.prototype._undestroy=p.undestroy,v.prototype._destroy=function(e,t){this.end(),t(e)}}).call(t,n("W2nU"),n("DuR2"))},"7flL":function(e,t,n){var i=n("q5VG"),r=n("X3l8").Buffer,o=n("VI/i"),s=n("annC"),a=n("OMJi"),u="secret must be a string or buffer",c="key must be a string or a buffer",l="key must be a string, a buffer or an object",d="function"==typeof o.createPublicKey;function h(e){if(!r.isBuffer(e)&&"string"!=typeof e){if(!d)throw m(c);if("object"!=typeof e)throw m(c);if("string"!=typeof e.type)throw m(c);if("string"!=typeof e.asymmetricKeyType)throw m(c);if("function"!=typeof e.export)throw m(c)}}function f(e){if(!r.isBuffer(e)&&"string"!=typeof e&&"object"!=typeof e)throw m(l)}function p(e){return e.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function g(e){var t=4-(e=e.toString()).length%4;if(4!==t)for(var n=0;n=0){var n=e.split("!=");return d.create(n[0].trim(),this._deserializeValue(n[1],t))}if(e.indexOf("==")>=0){n=e.split("==");return l.create(n[0].trim(),this._deserializeValue(n[1],t))}if(e.indexOf("=~")>=0){n=e.split("=~");return f.create(n[0].trim(),this._deserializeRegexValue(n[1],t))}return/^\!\s*/.test(e)?h.create(e.substr(1).trim()):c.create(e)},e._deserializeValue=function(e,t){if("true"===(e=e.trim()))return!0;if("false"===e)return!1;var n=/^'([^']*)'$/.exec(e);return n?n[1].trim():e},e._deserializeRegexValue=function(e,t){if(Object(r.u)(e)){if(t)throw new Error("missing regexp-value for =~-expression");return console.warn("missing regexp-value for =~-expression"),null}var n=e.indexOf("/"),i=e.lastIndexOf("/");if(n===i||n<0){if(t)throw new Error("bad regexp-value '"+e+"', missing /-enclosure");return console.warn("bad regexp-value '"+e+"', missing /-enclosure"),null}var o=e.slice(n+1,i),s="i"===e[i+1]?"i":"";try{return new RegExp(o,s)}catch(n){if(t)throw new Error("bad regexp-value '"+e+"', parse error: "+n);return console.warn("bad regexp-value '"+e+"', parse error: "+n),null}},e}();function u(e,t){var n=e.getType(),i=t.getType();if(n!==i)return n-i;switch(n){case 1:case 2:case 3:case 4:case 6:case 7:case 5:return e.cmp(t);default:throw new Error("Unknown ContextKeyExpr!")}}var c=function(){function e(e){this.key=e}return e.create=function(t){return new e(t)},e.prototype.getType=function(){return 1},e.prototype.cmp=function(e){return this.keye.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.keys=function(){return[this.key]},e.prototype.negate=function(){return h.create(this.key)},e}(),l=function(){function e(e,t){this.key=e,this.value=t}return e.create=function(t,n){return"boolean"==typeof n?n?c.create(t):h.create(t):new e(t,n)},e.prototype.getType=function(){return 3},e.prototype.cmp=function(e){return this.keye.key?1:this.valuee.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.keys=function(){return[this.key]},e.prototype.negate=function(){return d.create(this.key,this.value)},e}(),d=function(){function e(e,t){this.key=e,this.value=t}return e.create=function(t,n){return"boolean"==typeof n?n?h.create(t):c.create(t):new e(t,n)},e.prototype.getType=function(){return 4},e.prototype.cmp=function(e){return this.keye.key?1:this.valuee.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.keys=function(){return[this.key]},e.prototype.negate=function(){return l.create(this.key,this.value)},e}(),h=function(){function e(e){this.key=e}return e.create=function(t){return new e(t)},e.prototype.getType=function(){return 2},e.prototype.cmp=function(e){return this.keye.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.keys=function(){return[this.key]},e.prototype.negate=function(){return c.create(this.key)},e}(),f=function(){function e(e,t){this.key=e,this.regexp=t}return e.create=function(t,n){return new e(t,n)},e.prototype.getType=function(){return 6},e.prototype.cmp=function(e){if(this.keye.key)return 1;var t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return tn?1:0},e.prototype.equals=function(t){if(t instanceof e){var n=this.regexp?this.regexp.source:"",i=t.regexp?t.regexp.source:"";return this.key===t.key&&n===i}return!1},e.prototype.evaluate=function(e){var t=e.getValue(this.key);return!!this.regexp&&this.regexp.test(t)},e.prototype.keys=function(){return[this.key]},e.prototype.negate=function(){return p.create(this)},e}(),p=function(){function e(e){this._actual=e}return e.create=function(t){return new e(t)},e.prototype.getType=function(){return 7},e.prototype.cmp=function(e){return this._actual.cmp(e._actual)},e.prototype.equals=function(t){return t instanceof e&&this._actual.equals(t._actual)},e.prototype.evaluate=function(e){return!this._actual.evaluate(e)},e.prototype.keys=function(){return this._actual.keys()},e.prototype.negate=function(){return this._actual},e}(),g=function(){function e(e){this.expr=e}return e.create=function(t){var n=e._normalizeArr(t);if(0!==n.length)return 1===n.length?n[0]:new e(n)},e.prototype.getType=function(){return 5},e.prototype.cmp=function(e){if(this.expr.lengthe.expr.length)return 1;for(var t=0,n=this.expr.length;t1;){for(var s=t.shift(),u=t.shift(),c=[],l=0,d=o(s);l0&&(n._decorations=n._editor.deltaDecorations(n._decorations,[])),n._updateBracketsSoon.schedule()})),n}return _(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.jumpToBracket=function(){if(this._editor.hasModel()){var e=this._editor.getModel(),t=this._editor.getSelections().map(function(t){var n=t.getStartPosition(),i=e.matchBracket(n),r=null;if(i)i[0].containsPosition(n)?r=i[1].getStartPosition():i[1].containsPosition(n)&&(r=i[0].getStartPosition());else{var o=e.findNextBracket(n);o&&o.range&&(r=o.range.getStartPosition())}return r?new l.a(r.lineNumber,r.column,r.lineNumber,r.column):new l.a(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}},t.prototype.selectToBracket=function(){if(this._editor.hasModel()){var e=this._editor.getModel(),t=[];this._editor.getSelections().forEach(function(n){var i=n.getStartPosition(),r=e.matchBracket(i),o=null,s=null;if(!r){var a=e.findNextBracket(i);a&&a.range&&(r=e.matchBracket(a.range.getStartPosition()))}r&&(r[0].startLineNumber===r[1].startLineNumber?(o=r[1].startColumn0&&(this._editor.setSelections(t),this._editor.revealRange(t[0]))}},t.prototype._updateBrackets=function(){if(this._matchBrackets){this._recomputeBrackets();for(var e=[],n=0,i=0,r=this._lastBracketsData.length;i1&&r.sort(c.a.compare);var l=[],d=0,h=0,f=n.length;for(s=0,a=r.length;s0&&void 0!==arguments[0]&&arguments[0];var e=[].concat(r()(this.provider));return"sql"===this.lang&&e.push.apply(e,r()(this.sqlHints)),e},registerCustomHintsProvider:function(){var e=this;this.providerDisposeID=o.languages.registerCompletionItemProvider(this.lang,{provideCompletionItems:function(t,n,i){var r=t.getWordUntilPosition(n);return{suggestions:function(e,t,n){n.word;var i=[];return e.length&&(i=e.map(function(e){return{label:e.name,kind:e.type?o.languages.CompletionItemKind[e.type]:o.languages.CompletionItemKind.Function,documentation:e.documentation,insertText:(n=e.name,n),detail:e.detail||"EMQX",range:t};var n})),i}(e.getHints(r),{startLineNumber:n.lineNumber,endLineNumber:n.lineNumber,startColumn:r.startColumn,endColumn:r.endColumn},r)}},triggerCharacters:[" "]})},registerCustomHoverProvider:function(){var e=this;o.languages.register({id:this.lang}),this.hoverDisposeID=o.languages.registerHoverProvider(this.lang,{provideHover:function(t,n){if(!t.getWordAtPosition(n))return{};var i,r,o,s=t.getWordAtPosition(n).word;return{contents:(i=s,r=e.provider,o=[],r.forEach(function(e){var t=e.name;e.name.match(/\$events\//)&&(t=e.name.split("/")[1].replace('"',"")),i===t&&o.push({value:function(e){var t=e.name,n=e.default,i=e.valueType;return i&&(t=t+": "+i),n?t+", value: "+n:t}(e)},{value:e.documentation})}),o)}}})}},mounted:function(){this.initEditor()},created:function(){var e=this;this.defineTheme(),window.onresize=function(){e.editor&&e.editor.layout()},this.provider.length&&(this.registerCustomHintsProvider(),this.registerCustomHoverProvider())},beforeDestroy:function(){this.editor&&(this.editor.getModel().dispose(),this.editor.dispose(),this.editor=null),this.providerDisposeID&&this.providerDisposeID.dispose(),this.hoverDisposeID&&this.hoverDisposeID.dispose()}},c={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"monaco-view",attrs:{id:"monaco-"+this.id}})},staticRenderFns:[]};var l=n("VU/8")(u,c,!1,function(e){n("u9OF")},null,null);t.a=l.exports},"9Io0":function(e,t,n){var i=n("X3l8").Buffer,r=n("sDkV"),o=n("7flL"),s=n("9DG0"),a=n("nOGB"),u=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function c(e){if(function(e){return"[object Object]"===Object.prototype.toString.call(e)}(e))return e;try{return JSON.parse(e)}catch(e){return}}function l(e){var t=e.split(".",1)[0];return c(i.from(t,"base64").toString("binary"))}function d(e){return e.split(".")[2]}function h(e){return u.test(e)&&!!l(e)}function f(e,t,n){if(!t){var i=new Error("Missing algorithm parameter for jws.verify");throw i.code="MISSING_ALGORITHM",i}var r=d(e=a(e)),s=function(e){return e.split(".",2).join(".")}(e);return o(t).verify(s,r,n)}function p(e,t){if(t=t||{},!h(e=a(e)))return null;var n=l(e);if(!n)return null;var r=function(e,t){t=t||"utf8";var n=e.split(".")[1];return i.from(n,"base64").toString(t)}(e);return("JWT"===n.typ||t.json)&&(r=JSON.parse(r,t.encoding)),{header:n,payload:r,signature:d(e)}}function g(e){var t=(e=e||{}).secret||e.publicKey||e.key,n=new r(t);this.readable=!0,this.algorithm=e.algorithm,this.encoding=e.encoding,this.secret=this.publicKey=this.key=n,this.signature=new r(e.signature),this.secret.once("close",function(){!this.signature.writable&&this.readable&&this.verify()}.bind(this)),this.signature.once("close",function(){!this.secret.writable&&this.readable&&this.verify()}.bind(this))}n("OMJi").inherits(g,s),g.prototype.verify=function(){try{var e=f(this.signature.buffer,this.algorithm,this.key.buffer),t=p(this.signature.buffer,this.encoding);return this.emit("done",e,t),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(e){this.readable=!1,this.emit("error",e),this.emit("close")}},g.decode=p,g.isValid=h,g.verify=f,e.exports=g},"9P96":function(e,t,n){t.publicEncrypt=n("9hYg"),t.privateDecrypt=n("fxuI"),t.privateEncrypt=function(e,n){return t.publicEncrypt(e,n,!0)},t.publicDecrypt=function(e,n){return t.privateDecrypt(e,n,!0)}},"9XyG":function(e,t,n){"use strict";n.d(t,"a",function(){return u}),n.d(t,"c",function(){return c}),n.d(t,"b",function(){return l});var i=n("hK2W"),r=n("Kp7x"),o=n("PCC9"),s=n("Fllr"),a=n("RWr8"),u=new(function(){function e(){this._onDidChangeLanguages=new r.a,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[],this._dynamicLanguages=[]}return e.prototype.registerLanguage=function(e){this._languages.push(e),this._onDidChangeLanguages.fire(void 0)},e.prototype.getLanguages=function(){return[].concat(this._languages).concat(this._dynamicLanguages)},e}());a.a.add("editor.modesRegistry",u);var c="plaintext",l=new o.p(c,1);u.registerLanguage({id:c,extensions:[".txt",".gitignore"],aliases:[i.a("plainText.alias","Plain Text"),"text"],mimetypes:["text/plain"]}),s.a.register(l,{brackets:[["(",")"],["[","]"],["{","}"]]})},"9bHL":function(e,t,n){"use strict";var i=n("TU7t"),r=n("tqet"),o=n("Bug4"),s=n("7/Cv"),a=n("Kp7x"),u=n("Gxst"),c=n("qecS"),l=n("vbff");function d(e,t){for(var n=[],i=0,r=t;i=o.range.end)){if(e.end=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},C={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements:function(e){return[e]},getDragURI:function(){return null},onDragStart:function(){},onDragOver:function(){return!1},drop:function(){}},horizontalScrolling:!1},S=function(){function e(e){this.elements=e}return e.prototype.update=function(){},e.prototype.getData=function(){return this.elements},e}(),x=function(){function e(e){this.elements=e}return e.prototype.update=function(){},e.prototype.getData=function(){return this.elements},e}(),L=function(){function e(){this.types=[],this.files=[]}return e.prototype.update=function(e){var t;if(e.types&&(t=this.types).splice.apply(t,[0,this.types.length].concat(e.types)),e.files){this.files.splice(0,this.files.length);for(var n=0;n=this.items.length?(this.rangeMap=new f,this.rangeMap.splice(0,0,v),this.items=v,d=[]):(this.rangeMap.splice(e,t,v),d=(i=this.items).splice.apply(i,[e,t].concat(v)));var _=n.length-t,b=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),y=h(g,_),w=l.a.intersect(b,y);for(c=w.start;c=-1&&en&&(this.scrollTop+=Math.min(14,Math.floor(.3*(t-n))))}},e.prototype.teardownDragAndDropScrollTopAnimation=function(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)},e.prototype.getItemIndexFromEventTarget=function(e){for(var t=e;t instanceof HTMLElement&&t!==this.rowsContainer;){var n=t.getAttribute("data-index");if(n){var i=Number(n);if(!isNaN(i))return i}t=t.parentElement}},e.prototype.getRenderRange=function(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}},e.prototype._rerender=function(e,t){var n,i,r=this.getRenderRange(e,t);e===this.elementTop(r.start)?(n=r.start,i=0):r.end-r.start>1&&(n=r.start+1,i=this.elementTop(n)-e);for(var o=0;;){for(var s=this.getRenderRange(e,t),a=!1,u=s.start;un-h-2)throw new Error("message too long");var f=d.alloc(n-i-h-2),p=n-l-1,g=r(l),m=a(d.concat([c,f,d.alloc(1,1),t],p),s(g,p)),v=a(g,s(m,l));return new u(d.concat([d.alloc(1),v,m],n))}(p,t);else if(1===h)f=function(e,t,n){var i,o=t.length,s=e.modulus.byteLength();if(o>s-11)throw new Error("message too long");i=n?d.alloc(s-o-3,255):function(e){var t,n=d.allocUnsafe(e),i=0,o=r(2*e),s=0;for(;i=0)throw new Error("data too long for modulus")}return n?l(f,p):c(f,p)}},"9uVW":function(e,t,n){"use strict";n.d(t,"b",function(){return l}),n.d(t,"a",function(){return h}),n.d(t,"c",function(){return f});var i=n("hK2W"),r=n("Kp7x"),o=n("ZYUE"),s=n("tqet"),a=n("aL7J"),u=n("ZNRA"),c=n("vTy2"),l=function(){function e(e,t,n){this.parent=e,this._range=t,this.isProviderFirst=n,this._onRefChanged=new r.a,this.onRefChanged=this._onRefChanged.event,this.id=u.b.nextId()}return 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(i.a)("aria.oneReference","symbol in {0} on line {1} at column {2}",Object(o.b)(this.uri),this.range.startLineNumber,this.range.startColumn)},e}(),d=function(){function e(e){this._modelReference=e}return e.prototype.dispose=function(){Object(s.f)(this._modelReference)},e.prototype.preview=function(e,t){void 0===t&&(t=8);var n=this._modelReference.object.textEditorModel;if(n){var i=e.startLineNumber,r=e.startColumn,o=e.endLineNumber,s=e.endColumn,u=n.getWordUntilPosition({lineNumber:i,column:r-t}),l=new c.a(i,u.startColumn,i,r),d=new c.a(o,s,o,Number.MAX_VALUE),h=n.getValueInRange(l).replace(/^\s+/,a.l),f=n.getValueInRange(e);return{value:h+f+n.getValueInRange(d).replace(/\s+$/,a.l),highlight:{start:h.length,end:h.length+f.length}}}},e}(),h=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(i.a)("aria.fileReferences.1","1 symbol in {0}, full path {1}",Object(o.b)(this.uri),this.uri.fsPath):Object(i.a)("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,Object(o.b)(this.uri),this.uri.fsPath)},e.prototype.resolve=function(e){var t=this;return this._resolved?Promise.resolve(this):Promise.resolve(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=void 0)},e}(),f=function(){function e(t){var n=this;this._disposables=new s.b,this.groups=[],this.references=[],this._onDidChangeReferenceRange=new r.a,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event;var i,o=t[0];t.sort(e._compareReferences);for(var a=0,u=t;a0?(i=t?(i+1)%r:(i+r-1)%r,n.children[i]):(i=n.parent.groups.indexOf(n),t?(i=(i+1)%o,n.parent.groups[i].children[0]):(i=(i+o-1)%o,n.parent.groups[i].children[n.parent.groups[i].children.length-1]))},e.prototype.nearestReference=function(e,t){var n=this.references.map(function(n,i){return{idx:i,prefixLen:a.b(n.uri.toString(),e.toString()),offsetDist:100*Math.abs(n.range.startLineNumber-t.lineNumber)+Math.abs(n.range.startColumn-t.column)}}).sort(function(e,t){return e.prefixLen>t.prefixLen?-1:e.prefixLent.offsetDist?1:0})[0];if(n)return this.references[n.idx]},e.prototype.firstReference=function(){for(var e=0,t=this.references;ei?1:c.a.compareRangesUsingStarts(e.range,t.range)},e}()},"9vcT":function(e,t){},AKCZ:function(e,t,n){"use strict";n.d(t,"a",function(){return c}),n.d(t,"b",function(){return l});var i,r=n("tqet"),o=n("Kp7x"),s=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},u=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]n)?t=("rmd160"===e?new u:c(e)).update(t).digest():t.length0;i--)t+=this._buffer(e,t),n+=this._flushBuffer(r,n);return t+=this._buffer(e,t),r},r.prototype.final=function(e){var t,n;return e&&(t=this.update(e)),n="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(n):n},r.prototype._pad=function(e,t){if(0===t)return!1;for(;t0?n.actionBar.push(o,{icon:!0,label:!1}):n.actionBar.isEmpty()||o&&0!==o.length||n.actionBar.clear(),e instanceof b&&e.getGroupLabel()?u.f(n.container,"has-group-label"):u.I(n.container,"has-group-label"),e instanceof b){var s=e,a=n;s.showBorder()?(u.f(a.container,"results-group-separator"),i.pickerGroupBorder&&(a.container.style.borderTopColor=i.pickerGroupBorder.toString())):(u.I(a.container,"results-group-separator"),a.container.style.borderTopColor=null);var c=s.getGroupLabel()||"";a.group&&(a.group.textContent=c,i.pickerGroupForeground&&(a.group.style.color=i.pickerGroupForeground.toString()))}if(e instanceof _){var l=e.getHighlights(),d=l[0],h=l[1],f=l[2],p=e.getIcon()?"quick-open-entry-icon "+e.getIcon():"";n.icon.className=p;var g=e.getLabelOptions()||Object.create(null);g.matches=d||[],g.title=e.getTooltip(),g.descriptionTitle=e.getDescriptionTooltip()||e.getDescription(),g.descriptionMatches=h||[],n.label.setLabel(r.m(e.getLabel()),e.getDescription(),g),n.detail.set(e.getDetail(),f),n.keybinding.set(e.getKeybinding())}},e.prototype.disposeTemplate=function(e,t){t.actionBar.dispose(),t.actionBar=null,t.container=null,t.entry=null,t.keybinding=null,t.detail=null,t.group=null,t.icon=null,t.label.dispose(),t.label=null},e}(),C=function(){function e(e,t){void 0===e&&(e=[]),void 0===t&&(t=new y),this._entries=e,this._dataSource=this,this._renderer=new w(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 r.n(e.getLabel())},e.prototype.getAriaLabel=function(e){return e.getAriaLabel()?i.a("quickOpenAriaLabelEntry","{0}, picker",e.getAriaLabel()):i.a("quickOpenAriaLabel","picker")},e.prototype.isVisible=function(e){return!e.isHidden()},e.prototype.run=function(e,t,n){return e.run(t,n)},e}()},Ao9X:function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"d",function(){return o}),n.d(t,"c",function(){return s}),n.d(t,"b",function(){return a});var i=n("iHM7"),r=function(){function e(e,t,n){void 0===n&&(n=!1),this._range=e,this._text=t,this.insertsAutoWhitespace=n}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return new i.a(n.endLineNumber,n.endColumn,n.endLineNumber,n.endColumn)},e}(),o=function(){function e(e,t,n){void 0===n&&(n=!1),this._range=e,this._text=t,this.insertsAutoWhitespace=n}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return new i.a(n.startLineNumber,n.startColumn,n.startLineNumber,n.startColumn)},e}(),s=function(){function e(e,t,n,i,r){void 0===r&&(r=!1),this._range=e,this._text=t,this._columnDeltaOffset=i,this._lineNumberDeltaOffset=n,this.insertsAutoWhitespace=r}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return new i.a(n.endLineNumber+this._lineNumberDeltaOffset,n.endColumn+this._columnDeltaOffset,n.endLineNumber+this._lineNumberDeltaOffset,n.endColumn+this._columnDeltaOffset)},e}(),a=function(){function e(e,t,n){this._range=e,this._text=t,this._initialSelection=n,this._selectionId=null}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}()},"B/Xy":function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("JVO/"),r=Object(i.c)("textModelService")},B6Bn:function(e,t,n){"use strict";var i=n("geuY"),r=n("lZ6o").utils,o=r.getNAF,s=r.getJSF,a=r.assert;function u(e,t){this.type=e,this.p=new i(t.p,16),this.red=t.prime?i.red(t.prime):i.mont(this.p),this.zero=new i(0).toRed(this.red),this.one=new i(1).toRed(this.red),this.two=new i(2).toRed(this.red),this.n=t.n&&new i(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4);var n=this.n&&this.p.div(this.n);!n||n.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function c(e,t){this.curve=e,this.type=t,this.precomputed=null}e.exports=u,u.prototype.point=function(){throw new Error("Not implemented")},u.prototype.validate=function(){throw new Error("Not implemented")},u.prototype._fixedNafMul=function(e,t){a(e.precomputed);var n=e._getDoubles(),i=o(t,1),r=(1<=u;t--)c=(c<<1)+i[t];s.push(c)}for(var l=this.jpoint(null,null,null),d=this.jpoint(null,null,null),h=r;h>0;h--){for(u=0;u=0;c--){for(t=0;c>=0&&0===s[c];c--)t++;if(c>=0&&t++,u=u.dblp(t),c<0)break;var l=s[c];a(0!==l),u="affine"===e.type?l>0?u.mixedAdd(r[l-1>>1]):u.mixedAdd(r[-l-1>>1].neg()):l>0?u.add(r[l-1>>1]):u.add(r[-l-1>>1].neg())}return"affine"===e.type?u.toP():u},u.prototype._wnafMulAdd=function(e,t,n,i,r){for(var a=this._wnafT1,u=this._wnafT2,c=this._wnafT3,l=0,d=0;d=1;d-=2){var f=d-1,p=d;if(1===a[f]&&1===a[p]){var g=[t[f],null,null,t[p]];0===t[f].y.cmp(t[p].y)?(g[1]=t[f].add(t[p]),g[2]=t[f].toJ().mixedAdd(t[p].neg())):0===t[f].y.cmp(t[p].y.redNeg())?(g[1]=t[f].toJ().mixedAdd(t[p]),g[2]=t[f].add(t[p].neg())):(g[1]=t[f].toJ().mixedAdd(t[p]),g[2]=t[f].toJ().mixedAdd(t[p].neg()));var m=[-3,-1,-5,-7,0,7,5,1,3],v=s(n[f],n[p]);l=Math.max(v[0].length,l),c[f]=new Array(l),c[p]=new Array(l);for(var _=0;_=0;d--){for(var S=0;d>=0;){var x=!0;for(_=0;_=0&&S++,w=w.dblp(S),d<0)break;for(_=0;_0?L=u[_][O-1>>1]:O<0&&(L=u[_][-O-1>>1].neg()),w="affine"===L.type?w.mixedAdd(L):w.add(L))}}for(d=0;d=Math.ceil((e.bitLength()+1)/t.step)},c.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],i=this,r=0;r>>24]^l[p>>>16&255]^d[g>>>8&255]^h[255&m]^t[v++],s=c[p>>>24]^l[g>>>16&255]^d[m>>>8&255]^h[255&f]^t[v++],a=c[g>>>24]^l[m>>>16&255]^d[f>>>8&255]^h[255&p]^t[v++],u=c[m>>>24]^l[f>>>16&255]^d[p>>>8&255]^h[255&g]^t[v++],f=o,p=s,g=a,m=u;return o=(i[f>>>24]<<24|i[p>>>16&255]<<16|i[g>>>8&255]<<8|i[255&m])^t[v++],s=(i[p>>>24]<<24|i[g>>>16&255]<<16|i[m>>>8&255]<<8|i[255&f])^t[v++],a=(i[g>>>24]<<24|i[m>>>16&255]<<16|i[f>>>8&255]<<8|i[255&p])^t[v++],u=(i[m>>>24]<<24|i[f>>>16&255]<<16|i[p>>>8&255]<<8|i[255&g])^t[v++],[o>>>=0,s>>>=0,a>>>=0,u>>>=0]}var a=[0,1,2,4,8,16,32,64,128,27,54],u=function(){for(var e=new Array(256),t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;for(var n=[],i=[],r=[[],[],[],[]],o=[[],[],[],[]],s=0,a=0,u=0;u<256;++u){var c=a^a<<1^a<<2^a<<3^a<<4;c=c>>>8^255&c^99,n[s]=c,i[c]=s;var l=e[s],d=e[l],h=e[d],f=257*e[c]^16843008*c;r[0][s]=f<<24|f>>>8,r[1][s]=f<<16|f>>>16,r[2][s]=f<<8|f>>>24,r[3][s]=f,f=16843009*h^65537*d^257*l^16843008*s,o[0][c]=f<<24|f>>>8,o[1][c]=f<<16|f>>>16,o[2][c]=f<<8|f>>>24,o[3][c]=f,0===s?s=a=1:(s=l^e[e[e[h^l]]],a^=e[e[a]])}return{SBOX:n,INV_SBOX:i,SUB_MIX:r,INV_SUB_MIX:o}}();function c(e){this._key=r(e),this._reset()}c.blockSize=16,c.keySize=32,c.prototype.blockSize=c.blockSize,c.prototype.keySize=c.keySize,c.prototype._reset=function(){for(var e=this._key,t=e.length,n=t+6,i=4*(n+1),r=[],o=0;o>>24,s=u.SBOX[s>>>24]<<24|u.SBOX[s>>>16&255]<<16|u.SBOX[s>>>8&255]<<8|u.SBOX[255&s],s^=a[o/t|0]<<24):t>6&&o%t==4&&(s=u.SBOX[s>>>24]<<24|u.SBOX[s>>>16&255]<<16|u.SBOX[s>>>8&255]<<8|u.SBOX[255&s]),r[o]=r[o-t]^s}for(var c=[],l=0;l>>24]]^u.INV_SUB_MIX[1][u.SBOX[h>>>16&255]]^u.INV_SUB_MIX[2][u.SBOX[h>>>8&255]]^u.INV_SUB_MIX[3][u.SBOX[255&h]]}this._nRounds=n,this._keySchedule=r,this._invKeySchedule=c},c.prototype.encryptBlockRaw=function(e){return s(e=r(e),this._keySchedule,u.SUB_MIX,u.SBOX,this._nRounds)},c.prototype.encryptBlock=function(e){var t=this.encryptBlockRaw(e),n=i.allocUnsafe(16);return n.writeUInt32BE(t[0],0),n.writeUInt32BE(t[1],4),n.writeUInt32BE(t[2],8),n.writeUInt32BE(t[3],12),n},c.prototype.decryptBlock=function(e){var t=(e=r(e))[1];e[1]=e[3],e[3]=t;var n=s(e,this._invKeySchedule,u.INV_SUB_MIX,u.INV_SBOX,this._nRounds),o=i.allocUnsafe(16);return o.writeUInt32BE(n[0],0),o.writeUInt32BE(n[3],4),o.writeUInt32BE(n[2],8),o.writeUInt32BE(n[1],12),o},c.prototype.scrub=function(){o(this._keySchedule),o(this._invKeySchedule),o(this._key)},e.exports.AES=c},BO8W:function(e,t,n){"use strict";t.utils=n("iNQt"),t.Cipher=n("AWjC"),t.DES=n("Icsf"),t.CBC=n("nyV4"),t.EDE=n("YePo")},BVsN:function(e,t,n){"use strict";var i=n("LC74"),r=n("eCz2"),o=n("LYGd"),s=n("JaR3"),a=n("z+8S");function u(e){a.call(this,"digest"),this._hash=e}i(u,a),u.prototype._update=function(e){this._hash.update(e)},u.prototype._final=function(){return this._hash.digest()},e.exports=function(e){return"md5"===(e=e.toLowerCase())?new r:"rmd160"===e||"ripemd160"===e?new o:new u(s(e))}},Bug4:function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return d});var i,r,o=n("X6iQ"),s=n("tqet"),a=n("7/Cv"),u=n("2VYG"),c=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s};!function(e){e.Tap="-monaco-gesturetap",e.Change="-monaco-gesturechange",e.Start="-monaco-gesturestart",e.End="-monaco-gesturesend",e.Contextmenu="-monaco-gesturecontextmenu"}(r||(r={}));var d=function(e){function t(){var t=e.call(this)||this;return t.dispatched=!1,t.activeTouches={},t.handle=null,t.targets=[],t._register(a.h(document,"touchstart",function(e){return t.onTouchStart(e)})),t._register(a.h(document,"touchend",function(e){return t.onTouchEnd(e)})),t._register(a.h(document,"touchmove",function(e){return t.onTouchMove(e)})),t}return c(t,e),t.addTarget=function(e){t.isTouchDevice()&&(t.INSTANCE||(t.INSTANCE=new t),t.INSTANCE.targets.push(e))},t.isTouchDevice=function(){return"ontouchstart"in window||navigator.maxTouchPoints>0||window.navigator.msMaxTouchPoints>0},t.prototype.dispose=function(){this.handle&&(this.handle.dispose(),this.handle=null),e.prototype.dispose.call(this)},t.prototype.onTouchStart=function(e){var t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(var n=0,i=e.targetTouches.length;n=t.HOLD_DELAY&&Math.abs(l.initialPageX-o.s(l.rollingPageX))<30&&Math.abs(l.initialPageY-o.s(l.rollingPageY))<30){var h;(h=a.newGestureEvent(r.Contextmenu,l.initialTarget)).pageX=o.s(l.rollingPageX),h.pageY=o.s(l.rollingPageY),a.dispatchEvent(h)}else if(1===i){var f=o.s(l.rollingPageX),p=o.s(l.rollingPageY),g=o.s(l.rollingTimestamps)-l.rollingTimestamps[0],m=f-l.rollingPageX[0],v=p-l.rollingPageY[0],_=a.targets.filter(function(e){return l.initialTarget instanceof Node&&e.contains(l.initialTarget)});a.inertia(_,n,Math.abs(m)/g,m>0?1:-1,f,Math.abs(v)/g,v>0?1:-1,p)}a.dispatchEvent(a.newGestureEvent(r.End,l.initialTarget)),delete a.activeTouches[c.identifier]},a=this,u=0,c=e.changedTouches.length;u0&&(g=!1,f=o*i*h),u>0&&(g=!1,p=c*u*h);var m=d.newGestureEvent(r.Change);m.translationX=f,m.translationY=p,e.forEach(function(e){return e.dispatchEvent(m)}),g||d.inertia(e,a,i,o,s+f,u,c,l+p)})},t.prototype.onTouchMove=function(e){for(var t=Date.now(),n=0,i=e.changedTouches.length;n3&&(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)},t.SCROLL_FRICTION=-.005,t.HOLD_DELAY=700,l([u.a],t,"isTouchDevice",null),t}(s.a)},Bv73:function(e,t){},BwcV:function(e,t,n){"use strict";n.d(t,"a",function(){return c});var i,r=n("GfE5"),o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=function(e){function t(t){for(var n=e.call(this,0)||this,i=0,r=t.length;i=0){for(var i=[],r=0,o=this._placeholderGroups[this._placeholderGroupsIdx];r0&&this._editor.executeEdits("snippet.placeholderTransform",i)}var d=!1;!0===t&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,d=!0);var h=this._editor.getModel().changeDecorations(function(t){for(var i=new Set,r=[],o=0,s=n._placeholderGroups[n._placeholderGroupsIdx];o0)return!0}t=t.parent}return!1},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,n=this._placeholderGroups;t0&&S!==d.getLineFirstNonWhitespaceColumn(F.positionLineNumber))&&e.adjustWhitespace(d,z,H),H.resolveVariables(new x([p,new k(u,j,D.length),new L(d,F),new N(d),new E,new I(h)]));var U=d.getOffsetAt(z)+y;y+=H.toString().length-d.getValueLengthInRange(V),c[j]=f.a.replace(V,H.toString()),l[j]=new P(t,H,U)}return{edits:c,snippets:l}},e.prototype.dispose=function(){Object(i.f)(this._snippets)},e.prototype._logInfo=function(){return'template="'+this._template+'", merged_templates="'+this._templateMerges.join(" -> ")+'"'},e.prototype.insert=function(){var t=this;if(this._editor.hasModel()){var n=e.createEditsAndSnippets(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText),i=n.edits,r=n.snippets;this._snippets=r,this._editor.executeEdits("snippet",i,function(e){return t._snippets[0].hasPlaceholder?t._move(!0):e.map(function(e){return a.a.fromPositions(e.range.getEndPosition())})}),this._editor.revealRange(this._editor.getSelections()[0])}},e.prototype.merge=function(t,n){var i=this;if(void 0===n&&(n=A),this._editor.hasModel()){this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,t]);var r=e.createEditsAndSnippets(this._editor,t,n.overwriteBefore,n.overwriteAfter,!0,n.adjustWhitespace,n.clipboardText),o=r.edits,s=r.snippets;this._editor.executeEdits("snippet",o,function(e){for(var t=0,n=i._snippets;t0},e}();n.d(t,"SnippetController2",function(){return V});var F=this&&this.__assign||function(){return(F=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},W=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},B={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0},V=function(){function e(t,n,r){this._editor=t,this._logService=n,this._snippetListener=new i.b,this._modelVersionId=-1,this._inSnippet=e.InSnippetMode.bindTo(r),this._hasNextTabstop=e.HasNextTabstop.bindTo(r),this._hasPrevTabstop=e.HasPrevTabstop.bindTo(r)}return e.get=function(e){return e.getContribution("snippetController2")},e.prototype.dispose=function(){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),Object(i.f)(this._session),this._snippetListener.dispose()},e.prototype.getId=function(){return"snippetController2"},e.prototype.insert=function(e,t){try{this._doInsert(e,void 0===t?B:F({},B,t))}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():"")}},e.prototype._doInsert=function(e,t){var n=this;this._editor.hasModel()&&(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session?this._session.merge(e,t):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new R(this._editor,e,t),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(function(e){return e.isFlush&&n.cancel()})),this._snippetListener.add(this._editor.onDidChangeModel(function(){return n.cancel()})),this._snippetListener.add(this._editor.onDidChangeCursorSelection(function(){return n._updateState()})))},e.prototype._updateState=function(){if(this._session&&this._editor.hasModel()){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;if(this._session&&this._editor.hasModel()){var t=this._session.choice;if(t){if(this._currentChoice!==t){this._currentChoice=t,this._editor.setSelections(this._editor.getSelections().map(function(e){return a.a.fromPositions(e.getStartPosition())}));var n=t.options[0];Object(c.f)(this._editor,t.options.map(function(t,i){return{kind:13,label:t.value,insertText:t.value,sortText:Object(r.F)("a",i+1),range:s.a.fromPositions(e._editor.getPosition(),e._editor.getPosition().delta(0,n.value.length))}}))}}else this._currentChoice=void 0}else this._currentChoice=void 0},e.prototype.finish=function(){for(;this._inSnippet.get();)this.next()},e.prototype.cancel=function(e){void 0===e&&(e=!1),this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),Object(i.f)(this._session),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])},e.prototype.prev=function(){this._session&&this._session.prev(),this._updateState()},e.prototype.next=function(){this._session&&this._session.next(),this._updateState()},e.prototype.isInSnippet=function(){return Boolean(this._inSnippet.get())},e.InSnippetMode=new l.d("inSnippetMode",!1),e.HasNextTabstop=new l.d("hasNextTabstop",!1),e.HasPrevTabstop=new l.d("hasPrevTabstop",!1),e=j([W(1,d.a),W(2,l.c)],e)}();Object(o.h)(V);var H=o.c.bindToContribution(V.get);Object(o.g)(new H({id:"jumpToNextSnippetPlaceholder",precondition:l.a.and(V.InSnippetMode,V.HasNextTabstop),handler:function(e){return e.next()},kbOpts:{weight:130,kbExpr:u.a.editorTextFocus,primary:2}})),Object(o.g)(new H({id:"jumpToPrevSnippetPlaceholder",precondition:l.a.and(V.InSnippetMode,V.HasPrevTabstop),handler:function(e){return e.prev()},kbOpts:{weight:130,kbExpr:u.a.editorTextFocus,primary:1026}})),Object(o.g)(new H({id:"leaveSnippet",precondition:V.InSnippetMode,handler:function(e){return e.cancel(!0)},kbOpts:{weight:130,kbExpr:u.a.editorTextFocus,primary:9,secondary:[1033]}})),Object(o.g)(new H({id:"acceptSnippet",precondition:V.InSnippetMode,handler:function(e){return e.finish()}}))},C015:function(e,t,n){var i=n("LC74"),r=n("CzQx"),o=n("X3l8").Buffer,s=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],a=new Array(160);function u(){this.init(),this._w=a,r.call(this,128,112)}function c(e,t,n){return n^e&(t^n)}function l(e,t,n){return e&t|n&(e|t)}function d(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function h(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function f(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function p(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function g(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function m(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function v(e,t){return e>>>0>>0?1:0}i(u,r),u.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},u.prototype._update=function(e){for(var t=this._w,n=0|this._ah,i=0|this._bh,r=0|this._ch,o=0|this._dh,a=0|this._eh,u=0|this._fh,_=0|this._gh,b=0|this._hh,y=0|this._al,w=0|this._bl,C=0|this._cl,S=0|this._dl,x=0|this._el,L=0|this._fl,O=0|this._gl,k=0|this._hl,N=0;N<32;N+=2)t[N]=e.readInt32BE(4*N),t[N+1]=e.readInt32BE(4*N+4);for(;N<160;N+=2){var E=t[N-30],I=t[N-30+1],D=f(E,I),M=p(I,E),T=g(E=t[N-4],I=t[N-4+1]),P=m(I,E),A=t[N-14],R=t[N-14+1],F=t[N-32],j=t[N-32+1],W=M+R|0,B=D+A+v(W,M)|0;B=(B=B+T+v(W=W+P|0,P)|0)+F+v(W=W+j|0,j)|0,t[N]=B,t[N+1]=W}for(var V=0;V<160;V+=2){B=t[V],W=t[V+1];var H=l(n,i,r),z=l(y,w,C),U=d(n,y),K=d(y,n),q=h(a,x),G=h(x,a),Z=s[V],Y=s[V+1],X=c(a,u,_),$=c(x,L,O),J=k+G|0,Q=b+q+v(J,k)|0;Q=(Q=(Q=Q+X+v(J=J+$|0,$)|0)+Z+v(J=J+Y|0,Y)|0)+B+v(J=J+W|0,W)|0;var ee=K+z|0,te=U+H+v(ee,K)|0;b=_,k=O,_=u,O=L,u=a,L=x,a=o+Q+v(x=S+J|0,S)|0,o=r,S=C,r=i,C=w,i=n,w=y,n=Q+te+v(y=J+ee|0,J)|0}this._al=this._al+y|0,this._bl=this._bl+w|0,this._cl=this._cl+C|0,this._dl=this._dl+S|0,this._el=this._el+x|0,this._fl=this._fl+L|0,this._gl=this._gl+O|0,this._hl=this._hl+k|0,this._ah=this._ah+n+v(this._al,y)|0,this._bh=this._bh+i+v(this._bl,w)|0,this._ch=this._ch+r+v(this._cl,C)|0,this._dh=this._dh+o+v(this._dl,S)|0,this._eh=this._eh+a+v(this._el,x)|0,this._fh=this._fh+u+v(this._fl,L)|0,this._gh=this._gh+_+v(this._gl,O)|0,this._hh=this._hh+b+v(this._hl,k)|0},u.prototype._hash=function(){var e=o.allocUnsafe(64);function t(t,n,i){e.writeInt32BE(t,i),e.writeInt32BE(n,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},e.exports=u},C1C2:function(e,t,n){var i=n("TnCn");t.tagClass={0:"universal",1:"application",2:"context",3:"private"},t.tagClassByName=i._reverse(t.tagClass),t.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},t.tagByName=i._reverse(t.tag)},C3c5:function(e,t,n){"use strict";t.e=h,n.d(t,"a",function(){return f}),n.d(t,"c",function(){return p}),n.d(t,"d",function(){return m}),n.d(t,"b",function(){return v});var i,r=n("AKCZ"),o=n("JVO/"),s=n("7g0X"),a=n("ItKl"),u=n("Kp7x"),c=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}};function h(e){return void 0!==e.command}var f=Object(o.c)("menuService"),p=new(function(){function e(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new u.a,this.onDidChangeMenu=this._onDidChangeMenu.event}return e.prototype.addCommand=function(e){var t=this;return this._commands.set(e.id,e),this._onDidChangeMenu.fire(0),{dispose:function(){t._commands.delete(e.id)&&t._onDidChangeMenu.fire(0)}}},e.prototype.getCommand=function(e){return this._commands.get(e)},e.prototype.getCommands=function(){var e=new Map;return this._commands.forEach(function(t,n){return e.set(n,t)}),e},e.prototype.appendMenuItem=function(e,t){var n=this,i=this._menuItems.get(e);return i?i.push(t):(i=[t],this._menuItems.set(e,i)),this._onDidChangeMenu.fire(e),{dispose:function(){var r=i.indexOf(t);r>=0&&(i.splice(r,1),n._onDidChangeMenu.fire(e))}}},e.prototype.getMenuItems=function(e){var t=(this._menuItems.get(e)||[]).slice(0);return 0===e&&this._appendImplicitItems(t),t},e.prototype._appendImplicitItems=function(e){for(var t=new Set,n=0,i=e.filter(function(e){return h(e)});n=0;r--){var o=e.charCodeAt(r),s=t.get(o);if(0===s){if(2===i)return this._createWord(e,i,s,r+1,this._findEndOfWord(e,t,i,r+1));i=1}else if(2===s){if(1===i)return this._createWord(e,i,s,r+1,this._findEndOfWord(e,t,i,r+1));i=2}else if(1===s&&0!==i)return this._createWord(e,i,s,r+1,this._findEndOfWord(e,t,i,r+1))}return 0!==i?this._createWord(e,i,1,0,this._findEndOfWord(e,t,i,0)):null},e._findEndOfWord=function(e,t,n,i){for(var r=e.length,o=i;o=0;r--){var o=e.charCodeAt(r),s=t.get(o);if(1===s)return r+1;if(1===n&&2===s)return r+1;if(2===n&&0===s)return r+1}return 0},e.moveWordLeft=function(t,n,i,r){var o=i.lineNumber,s=i.column,u=!1;1===s&&o>1&&(u=!0,o-=1,s=n.getLineMaxColumn(o));var c=e._findPreviousWordOnLine(t,n,new a.a(o,s));if(0===r){if(c&&!u)if(n.getLineLastNonWhitespaceColumn(o)1?new a.a(n-1,e.getLineMaxColumn(n-1)):t;for(var o=e.getLineContent(n),s=t.column-1;s>1;s--){var u=o.charCodeAt(s-2),c=o.charCodeAt(s-1);if(95!==u&&95===c)return new a.a(n,s);if(r.y(u)&&r.z(c))return new a.a(n,s);if(r.z(u)&&r.z(c)&&s+1=c.start+1&&(c=e._findNextWordOnLine(t,n,new a.a(o,c.end+1))),s=c?c.start+1:n.getLineMaxColumn(o);return new a.a(o,s)},e._moveWordPartRight=function(e,t){var n=t.lineNumber,i=e.getLineMaxColumn(n);if(t.column===i)return n1?l=1:(c--,l=n.getLineMaxColumn(c)):(h&&l<=h.end+1&&(h=e._findPreviousWordOnLine(t,n,new a.a(c,h.start+1))),h?l=h.end+1:l>1?l=1:(c--,l=n.getLineMaxColumn(c))),new u.a(c,l,s.lineNumber,s.column)},e._deleteWordPartLeft=function(t,n){if(!n.isEmpty())return n;var i=n.getPosition(),r=e._moveWordPartLeft(t,i);return new u.a(i.lineNumber,i.column,r.lineNumber,r.column)},e._findFirstNonWhitespaceChar=function(e,t){for(var n=e.length,i=t;i=p.start+1&&(p=e._findNextWordOnLine(t,n,new a.a(c,p.end+1))),p?l=p.start+1:l255)return 255;return 0|e},t.b=r,t.c=function(e){for(var t=e.length,n=new Uint32Array(t),i=0;i4294967295?4294967295:0|e}},CX1u:function(e,t,n){"use strict";t.c=function(e,t){void 0===t&&(t={});var n=r(t);return n.textContent=e,n},t.b=function(e,t){void 0===t&&(t={});var n=r(t);return function e(t,n,r){var o;if(2===n.type)o=document.createTextNode(n.content||"");else if(3===n.type)o=document.createElement("b");else if(4===n.type)o=document.createElement("i");else if(5===n.type&&r){var s=document.createElement("a");s.href="#",r.disposeables.add(i.k(s,"click",function(e){r.callback(String(n.index),e)})),o=s}else 7===n.type?o=document.createElement("br"):1===n.type&&(o=t);o&&t!==o&&t.appendChild(o),o&&Array.isArray(n.children)&&n.children.forEach(function(t){e(o,t,r)})}(n,function(e){for(var t={type:1,children:[]},n=0,i=t,r=[],a=new o(e);!a.eos();){var u=a.next(),c="\\"===u&&0!==s(a.peek());if(c&&(u=a.next()),c||0===s(u)||u!==a.peek())if("\n"===u)2===i.type&&(i=r.pop()),i.children.push({type:7});else if(2!==i.type){var l={type:2,content:u};i.children.push(l),r.push(i),i=l}else i.content+=u;else{a.advance(),2===i.type&&(i=r.pop());var d=s(u);if(i.type===d||5===i.type&&6===d)i=r.pop();else{var h={type:d,children:[]};5===d&&(h.index=n,n++),i.children.push(h),r.push(i),i=h}}}return 2===i.type&&(i=r.pop()),r.length,t}(e),t.actionHandler),n},t.a=r;var i=n("7/Cv");function r(e){var t=e.inline?"span":"div",n=document.createElement(t);return e.className&&(n.className=e.className),n}var o=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 s(e){switch(e){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;default:return 0}}},Cfmk:function(e,t,n){"use strict";n.d(t,"a",function(){return l}),n.d(t,"c",function(){return r}),n.d(t,"b",function(){return d});var i,r,o=n("JVO/"),s=n("Kp7x"),a=n("tqet"),u=n("KIxu"),c=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=Object(o.c)("storageService");!function(e){e[e.NONE=0]="NONE",e[e.SHUTDOWN=1]="SHUTDOWN"}(r||(r={}));var d=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._serviceBrand=null,t._onDidChangeStorage=t._register(new s.a),t.onDidChangeStorage=t._onDidChangeStorage.event,t.onWillSaveState=s.b.None,t.globalCache=new Map,t.workspaceCache=new Map,t}return c(t,e),t.prototype.getCache=function(e){return 0===e?this.globalCache:this.workspaceCache},t.prototype.get=function(e,t,n){var i=this.getCache(t).get(e);return Object(u.k)(i)?n:i},t.prototype.getBoolean=function(e,t,n){var i=this.getCache(t).get(e);return Object(u.k)(i)?n:"true"===i},t.prototype.store=function(e,t,n){if(Object(u.k)(t))return this.remove(e,n);var i=String(t);return this.getCache(n).get(e)===i?Promise.resolve():(this.getCache(n).set(e,i),this._onDidChangeStorage.fire({scope:n,key:e}),Promise.resolve())},t.prototype.remove=function(e,t){return this.getCache(t).delete(e)?(this._onDidChangeStorage.fire({scope:t,key:e}),Promise.resolve()):Promise.resolve()},t}(a.a)},Cgw8:function(e,t,n){var i=n("X3l8").Buffer,r=n("eCz2");e.exports=function(e,t,n,o){if(i.isBuffer(e)||(e=i.from(e,"binary")),t&&(i.isBuffer(t)||(t=i.from(t,"binary")),8!==t.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var s=n/8,a=i.alloc(s),u=i.alloc(o||0),c=i.alloc(0);s>0||o>0;){var l=new r;l.update(c),l.update(e),t&&l.update(t),c=l.digest();var d=0;if(s>0){var h=a.length-s;d=Math.min(s,c.length),c.copy(a,h,0,d),s-=d}if(d0){var f=u.length-o,p=Math.min(o,c.length-d);c.copy(u,f,d,d+p),o-=p}}return c.fill(0),{key:a,iv:u}}},Crnc:function(e,t,n){"use strict";n.d(t,"a",function(){return a});var i=!1,r=null;function o(e){if(!e.parent||e.parent===e)return null;try{var t=e.location,n=e.parent.location;if(t.protocol!==n.protocol||t.hostname!==n.hostname||t.port!==n.port)return i=!0,null}catch(e){return i=!0,null}return e.parent}function s(e,t){for(var n,i=e.document.getElementsByTagName("iframe"),r=0,o=i.length;r=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},v=function(e){function t(n,i){var r=e.call(this)||this;return r.closeTimeout=3e3,r._messageWidget=r._register(new a.d),r._messageListeners=r._register(new a.b),r._editor=n,r._visible=t.MESSAGE_VISIBLE.bindTo(i),r._register(r._editor.onDidAttemptReadOnlyEdit(function(){return r._onDidAttemptReadOnlyEdit()})),r}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 n,i=this;Object(u.a)(e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._messageWidget.value=new b(this._editor,t,e),this._messageListeners.add(this._editor.onDidBlurEditorText(function(){return i.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(function(){return i.closeMessage()})),this._messageListeners.add(this._editor.onDidDispose(function(){return i.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeModel(function(){return i.closeMessage()})),this._messageListeners.add(new s.e(function(){return i.closeMessage()},this.closeTimeout)),this._messageListeners.add(this._editor.onMouseMove(function(e){e.target.position&&(n?n.containsPosition(e.target.position)||i.closeMessage():n=new c.a(t.lineNumber-3,1,e.target.position.lineNumber+3,1))}))},t.prototype.closeMessage=function(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(b.fadeOut(this._messageWidget.value))},t.prototype._onDidAttemptReadOnlyEdit=function(){this._editor.hasModel()&&this.showMessage(o.a("editor.readonly","Cannot edit in read-only editor"),this._editor.getPosition())},t._id="editor.contrib.messageController",t.MESSAGE_VISIBLE=new d.d("messageVisible",!1),t=g([m(1,d.c)],t)}(a.a),_=l.c.bindToContribution(v.get);Object(l.g)(new _({id:"leaveEditorMessage",precondition:v.MESSAGE_VISIBLE,handler:function(e){return e.closeMessage()},kbOpts:{weight:130,primary:9}}));var b=function(){function e(e,t,n){var i=t.lineNumber,r=t.column;this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(i,i,0),this._position={lineNumber:i,column:r-1},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage");var o=document.createElement("div");o.classList.add("message"),o.textContent=n,this._domNode.appendChild(o);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,n=function(){e.dispose(),clearTimeout(t),e.getDomNode().removeEventListener("animationend",n)};return t=setTimeout(n,110),e.getDomNode().addEventListener("animationend",n),e.getDomNode().classList.add("fadeOut"),{dispose:n}},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:[1]}},e}();Object(l.h)(v),Object(h.f)(function(e,t){var n=e.getColor(f._3);if(n){var i=e.type===h.b?2:1;t.addRule(".monaco-editor .monaco-editor-overlaymessage .anchor { border-top-color: "+n+"; }"),t.addRule(".monaco-editor .monaco-editor-overlaymessage .message { border: "+i+"px solid "+n+"; }")}var r=e.getColor(f._2);r&&t.addRule(".monaco-editor .monaco-editor-overlaymessage .message { background-color: "+r+"; }");var o=e.getColor(f._4);o&&t.addRule(".monaco-editor .monaco-editor-overlaymessage .message { color: "+o+"; }")})},CzQx:function(e,t,n){var i=n("X3l8").Buffer;function r(e,t){this._block=i.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}r.prototype.update=function(e,t){"string"==typeof e&&(t=t||"utf8",e=i.from(e,t));for(var n=this._block,r=this._blockSize,o=e.length,s=this._len,a=0;a=this._finalSize&&(this._update(this._block),this._block.fill(0));var n=8*this._len;if(n<=4294967295)this._block.writeUInt32BE(n,this._blockSize-4);else{var i=(4294967295&n)>>>0,r=(n-i)/4294967296;this._block.writeUInt32BE(r,this._blockSize-8),this._block.writeUInt32BE(i,this._blockSize-4)}this._update(this._block);var o=this._hash();return e?o.toString(e):o},r.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e.exports=r},D1Va:function(e,t,n){"use strict";e.exports=o;var i=n("DsFX"),r=n("jOgh");function o(e){if(!(this instanceof o))return new o(e);i.call(this,e),this._transformState={afterTransform:function(e,t){var n=this._transformState;n.transforming=!1;var i=n.writecb;if(!i)return this.emit("error",new Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!=t&&this.push(t),i(e);var r=this._readableState;r.reading=!1,(r.needReadable||r.length0?i-4:i,d=0;d>16&255,a[u++]=t>>8&255,a[u++]=255&t;2===s&&(t=r[e.charCodeAt(d)]<<2|r[e.charCodeAt(d+1)]>>4,a[u++]=255&t);1===s&&(t=r[e.charCodeAt(d)]<<10|r[e.charCodeAt(d+1)]<<4|r[e.charCodeAt(d+2)]>>2,a[u++]=t>>8&255,a[u++]=255&t);return a},t.fromByteArray=function(e){for(var t,n=e.length,r=n%3,o=[],s=0,a=n-r;sa?a:s+16383));1===r?(t=e[n-1],o.push(i[t>>2]+i[t<<4&63]+"==")):2===r&&(t=(e[n-2]<<8)+e[n-1],o.push(i[t>>10]+i[t>>4&63]+i[t<<2&63]+"="));return o.join("")};for(var i=[],r=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,u=s.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function l(e,t,n){for(var r,o,s=[],a=t;a>18&63]+i[o>>12&63]+i[o>>6&63]+i[63&o]);return s.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},EMDP:function(e,t,n){"use strict";n.d(t,"a",function(){return c}),n.d(t,"b",function(){return l});var i,r,o=n("mrx5"),s=n("ZYUE"),a=n("JVO/"),u=n("WTFd"),c=Object(a.c)("contextService");!function(e){e.isIWorkspace=function(e){return e&&"object"==typeof e&&"string"==typeof e.id&&Array.isArray(e.folders)}}(i||(i={})),function(e){e.isIWorkspaceFolder=function(e){return e&&"object"==typeof e&&o.a.isUri(e.uri)&&"string"==typeof e.name&&"function"==typeof e.toResource}}(r||(r={}));!function(){function e(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=null),this._id=e,this._configuration=n,this._foldersMap=u.c.forPaths(),this.folders=t}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,"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.with({scheme:e.scheme,authority:e.authority,path:e.path}).toString())||null},e.prototype.updateFoldersMap=function(){this._foldersMap=u.c.forPaths();for(var e=0,t=this.folders;e=1.5*n;return Math.round(e/n)+" "+i+(r?"s":"")}e.exports=function(e,t){t=t||{};var c=typeof e;if("string"===c&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return;var u=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return u*a;case"weeks":case"week":case"w":return u*s;case"days":case"day":case"d":return u*o;case"hours":case"hour":case"hrs":case"hr":case"h":return u*r;case"minutes":case"minute":case"mins":case"min":case"m":return u*i;case"seconds":case"second":case"secs":case"sec":case"s":return u*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return u;default:return}}(e);if("number"===c&&!1===isNaN(e))return t.long?function(e){var t=Math.abs(e);if(t>=o)return u(e,t,o,"day");if(t>=r)return u(e,t,r,"hour");if(t>=i)return u(e,t,i,"minute");if(t>=n)return u(e,t,n,"second");return e+" ms"}(e):function(e){var t=Math.abs(e);if(t>=o)return Math.round(e/o)+"d";if(t>=r)return Math.round(e/r)+"h";if(t>=i)return Math.round(e/i)+"m";if(t>=n)return Math.round(e/n)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},Eawl:function(e,t){},Eeyw:function(e,t,n){"use strict";t.a=function(e,t){var n=e.getCount(),r=e.findTokenIndexAtOffset(t),o=e.getLanguageId(r),s=r;for(;s+10&&e.getLanguageId(a-1)===o;)a--;return new i(e,o,a,s+1,e.getStartOffset(a),e.getEndOffset(s))},t.b=function(e){return 0!=(7&e)};var i=function(){function e(e,t,n,i,r,o){this._actual=e,this.languageId=t,this._firstTokenIndex=n,this._lastTokenIndex=i,this.firstCharOffset=r,this._lastCharOffset=o}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}()},EfIu:function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"c",function(){return r}),n.d(t,"b",function(){return o}),n.d(t,"d",function(){return s}),n.d(t,"e",function(){return a}),n.d(t,"g",function(){return u}),n.d(t,"h",function(){return c}),n.d(t,"f",function(){return l});var i,r,o,s,a,u,c,l,d=n("hK2W");!function(e){e.noSelection=d.a("noSelection","No selection"),e.singleSelectionRange=d.a("singleSelectionRange","Line {0}, Column {1} ({2} selected)"),e.singleSelection=d.a("singleSelection","Line {0}, Column {1}"),e.multiSelectionRange=d.a("multiSelectionRange","{0} selections ({1} characters selected)"),e.multiSelection=d.a("multiSelection","{0} selections"),e.emergencyConfOn=d.a("emergencyConfOn","Now changing the setting `accessibilitySupport` to 'on'."),e.openingDocs=d.a("openingDocs","Now opening the Editor Accessibility documentation page."),e.readonlyDiffEditor=d.a("readonlyDiffEditor"," in a read-only pane of a diff editor."),e.editableDiffEditor=d.a("editableDiffEditor"," in a pane of a diff editor."),e.readonlyEditor=d.a("readonlyEditor"," in a read-only code editor"),e.editableEditor=d.a("editableEditor"," in a code editor"),e.changeConfigToOnMac=d.a("changeConfigToOnMac","To configure the editor to be optimized for usage with a Screen Reader press Command+E now."),e.changeConfigToOnWinLinux=d.a("changeConfigToOnWinLinux","To configure the editor to be optimized for usage with a Screen Reader press Control+E now."),e.auto_on=d.a("auto_on","The editor is configured to be optimized for usage with a Screen Reader."),e.auto_off=d.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."),e.tabFocusModeOnMsg=d.a("tabFocusModeOnMsg","Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}."),e.tabFocusModeOnMsgNoKb=d.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."),e.tabFocusModeOffMsg=d.a("tabFocusModeOffMsg","Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}."),e.tabFocusModeOffMsgNoKb=d.a("tabFocusModeOffMsgNoKb","Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding."),e.openDocMac=d.a("openDocMac","Press Command+H now to open a browser window with more information related to editor accessibility."),e.openDocWinLinux=d.a("openDocWinLinux","Press Control+H now to open a browser window with more information related to editor accessibility."),e.outroMsg=d.a("outroMsg","You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape."),e.showAccessibilityHelpAction=d.a("showAccessibilityHelpAction","Show Accessibility Help")}(i||(i={})),function(e){e.inspectTokensAction=d.a("inspectTokens","Developer: Inspect Tokens")}(r||(r={})),function(e){e.gotoLineLabelValidLineAndColumn=d.a("gotoLineLabelValidLineAndColumn","Go to line {0} and character {1}"),e.gotoLineLabelValidLine=d.a("gotoLineLabelValidLine","Go to line {0}"),e.gotoLineLabelEmptyWithLineLimit=d.a("gotoLineLabelEmptyWithLineLimit","Type a line number between 1 and {0} to navigate to"),e.gotoLineLabelEmptyWithLineAndColumnLimit=d.a("gotoLineLabelEmptyWithLineAndColumnLimit","Type a character between 1 and {0} to navigate to"),e.gotoLineAriaLabel=d.a("gotoLineAriaLabel","Current Line: {0}. Go to line {1}."),e.gotoLineActionInput=d.a("gotoLineActionInput","Type a line number, followed by an optional colon and a character number to navigate to"),e.gotoLineActionLabel=d.a("gotoLineActionLabel","Go to Line...")}(o||(o={})),function(e){e.ariaLabelEntryWithKey=d.a("ariaLabelEntryWithKey","{0}, {1}, commands"),e.ariaLabelEntry=d.a("ariaLabelEntry","{0}, commands"),e.quickCommandActionInput=d.a("quickCommandActionInput","Type the name of an action you want to execute"),e.quickCommandActionLabel=d.a("quickCommandActionLabel","Command Palette")}(s||(s={})),function(e){e.entryAriaLabel=d.a("entryAriaLabel","{0}, symbols"),e.quickOutlineActionInput=d.a("quickOutlineActionInput","Type the name of an identifier you wish to navigate to"),e.quickOutlineActionLabel=d.a("quickOutlineActionLabel","Go to Symbol..."),e._symbols_=d.a("symbols","symbols ({0})"),e._modules_=d.a("modules","modules ({0})"),e._class_=d.a("class","classes ({0})"),e._interface_=d.a("interface","interfaces ({0})"),e._method_=d.a("method","methods ({0})"),e._function_=d.a("function","functions ({0})"),e._property_=d.a("property","properties ({0})"),e._variable_=d.a("variable","variables ({0})"),e._variable2_=d.a("variable2","variables ({0})"),e._constructor_=d.a("_constructor","constructors ({0})"),e._call_=d.a("call","calls ({0})")}(a||(a={})),function(e){e.editorViewAccessibleLabel=d.a("editorViewAccessibleLabel","Editor content"),e.accessibilityHelpMessageIE=d.a("accessibilityHelpMessageIE","Press Ctrl+F1 for Accessibility Options."),e.accessibilityHelpMessage=d.a("accessibilityHelpMessage","Press Alt+F1 for Accessibility Options.")}(u||(u={})),function(e){e.toggleHighContrast=d.a("toggleHighContrast","Toggle High Contrast Theme")}(c||(c={})),function(e){e.bulkEditServiceSummary=d.a("bulkEditServiceSummary","Made {0} edits in {1} files")}(l||(l={}))},EfRI:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"DeleteWordPartLeft",function(){return d}),n.d(t,"DeleteWordPartRight",function(){return h}),n.d(t,"WordPartLeftCommand",function(){return f}),n.d(t,"CursorWordPartLeft",function(){return p}),n.d(t,"CursorWordPartLeftSelect",function(){return g}),n.d(t,"WordPartRightCommand",function(){return m}),n.d(t,"CursorWordPartRight",function(){return v}),n.d(t,"CursorWordPartRightSelect",function(){return _});var i,r=n("03Zz"),o=n("CIBl"),s=n("vTy2"),a=n("/9db"),u=n("I8T6"),c=n("ItKl"),l=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),d=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:a.a.writable,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:769},weight:100}})||this}return l(t,e),t.prototype._delete=function(e,t,n,i,r){var a=o.b.deleteWordPartLeft(e,t,n,i);return a||new s.a(1,1,1,1)},t}(u.DeleteWordCommand),h=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:a.a.writable,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:788},weight:100}})||this}return l(t,e),t.prototype._delete=function(e,t,n,i,r){var a=o.b.deleteWordPartRight(e,t,n,i);if(a)return a;var u=t.getLineCount(),c=t.getLineMaxColumn(u);return new s.a(u,c,u,c)},t}(u.DeleteWordCommand),f=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return l(t,e),t.prototype._move=function(e,t,n,i){return o.b.moveWordPartLeft(e,t,n)},t}(u.MoveWordCommand),p=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:783},weight:100}})||this}return l(t,e),t}(f);c.a.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");var g=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:1807},weight:100}})||this}return l(t,e),t}(f);c.a.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");var m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return l(t,e),t.prototype._move=function(e,t,n,i){return o.b.moveWordPartRight(e,t,n)},t}(u.MoveWordCommand),v=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:785},weight:100}})||this}return l(t,e),t}(m),_=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:1809},weight:100}})||this}return l(t,e),t}(m);Object(r.g)(new d),Object(r.g)(new h),Object(r.g)(new p),Object(r.g)(new g),Object(r.g)(new v),Object(r.g)(new _)},EuP9:function(e,t,n){"use strict";(function(e){ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +var i=n("EKta"),r=n("ujcs"),o=n("sOR5");function s(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(s()=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(u.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 n=e.length;if(0===n)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return V(e).length;default:if(i)return B(e).length;t=(""+t).toLowerCase(),i=!0}}function g(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function m(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=u.from(t,i)),u.isBuffer(t))return 0===t.length?-1:v(e,t,n,i,r);if("number"==typeof t)return t&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function v(e,t,n,i,r){var o,s=1,a=e.length,u=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;s=2,a/=2,u/=2,n/=2}function c(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(r){var l=-1;for(o=n;oa&&(n=a-u),o=n;o>=0;o--){for(var d=!0,h=0;hr&&(i=r):i=r;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var s=0;s>8,r=n%256,o.push(r),o.push(i);return o}(t,e.length-n),e,n,i)}function x(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function L(e,t,n){n=Math.min(e.length,n);for(var i=[],r=t;r239?4:c>223?3:c>191?2:1;if(r+d<=n)switch(d){case 1:c<128&&(l=c);break;case 2:128==(192&(o=e[r+1]))&&(u=(31&c)<<6|63&o)>127&&(l=u);break;case 3:o=e[r+1],s=e[r+2],128==(192&o)&&128==(192&s)&&(u=(15&c)<<12|(63&o)<<6|63&s)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:o=e[r+1],s=e[r+2],a=e[r+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(u=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(l=u)}null===l?(l=65533,d=1):l>65535&&(l-=65536,i.push(l>>>10&1023|55296),l=56320|1023&l),i.push(l),r+=d}return function(e){var t=e.length;if(t<=O)return String.fromCharCode.apply(String,e);var n="",i=0;for(;ithis.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return E(this,t,n);case"utf8":case"utf-8":return L(this,t,n);case"ascii":return k(this,t,n);case"latin1":case"binary":return N(this,t,n);case"base64":return x(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}.apply(this,arguments)},u.prototype.equals=function(e){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===u.compare(this,e)},u.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},u.prototype.compare=function(e,t,n,i,r){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,i>>>=0,r>>>=0,this===e)return 0;for(var o=r-i,s=n-t,a=Math.min(o,s),c=this.slice(i,r),l=e.slice(t,n),d=0;dr)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return _(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":return y(this,e,t,n);case"latin1":case"binary":return w(this,e,t,n);case"base64":return C(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;function k(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;ri)&&(n=i);for(var r="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function M(e,t,n,i,r,o){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function T(e,t,n,i){t<0&&(t=65535+t+1);for(var r=0,o=Math.min(e.length-n,2);r>>8*(i?r:1-r)}function P(e,t,n,i){t<0&&(t=4294967295+t+1);for(var r=0,o=Math.min(e.length-n,4);r>>8*(i?r:3-r)&255}function A(e,t,n,i,r,o){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function R(e,t,n,i,o){return o||A(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function F(e,t,n,i,o){return o||A(e,0,n,8),r.write(e,t,n,i,52,8),n+8}u.prototype.slice=function(e,t){var n,i=this.length;if(e=~~e,t=void 0===t?i:~~t,e<0?(e+=i)<0&&(e=0):e>i&&(e=i),t<0?(t+=i)<0&&(t=0):t>i&&(t=i),t0&&(r*=256);)i+=this[e+--t]*r;return i},u.prototype.readUInt8=function(e,t){return t||D(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return t||D(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return t||D(e,2,this.length),this[e]<<8|this[e+1]},u.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]},u.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])},u.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||D(e,t,this.length);for(var i=this[e],r=1,o=0;++o=(r*=128)&&(i-=Math.pow(2,8*t)),i},u.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||D(e,t,this.length);for(var i=t,r=1,o=this[e+--i];i>0&&(r*=256);)o+=this[e+--i]*r;return o>=(r*=128)&&(o-=Math.pow(2,8*t)),o},u.prototype.readInt8=function(e,t){return t||D(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){t||D(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(e,t){t||D(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.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},u.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]},u.prototype.readFloatLE=function(e,t){return t||D(e,4,this.length),r.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return t||D(e,4,this.length),r.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return t||D(e,8,this.length),r.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return t||D(e,8,this.length),r.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,n,i){(e=+e,t|=0,n|=0,i)||M(this,e,t,n,Math.pow(2,8*n)-1,0);var r=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+r]=e/o&255;return t+n},u.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):T(this,e,t,!0),t+2},u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):T(this,e,t,!1),t+2},u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):P(this,e,t,!0),t+4},u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):P(this,e,t,!1),t+4},u.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);M(this,e,t,n,r-1,-r)}var o=0,s=1,a=0;for(this[t]=255&e;++o>0)-a&255;return t+n},u.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);M(this,e,t,n,r-1,-r)}var o=n-1,s=1,a=0;for(this[t+o]=255&e;--o>=0&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):T(this,e,t,!0),t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):T(this,e,t,!1),t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):P(this,e,t,!0),t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):P(this,e,t,!1),t+4},u.prototype.writeFloatLE=function(e,t,n){return R(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return R(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return F(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return F(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,i){if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t=0;--r)e[r+t]=this[r+n];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(r=0;r>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===i){(t-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function V(e){return i.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(j,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function H(e,t,n,i){for(var r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}}).call(t,n("DuR2"))},Evjx:function(e,t,n){"use strict";n.d(t,"d",function(){return u}),n.d(t,"b",function(){return l}),n.d(t,"a",function(){return d}),n.d(t,"c",function(){return v});var i,r,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=function(){function e(){this.value="",this.pos=0}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,n=this.pos,i=0,r=this.value.charCodeAt(n);if("number"==typeof(t=e._table[r]))return this.pos+=1,{type:t,pos:n,len:1};if(e.isDigitCharacter(r)){t=8;do{i+=1,r=this.value.charCodeAt(n+i)}while(e.isDigitCharacter(r));return this.pos+=i,{type:t,pos:n,len:i}}if(e.isVariableCharacter(r)){t=9;do{r=this.value.charCodeAt(n+ ++i)}while(e.isVariableCharacter(r)||e.isDigitCharacter(r));return this.pos+=i,{type:t,pos:n,len:i}}t=10;do{i+=1,r=this.value.charCodeAt(n+i)}while(!isNaN(r)&&void 0===e._table[r]&&!e.isDigitCharacter(r)&&!e.isVariableCharacter(r));return this.pos+=i,{type:t,pos:n,len:i}},e._table=((r={})[36]=0,r[58]=1,r[44]=2,r[123]=3,r[125]=4,r[92]=5,r[47]=6,r[124]=7,r[43]=11,r[45]=12,r[63]=13,r),e}(),a=function(){function e(){this._children=[]}return e.prototype.appendChild=function(e){return e instanceof u&&this._children[this._children.length-1]instanceof u?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this},e.prototype.replace=function(e,t){var n=e.parent,i=n.children.indexOf(e),r=n.children.slice(0);r.splice.apply(r,[i,1].concat(t)),n._children=r,function e(t,n){for(var i=0,r=t;it.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 d?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}(c),d=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.options=[],t}return o(t,e),t.prototype.appendChild=function(e){return e instanceof u&&(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),h=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.regexp=new RegExp(""),t}return o(t,e),t.prototype.resolve=function(e){var t=this,n=!1,i=e.replace(this.regexp,function(){return n=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!n&&this._children.some(function(e){return e instanceof f&&Boolean(e.elseValue)})&&(i=this._replace([])),i},t.prototype._replace=function(e){for(var t="",n=0,i=this._children;n0;){var i=n.shift();if(!t(i))break;n.unshift.apply(n,i.children)}}var m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o(t,e),Object.defineProperty(t.prototype,"placeholderInfo",{get:function(){if(!this._placeholders){var e,t=[];this.walk(function(n){return n instanceof l&&(t.push(n),e=!e||e.index0?r.set(e.index,e.children):o.push(e)),!0});for(var a=0,u=o;a0&&t),!r.has(0)&&n&&i.appendChild(new l(0)),i},e.prototype._accept=function(e,t){if(void 0===e||this._token.type===e){var n=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),n}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="",n=this._token.pos,i={type:14,pos:0,len:0};this._token.type!==e||5===i.type;)if(this._token.type===e&&(t+=this._scanner.value.substring(n,i.pos),n=this._token.pos),i=this._token,this._token=this._scanner.next(),14===this._token.type)return!1;return t+=this._scanner.value.substring(n,this._token.pos),this._token=this._scanner.next(),t},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 u(t)),!0)},e.prototype._parseTabstopOrVariableName=function(e){var t,n=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new l(Number(t)):new p(t)),!0):this._backTo(n)},e.prototype._parseComplexPlaceholder=function(e){var t,n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(n);var i=new l(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(i),!0;if(!this._parse(i))return e.appendChild(new u("${"+t+":")),i.children.forEach(e.appendChild,e),!0}else{if(!(i.index>0&&this._accept(7)))return this._accept(6)?this._parseTransform(i)?(e.appendChild(i),!0):(this._backTo(n),!1):this._accept(4)?(e.appendChild(i),!0):this._backTo(n);for(var r=new d;;){if(this._parseChoiceElement(r)){if(this._accept(2))continue;if(this._accept(7)&&(i.appendChild(r),this._accept(4)))return e.appendChild(i),!0}return this._backTo(n),!1}}},e.prototype._parseChoiceElement=function(e){for(var t=this._token,n=[];2!==this._token.type&&7!==this._token.type;){var i=void 0;if(!(i=(i=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||i:this._accept(void 0,!0)))return this._backTo(t),!1;n.push(i)}return 0===n.length?(this._backTo(t),!1):(e.appendChild(new u(n.join(""))),!0)},e.prototype._parseComplexVariable=function(e){var t,n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(n);var i=new p(t);if(!this._accept(1))return this._accept(6)?this._parseTransform(i)?(e.appendChild(i),!0):(this._backTo(n),!1):this._accept(4)?(e.appendChild(i),!0):this._backTo(n);for(;;){if(this._accept(4))return e.appendChild(i),!0;if(!this._parse(i))return e.appendChild(new u("${"+t+":")),i.children.forEach(e.appendChild,e),!0}},e.prototype._parseTransform=function(e){for(var t=new h,n="",i="";!this._accept(6);){var r=void 0;if(r=this._accept(5,!0))n+=r=this._accept(6,!0)||r;else{if(14===this._token.type)return!1;n+=this._accept(void 0,!0)}}for(;!this._accept(6);){r=void 0;if(r=this._accept(5,!0))r=this._accept(5,!0)||this._accept(6,!0)||r,t.appendChild(new u(r));else if(!this._parseFormatString(t)&&!this._parseAnything(t))return!1}for(;!this._accept(4);){if(14===this._token.type)return!1;i+=this._accept(void 0,!0)}try{t.regexp=new RegExp(n,i)}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 n=!1;this._accept(3)&&(n=!0);var i=this._accept(8,!0);if(!i)return this._backTo(t),!1;if(!n)return e.appendChild(new f(Number(i))),!0;if(this._accept(4))return e.appendChild(new f(Number(i))),!0;if(!this._accept(1))return this._backTo(t),!1;if(this._accept(6)){var r=this._accept(9,!0);return r&&this._accept(4)?(e.appendChild(new f(Number(i),r)),!0):(this._backTo(t),!1)}if(this._accept(11)){if(o=this._until(4))return e.appendChild(new f(Number(i),void 0,o,void 0)),!0}else if(this._accept(12)){if(s=this._until(4))return e.appendChild(new f(Number(i),void 0,void 0,s)),!0}else if(this._accept(13)){var o;if(o=this._until(1))if(s=this._until(4))return e.appendChild(new f(Number(i),void 0,o,s)),!0}else{var s;if(s=this._until(4))return e.appendChild(new f(Number(i),void 0,void 0,s)),!0}return this._backTo(t),!1},e.prototype._parseAnything=function(e){return 14!==this._token.type&&(e.appendChild(new u(this._scanner.tokenText(this._token))),this._accept(void 0),!0)},e}()},F11g:function(e,t,n){"use strict";var i=n("geuY"),r=n("HzeT"),o=n("lZ6o"),s=o.utils.assert,a=n("yMmo"),u=n("NMED");function c(e){if(!(this instanceof c))return new c(e);"string"==typeof e&&(s(o.curves.hasOwnProperty(e),"Unknown curve "+e),e=o.curves[e]),e instanceof o.curves.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}e.exports=c,c.prototype.keyPair=function(e){return new a(this,e)},c.prototype.keyFromPrivate=function(e,t){return a.fromPrivate(this,e,t)},c.prototype.keyFromPublic=function(e,t){return a.fromPublic(this,e,t)},c.prototype.genKeyPair=function(e){e||(e={});for(var t=new r({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||o.rand(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),n=this.n.byteLength(),s=this.n.sub(new i(2));;){var a=new i(t.generate(n));if(!(a.cmp(s)>0))return a.iaddn(1),this.keyFromPrivate(a)}},c.prototype._truncateToN=function(e,t){var n=8*e.byteLength()-this.n.bitLength();return n>0&&(e=e.ushrn(n)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},c.prototype.sign=function(e,t,n,o){"object"==typeof n&&(o=n,n=null),o||(o={}),t=this.keyFromPrivate(t,n),e=this._truncateToN(new i(e,16));for(var s=this.n.byteLength(),a=t.getPrivate().toArray("be",s),c=e.toArray("be",s),l=new r({hash:this.hash,entropy:a,nonce:c,pers:o.pers,persEnc:o.persEnc||"utf8"}),d=this.n.sub(new i(1)),h=0;;h++){var f=o.k?o.k(h):new i(l.generate(this.n.byteLength()));if(!((f=this._truncateToN(f,!0)).cmpn(1)<=0||f.cmp(d)>=0)){var p=this.g.mul(f);if(!p.isInfinity()){var g=p.getX(),m=g.umod(this.n);if(0!==m.cmpn(0)){var v=f.invm(this.n).mul(m.mul(t.getPrivate()).iadd(e));if(0!==(v=v.umod(this.n)).cmpn(0)){var _=(p.getY().isOdd()?1:0)|(0!==g.cmp(m)?2:0);return o.canonical&&v.cmp(this.nh)>0&&(v=this.n.sub(v),_^=1),new u({r:m,s:v,recoveryParam:_})}}}}}},c.prototype.verify=function(e,t,n,r){e=this._truncateToN(new i(e,16)),n=this.keyFromPublic(n,r);var o=(t=new u(t,"hex")).r,s=t.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var a,c=s.invm(this.n),l=c.mul(e).umod(this.n),d=c.mul(o).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(l,n.getPublic(),d)).isInfinity()&&a.eqXToP(o):!(a=this.g.mulAdd(l,n.getPublic(),d)).isInfinity()&&0===a.getX().umod(this.n).cmp(o)},c.prototype.recoverPubKey=function(e,t,n,r){s((3&n)===n,"The recovery param is more than two bits"),t=new u(t,r);var o=this.n,a=new i(e),c=t.r,l=t.s,d=1&n,h=n>>1;if(c.cmp(this.curve.p.umod(this.curve.n))>=0&&h)throw new Error("Unable to find sencond key candinate");c=h?this.curve.pointFromX(c.add(this.curve.n),d):this.curve.pointFromX(c,d);var f=t.r.invm(o),p=o.sub(a).mul(f).umod(o),g=l.mul(f).umod(o);return this.g.mulAdd(p,c,g)},c.prototype.getKeyRecoveryParam=function(e,t,n,i){if(null!==(t=new u(t,i)).recoveryParam)return t.recoveryParam;for(var r=0;r<4;r++){var o;try{o=this.recoverPubKey(e,t,r)}catch(e){continue}if(o.eq(n))return r}throw new Error("Unable to find valid recovery factor")}},F5mM:function(e,t){},Fllr:function(e,t,n){"use strict";var i=n("zxiH"),r=n("Kp7x"),o=n("tqet"),s=n("aL7J"),a=n("vTy2"),u=n("+jct"),c=n("+oh4"),l=n("Eeyw"),d=function(){function e(t){if(t.autoClosingPairs?this._autoClosingPairs=t.autoClosingPairs.map(function(e){return new c.b(e)}):t.brackets?this._autoClosingPairs=t.brackets.map(function(e){return new c.b({open:e[0],close:e[1]})}):this._autoClosingPairs=[],t.__electricCharacterSupport&&t.__electricCharacterSupport.docComment){var n=t.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new c.b({open:n.open,close:n.close||""}))}this._autoCloseBefore="string"==typeof t.autoCloseBefore?t.autoCloseBefore:e.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED,this._surroundingPairs=t.surroundingPairs||this._autoClosingPairs}return e.prototype.getAutoClosingPairs=function(){return this._autoClosingPairs},e.prototype.getAutoCloseBeforeSet=function(){return this._autoCloseBefore},e.shouldAutoClosePair=function(e,t,n){if(0===t.getTokenCount())return!0;var i=t.findTokenIndexAtOffset(n-2),r=t.getStandardTokenType(i);return e.isOK(r)},e.prototype.getSurroundingPairs=function(){return this._surroundingPairs},e.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED=";:.,=}])> \n\t",e}(),h=n("iNUG"),f=function(){function e(e){this._richEditBrackets=e}return e.prototype.getElectricCharacters=function(){var e=[];if(this._richEditBrackets)for(var t=0,n=this._richEditBrackets.brackets.length;t0&&n.length>0)for(i=0,r=this._brackets.length;i0)for(i=0,r=this._brackets.length;i1){var r=void 0,o=-1;for(r=t-1;r>=1;r--){if(e.getLanguageIdAtPosition(r,0)!==i)return o;var s=e.getLineContent(r);if(!n.shouldIgnore(s)&&!/^\s+$/.test(s)&&""!==s)return r;o=r}}return-1},e.prototype.getInheritIndentForLine=function(e,t,n){void 0===n&&(n=!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 o=e.getLineContent(r);if(i.shouldIncrease(o)||i.shouldIndentNextLine(o))return{indentation:s.s(o),action:c.a.Indent,line:r};if(i.shouldDecrease(o))return{indentation:s.s(o),action:null,line:r};if(1===r)return{indentation:s.s(e.getLineContent(r)),action:null,line:r};var a=r-1,u=i.getIndentMetadata(e.getLineContent(a));if(!(3&u)&&4&u){for(var l=0,d=a-1;d>0;d--)if(!i.shouldIndentNextLine(e.getLineContent(d))){l=d;break}return{indentation:s.s(e.getLineContent(l+1)),action:null,line:l+1}}if(n)return{indentation:s.s(e.getLineContent(r)),action:null,line:r};for(d=r;d>0;d--){var h=e.getLineContent(d);if(i.shouldIncrease(h))return{indentation:s.s(h),action:c.a.Indent,line:d};if(i.shouldIndentNextLine(h)){l=0;for(var f=d-1;f>0;f--)if(!i.shouldIndentNextLine(e.getLineContent(d))){l=f;break}return{indentation:s.s(e.getLineContent(l+1)),action:null,line:l+1}}if(i.shouldDecrease(h))return{indentation:s.s(h),action:null,line:d}}return{indentation:s.s(e.getLineContent(1)),action:null,line:1}},e.prototype.getGoodIndentForLine=function(e,t,n,r){var o=this.getIndentRulesSupport(t);if(!o)return null;var a=this.getInheritIndentForLine(e,n),u=e.getLineContent(n);if(a){var l=a.line;if(void 0!==l){var d=this._getOnEnterSupport(t),h=null;try{d&&(h=d.onEnter("",e.getLineContent(l),""))}catch(e){Object(i.e)(e)}if(h){var f=s.s(e.getLineContent(l));return h.removeText&&(f=f.substring(0,f.length-h.removeText)),h.indentAction===c.a.Indent||h.indentAction===c.a.IndentOutdent?f=r.shiftIndent(f):h.indentAction===c.a.Outdent&&(f=r.unshiftIndent(f)),o.shouldDecrease(u)&&(f=r.unshiftIndent(f)),h.appendText&&(f+=h.appendText),s.s(f)}}return o.shouldDecrease(u)?a.action===c.a.Indent?a.indentation:r.unshiftIndent(a.indentation):a.action===c.a.Indent?r.shiftIndent(a.indentation):a.indentation}return null},e.prototype.getIndentForEnter=function(e,t,n,i){e.forceTokenization(t.startLineNumber);var r,o,a=e.getLineTokens(t.startLineNumber),u=Object(l.a)(a,t.startColumn-1),d=u.getLineContent(),h=!1;(u.firstCharOffset>0&&a.getLanguageId(0)!==u.languageId?(h=!0,r=d.substr(0,t.startColumn-1-u.firstCharOffset)):r=a.getLineContent().substring(0,t.startColumn-1),t.isEmpty())?o=d.substr(t.startColumn-1-u.firstCharOffset):o=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-u.firstCharOffset);var f=this.getIndentRulesSupport(u.languageId);if(!f)return null;var p=r,g=s.s(r);if(!i&&!h){var m=this.getInheritIndentForLine(e,t.startLineNumber);f.shouldDecrease(r)&&m&&(g=m.indentation,m.action!==c.a.Indent&&(g=n.unshiftIndent(g))),p=g+s.B(s.B(r," "),"\t")}var v={getLineTokens:function(t){return e.getLineTokens(t)},getLanguageIdentifier:function(){return e.getLanguageIdentifier()},getLanguageIdAtPosition:function(t,n){return e.getLanguageIdAtPosition(t,n)},getLineContent:function(n){return n===t.startLineNumber?p:e.getLineContent(n)}},_=s.s(a.getLineContent()),b=this.getInheritIndentForLine(v,t.startLineNumber+1);if(!b){var y=h?_:g;return{beforeEnter:y,afterEnter:y}}var w=h?_:b.indentation;return b.action===c.a.Indent&&(w=n.shiftIndent(w)),f.shouldDecrease(o)&&(w=n.unshiftIndent(w)),{beforeEnter:h?_:g,afterEnter:w}},e.prototype.getIndentActionForType=function(e,t,n,i){var r=this.getScopedLineTokens(e,t.startLineNumber,t.startColumn),o=this.getIndentRulesSupport(r.languageId);if(!o)return null;var s,a=r.getLineContent(),u=a.substr(0,t.startColumn-1-r.firstCharOffset);t.isEmpty()?s=a.substr(t.startColumn-1-r.firstCharOffset):s=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-r.firstCharOffset);if(!o.shouldDecrease(u+s)&&o.shouldDecrease(u+n+s)){var l=this.getInheritIndentForLine(e,t.startLineNumber,!1);if(!l)return null;var d=l.indentation;return l.action!==c.a.Indent&&(d=i.unshiftIndent(d)),d}return null},e.prototype.getIndentMetadata=function(e,t){var n=this.getIndentRulesSupport(e.getLanguageIdentifier().id);return n?t<1||t>e.getLineCount()?null:n.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,n){var i=this.getEnterAction(e,new a.a(t,n,t,n));return i?i.enterAction:null},e.prototype.getEnterAction=function(e,t){var n=this.getIndentationAtPosition(e,t.startLineNumber,t.startColumn),r=this.getScopedLineTokens(e,t.startLineNumber,t.startColumn),o=this._getOnEnterSupport(r.languageId);if(!o)return null;var s,a=r.getLineContent(),u=a.substr(0,t.startColumn-1-r.firstCharOffset);t.isEmpty()?s=a.substr(t.startColumn-1-r.firstCharOffset):s=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-r.firstCharOffset);var l=t.startLineNumber,d="";if(l>1&&0===r.firstCharOffset){var h=this.getScopedLineTokens(e,l-1);h.languageId===r.languageId&&(d=h.getLineContent())}var f=null;try{f=o.onEnter(d,u,s)}catch(e){Object(i.e)(e)}return f?(f.appendText||(f.indentAction===c.a.Indent||f.indentAction===c.a.IndentOutdent?f.appendText="\t":f.appendText=""),f.removeText&&(n=n.substring(0,n.length-f.removeText)),{enterAction:f,indentation:n}):null},e.prototype.getIndentationAtPosition=function(e,t,n){var i=e.getLineContent(t),r=s.s(i);return r.length>n-1&&(r=r.substring(0,n-1)),r},e.prototype.getScopedLineTokens=function(e,t,n){e.forceTokenization(t);var i=e.getLineTokens(t),r=void 0===n?e.getLineMaxColumn(t)-1:n-1;return Object(l.a)(i,r)},e.prototype.getBracketsSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.brackets||null},e}())},G7Ib:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("03Zz"),r=n("0Td8");Object(i.h)(r.f),Object(i.f)(r.e),Object(i.f)(r.g),Object(i.f)(r.h),Object(i.f)(r.d),Object(i.f)(r.a),Object(i.f)(r.c),Object(i.g)(new r.b)},G8r4:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("Kp7x"),r=new(function(){function e(){this._zoomLevel=0,this._onDidChangeZoomLevel=new i.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}())},GUE9:function(e,t,n){(function(t,i){var r,o=n("2JY6"),s=n("35aj"),a=n("Zq1s"),u=n("X3l8").Buffer,c=t.crypto&&t.crypto.subtle,l={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},d=[];function h(e,t,n,i,r){return c.importKey("raw",e,{name:"PBKDF2"},!1,["deriveBits"]).then(function(e){return c.deriveBits({name:"PBKDF2",salt:t,iterations:n,hash:{name:r}},e,i<<3)}).then(function(e){return u.from(e)})}e.exports=function(e,n,f,p,g,m){"function"==typeof g&&(m=g,g=void 0);var v=l[(g=g||"sha1").toLowerCase()];if(!v||"function"!=typeof t.Promise)return i.nextTick(function(){var t;try{t=a(e,n,f,p,g)}catch(e){return m(e)}m(null,t)});if(o(e,n,f,p),"function"!=typeof m)throw new Error("No callback provided to pbkdf2");u.isBuffer(e)||(e=u.from(e,s)),u.isBuffer(n)||(n=u.from(n,s)),function(e,t){e.then(function(e){i.nextTick(function(){t(null,e)})},function(e){i.nextTick(function(){t(e)})})}(function(e){if(t.process&&!t.process.browser)return Promise.resolve(!1);if(!c||!c.importKey||!c.deriveBits)return Promise.resolve(!1);if(void 0!==d[e])return d[e];var n=h(r=r||u.alloc(8),r,10,128,e).then(function(){return!0}).catch(function(){return!1});return d[e]=n,n}(v).then(function(t){return t?h(e,n,f,p,v):a(e,n,f,p,g)}),m)}}).call(t,n("DuR2"),n("W2nU"))},GV5w:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"GotoLineEntry",function(){return g}),n.d(t,"GotoLineAction",function(){return m});var i,r=n("wtJh"),o=(n.n(r),n("aL7J")),s=n("Al6Q"),a=n("P1SM"),u=n("03Zz"),c=n("artP"),l=n("vTy2"),d=n("/9db"),h=n("zwZj"),f=n("EfIu"),p=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),g=function(e){function t(t,n,i){var r=e.call(this)||this;return r.editor=n,r.decorator=i,r.parseResult=r.parseInput(t),r}return p(t,e),t.prototype.parseInput=function(e){var t,n,i=e.split(",").map(function(e){return parseInt(e,10)}).filter(function(e){return!isNaN(e)});if(t=0===i.length?new c.a(-1,-1):1===i.length?new c.a(i[0],1):new c.a(i[0],i[1]),Object(a.a)(this.editor))n=this.editor.getModel();else{var r=this.editor.getModel();n=r?r.modified:null}var s=!!n&&n.validatePosition(t).equals(t);return{position:t,isValid:s,label:s?t.column&&t.column>1?o.r(f.b.gotoLineLabelValidLineAndColumn,t.lineNumber,t.column):o.r(f.b.gotoLineLabelValidLine,t.lineNumber):t.lineNumber<1||t.lineNumber>(n?n.getLineCount():0)?o.r(f.b.gotoLineLabelEmptyWithLineLimit,n?n.getLineCount():0):o.r(f.b.gotoLineLabelEmptyWithLineAndColumnLimit,n?n.getLineMaxColumn(t.lineNumber):0)}},t.prototype.getLabel=function(){return this.parseResult.label},t.prototype.getAriaLabel=function(){var e=this.editor.getPosition(),t=e?e.lineNumber:0;return o.r(f.b.gotoLineAriaLabel,t,this.parseResult.label)},t.prototype.run=function(e,t){return 1===e?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 l.a(this.parseResult.position.lineNumber,this.parseResult.position.column,this.parseResult.position.lineNumber,this.parseResult.position.column)},t}(s.a),m=function(e){function t(){return e.call(this,f.b.gotoLineActionInput,{id:"editor.action.gotoLine",label:f.b.gotoLineActionLabel,alias:"Go to Line...",precondition:void 0,kbOpts:{kbExpr:d.a.focus,primary:2085,mac:{primary:293},weight:100}})||this}return p(t,e),t.prototype.run=function(e,t){var n=this;this._show(this.getController(t),{getModel:function(e){return new s.c([new g(e,t,n.getController(t))])},getAutoFocus:function(e){return{autoFocusFirstEntry:e.length>0}}})},t}(h.a);Object(u.f)(m)},GYOr:function(e,t,n){"use strict";n.d(t,"g",function(){return s}),t.f=function(e,t,n){void 0===n&&(n=!1);if("string"!=typeof e||"string"!=typeof t)return null;var i=b.get(e);i||(i=new RegExp(r.j(e),"i"),b.set(e,i));var o=i.exec(t);if(o)return[{start:o.index,end:o.index+o[0].length}];return n?_(e,t):v(e,t)},t.b=function(e,t,n,i,r,o){var s=I(e,t,0,i,r,0,!0);if(s)return s;for(var a=0,u=0,c=o,l=0;l=0)u+=1,a+=Math.pow(2,d),c=d+1;else if(0!==a)break}return[u,a,o]},t.c=function(e){if(void 0===e)return[];for(var t=e[1].toString(2),n=[],i=e[2];i=3)for(var c=Math.min(7,e.length-1),l=n+1;lu[0])&&(u=h))}}return u}(e,t,n,i,r,o,!0,s)};var i=n("WTFd"),r=n("aL7J");function o(){for(var e=[],t=0;t0?[{start:0,end:t.length}]:[]}.bind(void 0,!0);function a(e){return 97<=e&&e<=122}function u(e){return 65<=e&&e<=90}function c(e){return 48<=e&&e<=57}function l(e){return 32===e||9===e||10===e||13===e}var d=new Set;function h(e){return a(e)||u(e)||c(e)}function f(e,t){return 0===t.length?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function p(e,t){for(var n=t;n0&&!h(e.charCodeAt(n-1)))return n}return e.length}function g(e,t,n,i){if(n===e.length)return[];if(i===t.length)return null;if(e[n]!==t[i].toLowerCase())return null;var r=null,o=i+1;for(r=g(e,t,n+1,i+1);!r&&(o=p(t,o))60)return null;var n=function(e){for(var t=0,n=0,i=0,r=0,o=0,s=0;s.2&&t<.8&&i>.6&&r<.2}(n)){if(!function(e){var t=e.upperPercent;return 0===e.lowerPercent&&t>.6}(n))return null;t=t.toLowerCase()}var i=null,r=0;for(e=e.toLowerCase();r/?".split("").forEach(function(e){return d.add(e.charCodeAt(0))});var v=o(s,m,function(e,t){var n=t.toLowerCase().indexOf(e.toLowerCase());return-1===n?null:[{start:n,end:n+e.length}]}),_=o(s,m,function(e,t){return function e(t,n,i,r){if(i===t.length)return[];if(r===n.length)return null;if(t[i]===n[r]){var o=null;return(o=e(t,n,i+1,r+1))?f({start:r,end:r+1},o):null}return e(t,n,i,r+1)}(e.toLowerCase(),t.toLowerCase(),0,0)}),b=new i.a(1e4);var y=128;function w(){for(var e=[],t=[0],n=1;n<=y;n++)t.push(-n);for(n=0;n<=y;n++){var i=t.slice(0);i[0]=-n,e.push(i)}return e}var C,S=w(),x=w(),L=w(),O=!1;function k(e,t,n,i,r){function o(e,t,n){for(void 0===n&&(n=" ");e.length=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:case 36:return!0;default:return!1}}function E(e,t,n){return t[e]!==n[e]}function I(e,t,n,i,r,o,s){var a=e.length>y?y:e.length,u=i.length>y?y:i.length;if(!(n>=a||o>=u||a>u)&&function(e,t,n,i,r,o){for(;t1?1:f),g=S[c-1][l]+-1,m=S[c][l-1]+-1;m>=g?m>p?(S[c][l]=m,L[c][l]=4):m===p?(S[c][l]=m,L[c][l]=6):(S[c][l]=p,L[c][l]=2):g>p?(S[c][l]=g,L[c][l]=1):g===p?(S[c][l]=g,L[c][l]=3):(S[c][l]=p,L[c][l]=2)}if(O&&function(e,t,n,i){e=e.substr(t),n=n.substr(i),console.log(k(S,e,e.length,n,n.length)),console.log(k(L,e,e.length,n,n.length)),console.log(k(x,e,e.length,n,n.length))}(e,n,i,o),M=0,P=-100,A=o,R=s,function e(t,n,i,r,o){if(M>=10||i<-25)return;var s=0;for(;t>0&&n>0;){var a=x[t][n],u=L[t][n];if(4===u)n-=1,o?i-=5:0!==r&&(i-=1),o=!1,s=0;else{if(!(2&u))return;if(4&u&&e(t,n-1,0!==r?i-1:i,r,o),i+=a,t-=1,n-=1,o=!0,r+=Math.pow(2,n+A),1===a){if(s+=1,0===t&&!R)return}else i+=1+s*(a-1),s=0}}i-=n>=3?9:3*n;M+=1;i>P&&(P=i,T=r)}(c-1,l-1,a===u?1:0,0,!1),0!==M)return[P,T,o]}}function D(e,t,n,i,r,o,s){return t[n]!==o[s]?-1:s===n-i?e[n]===r[s]?7:5:!E(s,r,o)||0!==s&&E(s-1,r,o)?!N(o,s)||0!==s&&N(o,s-1)?N(o,s-1)||function(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 32:case 9:return!0;default:return!1}}(o,s-1)?5:1:5:e[n]===r[s]?7:5}!function(e){e.Default=Object.freeze([-100,0,0]),e.isDefault=function(e){return!e||-100===e[0]&&0===e[1]&&0===e[2]}}(C||(C={}));var M=0,T=0,P=0,A=0,R=!1;function F(e,t){if(!(t+1>=e.length)){var n=e[t],i=e[t+1];if(n!==i)return e.slice(0,t)+i+n+e.slice(t+2)}}},GZKt:function(e,t){},GfE5:function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return o});var i=n("CQAd"),r=function(){function e(t){var n=Object(i.d)(t);this._defaultValue=n,this._asciiMap=e._createAsciiMap(n),this._map=new Map}return e._createAsciiMap=function(e){for(var t=new Uint8Array(256),n=0;n<256;n++)t[n]=e;return t},e.prototype.set=function(e,t){var n=Object(i.d)(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)},e.prototype.get=function(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue},e}(),o=function(){function e(){this._actual=new r(0)}return e.prototype.add=function(e){this._actual.set(e,1)},e.prototype.has=function(e){return 1===this._actual.get(e)},e}()},GgF8:function(e,t){var n="[object String]",i=Object.prototype.toString,r=Array.isArray;e.exports=function(e){return"string"==typeof e||!r(e)&&function(e){return!!e&&"object"==typeof e}(e)&&i.call(e)==n}},GsV8:function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return o});var i=n("JVO/"),r=Object(i.c)("openerService"),o=Object.freeze({_serviceBrand:void 0,registerOpener:function(){return{dispose:function(){}}},registerValidator:function(){return{dispose:function(){}}},open:function(){return Promise.resolve(!1)}})},Gu5N:function(e,t){},Gu7T:function(e,t,n){"use strict";t.__esModule=!0;var i,r=n("c/Tr"),o=(i=r)&&i.__esModule?i:{default:i};t.default=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);tl&&(d=l,h=e.model.getLineMaxColumn(d)),o.d.fromModelState(new o.f(new c.a(s.lineNumber,1,d,h),0,new u.a(d,h),0))}var f=t.modelState.selectionStart.getStartPosition().lineNumber;if(s.lineNumberf){l=e.viewModel.getLineCount();var p=a.lineNumber+1,g=1;return p>l&&(p=l,g=e.viewModel.getLineMaxColumn(p)),o.d.fromViewState(t.viewState.move(t.modelState.hasSelection(),p,g,0))}var m=t.modelState.selectionStart.getEndPosition();return o.d.fromModelState(t.modelState.move(t.modelState.hasSelection(),m.lineNumber,m.column,0))},e.word=function(e,t,n,i){var r=e.model.validatePosition(i);return o.d.fromModelState(a.a.word(e.config,e.model,t.modelState,n,r))},e.cancelSelection=function(e,t){if(!t.modelState.hasSelection())return new o.d(t.modelState,t.viewState);var n=t.viewState.position.lineNumber,i=t.viewState.position.column;return o.d.fromViewState(new o.f(new c.a(n,i,n,i),0,new u.a(n,i),0))},e.moveTo=function(e,t,n,i,r){var s=e.model.validatePosition(i),a=r?e.validateViewPosition(new u.a(r.lineNumber,r.column),s):e.convertModelPositionToViewPosition(s);return o.d.fromViewState(t.viewState.move(n,a.lineNumber,a.column,0))},e.move=function(e,t,n){var i=n.select,r=n.value;switch(n.direction){case 0:return 4===n.unit?this._moveHalfLineLeft(e,t,i):this._moveLeft(e,t,i,r);case 1:return 4===n.unit?this._moveHalfLineRight(e,t,i):this._moveRight(e,t,i,r);case 2:return 2===n.unit?this._moveUpByViewLines(e,t,i,r):this._moveUpByModelLines(e,t,i,r);case 3:return 2===n.unit?this._moveDownByViewLines(e,t,i,r):this._moveDownByModelLines(e,t,i,r);case 4:return this._moveToViewMinColumn(e,t,i);case 5:return this._moveToViewFirstNonWhitespaceColumn(e,t,i);case 6:return this._moveToViewCenterColumn(e,t,i);case 7:return this._moveToViewMaxColumn(e,t,i);case 8:return this._moveToViewLastNonWhitespaceColumn(e,t,i);case 9:var o=t[0],s=e.getCompletelyVisibleModelRange(),a=this._firstLineNumberInRange(e.model,s,r),u=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,o,i,a,u)];case 11:o=t[0],s=e.getCompletelyVisibleModelRange(),a=this._lastLineNumberInRange(e.model,s,r),u=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,o,i,a,u)];case 10:o=t[0],s=e.getCompletelyVisibleModelRange(),a=Math.round((s.startLineNumber+s.endLineNumber)/2),u=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,o,i,a,u)];case 12:for(var c=e.getCompletelyVisibleViewRange(),l=[],d=0,h=t.length;dn.endLineNumber-1&&(r=n.endLineNumber-1),rr,d=i>o,h=io)continue;if(bi)continue;if(_1&&r--,e.columnSelect(t,n,i.fromViewLineNumber,i.fromViewVisualColumn,i.toViewLineNumber,r)},e.columnSelectRight=function(e,t,n){for(var i=0,r=Math.min(n.fromViewLineNumber,n.toViewLineNumber),o=Math.max(n.fromViewLineNumber,n.toViewLineNumber),s=r;s<=o;s++){var c=t.getLineMaxColumn(s),l=a.a.visibleColumnFromColumn2(e,t,new u.a(s,c));i=Math.max(i,l)}var d=n.toViewVisualColumn;return d1)for(var o=n.modelState?n.modelState.position:null,s=n.viewState?n.viewState.position:null,a=0,u=r.length;ar&&(i=r);var o=new c.a(i,1,i,e.context.model.getLineMaxColumn(i)),s=0;if(n.at)switch(n.at){case b.RawAtArgument.Top:s=3;break;case b.RawAtArgument.Center:s=1;break;case b.RawAtArgument.Bottom:s=4}var a=e.context.convertModelRangeToViewRange(o);e.revealRange(!1,a,s,0)},t}(k))),e.SelectAll=Object(o.g)(new(function(e){function t(){return e.call(this,{id:"selectAll",precondition:void 0})||this}return L(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,3,[h.b.selectAll(e.context,e.getPrimaryCursor())])},t}(k))),e.SetSelection=Object(o.g)(new(function(e){function t(){return e.call(this,{id:"setSelection",precondition:void 0})||this}return L(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,3,[a.d.fromModelSelection(t.selection)])},t}(k)))}(w||(w={})),S=C||(C={}),x=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return L(t,e),t.prototype.runEditorCommand=function(e,t,n){var i=t._getCursors();i&&this.runCoreEditingCommand(t,i,n||{})},t}(o.c),S.CoreEditingCommand=x,S.LineBreakInsert=Object(o.g)(new(function(e){function t(){return e.call(this,{id:"lineBreakInsert",precondition:g.a.writable,kbOpts:{weight:O,kbExpr:g.a.textInputFocus,primary:0,mac:{primary:301}}})||this}return L(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,f.a.lineBreakInsert(t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection})))},t}(x))),S.Outdent=Object(o.g)(new(function(e){function t(){return e.call(this,{id:"outdent",precondition:g.a.writable,kbOpts:{weight:O,kbExpr:m.a.and(g.a.editorTextFocus,g.a.tabDoesNotMoveFocus),primary:1026}})||this}return L(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,f.a.outdent(t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection}))),e.pushUndoStop()},t}(x))),S.Tab=Object(o.g)(new(function(e){function t(){return e.call(this,{id:"tab",precondition:g.a.writable,kbOpts:{weight:O,kbExpr:m.a.and(g.a.editorTextFocus,g.a.tabDoesNotMoveFocus),primary:2}})||this}return L(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,f.a.tab(t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection}))),e.pushUndoStop()},t}(x))),S.DeleteLeft=Object(o.g)(new(function(e){function t(){return e.call(this,{id:"deleteLeft",precondition:g.a.writable,kbOpts:{weight:O,kbExpr:g.a.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})||this}return L(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){var i=d.a.deleteLeft(t.getPrevEditOperationType(),t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection})),r=i[0],o=i[1];r&&e.pushUndoStop(),e.executeCommands(this.id,o),t.setPrevEditOperationType(2)},t}(x))),S.DeleteRight=Object(o.g)(new(function(e){function t(){return e.call(this,{id:"deleteRight",precondition:g.a.writable,kbOpts:{weight:O,kbExpr:g.a.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})||this}return L(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){var i=d.a.deleteRight(t.getPrevEditOperationType(),t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection})),r=i[0],o=i[1];r&&e.pushUndoStop(),e.executeCommands(this.id,o),t.setPrevEditOperationType(3)},t}(x)));var E=function(e){function t(t){var n=e.call(this,t)||this;return n._editorHandler=t.editorHandler,n._inputHandler=t.inputHandler,n}return L(t,e),t.prototype.runCommand=function(e,t){var n=e.get(s.a).getFocusedCodeEditor();if(n&&n.hasTextFocus())return this._runEditorHandler(e,n,t);var i=document.activeElement;if(!(i&&["input","textarea"].indexOf(i.tagName.toLowerCase())>=0)){var r=e.get(s.a).getActiveCodeEditor();return r?(r.focus(),this._runEditorHandler(e,r,t)):void 0}document.execCommand(this._inputHandler)},t.prototype._runEditorHandler=function(e,t,n){var i=this._editorHandler;"string"==typeof i?t.trigger("keyboard",i,n):((n=n||{}).source="keyboard",i.runEditorCommand(e,t,n))},t}(o.a),I=function(e){function t(t,n,i){var r=e.call(this,{id:t,precondition:void 0,description:i})||this;return r._handlerId=n,r}return L(t,e),t.prototype.runCommand=function(e,t){var n=e.get(s.a).getFocusedCodeEditor();n&&n.trigger("keyboard",this._handlerId,t)},t}(o.a);function D(e,t){N(new I("default:"+e,e)),N(new I(e,e,t))}N(new E({editorHandler:w.SelectAll,inputHandler:"selectAll",id:"editor.action.selectAll",precondition:g.a.textInputFocus,kbOpts:{weight:O,kbExpr:null,primary:2079},menubarOpts:{menuId:22,group:"1_basic",title:i.a({key:"miSelectAll",comment:["&& denotes a mnemonic"]},"&&Select All"),order:1}})),N(new E({editorHandler:p.b.Undo,inputHandler:"undo",id:p.b.Undo,precondition:g.a.writable,kbOpts:{weight:O,kbExpr:g.a.textInputFocus,primary:2104},menubarOpts:{menuId:14,group:"1_do",title:i.a({key:"miUndo",comment:["&& denotes a mnemonic"]},"&&Undo"),order:1}})),N(new I("default:"+p.b.Undo,p.b.Undo)),N(new E({editorHandler:p.b.Redo,inputHandler:"redo",id:p.b.Redo,precondition:g.a.writable,kbOpts:{weight:O,kbExpr:g.a.textInputFocus,primary:2103,secondary:[3128],mac:{primary:3128}},menubarOpts:{menuId:14,group:"1_do",title:i.a({key:"miRedo",comment:["&& denotes a mnemonic"]},"&&Redo"),order:2}})),N(new I("default:"+p.b.Redo,p.b.Redo)),D(p.b.Type,{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),D(p.b.ReplacePreviousChar),D(p.b.CompositionStart),D(p.b.CompositionEnd),D(p.b.Paste),D(p.b.Cut)},Hv4S:function(e,t){},HzeT:function(e,t,n){"use strict";var i=n("3PYz"),r=n("tpuU"),o=n("08Lv");function s(e){if(!(this instanceof s))return new s(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=r.toArray(e.entropy,e.entropyEnc||"hex"),n=r.toArray(e.nonce,e.nonceEnc||"hex"),i=r.toArray(e.pers,e.persEnc||"hex");o(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,n,i)}e.exports=s,s.prototype._init=function(e,t,n){var i=e.concat(t).concat(n);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var r=0;r=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(n||[])),this._reseed=1},s.prototype.generate=function(e,t,n,i){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(i=n,n=t,t=null),n&&(n=r.toArray(n,i||"hex"),this._update(n));for(var o=[];o.length=n)break;var r=e.charCodeAt(t);if(110===r||114===r||87===r)return!0}}return!1}(this.searchString):this.searchString.indexOf("\n")>=0;var t=null;try{t=i.k(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0})}catch(e){return null}if(!t)return null;var n=!this.isRegex&&!e;return n&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(n=this.matchCase),new c(t,this.wordSeparators?Object(r.a)(this.wordSeparators):null,n?this.searchString:null)},e}();var c=function(){return function(e,t,n){this.regex=e,this.wordSeparators=t,this.simpleSearch=n}}();function l(e,t,n){if(!n)return new a.b(e,null);for(var i=[],r=0,o=t.length;r>0);t[r]>=e?i=r-1:t[r+1]>=e?(n=r,i=r):n=r+1}return n+1},e}(),h=function(){function e(){}return e.findMatches=function(e,t,n,i,r){var o=t.parseSearchRequest();return o?o.regex.multiline?this._doFindMatchesMultiline(e,n,new p(o.wordSeparators,o.regex),i,r):this._doFindMatchesLineByLine(e,n,o,i,r):[]},e._getMultilineMatchRange=function(e,t,n,i,r,o){var a,u,c=0;if(a=i?t+r+(c=i.findLineFeedCountBeforeOffset(r)):t+r,i){var l=i.findLineFeedCountBeforeOffset(r+o.length)-c;u=a+o.length+l}else u=a+o.length;var d=e.getPositionAt(a),h=e.getPositionAt(u);return new s.a(d.lineNumber,d.column,h.lineNumber,h.column)},e._doFindMatchesMultiline=function(e,t,n,i,r){var o,s=e.getOffsetAt(t.getStartPosition()),a=e.getValueInRange(t,1),u="\r\n"===e.getEOL()?new d(a):null,c=[],h=0;for(n.reset(0);o=n.next(a);)if(c[h++]=l(this._getMultilineMatchRange(e,s,a,u,o.index,o[0]),o,i),h>=r)return c;return c},e._doFindMatchesLineByLine=function(e,t,n,i,r){var o=[],s=0;if(t.startLineNumber===t.endLineNumber){var a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return s=this._findMatchesInLine(n,a,t.startLineNumber,t.startColumn-1,s,o,i,r),o}var u=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);s=this._findMatchesInLine(n,u,t.startLineNumber,t.startColumn-1,s,o,i,r);for(var c=t.startLineNumber+1;c=c))return r;return r}var _,b=new p(e.wordSeparators,e.regex);b.reset(0);do{if((_=b.next(t))&&(o[r++]=l(new s.a(n,_.index+1+i,n,_.index+1+_[0].length+i),_,u),r>=c))return r}while(_);return r},e.findNextMatch=function(e,t,n,i){var r=t.parseSearchRequest();if(!r)return null;var o=new p(r.wordSeparators,r.regex);return r.regex.multiline?this._doFindNextMatchMultiline(e,n,o,i):this._doFindNextMatchLineByLine(e,n,o,i)},e._doFindNextMatchMultiline=function(e,t,n,i){var r=new o.a(t.lineNumber,1),a=e.getOffsetAt(r),u=e.getLineCount(),c=e.getValueInRange(new s.a(r.lineNumber,r.column,u,e.getLineMaxColumn(u)),1),h="\r\n"===e.getEOL()?new d(c):null;n.reset(t.column-1);var f=n.next(c);return f?l(this._getMultilineMatchRange(e,a,c,h,f.index,f[0]),f,i):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new o.a(1,1),n,i):null},e._doFindNextMatchLineByLine=function(e,t,n,i){var r=e.getLineCount(),o=t.lineNumber,s=e.getLineContent(o),a=this._findFirstMatchInLine(n,s,o,t.column,i);if(a)return a;for(var u=1;u<=r;u++){var c=(o+u-1)%r,l=e.getLineContent(c+1),d=this._findFirstMatchInLine(n,l,c+1,1,i);if(d)return d}return null},e._findFirstMatchInLine=function(e,t,n,i,r){e.reset(i-1);var o=e.next(t);return o?l(new s.a(n,o.index+1,n,o.index+1+o[0].length),o,r):null},e.findPreviousMatch=function(e,t,n,i){var r=t.parseSearchRequest();if(!r)return null;var o=new p(r.wordSeparators,r.regex);return r.regex.multiline?this._doFindPreviousMatchMultiline(e,n,o,i):this._doFindPreviousMatchLineByLine(e,n,o,i)},e._doFindPreviousMatchMultiline=function(e,t,n,i){var r=this._doFindMatchesMultiline(e,new s.a(1,1,t.lineNumber,t.column),n,i,9990);if(r.length>0)return r[r.length-1];var a=e.getLineCount();return t.lineNumber!==a||t.column!==e.getLineMaxColumn(a)?this._doFindPreviousMatchMultiline(e,new o.a(a,e.getLineMaxColumn(a)),n,i):null},e._doFindPreviousMatchLineByLine=function(e,t,n,i){var r=e.getLineCount(),o=t.lineNumber,s=e.getLineContent(o).substring(0,t.column-1),a=this._findLastMatchInLine(n,s,o,i);if(a)return a;for(var u=1;u<=r;u++){var c=(r+o-u-1)%r,l=e.getLineContent(c+1),d=this._findLastMatchInLine(n,l,c+1,i);if(d)return d}return null},e._findLastMatchInLine=function(e,t,n,i){var r,o=null;for(e.reset(0);r=e.next(t);)o=l(new s.a(n,r.index+1,n,r.index+1+r[0].length),r,i);return o},e}();function f(e,t,n,i,r){return function(e,t,n,i,r){if(0===i)return!0;var o=t.charCodeAt(i-1);if(0!==e.get(o))return!0;if(13===o||10===o)return!0;if(r>0){var s=t.charCodeAt(i);if(0!==e.get(s))return!0}return!1}(e,t,0,i,r)&&function(e,t,n,i,r){if(i+r===n)return!0;var o=t.charCodeAt(i+r);if(0!==e.get(o))return!0;if(13===o||10===o)return!0;if(r>0){var s=t.charCodeAt(i+r-1);if(0!==e.get(s))return!0}return!1}(e,t,n,i,r)}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,n=e.length;do{if(this._prevMatchStartIndex+this._prevMatchLength===n)return null;if(!(t=this._searchRegex.exec(e)))return null;var i=t.index,r=t[0].length;if(i===this._prevMatchStartIndex&&r===this._prevMatchLength){if(0===r){this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=i,this._prevMatchLength=r,!this._wordSeparators||f(this._wordSeparators,e,n,i,r))return t}while(t);return null},e}()},IG52:function(e,t,n){"use strict";n.d(t,"c",function(){return g}),n.d(t,"d",function(){return m}),n.d(t,"b",function(){return v}),n.d(t,"a",function(){return b});var i,r=n("LC7R"),o=(n.n(r),n("ZfGv")),s=n("hK2W"),a=n("tqet"),u=n("AKCZ"),c=n("7/Cv"),l=n("KIxu"),d=n("Bug4"),h=n("gzF+"),f=n("Kp7x"),p=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),g=function(e){function t(t,n,i){var r=e.call(this)||this;return r.options=i,r._context=t||r,r._action=n,n instanceof u.a&&r._register(n.onDidChange(function(e){r.element&&r.handleActionChangeEvent(e)})),r}return p(t,e),t.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(t.prototype,"actionRunner",{get:function(){return this._actionRunner},set:function(e){this._actionRunner=e},enumerable:!0,configurable:!0}),t.prototype.getAction=function(){return this._action},t.prototype.isEnabled=function(){return this._action.enabled},t.prototype.setActionContext=function(e){this._context=e},t.prototype.render=function(e){var t=this;this.element=e,d.b.addTarget(e);var n=this.options&&this.options.draggable;n&&(e.draggable=!0),this._register(c.h(this.element,d.a.Tap,function(e){return t.onClick(e)})),this._register(c.h(this.element,c.d.MOUSE_DOWN,function(e){n||c.c.stop(e,!0),t._action.enabled&&0===e.button&&t.element&&c.f(t.element,"active")})),this._register(c.h(this.element,c.d.CLICK,function(e){c.c.stop(e,!0),t.options&&t.options.isMenu?t.onClick(e):o.h(function(){return t.onClick(e)})})),this._register(c.h(this.element,c.d.DBLCLICK,function(e){c.c.stop(e,!0)})),[c.d.MOUSE_UP,c.d.MOUSE_OUT].forEach(function(e){t._register(c.h(t.element,e,function(e){c.c.stop(e),c.I(t.element,"active")}))})},t.prototype.onClick=function(e){var t;c.c.stop(e,!0),l.k(this._context)?t=e:(t=this._context,l.h(t)&&(t.event=e)),this._actionRunner.run(this._action,t)},t.prototype.focus=function(){this.element&&(this.element.focus(),c.f(this.element,"focused"))},t.prototype.blur=function(){this.element&&(this.element.blur(),c.I(this.element,"focused"))},t.prototype.updateEnabled=function(){},t.prototype.updateLabel=function(){},t.prototype.updateTooltip=function(){},t.prototype.updateClass=function(){},t.prototype.updateChecked=function(){},t.prototype.dispose=function(){this.element&&(c.K(this.element),this.element=void 0),e.prototype.dispose.call(this)},t}(a.a),m=function(e){function t(n){var i=e.call(this,t.ID,n,n?"separator text":"separator")||this;return i.checked=!1,i.radio=!1,i.enabled=!1,i}return p(t,e),t.ID="vs.actions.separator",t}(u.a),v=function(e){function t(t,n,i){void 0===i&&(i={});var r=e.call(this,t,n,i)||this;return r.options=i,r.options.icon=void 0!==i.icon&&i.icon,r.options.label=void 0===i.label||i.label,r.cssClass="",r}return p(t,e),t.prototype.render=function(t){e.prototype.render.call(this,t),this.element&&(this.label=c.m(this.element,c.a("a.action-label"))),this._action.id===m.ID?this.label.setAttribute("role","presentation"):this.options.isMenu?this.label.setAttribute("role","menuitem"):this.label.setAttribute("role","button"),this.options.label&&this.options.keybinding&&this.element&&(c.m(this.element,c.a("span.keybinding")).textContent=this.options.keybinding),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()},t.prototype.focus=function(){e.prototype.focus.call(this),this.label.focus()},t.prototype.updateLabel=function(){this.options.label&&(this.label.textContent=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.label.title=e)},t.prototype.updateClass=function(){this.cssClass&&c.J(this.label,this.cssClass),this.options.icon?(this.cssClass=this.getAction().class,c.f(this.label,"icon"),this.cssClass&&c.g(this.label,this.cssClass),this.updateEnabled()):c.I(this.label,"icon")},t.prototype.updateEnabled=function(){this.getAction().enabled?(this.label.removeAttribute("aria-disabled"),this.element&&c.I(this.element,"disabled"),c.I(this.label,"disabled"),this.label.tabIndex=0):(this.label.setAttribute("aria-disabled","true"),this.element&&c.f(this.element,"disabled"),c.f(this.label,"disabled"),c.L(this.label))},t.prototype.updateChecked=function(){this.getAction().checked?c.f(this.label,"checked"):c.I(this.label,"checked")},t}(g),_={orientation:0,context:null,triggerKeys:{keys:[3,10],keyDown:!1}},b=function(e){function t(t,n){void 0===n&&(n=_);var i,r,o=e.call(this)||this;switch(o._onDidBlur=o._register(new f.a),o.onDidBlur=o._onDidBlur.event,o._onDidCancel=o._register(new f.a),o.onDidCancel=o._onDidCancel.event,o._onDidRun=o._register(new f.a),o.onDidRun=o._onDidRun.event,o._onDidBeforeRun=o._register(new f.a),o.onDidBeforeRun=o._onDidBeforeRun.event,o.options=n,o._context=n.context,o.options.triggerKeys||(o.options.triggerKeys=_.triggerKeys),o.options.actionRunner?o._actionRunner=o.options.actionRunner:(o._actionRunner=new u.b,o._register(o._actionRunner)),o._register(o._actionRunner.onDidRun(function(e){return o._onDidRun.fire(e)})),o._register(o._actionRunner.onDidBeforeRun(function(e){return o._onDidBeforeRun.fire(e)})),o.viewItems=[],o.focusedItem=void 0,o.domNode=document.createElement("div"),o.domNode.className="monaco-action-bar",!1!==n.animated&&c.f(o.domNode,"animated"),o.options.orientation){case 0:i=15,r=17;break;case 1:i=17,r=15,o.domNode.className+=" reverse";break;case 2:i=16,r=18,o.domNode.className+=" vertical";break;case 3:i=18,r=16,o.domNode.className+=" vertical reverse"}return o._register(c.h(o.domNode,c.d.KEY_DOWN,function(e){var t=new h.a(e),n=!0;t.equals(i)?o.focusPrevious():t.equals(r)?o.focusNext():t.equals(9)?o.cancel():o.isTriggerKeyEvent(t)?o.options.triggerKeys&&o.options.triggerKeys.keyDown&&o.doTrigger(t):n=!1,n&&(t.preventDefault(),t.stopPropagation())})),o._register(c.h(o.domNode,c.d.KEY_UP,function(e){var t=new h.a(e);o.isTriggerKeyEvent(t)?(o.options.triggerKeys&&!o.options.triggerKeys.keyDown&&o.doTrigger(t),t.preventDefault(),t.stopPropagation()):(t.equals(2)||t.equals(1026))&&o.updateFocusedItem()})),o.focusTracker=o._register(c.S(o.domNode)),o._register(o.focusTracker.onDidBlur(function(){document.activeElement!==o.domNode&&c.E(document.activeElement,o.domNode)||(o._onDidBlur.fire(),o.focusedItem=void 0)})),o._register(o.focusTracker.onDidFocus(function(){return o.updateFocusedItem()})),o.actionsList=document.createElement("ul"),o.actionsList.className="actions-container",o.actionsList.setAttribute("role","toolbar"),o.options.ariaLabel&&o.actionsList.setAttribute("aria-label",o.options.ariaLabel),o.domNode.appendChild(o.actionsList),t.appendChild(o.domNode),o}return p(t,e),t.prototype.isTriggerKeyEvent=function(e){var t=!1;return this.options.triggerKeys&&this.options.triggerKeys.keys.forEach(function(n){t=t||e.equals(n)}),t},t.prototype.updateFocusedItem=function(){for(var e=0;e=n.actionsList.children.length?(n.actionsList.appendChild(o),n.viewItems.push(i)):(n.actionsList.insertBefore(o,n.actionsList.children[r]),n.viewItems.splice(r,0,i),r++)})},t.prototype.clear=function(){this.viewItems=Object(a.f)(this.viewItems),c.p(this.actionsList)},t.prototype.isEmpty=function(){return 0===this.viewItems.length},t.prototype.focus=function(e){var t=!1,n=void 0;void 0===e?t=!0:"number"==typeof e?n=e:"boolean"==typeof e&&(t=e),t&&void 0===this.focusedItem?(this.focusedItem=this.viewItems.length-1,this.focusNext()):(void 0!==n&&(this.focusedItem=n),this.updateFocus())},t.prototype.focusNext=function(){void 0===this.focusedItem&&(this.focusedItem=this.viewItems.length-1);var e,t=this.focusedItem;do{this.focusedItem=(this.focusedItem+1)%this.viewItems.length,e=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&!e.isEnabled());this.focusedItem!==t||e.isEnabled()||(this.focusedItem=void 0),this.updateFocus()},t.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.viewItems.length-1),e=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&!e.isEnabled());this.focusedItem!==t||e.isEnabled()||(this.focusedItem=void 0),this.updateFocus(!0)},t.prototype.updateFocus=function(e){void 0===this.focusedItem&&this.actionsList.focus();for(var t=0;t>>1];n=s.r28shl(n,a),r=s.r28shl(r,a),s.pc2(n,r,e.keys,o)}},u.prototype._update=function(e,t,n,i){var r=this._desState,o=s.readUInt32BE(e,t),a=s.readUInt32BE(e,t+4);s.ip(o,a,r.tmp,0),o=r.tmp[0],a=r.tmp[1],"encrypt"===this.type?this._encrypt(r,o,a,r.tmp,0):this._decrypt(r,o,a,r.tmp,0),o=r.tmp[0],a=r.tmp[1],s.writeUInt32BE(n,o,i),s.writeUInt32BE(n,a,i+4)},u.prototype._pad=function(e,t){for(var n=e.length-t,i=t;i>>0,o=h}s.rip(a,o,i,r)},u.prototype._decrypt=function(e,t,n,i,r){for(var o=n,a=t,u=e.keys.length-2;u>=0;u-=2){var c=e.keys[u],l=e.keys[u+1];s.expand(o,e.tmp,0),c^=e.tmp[0],l^=e.tmp[1];var d=s.substitute(c,l),h=o;o=(a^s.permute(d))>>>0,a=h}s.rip(o,a,i,r)}},IrTV:function(e,t,n){"use strict";n.d(t,"a",function(){return m});var i,r=n("TU7t"),o=n("vORD"),s=n("vZcR"),a=n("ItKl"),u=n("7g0X"),c=n("JVO/"),l=n("fAkY"),d=n("eoic"),h=n("xJaW"),f=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),p=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},g=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},m=function(e){function t(t,n,i,r,o,s,a,u,c,l){var d=e.call(this,t,i.getRawConfiguration(),{},r,o,s,a,u,c,l)||this;return d._parentEditor=i,d._overwriteOptions=n,e.prototype.updateOptions.call(d,d._overwriteOptions),d._register(i.onDidChangeConfiguration(function(e){return d._onParentConfigurationChanged(e)})),d}return f(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){r.g(this._overwriteOptions,t,!0),e.prototype.updateOptions.call(this,this._overwriteOptions)},t=p([g(3,c.a),g(4,o.a),g(5,a.b),g(6,u.c),g(7,d.c),g(8,l.a),g(9,h.b)],t)}(s.a)},ItKl:function(e,t,n){"use strict";n.d(t,"b",function(){return c}),n.d(t,"a",function(){return l});var i=n("tqet"),r=n("KIxu"),o=n("JVO/"),s=n("Kp7x"),a=n("EMhq"),u=n("WTFd"),c=Object(o.c)("commandService"),l=new(function(){function e(){this._commands=new Map,this._onDidRegisterCommand=new s.a,this.onDidRegisterCommand=this._onDidRegisterCommand.event}return e.prototype.registerCommand=function(e,t){var n=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 o=[],s=0,u=e.description.args;s0&&(f=t.apply(this,arguments)),e<=1&&(t=void 0),f}}function p(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}e.exports=function(e){return f(2,e)}},"JVO/":function(e,t,n){"use strict";var i;n.d(t,"b",function(){return i}),n.d(t,"a",function(){return r}),t.c=s,t.d=function(e){return function(t,n,i){if(3!==arguments.length)throw new Error("@optional-decorator can only be used to decorate a parameter");o(e,t,i,!0)}},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]||[]}}(i||(i={}));var r=s("instantiationService");function o(e,t,n,r){t[i.DI_TARGET]===t?t[i.DI_DEPENDENCIES].push({id:e,index:n,optional:r}):(t[i.DI_DEPENDENCIES]=[{id:e,index:n,optional:r}],t[i.DI_TARGET]=t)}function s(e){if(i.serviceIds.has(e))return i.serviceIds.get(e);var t=function(e,n,i){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");o(t,e,i,!1)};return t.toString=function(){return e},i.serviceIds.set(e,t),t}},JaR3:function(e,t,n){(t=e.exports=function(e){e=e.toLowerCase();var n=t[e];if(!n)throw new Error(e+" is not supported (we accept pull requests)");return new n}).sha=n("N1es"),t.sha1=n("KQ4j"),t.sha224=n("lXn8"),t.sha256=n("zvjZ"),t.sha384=n("aY2F"),t.sha512=n("C015")},JbsQ:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("JVO/"),r=Object(i.c)("markerDecorationsService")},K8Am:function(e,t,n){"use strict";n.d(t,"a",function(){return o});var i=n("ZfGv"),r=i.b.performance&&"function"==typeof i.b.performance.now,o=function(){function e(e){this._highResolution=r&&e,this._startTime=this._now(),this._stopTime=-1}return e.create=function(t){return void 0===t&&(t=!0),new e(t)},e.prototype.stop=function(){this._stopTime=this._now()},e.prototype.elapsed=function(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime},e.prototype._now=function(){return this._highResolution?i.b.performance.now():(new Date).getTime()},e}()},KCUl:function(e,t,n){(function(t){var i=n("geuY"),r=n("lZ6o").ec,o=n("jkjm"),s=n("QDfD");function a(e,t){if(e.cmpn(0)<=0)throw new Error("invalid sig");if(e.cmp(t)>=t)throw new Error("invalid sig")}e.exports=function(e,n,u,c,l){var d=o(u);if("ec"===d.type){if("ecdsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");return function(e,t,n){var i=s[n.data.algorithm.curve.join(".")];if(!i)throw new Error("unknown curve "+n.data.algorithm.curve.join("."));var o=new r(i),a=n.data.subjectPrivateKey.data;return o.verify(t,e,a)}(e,n,d)}if("dsa"===d.type){if("dsa"!==c)throw new Error("wrong public key type");return function(e,t,n){var r=n.data.p,s=n.data.q,u=n.data.g,c=n.data.pub_key,l=o.signature.decode(e,"der"),d=l.s,h=l.r;a(d,s),a(h,s);var f=i.mont(r),p=d.invm(s);return 0===u.toRed(f).redPow(new i(t).mul(p).mod(s)).fromRed().mul(c.toRed(f).redPow(h.mul(p).mod(s)).fromRed()).mod(r).mod(s).cmp(h)}(e,n,d)}if("rsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");n=t.concat([l,n]);for(var h=d.modulus.byteLength(),f=[1],p=0;n.length+f.length+2>>27}function l(e){return e<<30|e>>>2}function d(e,t,n,i){return 0===e?t&n|~t&i:2===e?t&n|t&i|n&i:t^n^i}i(u,r),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(e){for(var t,n=this._w,i=0|this._a,r=0|this._b,o=0|this._c,a=0|this._d,u=0|this._e,h=0;h<16;++h)n[h]=e.readInt32BE(4*h);for(;h<80;++h)n[h]=(t=n[h-3]^n[h-8]^n[h-14]^n[h-16])<<1|t>>>31;for(var f=0;f<80;++f){var p=~~(f/20),g=c(i)+d(p,r,o,a)+u+n[f]+s[p]|0;u=a,a=o,o=l(r),r=i,i=g}this._a=i+this._a|0,this._b=r+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=u+this._e|0},u.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=u},KU51:function(e,t){},KYqO:function(e,t){e.exports={name:"elliptic",version:"6.4.1",description:"EC cryptography",main:"lib/elliptic.js",files:["lib"],scripts:{jscs:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",jshint:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",lint:"npm run jscs && npm run jshint",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},repository:{type:"git",url:"git@github.com:indutny/elliptic"},keywords:["EC","Elliptic","curve","Cryptography"],author:"Fedor Indutny ",license:"MIT",bugs:{url:"https://github.com/indutny/elliptic/issues"},homepage:"https://github.com/indutny/elliptic",devDependencies:{brfs:"^1.4.3",coveralls:"^2.11.3",grunt:"^0.4.5","grunt-browserify":"^5.0.0","grunt-cli":"^1.2.0","grunt-contrib-connect":"^1.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-mocha-istanbul":"^3.0.1","grunt-saucelabs":"^8.6.2",istanbul:"^0.4.2",jscs:"^2.9.0",jshint:"^2.6.0",mocha:"^2.1.0"},dependencies:{"bn.js":"^4.4.0",brorand:"^1.0.1","hash.js":"^1.0.0","hmac-drbg":"^1.0.0",inherits:"^2.0.1","minimalistic-assert":"^1.0.0","minimalistic-crypto-utils":"^1.0.0"}}},"KeN/":function(e,t,n){(function(t){var i=n("BVsN"),r=n("9DG0"),o=n("LC74"),s=n("pn+s"),a=n("KCUl"),u=n("ejIc");function c(e){r.Writable.call(this);var t=u[e];if(!t)throw new Error("Unknown message digest");this._hashType=t.hash,this._hash=i(t.hash),this._tag=t.id,this._signType=t.sign}function l(e){r.Writable.call(this);var t=u[e];if(!t)throw new Error("Unknown message digest");this._hash=i(t.hash),this._tag=t.id,this._signType=t.sign}function d(e){return new c(e)}function h(e){return new l(e)}Object.keys(u).forEach(function(e){u[e].id=new t(u[e].id,"hex"),u[e.toLowerCase()]=u[e]}),o(c,r.Writable),c.prototype._write=function(e,t,n){this._hash.update(e),n()},c.prototype.update=function(e,n){return"string"==typeof e&&(e=new t(e,n)),this._hash.update(e),this},c.prototype.sign=function(e,t){this.end();var n=this._hash.digest(),i=s(n,e,this._hashType,this._signType,this._tag);return t?i.toString(t):i},o(l,r.Writable),l.prototype._write=function(e,t,n){this._hash.update(e),n()},l.prototype.update=function(e,n){return"string"==typeof e&&(e=new t(e,n)),this._hash.update(e),this},l.prototype.verify=function(e,n,i){"string"==typeof n&&(n=new t(n,i)),this.end();var r=this._hash.digest();return a(n,r,e,this._signType,this._tag)},e.exports={Sign:d,Verify:h,createSign:d,createVerify:h}}).call(t,n("EuP9").Buffer)},Kp7x:function(e,t,n){"use strict";n.d(t,"b",function(){return r}),n.d(t,"a",function(){return h}),n.d(t,"e",function(){return f}),n.d(t,"d",function(){return p}),n.d(t,"c",function(){return g}),n.d(t,"f",function(){return m});var i,r,o=n("zxiH"),s=n("dwjm"),a=n("tqet"),u=n("EMhq"),c=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});!function(e){function t(e){return function(t,n,i){void 0===n&&(n=null);var r,o=!1;return r=e(function(e){if(!o)return r?r.dispose():o=!0,t.call(n,e)},null,i),o&&r.dispose(),r}}function n(e,t){return s(function(n,i,r){return void 0===i&&(i=null),e(function(e){return n.call(i,t(e))},null,r)})}function i(e,t){return s(function(n,i,r){return void 0===i&&(i=null),e(function(e){t(e),n.call(i,e)},null,r)})}function r(e,t){return s(function(n,i,r){return void 0===i&&(i=null),e(function(e){return t(e)&&n.call(i,e)},null,r)})}function o(e,t,i){var r=i;return n(e,function(e){return r=t(r,e)})}function s(e){var t,n=new h({onFirstListenerAdd:function(){t=e(n.fire,n)},onLastListenerRemove:function(){t.dispose()}});return n.event}function u(e){var t,n=!0;return r(e,function(e){var i=n||e!==t;return n=!1,t=e,i})}e.None=function(){return a.a.None},e.once=t,e.map=n,e.forEach=i,e.filter=r,e.signal=function(e){return e},e.any=function(){for(var e=[],t=0;t1)&&c.fire(e),u=0},n)})},onLastListenerRemove:function(){o.dispose()}});return c.event},e.stopwatch=function(e){var i=(new Date).getTime();return n(t(e),function(e){return(new Date).getTime()-i})},e.latch=u,e.buffer=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=[]);var i=n.slice(),r=e(function(e){i?i.push(e):s.fire(e)}),o=function(){i&&i.forEach(function(e){return s.fire(e)}),i=null},s=new h({onFirstListenerAdd:function(){r||(r=e(function(e){return s.fire(e)}))},onFirstListenerDidAdd:function(){i&&(t?setTimeout(o):o())},onLastListenerRemove:function(){r&&r.dispose(),r=null}});return s.event};var c=function(){function e(e){this.event=e}return e.prototype.map=function(t){return new e(n(this.event,t))},e.prototype.forEach=function(t){return new e(i(this.event,t))},e.prototype.filter=function(t){return new e(r(this.event,t))},e.prototype.reduce=function(t,n){return new e(o(this.event,t,n))},e.prototype.latch=function(){return new e(u(this.event))},e.prototype.on=function(e,t,n){return this.event(e,t,n)},e.prototype.once=function(e,n,i){return t(this.event)(e,n,i)},e}();e.chain=function(e){return new c(e)},e.fromNodeEventEmitter=function(e,t,n){void 0===n&&(n=function(e){return e});var i=function(){for(var e=[],t=0;t0?new d(this._options&&this._options.leakWarningThreshold):void 0}return Object.defineProperty(e.prototype,"event",{get:function(){var t=this;return this._event||(this._event=function(n,i,r){t._listeners||(t._listeners=new u.a);var o=t._listeners.isEmpty();o&&t._options&&t._options.onFirstListenerAdd&&t._options.onFirstListenerAdd(t);var s,c,l=t._listeners.push(i?[n,i]:n);return o&&t._options&&t._options.onFirstListenerDidAdd&&t._options.onFirstListenerDidAdd(t),t._options&&t._options.onListenerDidAdd&&t._options.onListenerDidAdd(t,n,i),t._leakageMon&&(s=t._leakageMon.check(t._listeners.size)),c={dispose:function(){(s&&s(),c.dispose=e._noop,t._disposed)||(l(),t._options&&t._options.onLastListenerRemove&&(t._listeners&&!t._listeners.isEmpty()||t._options.onLastListenerRemove(t)))}},r instanceof a.b?r.add(c):Array.isArray(r)&&r.push(c),c}),this._event},enumerable:!0,configurable:!0}),e.prototype.fire=function(e){if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new u.a);for(var t=this._listeners.iterator(),n=t.next();!n.done;n=t.next())this._deliveryQueue.push([n.value,e]);for(;this._deliveryQueue.size>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(n){Object(o.e)(n)}}}},e.prototype.dispose=function(){this._listeners&&this._listeners.clear(),this._deliveryQueue&&this._deliveryQueue.clear(),this._leakageMon&&this._leakageMon.dispose(),this._disposed=!0},e._noop=function(){},e}(),f=function(e){function t(t){var n=e.call(this,t)||this;return n._isPaused=0,n._eventQueue=new u.a,n._mergeFn=t&&t.merge,n}return c(t,e),t.prototype.pause=function(){this._isPaused++},t.prototype.resume=function(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){var t=this._eventQueue.toArray();this._eventQueue.clear(),e.prototype.fire.call(this,this._mergeFn(t))}else for(;!this._isPaused&&0!==this._eventQueue.size;)e.prototype.fire.call(this,this._eventQueue.shift())},t.prototype.fire=function(t){this._listeners&&(0!==this._isPaused?this._eventQueue.push(t):e.prototype.fire.call(this,t))},t}(h),p=function(){function e(){var e=this;this.hasListeners=!1,this.events=[],this.emitter=new h({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,n={event:e,listener:null};this.events.push(n),this.hasListeners&&this.hook(n);return Object(a.h)(Object(s.a)(function(){t.hasListeners&&t.unhook(n);var e=t.events.indexOf(n);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&&e.listener.dispose(),e.listener=null},e.prototype.dispose=function(){this.emitter.dispose()},e}(),g=function(){function e(){this.buffers=[]}return e.prototype.wrapEvent=function(e){var t=this;return function(n,i,r){return e(function(e){var r=t.buffers[t.buffers.length-1];r?r.push(function(){return n.call(i,e)}):n.call(i,e)},void 0,r)}},e.prototype.bufferEvents=function(e){var t=[];this.buffers.push(t);var n=e();return this.buffers.pop(),t.forEach(function(e){return e()}),n},e}(),m=function(){function e(){var e=this;this.listening=!1,this.inputEvent=r.None,this.inputEventListener=a.a.None,this.emitter=new h({onFirstListenerDidAdd:function(){e.listening=!0,e.inputEventListener=e.inputEvent(e.emitter.fire,e.emitter)},onLastListenerRemove:function(){e.listening=!1,e.inputEventListener.dispose()}}),this.event=this.emitter.event}return Object.defineProperty(e.prototype,"input",{set:function(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.inputEventListener.dispose(),this.emitter.dispose()},e}()},Kx4b:function(e,t,n){"use strict";n.d(t,"a",function(){return a});var i=n("uNfg"),r=n("ZfGv"),o=n("ItKl"),s=n("RWr8"),a=new(function(){function e(){this._coreKeybindings=[],this._extensionKeybindings=[],this._cachedMergedKeybindings=null}return e.bindToCurrentPlatform=function(e){if(1===r.a){if(e&&e.win)return e.win}else if(2===r.a){if(e&&e.mac)return e.mac}else if(e&&e.linux)return e.linux;return e},e.prototype.registerKeybindingRule=function(t){var n=e.bindToCurrentPlatform(t);n&&n.primary&&((a=Object(i.f)(n.primary,r.a))&&this._registerDefaultKeybinding(a,t.id,void 0,t.weight,0,t.when));if(n&&Array.isArray(n.secondary))for(var o=0,s=n.secondary.length;o=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,n){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 ",n)},e.prototype._registerDefaultKeybinding=function(e,t,n,i,o,s){1===r.a&&this._assertNoCtrlAlt(e.parts[0],t),this._coreKeybindings.push({keybinding:e,command:t,commandArgs:n,when:s,weight1:i,weight2:o}),this._cachedMergedKeybindings=null},e.prototype.getDefaultKeybindings=function(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=[].concat(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(u)),this._cachedMergedKeybindings.slice(0)},e}());function u(e,t){return e.weight1!==t.weight1?e.weight1-t.weight1:e.commandt.command?1:e.weight2-t.weight2}s.a.add("platform.keybindingsRegistry",a)},L5KM:function(e,t,n){"use strict";n.d(t,"a",function(){return c}),t._36=d,n.d(t,"T",function(){return p}),n.d(t,"R",function(){return g}),n.d(t,"S",function(){return m}),n.d(t,"e",function(){return v}),n.d(t,"b",function(){return _}),n.d(t,"_46",function(){return b}),n.d(t,"_45",function(){return y}),n.d(t,"_48",function(){return w}),n.d(t,"W",function(){return C}),n.d(t,"Y",function(){return S}),n.d(t,"X",function(){return x}),n.d(t,"V",function(){return L}),n.d(t,"U",function(){return O}),n.d(t,"_2",function(){return k}),n.d(t,"_4",function(){return N}),n.d(t,"_3",function(){return E}),n.d(t,"_5",function(){return I}),n.d(t,"_7",function(){return D}),n.d(t,"_6",function(){return M}),n.d(t,"Z",function(){return T}),n.d(t,"_1",function(){return P}),n.d(t,"_0",function(){return A}),n.d(t,"_14",function(){return j}),n.d(t,"_15",function(){return W}),n.d(t,"_8",function(){return B}),n.d(t,"_9",function(){return V}),n.d(t,"_20",function(){return H}),n.d(t,"_21",function(){return z}),n.d(t,"_19",function(){return U}),n.d(t,"_17",function(){return K}),n.d(t,"_18",function(){return q}),n.d(t,"_10",function(){return G}),n.d(t,"_16",function(){return Z}),n.d(t,"_11",function(){return Y}),n.d(t,"_13",function(){return X}),n.d(t,"_12",function(){return $}),n.d(t,"_47",function(){return J}),n.d(t,"_34",function(){return Q}),n.d(t,"_33",function(){return ee}),n.d(t,"c",function(){return te}),n.d(t,"d",function(){return ne}),n.d(t,"_37",function(){return ie}),n.d(t,"_39",function(){return re}),n.d(t,"_40",function(){return oe}),n.d(t,"_38",function(){return se}),n.d(t,"_35",function(){return ae}),n.d(t,"_23",function(){return ue}),n.d(t,"_24",function(){return ce}),n.d(t,"_22",function(){return le}),n.d(t,"_27",function(){return de}),n.d(t,"_25",function(){return he}),n.d(t,"_26",function(){return fe}),n.d(t,"_28",function(){return pe}),n.d(t,"q",function(){return ge}),n.d(t,"p",function(){return me}),n.d(t,"M",function(){return ve}),n.d(t,"L",function(){return _e}),n.d(t,"G",function(){return be}),n.d(t,"F",function(){return ye}),n.d(t,"z",function(){return we}),n.d(t,"y",function(){return Ce}),n.d(t,"o",function(){return Se}),n.d(t,"x",function(){return xe}),n.d(t,"N",function(){return Le}),n.d(t,"P",function(){return Oe}),n.d(t,"O",function(){return ke}),n.d(t,"Q",function(){return Ne}),n.d(t,"H",function(){return Ee}),n.d(t,"I",function(){return Ie}),n.d(t,"E",function(){return De}),n.d(t,"J",function(){return Me}),n.d(t,"K",function(){return Te}),n.d(t,"r",function(){return Pe}),n.d(t,"t",function(){return Ae}),n.d(t,"v",function(){return Re}),n.d(t,"s",function(){return Fe}),n.d(t,"u",function(){return je}),n.d(t,"w",function(){return We}),n.d(t,"C",function(){return Be}),n.d(t,"A",function(){return Ve}),n.d(t,"B",function(){return He}),n.d(t,"D",function(){return ze}),n.d(t,"n",function(){return Ue}),n.d(t,"g",function(){return Ke}),n.d(t,"h",function(){return qe}),n.d(t,"j",function(){return Ge}),n.d(t,"l",function(){return Ze}),n.d(t,"k",function(){return Ye}),n.d(t,"m",function(){return Xe}),n.d(t,"i",function(){return $e}),n.d(t,"_43",function(){return Je}),n.d(t,"_44",function(){return Qe}),n.d(t,"_41",function(){return et}),n.d(t,"_42",function(){return tt}),n.d(t,"_31",function(){return nt}),n.d(t,"_32",function(){return it}),n.d(t,"_29",function(){return rt}),t.f=ot,t._30=function(){for(var e=[],t=0;te.length)return!1;for(var r=0;r=65&&o<=90&&o+32===s||s>=65&&s<=90&&s+32===o))return!1}return!0},e.prototype._createOperationsForBlockComment=function(t,n,i,r,o){var s,a=t.startLineNumber,u=t.startColumn,c=t.endLineNumber,d=t.endColumn,h=r.getLineContent(a),f=r.getLineContent(c),p=h.lastIndexOf(n,u-1+n.length),g=f.indexOf(i,d-1-i.length);if(-1!==p&&-1!==g)if(a===c){h.substring(p+n.length,g).indexOf(i)>=0&&(p=-1,g=-1)}else{var m=h.substring(p+n.length),v=f.substring(0,g);(m.indexOf(i)>=0||v.indexOf(i)>=0)&&(p=-1,g=-1)}-1!==p&&-1!==g?(p+n.length0&&32===f.charCodeAt(g-1)&&(i=" "+i,g-=1),s=e._createRemoveBlockCommentOperations(new l.a(a,p+n.length+1,c,g+1),n,i)):(s=e._createAddBlockCommentOperations(t,n,i),this._usedEndToken=1===s.length?i:null);for(var _=0,b=s;_a?o-1:o}},e}(),m=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),v=function(e){function t(t,n){var i=e.call(this,n)||this;return i._type=t,i}return m(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getModel(),i=[],r=t.getSelections(),o=n.getOptions(),s=0,a=r;s0&&"#"===n.charAt(n.length-1)?n.substring(0,n.length-1):n)]=t,this._onDidChangeSchema.fire(e)},e.prototype.notifySchemaChanged=function(e){this._onDidChangeSchema.fire(e)},e}());i.a.add(o.JSONContribution,s)},LYGd:function(e,t,n){"use strict";var i=n("EuP9").Buffer,r=n("LC74"),o=n("yDvu"),s=new Array(16),a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],u=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],c=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],l=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],d=[0,1518500249,1859775393,2400959708,2840853838],h=[1352829926,1548603684,1836072691,2053994217,0];function f(){o.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function p(e,t){return e<>>32-t}function g(e,t,n,i,r,o,s,a){return p(e+(t^n^i)+o+s|0,a)+r|0}function m(e,t,n,i,r,o,s,a){return p(e+(t&n|~t&i)+o+s|0,a)+r|0}function v(e,t,n,i,r,o,s,a){return p(e+((t|~n)^i)+o+s|0,a)+r|0}function _(e,t,n,i,r,o,s,a){return p(e+(t&i|n&~i)+o+s|0,a)+r|0}function b(e,t,n,i,r,o,s,a){return p(e+(t^(n|~i))+o+s|0,a)+r|0}r(f,o),f.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);for(var n=0|this._a,i=0|this._b,r=0|this._c,o=0|this._d,f=0|this._e,y=0|this._a,w=0|this._b,C=0|this._c,S=0|this._d,x=0|this._e,L=0;L<80;L+=1){var O,k;L<16?(O=g(n,i,r,o,f,e[a[L]],d[0],c[L]),k=b(y,w,C,S,x,e[u[L]],h[0],l[L])):L<32?(O=m(n,i,r,o,f,e[a[L]],d[1],c[L]),k=_(y,w,C,S,x,e[u[L]],h[1],l[L])):L<48?(O=v(n,i,r,o,f,e[a[L]],d[2],c[L]),k=v(y,w,C,S,x,e[u[L]],h[2],l[L])):L<64?(O=_(n,i,r,o,f,e[a[L]],d[3],c[L]),k=m(y,w,C,S,x,e[u[L]],h[3],l[L])):(O=b(n,i,r,o,f,e[a[L]],d[4],c[L]),k=g(y,w,C,S,x,e[u[L]],h[4],l[L])),n=f,f=o,o=p(r,10),r=i,i=O,y=x,x=S,S=p(C,10),C=w,w=k}var N=this._b+r+S|0;this._b=this._c+o+x|0,this._c=this._d+f+y|0,this._d=this._e+n+w|0,this._e=this._a+i+C|0,this._a=N},f.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=i.alloc?i.alloc(20):new i(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},e.exports=f},MOjS:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,r=n("hK2W"),o=n("Kp7x"),s=n("tqet"),a=n("7g0X"),u=n("OHx0"),c=n("vTy2"),l=n("03Zz"),d=n("eoic"),h=n("/9db"),f=(n("OV+G"),n("7/Cv")),p=n("L5KM"),g=n("TNPA"),m=n("qecS"),v=n("1sup"),_=n("X6iQ"),b=n("fw2Z"),y=n("ZYUE"),w=n("ni2T"),C=n("Nr0y"),S=encodeURIComponent(''),L=encodeURIComponent(''),k=encodeURIComponent(''),E=encodeURIComponent(''),D=encodeURIComponent(''),T=encodeURIComponent('');function A(e,t){return"."+i.className(e).split(" ").join(".")+' { background: url("data:image/svg+xml,'+i.getSVGData(e,t)+'") center center no-repeat; height: 16px; width: 16px; }'}!function(e){e.getSVGData=function(e,t){switch(e){case C.a.Ignore:var n=t.type===d.d?g.a.fromHex("#75BEFF"):g.a.fromHex("#007ACC");return t.type===d.d?D+encodeURIComponent(n.toString())+M:T+encodeURIComponent(n.toString())+P;case C.a.Info:var i=t.type===d.d?g.a.fromHex("#007ACC"):g.a.fromHex("#75BEFF");return t.type===d.d?D+encodeURIComponent(i.toString())+M:T+encodeURIComponent(i.toString())+P;case C.a.Warning:var r=t.type===d.d?g.a.fromHex("#DDB100"):g.a.fromHex("#fc0");return t.type===d.d?k+encodeURIComponent(r.toString())+N:E+encodeURIComponent(r.toString())+I;case C.a.Error:var o=t.type===d.d?g.a.fromHex("#A1260D"):g.a.fromHex("#F48771");return t.type===d.d?S+encodeURIComponent(o.toString())+x:L+encodeURIComponent(o.toString())+O}return""},e.className=function(e){switch(e){case C.a.Ignore:return"severity-icon severity-ignore";case C.a.Info:return"severity-icon severity-info";case C.a.Warning:return"severity-icon severity-warning";case C.a.Error:return"severity-icon severity-error"}return""}}(i||(i={})),Object(d.f)(function(e,t){t.addRule(A(C.a.Error,e)),t.addRule(A(C.a.Warning,e)),t.addRule(A(C.a.Info,e)),t.addRule(A(C.a.Ignore,e))});var R,F=this&&this.__extends||(R=function(e,t){return(R=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}R(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),j=function(){function e(e,t,n){var i=this;this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=[],this._editor=t;var r=document.createElement("div");r.className="descriptioncontainer",r.setAttribute("aria-live","assertive"),r.setAttribute("role","alert"),this._messageBlock=document.createElement("div"),f.f(this._messageBlock,"message"),r.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),r.appendChild(this._relatedBlock),this._disposables.push(f.k(this._relatedBlock,"click",function(e){e.preventDefault();var t=i._relatedDiagnostics.get(e.target);t&&n(t)})),this._scrollable=new m.b(r,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:3,verticalScrollbarSize:3}),e.appendChild(this._scrollable.getDomNode()),this._disposables.push(this._scrollable.onScroll(function(e){r.style.left="-"+e.scrollLeft+"px",r.style.top="-"+e.scrollTop+"px"})),this._disposables.push(this._scrollable)}return e.prototype.dispose=function(){Object(s.f)(this._disposables)},e.prototype.update=function(e){var t=e.source,n=e.message,i=e.relatedInformation,r=e.code,o=n.split(/\r\n|\r|\n/g);this._lines=o.length,this._longestLineLength=0;for(var s=0,a=o;s1?r.a("problems","{0} of {1} problems",n,o):r.a("change","{0} of {1} problem",n,o);this.setTitle(Object(y.b)(d.uri),h)}this._icon.className=i.className(u.c.toSeverity(this._severity)),this.editor.revealPositionInCenter(l,0)},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._doLayoutBody=function(t,n){e.prototype._doLayoutBody.call(this,t,n),this._heightInPixel=t,this._message.layout(t,n),this._container.style.height=t+"px"},t.prototype._onWidth=function(e){this._message.layout(this._heightInPixel,e)},t.prototype._relayout=function(){e.prototype._relayout.call(this,this.computeRequiredHeight())},t.prototype.computeRequiredHeight=function(){return 3+this._message.getHeightInLines()},t}(b.c),B=Object(p._30)(p.q,p.p),V=Object(p._30)(p.M,p.L),H=Object(p._30)(p.G,p.F),z=Object(p._36)("editorMarkerNavigationError.background",{dark:B,light:B,hc:B},r.a("editorMarkerNavigationError","Editor marker navigation widget error color.")),U=Object(p._36)("editorMarkerNavigationWarning.background",{dark:V,light:V,hc:V},r.a("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),K=Object(p._36)("editorMarkerNavigationInfo.background",{dark:H,light:H,hc:H},r.a("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),q=Object(p._36)("editorMarkerNavigation.background",{dark:"#2D2D30",light:g.a.white,hc:"#0C141F"},r.a("editorMarkerNavigationBackground","Editor marker navigation widget background."));Object(d.f)(function(e,t){var n=e.getColor(p._46);n&&t.addRule(".monaco-editor .marker-widget a { color: "+n+"; }")});var G=n("aL7J"),Z=n("vORD"),Y=n("zxiH"),X=n("C3c5"),$=n("AKCZ"),J=n("NqM+");n.d(t,"MarkerController",function(){return oe}),n.d(t,"NextMarkerAction",function(){return ae});var Q=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ee=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},te=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ne=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},ie=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0?this._markers[this._nextIdx]:void 0;this._markers=e||[],this._markers.sort(se.compareMarker),this._nextIdx=t?Math.max(-1,Object(_.c)(this._markers,t,se.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,n=this._editor.getPosition(),i=0;i0?this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length:i=!0),n!==this._nextIdx){var r=this._markers[this._nextIdx];this._onCurrentMarkerChanged.fire(r)}return i},e.prototype.canNavigate=function(){return this._markers.length>0},e.prototype.findMarkerAtPosition=function(e){for(var t=0,n=this._markers;t=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},y=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},w=function(e){function t(t,n,i){var r=e.call(this)||this;return r._editor=t,r._codeEditorService=n,r._configurationService=i,r._localToDispose=r._register(new c.b),r._decorationsIds=[],r._colorDatas=new Map,r._colorDecoratorIds=[],r._decorationsTypes=new Set,r._register(t.onDidChangeModel(function(e){r._isEnabled=r.isEnabled(),r.onModelChanged()})),r._register(t.onDidChangeModelLanguage(function(e){return r.onModelChanged()})),r._register(p.c.onDidChange(function(e){return r.onModelChanged()})),r._register(t.onDidChangeConfiguration(function(e){var t=r._isEnabled;r._isEnabled=r.isEnabled(),t!==r._isEnabled&&(r._isEnabled?r.onModelChanged():r.removeAllDecorations())})),r._timeoutTimer=null,r._computePromise=null,r._isEnabled=r.isEnabled(),r.onModelChanged(),r}return _(t,e),t.prototype.isEnabled=function(){var e=this._editor.getModel();if(!e)return!1;var t=e.getLanguageIdentifier(),n=this._configurationService.getValue(t.language);if(n){var i=n.colorDecorators;if(i&&void 0!==i.enable&&!i.enable)return i.enable}return this._editor.getConfiguration().contribInfo.colorDecorators},t.prototype.getId=function(){return t.ID},t.get=function(e){return e.getContribution(this.ID)},t.prototype.dispose=function(){this.stop(),this.removeAllDecorations(),e.prototype.dispose.call(this)},t.prototype.onModelChanged=function(){var e=this;if(this.stop(),this._isEnabled){var n=this._editor.getModel();n&&p.c.has(n)&&(this._localToDispose.add(this._editor.onDidChangeModelContent(function(n){e._timeoutTimer||(e._timeoutTimer=new i.e,e._timeoutTimer.cancelAndSet(function(){e._timeoutTimer=null,e.beginCompute()},t.RECOMPUTE_TIME))})),this.beginCompute())}},t.prototype.beginCompute=function(){var e=this;this._computePromise=Object(i.f)(function(t){var n=e._editor.getModel();return n?Object(g.b)(n,t):Promise.resolve([])}),this._computePromise.then(function(t){e.updateDecorations(t),e.updateColorDecorators(t),e._computePromise=null},o.e)},t.prototype.stop=function(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()},t.prototype.updateDecorations=function(e){var t=this,n=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:f.a.EMPTY}});this._decorationsIds=this._editor.deltaDecorations(this._decorationsIds,n),this._colorDatas=new Map,this._decorationsIds.forEach(function(n,i){return t._colorDatas.set(n,e[i])})},t.prototype.updateColorDecorators=function(e){for(var t=this,n=[],i={},o=0;o>>2}function l(e,t,n,i){return 0===e?t&n|~t&i:2===e?t&n|t&i|n&i:t^n^i}i(u,r),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(e){for(var t,n=this._w,i=0|this._a,r=0|this._b,o=0|this._c,a=0|this._d,u=0|this._e,d=0;d<16;++d)n[d]=e.readInt32BE(4*d);for(;d<80;++d)n[d]=n[d-3]^n[d-8]^n[d-14]^n[d-16];for(var h=0;h<80;++h){var f=~~(h/20),p=0|((t=i)<<5|t>>>27)+l(f,r,o,a)+u+n[h]+s[f];u=a,a=o,o=c(r),r=i,i=p}this._a=i+this._a|0,this._b=r+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=u+this._e|0},u.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=u},NBYJ:function(e,t){},NCTB:function(e,t,n){"use strict";t.sha1=n("bMQ9"),t.sha224=n("fWB8"),t.sha256=n("Q48P"),t.sha384=n("EH7o"),t.sha512=n("8/0b")},NMED:function(e,t,n){"use strict";var i=n("geuY"),r=n("lZ6o").utils,o=r.assert;function s(e,t){if(e instanceof s)return e;this._importDER(e,t)||(o(e.r&&e.s,"Signature without r or s"),this.r=new i(e.r,16),this.s=new i(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function a(e,t){var n=e[t.place++];if(!(128&n))return n;for(var i=15&n,r=0,o=0,s=t.place;o>>3);for(e.push(128|n);--n;)e.push(t>>>(n<<3)&255);e.push(t)}}e.exports=s,s.prototype._importDER=function(e,t){e=r.toArray(e,t);var n=new function(){this.place=0};if(48!==e[n.place++])return!1;if(a(e,n)+n.place!==e.length)return!1;if(2!==e[n.place++])return!1;var o=a(e,n),s=e.slice(n.place,o+n.place);if(n.place+=o,2!==e[n.place++])return!1;var u=a(e,n);if(e.length!==u+n.place)return!1;var c=e.slice(n.place,u+n.place);return 0===s[0]&&128&s[1]&&(s=s.slice(1)),0===c[0]&&128&c[1]&&(c=c.slice(1)),this.r=new i(s),this.s=new i(c),this.recoveryParam=null,!0},s.prototype.toDER=function(e){var t=this.r.toArray(),n=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&n[0]&&(n=[0].concat(n)),t=u(t),n=u(n);!(n[0]||128&n[1]);)n=n.slice(1);var i=[2];c(i,t.length),(i=i.concat(t)).push(2),c(i,n.length);var o=i.concat(n),s=[48];return c(s,o.length),s=s.concat(o),r.encode(s,e)}},NjkW:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n("WUwp");var i=n("tqet"),r=n("ZfGv"),o=n("03Zz"),s=n("artP"),a=n("vTy2"),u=n("iHM7"),c=function(){function e(e,t,n){this.selection=e,this.targetPosition=t,this.copy=n,this.targetSelection=null}return e.prototype.getEditOperations=function(e,t){var n=e.getValueInRange(this.selection);this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new a.a(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),n),!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.lineNumber0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=e._maxRounds){t();break}if(!r){t();break}var c=i.findNextBracket(r);if(!c){t();break}if(Date.now()-u>e._maxDuration){setTimeout(function(){return e._bracketsRightYield(t,n+1,i,r,s)});break}var l=c.close;if(c.isOpen){var d=a.has(l)?a.get(l):0;a.set(l,d+1)}else{d=a.has(l)?a.get(l):0;if(d-=1,a.set(l,Math.max(0,d)),d<0){var h=s.get(l);h||(h=new o.a,s.set(l,h)),h.push(c.range)}}r=c.range.getEndPosition()}},e._bracketsLeftYield=function(t,n,i,o,s,a){for(var u=new Map,c=Date.now();;){if(n>=e._maxRounds&&0===s.size){t();break}if(!o){t();break}var l=i.findPrevBracket(o);if(!l){t();break}if(Date.now()-c>e._maxDuration){setTimeout(function(){return e._bracketsLeftYield(t,n+1,i,o,s,a)});break}var d=l.close;if(l.isOpen){m=u.has(d)?u.get(d):0;if(m-=1,u.set(d,Math.max(0,m)),m<0){var h=s.get(d);if(h){var f=h.shift();0===h.size&&s.delete(d);var p=r.a.fromPositions(l.range.getEndPosition(),f.getStartPosition()),g=r.a.fromPositions(l.range.getStartPosition(),f.getEndPosition());a.push({range:p}),a.push({range:g}),e._addBracketLeading(i,g,a)}}}else{var m=u.has(d)?u.get(d):0;u.set(d,m+1)}o=l.range.getStartPosition()}},e._addBracketLeading=function(e,t,n){if(t.startLineNumber!==t.endLineNumber){var o=t.startLineNumber,s=e.getLineFirstNonWhitespaceColumn(o);0!==s&&s!==t.startColumn&&(n.push({range:r.a.fromPositions(new i.a(o,s),t.getEndPosition())}),n.push({range:r.a.fromPositions(new i.a(o,1),t.getEndPosition())}));var a=o-1;if(a>0){var u=e.getLineFirstNonWhitespaceColumn(a);u===t.startColumn&&u!==e.getLineLastNonWhitespaceColumn(a)&&(n.push({range:r.a.fromPositions(new i.a(a,u),t.getEndPosition())}),n.push({range:r.a.fromPositions(new i.a(a,1),t.getEndPosition())}))}}},e._maxDuration=30,e._maxRounds=2,e}()},"NqM+":function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("JVO/"),r=Object(i.c)("keybindingService")},Nr0y:function(e,t,n){"use strict";var i,r=n("hK2W"),o=n("aL7J");!function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(i||(i={})),function(e){var t="error",n="warning",i="warn",s="info",a=Object.create(null);a[e.Error]=r.a("sev.error","Error"),a[e.Warning]=r.a("sev.warning","Warning"),a[e.Info]=r.a("sev.info","Info"),e.fromValue=function(r){return r?o.n(t,r)?e.Error:o.n(n,r)||o.n(i,r)?e.Warning:o.n(s,r)?e.Info:e.Ignore:e.Ignore}}(i||(i={})),t.a=i},Ny4g:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,r,o,s,a,u,c,l,d,h,f,p,g,m,v,_,b,y,w,C,S,x,L,O,k,N,E,I,D,M,T=n("iXRW"),P=(n("tZcU"),n("80kS")),A=n("Kp7x"),R=n("uNfg"),F=n("mrx5"),j=n("artP"),W=n("vTy2"),B=n("iHM7"),V=n("c6Qy");!function(e){e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated"}(i||(i={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(r||(r={})),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"}(o||(o={})),function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(s||(s={})),function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"}(a||(a={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(u||(u={})),function(e){e[e.Inline=1]="Inline"}(c||(c={})),function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(l||(l={})),function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(d||(d={})),function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(h||(h={})),function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(f||(f={})),function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"}(p||(p={})),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"}(g||(g={})),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"}(m||(m={})),function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"}(v||(v={})),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"}(_||(_={})),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"}(b||(b={})),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"}(y||(y={})),function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(w||(w={})),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"}(C||(C={})),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"}(S||(S={})),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(x||(x={})),function(e){e[e.Method=0]="Method",e[e.Function=1]="Function",e[e.Constructor=2]="Constructor",e[e.Field=3]="Field",e[e.Variable=4]="Variable",e[e.Class=5]="Class",e[e.Struct=6]="Struct",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Event=10]="Event",e[e.Operator=11]="Operator",e[e.Unit=12]="Unit",e[e.Value=13]="Value",e[e.Constant=14]="Constant",e[e.Enum=15]="Enum",e[e.EnumMember=16]="EnumMember",e[e.Keyword=17]="Keyword",e[e.Text=18]="Text",e[e.Color=19]="Color",e[e.File=20]="File",e[e.Reference=21]="Reference",e[e.Customcolor=22]="Customcolor",e[e.Folder=23]="Folder",e[e.TypeParameter=24]="TypeParameter",e[e.Snippet=25]="Snippet"}(L||(L={})),function(e){e[e.Deprecated=1]="Deprecated"}(O||(O={})),function(e){e[e.KeepWhitespace=1]="KeepWhitespace",e[e.InsertAsSnippet=4]="InsertAsSnippet"}(k||(k={})),function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(N||(N={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(E||(E={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(I||(I={})),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"}(D||(D={})),function(e){e[e.Deprecated=1]="Deprecated"}(M||(M={}));var H=function(){function e(){}return e.chord=function(e,t){return Object(R.a)(e,t)},e.CtrlCmd=2048,e.Shift=1024,e.Alt=512,e.WinCtrl=256,e}();function z(){return{editor:void 0,languages:void 0,CancellationTokenSource:P.b,Emitter:A.a,KeyCode:o,KeyMod:H,Position:j.a,Range:W.a,Selection:B.a,SelectionDirection:s,MarkerSeverity:r,MarkerTag:i,Uri:F.a,Token:V.a}}n("gvGx");var U,K=n("vORD"),q=n("7/Cv"),G=n("tqet"),Z=n("EMhq"),Y=n("+vUW"),X=n("lapT"),$=n("ZYUE"),J=n("aL7J"),Q=n("ItKl"),ee=this&&this.__extends||(U=function(e,t){return(U=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}U(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),te=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},ne=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ie=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},re=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=this.ranges.length&&(this.nextIdx=0)):(this.nextIdx-=1,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));var n=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{var i=n.range.getStartPosition();this._editor.setPosition(i),this._editor.revealPositionInCenter(i,t)}finally{this.ignoreSelectionChange=!1}}},t.prototype.canNavigate=function(){return this.ranges&&this.ranges.length>0},t.prototype.next=function(e){void 0===e&&(e=0),this._move(!0,e)},t.prototype.previous=function(e){void 0===e&&(e=0),this._move(!1,e)},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.ranges=[],this.disposed=!0},t}(G.a),de=n("5lao"),he=n("33h2"),fe=n("D2uo"),pe=n("PCC9"),ge=n("jUH2"),me=n("606G"),ve=n("B/Xy"),_e=n("odeJ"),be=n("zxiH"),ye=n("ZfGv"),we=n("KIxu"),Ce=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Se="$initialize",xe=!1;function Le(e){ye.f&&(xe||(xe=!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 Oe=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 n=this,i=String(++this._lastSentReq);return new Promise(function(r,o){n._pendingReplies[i]={resolve:r,reject:o},n._send({vsWorker:n._workerId,req:i,method:e,args:t})})},e.prototype.handleMessage=function(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))},e.prototype._handleMessage=function(e){var t=this;if(e.seq){var n=e;if(!this._pendingReplies[n.seq])return void console.warn("Got reply to unknown seq");var i=this._pendingReplies[n.seq];if(delete this._pendingReplies[n.seq],n.err){var r=n.err;return n.err.$isError&&((r=new Error).name=n.err.name,r.message=n.err.message,r.stack=n.err.stack),void i.reject(r)}i.resolve(n.res)}else{var o=e,s=o.req;this._handler.handleMessage(o.method,o.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(be.g)(e.detail)),t._send({vsWorker:t._workerId,seq:s,res:void 0,err:Object(be.g)(e)})})}},e.prototype._send=function(e){var t=[];if(e.req)for(var n=e,i=0;i1&&p>1;){if(d.charCodeAt(f-2)!==h.charCodeAt(p-2))break;f--,p--}(f>1||p>1)&&this._pushTrimWhitespaceCharChange(r,o+1,1,f,s+1,1,p);for(var g=Fe._getLastNonBlankColumn(d,1),m=Fe._getLastNonBlankColumn(h,1),v=d.length+1,_=h.length+1;gt&&(t=a),s>n&&(n=s),u>n&&(n=u)}t++,n++;var c=new qe.a(n,t,0);for(i=0,r=e.length;i=this._maxCharCode?0:this._states.get(e,t)},e}(),Ze=null;var Ye=null;var Xe=function(){function e(){}return e._createLink=function(e,t,n,i,r){var o=r-1;do{var s=t.charCodeAt(o);if(2!==e.get(s))break;o--}while(o>i);if(i>0){var a=t.charCodeAt(i-1),u=t.charCodeAt(o);(40===a&&41===u||91===a&&93===u||123===a&&125===u)&&o--}return{range:{startLineNumber:n,startColumn:i+1,endLineNumber:n,endColumn:o+2},url:t.substring(i,o+1)}},e.computeLinks=function(t,n){void 0===n&&(null===Ze&&(Ze=new Ge([[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]])),n=Ze);for(var i=function(){if(null===Ye){Ye=new Ke.a(0);for(var e=0;e<" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".length;e++)Ye.set(" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".charCodeAt(e),1);for(e=0;e<".,;".length;e++)Ye.set(".,;".charCodeAt(e),2)}return Ye}(),r=[],o=1,s=t.getLineCount();o<=s;o++){for(var a=t.getLineContent(o),u=a.length,c=0,l=0,d=0,h=1,f=!1,p=!1,g=!1;c=0?((i+=n?1:-1)<0?i=e.length-1:i%=e.length,e[i]):null},e.INSTANCE=new e,e}(),Je=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Qe=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Je(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 n=Object(Ue.d)(e.column,Object(Ue.c)(t),this._lines[e.lineNumber-1],0);return n?new W.a(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null},t.prototype.getWordUntilPosition=function(e,t){var n=this.getWordAtPosition(e,t);return n?{word:this._lines[e.lineNumber-1].substring(n.startColumn-1,e.column-1),startColumn:n.startColumn,endColumn:e.column}:{word:"",startColumn:e.column,endColumn:e.column}},t.prototype.createWordIterator=function(e){var t,n,i=this,r=0,o=0,s=[],a=function(){if(o=i._lines.length?Te.c:(n=i._lines[r],s=i._wordenize(n,e),o=0,r+=1,a())};return{next:a}},t.prototype.getLineWords=function(e,t){for(var n=this._lines[e-1],i=[],r=0,o=this._wordenize(n,t);rthis._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,i=!0;else{var r=this._lines[t-1].length+1;n<1?(n=1,i=!0):n>r&&(n=r,i=!0)}return i?{lineNumber:t,column:n}:e},t}(ze),et=function(){function e(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}return e.prototype.dispose=function(){this._models=Object.create(null)},e.prototype._getModel=function(e){return this._models[e]},e.prototype._getModels=function(){var e=this,t=[];return Object.keys(this._models).forEach(function(n){return t.push(e._models[n])}),t},e.prototype.acceptNewModel=function(e){this._models[e.url]=new Qe(F.a.parse(e.url),e.lines,e.EOL,e.versionId)},e.prototype.acceptModelChanged=function(e,t){this._models[e]&&this._models[e].onEvents(t)},e.prototype.acceptRemovedModel=function(e){this._models[e]&&delete this._models[e]},e.prototype.computeDiff=function(e,t,n){var i=this._getModel(e),r=this._getModel(t);if(!i||!r)return Promise.resolve(null);var o=i.getLinesContent(),s=r.getLinesContent(),a=new Ve(o,s,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0}).computeDiff(),u=!(a.length>0)&&this._modelsAreIdentical(i,r);return Promise.resolve({identical:u,changes:a})},e.prototype._modelsAreIdentical=function(e,t){var n=e.getLineCount();if(n!==t.getLineCount())return!1;for(var i=1;i<=n;i++){if(e.getLineContent(i)!==t.getLineContent(i))return!1}return!0},e.prototype.computeMoreMinimalEdits=function(t,n){var i=this._getModel(t);if(!i)return Promise.resolve(n);for(var r=[],o=void 0,s=0,a=n=Object(De.o)(n,function(e,t){return e.range&&t.range?W.a.compareRangesUsingStarts(e.range,t.range):(e.range?0:1)-(t.range?0:1)});se._diffLimit)r.push({range:c,text:l});else for(var f=Object(Me.b)(h,l,!1),p=i.offsetAt(W.a.lift(c).getStartPosition()),g=0,m=f;g=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},ct=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},lt=6e4,dt=3e5;function ht(e,t){var n=e.getModel(t);return!!n&&!n.isTooLargeForSyncing()}var ft=function(e){function t(t,n,i){var r=e.call(this)||this;return r._modelService=t,r._workerManager=r._register(new gt(r._modelService)),r._logService=i,r._register(pe.q.register("*",{provideLinks:function(e,t){return ht(r._modelService,e.uri)?r._workerManager.withWorker().then(function(t){return t.computeLinks(e.uri)}).then(function(e){return e&&{links:e}}):Promise.resolve({links:[]})}})),r._register(pe.d.register("*",new pt(r._workerManager,n,r._modelService))),r}return at(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.canComputeDiff=function(e,t){return ht(this._modelService,e)&&ht(this._modelService,t)},t.prototype.computeDiff=function(e,t,n){return this._workerManager.withWorker().then(function(i){return i.computeDiff(e,t,n)})},t.prototype.computeMoreMinimalEdits=function(e,t){var n=this;if(Object(De.n)(t)){if(!ht(this._modelService,e))return Promise.resolve(t);var i=st.a.create(!0),r=this._workerManager.withWorker().then(function(n){return n.computeMoreMinimalEdits(e,t)});return r.finally(function(){return n._logService.trace("FORMAT#computeMoreMinimalEdits",e.toString(!0),i.elapsed())}),r}return Promise.resolve(void 0)},t.prototype.canNavigateValueSet=function(e){return ht(this._modelService,e)},t.prototype.navigateValueSet=function(e,t,n){return this._workerManager.withWorker().then(function(i){return i.navigateValueSet(e,t,n)})},t.prototype.canComputeWordRanges=function(e){return ht(this._modelService,e)},t.prototype.computeWordRanges=function(e,t){return this._workerManager.withWorker().then(function(n){return n.computeWordRanges(e,t)})},t=ut([ct(0,tt.a),ct(1,it),ct(2,ot.a)],t)}(G.a),pt=function(){function e(e,t,n){this._debugDisplayName="wordbasedCompletions",this._workerManager=e,this._configurationService=t,this._modelService=n}return e.prototype.provideCompletionItems=function(e,t){if(this._configurationService.getValue(e.uri,t,"editor").wordBasedSuggestions&&ht(this._modelService,e.uri))return this._workerManager.withWorker().then(function(n){return n.textualSuggest(e.uri,t)})},e}(),gt=function(e){function t(t){var n=e.call(this)||this;return n._modelService=t,n._editorWorkerClient=null,n._lastWorkerUsedTime=(new Date).getTime(),n._register(new _e.c).cancelAndSet(function(){return n._checkStopIdleWorker()},Math.round(dt/2)),n._register(n._modelService.onModelRemoved(function(e){return n._checkStopEmptyWorker()})),n}return at(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>dt&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null))},t.prototype.withWorker=function(){return this._lastWorkerUsedTime=(new Date).getTime(),this._editorWorkerClient||(this._editorWorkerClient=new bt(this._modelService,"editorWorkerService")),Promise.resolve(this._editorWorkerClient)},t}(G.a),mt=function(e){function t(t,n,i){var r=e.call(this)||this;if(r._syncedModels=Object.create(null),r._syncedModelsLastUsedTime=Object.create(null),r._proxy=t,r._modelService=n,!i){var o=new _e.c;o.cancelAndSet(function(){return r._checkStopModelSync()},Math.round(lt/2)),r._register(o)}return r}return at(t,e),t.prototype.dispose=function(){for(var t in this._syncedModels)Object(G.f)(this._syncedModels[t]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),e.prototype.dispose.call(this)},t.prototype.ensureSyncedResources=function(e){for(var t=0,n=e;tlt&&t.push(n)}for(var i=0,r=t;i'"_]/g,"-")}function Dt(e,t){return new Error(e.languageId+": "+t)}function Mt(e,t,n,i,r){var o=null;return t.replace(/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,function(t,s,a,u,c,l,d,h,f){return Nt(a)?Nt(u)?!Nt(c)&&c0;){var i=e.tokenizer[n];if(i)return i;var r=n.lastIndexOf(".");n=r<0?null:n.substr(0,r)}return null}var Pt=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 At(e,t);var n=At.getStackElementId(e);n.length>0&&(n+="|"),n+=t;var i=this._entries[n];return i||(i=new At(e,t),this._entries[n]=i,i)},e._INSTANCE=new e(5),e}(),At=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 Pt.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 Pt.create(this.parent,e)},e}(),Rt=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}(),Ft=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 jt(e,t);if(null!==e&&e.depth>=this._maxCacheDepth)return new jt(e,t);var n=At.getStackElementId(e),i=this._entries[n];return i||(i=new jt(e,null),this._entries[n]=i,i)},e._INSTANCE=new e(5),e}(),jt=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:Ft.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}(),Wt=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 V.a(e,t,this._language)))},e.prototype.nestedModeTokenize=function(e,t,n){var i=t.modeId,r=t.state,o=pe.y.get(i);if(!o)return this.enterMode(n,i),this.emit(n,""),r;var s=o.tokenize(e,r,n);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 V.b(this._tokens,e)},e}(),Bt=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 n=this._theme.match(this._currentLanguageId,t);this._lastTokenMetadata!==n&&(this._lastTokenMetadata=n,this._tokens.push(e),this._tokens.push(n))},e._merge=function(e,t,n){var i=null!==e?e.length:0,r=t.length,o=null!==n?n.length:0;if(0===i&&0===r&&0===o)return new Uint32Array(0);if(0===i&&0===r)return n;if(0===r&&0===o)return e;var s=new Uint32Array(i+r+o);null!==e&&s.set(e);for(var a=0;a0&&i.nestedModeTokenize(s,t.embeddedModeData,n);var a=e.substring(r);return this._myTokenize(a,t,n+r,i)},e.prototype._safeRuleName=function(e){return e?e.name:"(unknown)"},e.prototype._myTokenize=function(e,t,n,i){i.enterMode(n,this._modeId);for(var r,o,s=e.length,a=t.embeddedModeData,u=t.stack,c=0,l=null,d=!0;d||c=s)break;d=!1;var C=this._lexer.tokenizer[g];if(!C&&!(C=Tt(this._lexer,g)))throw Dt(this._lexer,"tokenizer state is not defined: "+g);for(var S=e.substr(c),x=0,L=C;x=this._lexer.maxStack)throw Dt(this._lexer,"maximum tokenizer stack size reached: ["+u.state+","+u.parent.state+",...]");u=u.push(g)}else if("@pop"===_.next){if(u.depth<=1)throw Dt(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(b));u=u.pop()}else if("@popall"===_.next)u=u.popall();else{var N;if("@"===(N=Mt(this._lexer,_.next,v,m,g))[0]&&(N=N.substr(1)),!Tt(this._lexer,N))throw Dt(this._lexer,"trying to set a next state '"+N+"' that is undefined in rule: "+this._safeRuleName(b));u=u.push(N)}}_.log&&"string"==typeof _.log&&(r=this._lexer,o=this._lexer.languageId+": "+Mt(this._lexer,_.log,v,m,g),console.log(r.languageId+": "+o))}if(null===k)throw Dt(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(b));if(Array.isArray(k)){if(l&&l.groups.length>0)throw Dt(this._lexer,"groups cannot be nested: "+this._safeRuleName(b));if(m.length!==k.length+1)throw Dt(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(b));for(var E=0,I=1;I=0&&a()})})},e.colorizeLine=function(e,t,n,i,r){void 0===r&&(r=4);var o=xt.d.isBasicASCII(e,t),s=xt.d.containsRTL(e,o,n);return Object(St.e)(new St.c(!1,!0,e,!1,o,s,0,i,[],r,0,-1,"none",!1,!1,null)).html},e.colorizeModelLine=function(e,t,n){void 0===n&&(n=4);var i=e.getLineContent(t);e.forceTokenization(t);var r=e.getLineTokens(t).inflate();return this.colorizeLine(i,e.mightContainNonBasicASCII(),e.mightContainRTL(),r,n)},e}();function Ut(e,t,n){return new Promise(function(i,r){var o=function(){var s=function(e,t,n){for(var i=[],r=n.getInitialState(),o=0,s=e.length;o"),r=u.endState}return i.join("")}(e,t,n);if(n instanceof Vt){var a=n.getLoadStatus();if(!1===a.loaded)return void a.promise.then(o,r)}i(s)};o()})}function Kt(e,t){var n=[],i=new Uint32Array(2);i[0]=0,i[1]=16793600;for(var r=0,o=e.length;r")}return n.join("")}var qt=n("gzF+"),Gt=n("Nr0y"),Zt=n("P1SM"),Yt=n("TeKV"),Xt=n("0WPX"),$t=n("Gzpe"),Jt=n("WTFd"),Qt=n("rHGw"),en=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),tn=function(){function e(e,t,n){void 0===e&&(e={}),void 0===t&&(t=[]),void 0===n&&(n=[]),this._contents=e,this._keys=t,this._overrides=n,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.isEmpty=function(){return 0===this._keys.length&&0===Object.keys(this._contents).length&&0===this._overrides.length},e.prototype.getValue=function(e){return e?Object($t.d)(this.contents,e):this.contents},e.prototype.override=function(t){var n=this.getContentsForOverrideIdentifer(t);if(!n||"object"!=typeof n||!Object.keys(n).length)return this;for(var i={},r=0,o=De.e(Object.keys(this.contents).concat(Object.keys(n)));r5e3&&n._leaveChordMode():n._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){return this._doDispatch(this.resolveKeyboardEvent(e),t)},t.prototype._doDispatch=function(e,t){var n=this,i=!1;if(e.isChord())return console.warn("Unexpected keyboard event mapped to a chord"),!1;var r=e.getDispatchParts()[0];if(null===r)return i;var o=this._contextKeyService.getContext(t),s=this._currentChord?this._currentChord.keypress:null,a=e.getLabel(),u=this._getResolver().resolve(o,s,r);return u&&u.enterChord?(i=!0,this._enterChordMode(r,a),i):(this._currentChord&&(u&&u.commandId||(this._notificationService.status(on.a("missing.chord","The key combination ({0}, {1}) is not a command.",this._currentChord.label,a),{hideAfter:1e4}),i=!0)),this._leaveChordMode(),u&&u.commandId&&(u.bubble||(i=!0),void 0===u.commandArgs?this._commandService.executeCommand(u.commandId).then(void 0,function(e){return n._notificationService.warn(e)}):this._commandService.executeCommand(u.commandId,u.commandArgs).then(void 0,function(e){return n._notificationService.warn(e)}),this._telemetryService.publicLog2("workbenchActionExecuted",{id:u.commandId,from:"keybinding"})),i)},t.prototype.mightProducePrintableCharacter=function(e){return!e.ctrlKey&&!e.metaKey&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30)},t}(G.a),un=n("7g0X"),cn=function(){function e(t,n){this._defaultKeybindings=t,this._defaultBoundCommands=new Map;for(var i=0,r=t.length;i=0;l--)this._isTargetedForRemoval(e[l],a,u,s,c)&&e.splice(l,1);else n.push(o)}return e.concat(n)},e.prototype._addKeyPress=function(t,n){var i=this._map.get(t);if(void 0===i)return this._map.set(t,[n]),void this._addToLookupMap(n);for(var r=i.length-1;r>=0;r--){var o=i[r];if(o.command!==n.command){var s=o.keypressParts.length>1,a=n.keypressParts.length>1;s&&a&&o.keypressParts[1]!==n.keypressParts[1]||e.whenIsEntirelyIncluded(o.when,n.when)&&this._removeFromLookupMap(o)}}i.push(n),this._addToLookupMap(n)},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){if(e.command){var t=this._lookupMap.get(e.command);if(void 0!==t)for(var n=0,i=t.length;n1&&null!==u.keypressParts[1]?{enterChord:!0,commandId:null,commandArgs:null,bubble:!1}:{enterChord:!1,commandId:u.command,commandArgs:u.commandArgs,bubble:u.bubble}:null},e.prototype._findCommand=function(t,n){for(var i=n.length-1;i>=0;i--){var r=n[i];if(e.contextMatchesRules(t,r.when))return r}return null},e.contextMatchesRules=function(e,t){return!t||t.evaluate(e)},e}(),ln=n("Kx4b"),dn=function(){return function(e,t,n,i,r){this.resolvedKeybinding=e,this.keypressParts=e?function(e){for(var t=[],n=0,i=e.length;n1},t.prototype.getParts=function(){var e=this;return this._parts.map(function(t){return e._getPart(t)})},t.prototype._getPart=function(e){return new R.d(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getLabel(e),this._getAriaLabel(e))},t.prototype.getDispatchParts=function(){var e=this;return this._parts.map(function(t){return e._getDispatchPart(t)})},t}(R.c),gn=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),mn=function(e){function t(t,n){return e.call(this,n,t.parts)||this}return gn(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 R.b.toString(e)},t.prototype._getLabel=function(e){return e.isDuplicateModifierCase()?"":this._keyCodeToUILabel(e.keyCode)},t.prototype._getAriaLabel=function(e){return e.isDuplicateModifierCase()?"":R.b.toString(e.keyCode)},t.prototype._getDispatchPart=function(e){return t.getDispatchStr(e)},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+=R.b.toString(e.keyCode)},t}(pn),vn=n("fAkY"),_n=n("EMDP"),bn=n("EfIu"),yn=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),wn=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Cn=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Sn=function(){function e(e){this.model=e,this._onDispose=new A.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 xn=function(){function e(){}return e.prototype.setEditor=function(e){this.editor=e},e.prototype.createModelReference=function(e){var t,n,i,r=this,o=null;return this.editor&&(t=this.editor,n=function(t){return r.findModel(t,e)},i=function(t){return r.findModel(t.getOriginalEditor(),e)||r.findModel(t.getModifiedEditor(),e)},o=Object(Zt.a)(t)?n(t):i(t)),o?Promise.resolve(new G.c(new Sn(o))):Promise.reject(new Error("Model not found"))},e.prototype.findModel=function(e,t){var n=e.getModel();return n&&n.uri.toString()!==t.toString()?null:n},e}(),Ln=function(){function e(){}return e.prototype.showWhile=function(e,t){return Promise.resolve(void 0)},e}(),On=function(){return function(){}}(),kn=function(){function e(){}return e.prototype.info=function(e){return this.notify({severity:Gt.a.Info,message:e})},e.prototype.warn=function(e){return this.notify({severity:Gt.a.Warning,message:e})},e.prototype.error=function(e){return this.notify({severity:Gt.a.Error,message:e})},e.prototype.notify=function(t){switch(t.severity){case Gt.a.Error:console.error(t.message);break;case Gt.a.Warning:console.warn(t.message);break;default:console.log(t.message)}return e.NO_OP},e.prototype.status=function(e,t){return G.a.None},e.NO_OP=new vn.b,e}(),Nn=function(){function e(e){this._onWillExecuteCommand=new A.a,this._onDidExecuteCommand=new A.a,this._instantiationService=e,this._dynamicCommands=Object.create(null)}return e.prototype.addCommand=function(e){var t=this,n=e.id;return this._dynamicCommands[n]=e,Object(G.h)(function(){delete t._dynamicCommands[n]})},e.prototype.executeCommand=function(e){for(var t=[],n=1;n0){var _=e[o-1];m=0===_.originalEndLineNumber?_.originalStartLineNumber+1:_.originalEndLineNumber+1,v=0===_.modifiedEndLineNumber?_.modifiedStartLineNumber+1:_.modifiedEndLineNumber+1}var b=p-3+1,y=g-3+1;if(bS)k+=O=S-k,N+=O;if(N>x)k+=O=x-N,N+=O;h[f++]=new ti(w,k,C,N),i[r++]=new ni(h)}var E=i[0].entries,I=[],D=0;for(o=1,s=i.length;od)&&(d=v),0!==_&&(0===h||_f)&&(f=b)}var y=document.createElement("div");y.className="diff-review-row";var w=document.createElement("div");w.className="diff-review-cell diff-review-summary";var C=d-l+1,S=f-h+1;w.appendChild(document.createTextNode(a+1+"/"+this._diffs.length+": @@ -"+l+","+C+" +"+h+","+S+" @@")),y.setAttribute("data-line",String(h));var x=function(e){return 0===e?on.a("no_lines","no lines"):1===e?on.a("one_line","1 line"):on.a("more_lines","{0} lines",e)},L=x(C),O=x(S);y.setAttribute("aria-label",on.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}",a+1,this._diffs.length,l,L,h,O)),y.appendChild(w),y.setAttribute("role","listitem"),c.appendChild(y);var k=h;for(p=0,g=u.length;p0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]r.modifiedStartLineNumber?on.a("diff.clipboard.copyDeletedLinesContent.label","Copy deleted lines"):on.a("diff.clipboard.copyDeletedLinesContent.single.label","Copy deleted line"),void 0,!0,function(){return pi(a,void 0,void 0,function(){return gi(this,function(e){switch(e.label){case 0:return[4,this._clipboardService.writeText(r.originalContent.join(c)+c)];case 1:return e.sent(),[2]}})})}));var d=0,h=void 0;return r.originalEndLineNumber>r.modifiedStartLineNumber&&(h=new Yn.a("diff.clipboard.copyDeletedLineContent",on.a("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",r.originalStartLineNumber),void 0,!0,function(){return pi(a,void 0,void 0,function(){return gi(this,function(e){switch(e.label){case 0:return[4,this._clipboardService.writeText(r.originalContent[d])];case 1:return e.sent(),[2]}})})}),l.push(h)),i.getConfiguration().readOnly||l.push(new Yn.a("diff.inline.revertChange",on.a("diff.inline.revertChange.label","Revert this change"),void 0,!0,function(){return pi(a,void 0,void 0,function(){var e;return gi(this,function(t){return 0===r.modifiedEndLineNumber?(e=i.getModel().getLineMaxColumn(r.modifiedStartLineNumber),i.executeEdits("diffEditor",[{range:new W.a(r.modifiedStartLineNumber,e,r.modifiedStartLineNumber,e),text:c+r.originalContent.join(c)}])):(e=i.getModel().getLineMaxColumn(r.modifiedEndLineNumber),i.executeEdits("diffEditor",[{range:new W.a(r.modifiedStartLineNumber,1,r.modifiedEndLineNumber,e),text:r.originalContent.join(c)}])),[2]})})})),a._register(q.k(a._diffActions,"mousedown",function(e){var t=q.x(a._diffActions),n=t.top,i=t.height,o=Math.floor(u/3);e.preventDefault(),a._contextMenuService.showContextMenu({getAnchor:function(){return{x:e.posx,y:n+i+o}},getActions:function(){return h&&(h.label=on.a("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",r.originalStartLineNumber+d)),l},autoSelectFirstItem:!0})})),a._register(i.onMouseMove(function(e){8===e.target.type||5===e.target.type?e.target.detail.viewZoneId===a._viewZoneId?(a.visibility=!0,d=a._updateLightBulbPosition(a._marginDomNode,e.event.browserEvent.y,u)):a.visibility=!1:a.visibility=!1})),a}return fi(t,e),Object.defineProperty(t.prototype,"visibility",{get:function(){return this._visibility},set:function(e){this._visibility!==e&&(this._visibility=e,this._diffActions.style.visibility=e?"visible":"hidden")},enumerable:!0,configurable:!0}),t.prototype._updateLightBulbPosition=function(e,t,n){var i=t-q.x(e).top,r=Math.floor(i/n),o=r*n;return this._diffActions.style.top=o+"px",r},t}(G.a),vi=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),_i=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},bi=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},yi=function(){function e(e,t){this._contextMenuService=e,this._clipboardService=t,this._zones=[],this.inlineDiffMargins=[],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 n=0,i=t._zones.length;n0?r/n:0;return{height:Math.max(0,Math.floor(e.contentHeight*o)),top:Math.floor(t*o)}},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._diffComputationResult&&this._updateDecorations(),this._measureDomElement(!0)},t.prototype._getLineChangeAtOrBeforeLineNumber=function(e,t){var n=this._diffComputationResult?this._diffComputationResult.changes:[];if(0===n.length||e=a?i=o+1:(i=o,r=o)}return n[i]},t.prototype._getEquivalentLineForOriginalLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,function(e){return e.originalStartLineNumber});if(!t)return e;var n=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),i=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),r=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,o=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-n;return s<=r?i+Math.min(s,o):i+o-r+s},t.prototype._getEquivalentLineForModifiedLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,function(e){return e.modifiedStartLineNumber});if(!t)return e;var n=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),i=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),r=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,o=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-i;return s<=o?n+Math.min(s,r):n+r-o+s},t.prototype.getDiffLineInformationForOriginal=function(e){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForOriginalLineNumber(e)}:null},t.prototype.getDiffLineInformationForModified=function(e){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForModifiedLineNumber(e)}:null},t.ONE_OVERVIEW_WIDTH=15,t.ENTIRE_DIFF_OVERVIEW_WIDTH=30,t.UPDATE_DIFF_DECORATIONS_DELAY=200,t=_i([bi(3,me.a),bi(4,un.c),bi(5,nt.a),bi(6,K.a),bi(7,Qn.c),bi(8,vn.a),bi(9,hi.a)],t)}(G.a),Si=function(e){function t(t){var n=e.call(this)||this;return n._dataSource=t,n._insertColor=null,n._removeColor=null,n}return vi(t,e),t.prototype.applyColors=function(e){var t=(e.getColor(Jn.j)||Jn.g).transparent(2),n=(e.getColor(Jn.l)||Jn.h).transparent(2),i=!t.equals(this._insertColor)||!n.equals(this._removeColor);return this._insertColor=t,this._removeColor=n,i},t.prototype.getEditorsDiffDecorations=function(e,t,n,i,r,o,s){r=r.sort(function(e,t){return e.afterLineNumber-t.afterLineNumber}),i=i.sort(function(e,t){return e.afterLineNumber-t.afterLineNumber});var a=this._getViewZones(e,i,r,o,s,n),u=this._getOriginalEditorDecorations(e,t,n,o,s),c=this._getModifiedEditorDecorations(e,t,n,o,s);return{original:{decorations:u.decorations,overviewZones:u.overviewZones,zones:a.original},modified:{decorations:c.decorations,overviewZones:c.overviewZones,zones:a.modified}}},t}(G.a),xi=function(){function e(e){this._source=e,this._index=-1,this.current=null,this.advance()}return e.prototype.advance=function(){this._index++,this._index0){var n=e[e.length-1];if(n.afterLineNumber===t.afterLineNumber&&null===n.domNode)return void(n.heightInLines+=t.heightInLines)}e.push(t)},d=new xi(this.modifiedForeignVZ),h=new xi(this.originalForeignVZ),f=0,p=this.lineChanges.length;f<=p;f++){var g=f0?-1:0),s=g.modifiedStartLineNumber+(g.modifiedEndLineNumber>0?-1:0),r=g.originalEndLineNumber>0?g.originalEndLineNumber-g.originalStartLineNumber+1:0,i=g.modifiedEndLineNumber>0?g.modifiedEndLineNumber-g.modifiedStartLineNumber+1:0,a=Math.max(g.originalStartLineNumber,g.originalEndLineNumber),u=Math.max(g.modifiedStartLineNumber,g.modifiedEndLineNumber)):(a=o+=1e7+r,u=s+=1e7+i);for(var m,v=[],_=[];d.current&&d.current.afterLineNumber<=u;){var b=void 0;b=d.current.afterLineNumber<=s?o-s+d.current.afterLineNumber:a;var y=null;g&&g.modifiedStartLineNumber<=d.current.afterLineNumber&&d.current.afterLineNumber<=g.modifiedEndLineNumber&&(y=this._createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion()),v.push({afterLineNumber:b,heightInLines:d.current.heightInLines,domNode:null,marginDomNode:y}),d.advance()}for(;h.current&&h.current.afterLineNumber<=a;){b=void 0;b=h.current.afterLineNumber<=o?s-o+h.current.afterLineNumber:u,_.push({afterLineNumber:b,heightInLines:h.current.heightInLines,domNode:null}),h.advance()}if(null!==g&&Mi(g))(m=this._produceOriginalFromDiff(g,r,i))&&v.push(m);if(null!==g&&Ti(g))(m=this._produceModifiedFromDiff(g,r,i))&&_.push(m);var w=0,C=0;for(v=v.sort(c),_=_.sort(c);w=x.heightInLines?(S.heightInLines-=x.heightInLines,C++):(x.heightInLines-=S.heightInLines,w++)}for(;w2*t.MINIMUM_EDITOR_WIDTH?(in-t.MINIMUM_EDITOR_WIDTH&&(i=n-t.MINIMUM_EDITOR_WIDTH)):i=r,this._sashPosition!==i&&(this._sashPosition=i,this._sash.layout()),this._sashPosition},t.prototype.onSashDragStart=function(){this._startSashPosition=this._sashPosition},t.prototype.onSashDrag=function(e){var t=this._dataSource.getWidth()-Ci.ENTIRE_DIFF_OVERVIEW_WIDTH,n=this.layout((this._startSashPosition+(e.currentX-e.startX))/t);this._sashRatio=n/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,n,i,r){return new Ei(e,t,n).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,n,i,r){for(var o=String(this._removeColor),s={decorations:[],overviewZones:[]},a=i.getModel(),u=0,c=e.length;ut?{afterLineNumber:Math.max(e.originalStartLineNumber,e.originalEndLineNumber),heightInLines:n-t,domNode:null}:null},t.prototype._produceModifiedFromDiff=function(e,t,n){return t>n?{afterLineNumber:Math.max(e.modifiedStartLineNumber,e.modifiedEndLineNumber),heightInLines:t-n,domNode:null}:null},t}(Li),Ii=function(e){function t(t,n){var i=e.call(this,t)||this;return i.decorationsLeft=t.getOriginalEditor().getLayoutInfo().decorationsLeft,i._register(t.getOriginalEditor().onDidLayoutChange(function(e){i.decorationsLeft!==e.decorationsLeft&&(i.decorationsLeft=e.decorationsLeft,t.relayoutEditors())})),i}return vi(t,e),t.prototype.setEnableSplitViewResizing=function(e){},t.prototype._getViewZones=function(e,t,n,i,r,o){return new Di(e,t,n,i,r,o).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,n,i,r){for(var o=String(this._removeColor),s={decorations:[],overviewZones:[]},a=0,u=e.length;a'])}h+=this.modifiedEditorConfiguration.viewInfo.scrollBeyondLastColumn;var m=document.createElement("div");m.className="view-lines line-delete",m.innerHTML=a.build(),Kn.a.applyFontInfoSlow(m,this.modifiedEditorConfiguration.fontInfo);var v=document.createElement("div");return v.className="inline-deleted-margin-view-zone",v.innerHTML=u.join(""),Kn.a.applyFontInfoSlow(v,this.modifiedEditorConfiguration.fontInfo),{shouldNotShrink:!0,afterLineNumber:0===e.modifiedEndLineNumber?e.modifiedStartLineNumber:e.modifiedStartLineNumber-1,heightInLines:t,minWidthInPx:h*d,domNode:m,marginDomNode:v,diff:{originalStartLineNumber:e.originalStartLineNumber,originalEndLineNumber:e.originalEndLineNumber,modifiedStartLineNumber:e.modifiedStartLineNumber,modifiedEndLineNumber:e.modifiedEndLineNumber,originalContent:f}}},t.prototype._renderOriginalLine=function(e,t,n,i,r,o,s){var a=t.getLineTokens(r),u=a.getLineContent(),c=li.a.filter(o,r,1,u.length+1);s.appendASCIIString('
    ');var l=xt.d.isBasicASCII(u,t.mightContainNonBasicASCII()),d=xt.d.containsRTL(u,l,t.mightContainRTL()),h=Object(St.d)(new St.c(n.fontInfo.isMonospace&&!n.viewInfo.disableMonospaceOptimizations,n.fontInfo.canUseHalfwidthRightwardsArrow,u,!1,l,d,0,a,c,i,n.fontInfo.spaceWidth,n.viewInfo.stopRenderingLineAfter,n.viewInfo.renderWhitespace,n.viewInfo.renderControlCharacters,n.viewInfo.fontLigatures,null),s);s.appendASCIIString("
    ");var f=h.characterMapping.getAbsoluteOffsets();return f.length>0?f[f.length-1]:0},t}(Li);function Mi(e){return e.modifiedEndLineNumber>0}function Ti(e){return e.originalEndLineNumber>0}Object(Qn.f)(function(e,t){var n=e.getColor(Jn.j);n&&(t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { background-color: "+n+"; }"),t.addRule(".monaco-diff-editor .line-insert, .monaco-diff-editor .char-insert { background-color: "+n+"; }"),t.addRule(".monaco-editor .inline-added-margin-view-zone { background-color: "+n+"; }"));var i=e.getColor(Jn.l);i&&(t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { background-color: "+i+"; }"),t.addRule(".monaco-diff-editor .line-delete, .monaco-diff-editor .char-delete { background-color: "+i+"; }"),t.addRule(".monaco-editor .inline-deleted-margin-view-zone { background-color: "+i+"; }"));var r=e.getColor(Jn.k);r&&t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+r+"; }");var o=e.getColor(Jn.m);o&&t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+o+"; }");var s=e.getColor(Jn._37);s&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px "+s+"; }");var a=e.getColor(Jn.i);a&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid "+a+"; }")});var Pi=n("lthF"),Ai=n("sKqm"),Ri=n("C3c5"),Fi=n("NqM+"),ji=n("xJaW"),Wi=n("44YW"),Bi=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Vi=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Hi=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},zi=0,Ui=!1;var Ki=function(e){function t(t,n,i,r,o,s,a,u,c,l){var d=this;return(n=n||{}).ariaLabel=n.ariaLabel||bn.g.editorViewAccessibleLabel,n.ariaLabel=n.ariaLabel+";"+(Bn.j?bn.g.accessibilityHelpMessageIE:bn.g.accessibilityHelpMessage),(d=e.call(this,t,n,{},i,r,o,s,u,c,l)||this)._standaloneKeybindingService=a instanceof En?a:null,Ui||(Ui=!0,Vn.b(document.body)),d}return Bi(t,e),t.prototype.addCommand=function(e,t,n){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;var i="DYNAMIC_"+ ++zi,r=un.a.deserialize(n);return this._standaloneKeybindingService.addDynamicKeybinding(i,e,t,r),i},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"),G.a.None;var n=e.id,i=e.label,r=un.a.and(un.a.equals("editorId",this.getId()),un.a.deserialize(e.precondition)),o=e.keybindings,s=un.a.and(r,un.a.deserialize(e.keybindingContext)),a=e.contextMenuGroupId||null,u=e.contextMenuOrder||0,c=function(){return Promise.resolve(e.run(t))},l=new G.b,d=this.getId()+":"+n;if(l.add(Q.a.registerCommand(d,c)),a){var h={command:{id:d,title:i},when:r,group:a,order:u};l.add(Ri.c.appendMenuItem(7,h))}if(Array.isArray(o))for(var f=0,p=o;f=0}}(e);tr.push(n),n.userConfigured?ir.push(n):nr.push(n),t&&!n.userConfigured&&tr.forEach(function(e){e.mime===n.mime||e.userConfigured||(n.extension&&e.extension===n.extension&&console.warn("Overwriting extension <<"+n.extension+">> to now point to mime <<"+n.mime+">>"),n.filename&&e.filename===n.filename&&console.warn("Overwriting filename <<"+n.filename+">> to now point to mime <<"+n.mime+">>"),n.filepattern&&e.filepattern===n.filepattern&&console.warn("Overwriting filepattern <<"+n.filepattern+">> to now point to mime <<"+n.mime+">>"),n.firstline&&e.firstline===n.firstline&&console.warn("Overwriting firstline <<"+n.firstline+">> to now point to mime <<"+n.mime+">>"))})}function or(e,t){var n;if(e)switch(e.scheme){case X.b.file:n=e.fsPath;break;case X.b.data:n=$.a.parseMetaData(e).get($.a.META_DATA_LABEL);break;default:n=e.path}if(!n)return[er];n=n.toLowerCase();var i=Object($i.basename)(n),r=sr(n,i,ir);if(r)return[r,Qi];var o=sr(n,i,nr);if(o)return[o,Qi];if(t){var s=function(e){Object(J.L)(e)&&(e=e.substr(1));if(e.length>0)for(var t=tr.length-1;t>=0;t--){var n=tr[t];if(n.firstline){var i=e.match(n.firstline);if(i&&i.length>0)return n.mime}}return null}(t);if(s)return[s,Qi]}return[er]}function sr(e,t,n){for(var i=null,r=null,o=null,s=n.length-1;s>=0;s--){var a=n[s];if(t===a.filenameLowercase){i=a;break}if(a.filepattern&&(!r||a.filepattern.length>r.filepattern.length)){var u=a.filepatternOnPath?e:t;Object(Ji.a)(a.filepatternLowercase,u)&&(r=a)}a.extension&&(!o||a.extension.length>o.extension.length)&&Object(J.m)(t,a.extensionLowercase)&&(o=a)}return i?i.mime:r?r.mime:o?o.mime:null}var ar=n("9XyG"),ur=n("RWr8"),cr=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),lr=Object.prototype.hasOwnProperty,dr=function(e){function t(t,n){void 0===t&&(t=!0),void 0===n&&(n=!1);var i=e.call(this)||this;return i._onDidChange=i._register(new A.a),i.onDidChange=i._onDidChange.event,i._warnOnOverwrite=n,i._nextLanguageId2=1,i._languageIdToLanguage=[],i._languageToLanguageId=Object.create(null),i._languages={},i._mimeTypesMap={},i._nameMap={},i._lowercaseNameMap={},t&&(i._initializeFromRegistry(),i._register(ar.a.onDidChangeLanguages(function(e){return i._initializeFromRegistry()}))),i}return cr(t,e),t.prototype._initializeFromRegistry=function(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={};var e=ar.a.getLanguages();this._registerLanguages(e)},t.prototype._registerLanguages=function(e){for(var t=this,n=0,i=e;n0&&((n=e.mimetypes).push.apply(n,t.mimetypes),r=t.mimetypes[0]),r||(r="text/x-"+i,e.mimetypes.push(r)),Array.isArray(t.extensions))for(var o=0,s=t.extensions;o0){var f=t.firstLine;"^"!==f.charAt(0)&&(f="^"+f);try{var p=new RegExp(f);J.E(p)||rr({id:i,mime:r,firstline:p},this._warnOnOverwrite)}catch(e){Object(be.e)(e)}}e.aliases.push(i);var g=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(g=0===t.aliases.length?[null]:t.aliases),null!==g)for(var m=0,v=g;m0;if(b&&null===g[0]);else{var y=(b?g[0]:null)||i;!b&&e.name||(e.name=y)}t.configuration&&e.configurationFiles.push(t.configuration)},t.prototype.isRegisteredMode=function(e){return!!lr.call(this._mimeTypesMap,e)||lr.call(this._languages,e)},t.prototype.getModeIdForLanguageNameLowercase=function(e){return lr.call(this._lowercaseNameMap,e)?this._lowercaseNameMap[e].language:null},t.prototype.extractModeIds=function(e){var t=this;return e?e.split(",").map(function(e){return e.trim()}).map(function(e){return lr.call(t._mimeTypesMap,e)?t._mimeTypesMap[e].language:e}).filter(function(e){return lr.call(t._languages,e)}):[]},t.prototype.getLanguageIdentifier=function(e){if(e===ge.b||0===e)return ge.a;var t;if("string"==typeof e)t=e;else if(!(t=this._languageIdToLanguage[e]))return null;return lr.call(this._languages,t)?this._languages[t].identifier:null},t.prototype.getModeIdsFromFilepathOrFirstLine=function(e,t){if(!e&&!t)return[];var n=or(e,t);return this.extractModeIds(n.join(","))},t}(G.a),hr=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),fr=function(e){function t(t,n){var i=e.call(this)||this;return i._onDidChange=i._register(new A.a),i.onDidChange=i._onDidChange.event,i._selector=n,i.languageIdentifier=i._selector(),i._register(t(function(){return i._evaluate()})),i}return hr(t,e),t.prototype._evaluate=function(){var e=this._selector();e.id!==this.languageIdentifier.id&&(this.languageIdentifier=e,this._onDidChange.fire(this.languageIdentifier))},t}(G.a),pr=function(){function e(e){var t=this;void 0===e&&(e=!1),this._onDidCreateMode=new A.a,this.onDidCreateMode=this._onDidCreateMode.event,this._onLanguagesMaybeChanged=new A.a,this.onLanguagesMaybeChanged=this._onLanguagesMaybeChanged.event,this._instantiatedModes={},this._registry=new dr(!0,e),this._registry.onDidChange(function(){return t._onLanguagesMaybeChanged.fire()})}return e.prototype.isRegisteredMode=function(e){return this._registry.isRegisteredMode(e)},e.prototype.getModeIdForLanguageName=function(e){return this._registry.getModeIdForLanguageNameLowercase(e)},e.prototype.getModeIdByFilepathOrFirstLine=function(e,t){var n=this._registry.getModeIdsFromFilepathOrFirstLine(e,t);return n.length>0?n[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.create=function(e){var t=this;return new fr(this.onLanguagesMaybeChanged,function(){var n=t.getModeId(e);return t._createModeAndGetLanguageIdentifier(n)})},e.prototype.createByFilepathOrFirstLine=function(e,t){var n=this;return new fr(this.onLanguagesMaybeChanged,function(){var i=n.getModeIdByFilepathOrFirstLine(e,t);return n._createModeAndGetLanguageIdentifier(i)})},e.prototype._createModeAndGetLanguageIdentifier=function(e){var t=this.getLanguageIdentifier(e||"plaintext")||ge.a;return this._getOrCreateMode(t.language),t},e.prototype.triggerMode=function(e){var t=this.getModeId(e);this._getOrCreateMode(t||"plaintext")},e.prototype._getOrCreateMode=function(e){if(!this._instantiatedModes.hasOwnProperty(e)){var t=this.getLanguageIdentifier(e)||ge.a;this._instantiatedModes[e]=new Xi(t),this._onDidCreateMode.fire(this._instantiatedModes[e])}return this._instantiatedModes[e]},e}(),gr=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),mr=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},vr=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}};function _r(e){return e.toString()}var br=function(){function e(e,t,n){this._modelEventListeners=new G.b,this.model=e,this._languageSelection=null,this._languageSelectionListener=null,this._modelEventListeners.add(e.onWillDispose(function(){return t(e)})),this._modelEventListeners.add(e.onDidChangeLanguage(function(t){return n(e,t)}))}return e.prototype._disposeLanguageSelection=function(){this._languageSelectionListener&&(this._languageSelectionListener.dispose(),this._languageSelectionListener=null),this._languageSelection&&(this._languageSelection.dispose(),this._languageSelection=null)},e.prototype.dispose=function(){this._modelEventListeners.dispose(),this._disposeLanguageSelection()},e.prototype.setLanguage=function(e){var t=this;this._disposeLanguageSelection(),this._languageSelection=e,this._languageSelectionListener=this._languageSelection.onDidChange(function(){return t.model.setMode(e.languageIdentifier)}),this.model.setMode(e.languageIdentifier)},e}(),yr=ye.c||ye.d?1:2,wr=function(e){function t(t,n){var i=e.call(this)||this;return i._onModelAdded=i._register(new A.a),i.onModelAdded=i._onModelAdded.event,i._onModelRemoved=i._register(new A.a),i.onModelRemoved=i._onModelRemoved.event,i._onModelModeChanged=i._register(new A.a),i.onModelModeChanged=i._onModelModeChanged.event,i._configurationService=t,i._resourcePropertiesService=n,i._models={},i._modelCreationOptionsByLanguageAndResource=Object.create(null),i._configurationServiceSubscription=i._configurationService.onDidChangeConfiguration(function(e){return i._updateModelOptions()}),i._updateModelOptions(),i}return gr(t,e),t._readModelOptions=function(e,t){var n=T.c.tabSize;if(e.editor&&void 0!==e.editor.tabSize){var i=parseInt(e.editor.tabSize,10);isNaN(i)||(n=i),n<1&&(n=1)}var r=n;if(e.editor&&void 0!==e.editor.indentSize&&"tabSize"!==e.editor.indentSize){var o=parseInt(e.editor.indentSize,10);isNaN(o)||(r=o),r<1&&(r=1)}var s=T.c.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(s="false"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));var a=yr,u=e.eol;"\r\n"===u?a=2:"\n"===u&&(a=1);var c=T.c.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(c="false"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));var l=T.c.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(l="false"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));var d=T.c.largeFileOptimizations;return e.editor&&void 0!==e.editor.largeFileOptimizations&&(d="false"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations)),{isForSimpleWidget:t,tabSize:n,indentSize:r,insertSpaces:s,detectIndentation:l,defaultEOL:a,trimAutoWhitespace:c,largeFileOptimizations:d}},t.prototype.getCreationOptions=function(e,n,i){var r=this._modelCreationOptionsByLanguageAndResource[e+n];if(!r){var o=this._configurationService.getValue("editor",{overrideIdentifier:e,resource:n}),s=this._resourcePropertiesService.getEOL(n,e);r=t._readModelOptions({editor:o,eol:s},i),this._modelCreationOptionsByLanguageAndResource[e+n]=r}return r},t.prototype._updateModelOptions=function(){var e=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);for(var n=Object.keys(this._models),i=0,r=n.length;i=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Or=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},kr=function(e){function t(t,n){void 0===n&&(n=q.s());var i=e.call(this)||this;return i._decorationOptionProviders=new Map,i._styleSheet=n,i._themeService=t,i}return xr(t,e),t.prototype.registerDecorationType=function(e,t,n){var i=this._decorationOptionProviders.get(e);if(!i){var r={styleSheet:this._styleSheet,key:e,parentTypeKey:n,options:t||Object.create(null)};i=n?new Nr(this._themeService,r):new Er(this._themeService,r),this._decorationOptionProviders.set(e,i)}i.refCount++},t.prototype.removeDecorationType=function(e){var t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach(function(t){return t.removeDecorations(e)})))},t.prototype.resolveDecorationOptions=function(e,t){var n=this._decorationOptionProviders.get(e);if(!n)throw new Error("Unknown decoration type key: "+e);return n.getOptions(this,t)},t=Lr([Or(0,Qn.c)],t)}(Sr),Nr=function(){function e(e,t){this._parentTypeKey=t.parentTypeKey,this.refCount=0,this._beforeContentRules=new Dr(3,t,e),this._afterContentRules=new Dr(4,t,e)}return e.prototype.getOptions=function(e,t){var n=e.resolveDecorationOptions(this._parentTypeKey,!0);return this._beforeContentRules&&(n.beforeContentClassName=this._beforeContentRules.className),this._afterContentRules&&(n.afterContentClassName=this._afterContentRules.className),n},e.prototype.dispose=function(){this._beforeContentRules&&(this._beforeContentRules.dispose(),this._beforeContentRules=null),this._afterContentRules&&(this._afterContentRules.dispose(),this._afterContentRules=null)},e}(),Er=function(){function e(e,t){var n=this;this._disposables=new G.b,this.refCount=0;var i=function(i){var r=new Dr(i,t,e);if(n._disposables.add(r),r.hasContent)return r.className};this.className=i(0);var r,o=(r=new Dr(1,t,e),n._disposables.add(r),r.hasContent?{className:r.className,hasLetterSpacing:r.hasLetterSpacing}:null);o&&(this.inlineClassName=o.className,this.inlineClassNameAffectsLetterSpacing=o.hasLetterSpacing),this.beforeContentClassName=i(3),this.afterContentClassName=i(4),this.glyphMarginClassName=i(2);var s=t.options;this.isWholeLine=Boolean(s.isWholeLine),this.stickiness=s.rangeBehavior;var a=s.light&&s.light.overviewRulerColor||s.overviewRulerColor,u=s.dark&&s.dark.overviewRulerColor||s.overviewRulerColor;void 0===a&&void 0===u||(this.overviewRuler={color:a||u,darkColor:u||a,position:s.overviewRulerLane||fe.d.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.dispose()},e}(),Ir={color:"color:{0} !important;",opacity:"opacity:{0};",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:{0} center center no-repeat;",gutterIconSize:"background-size:{0};",contentText:"content:'{0}';",contentIconPath:"content:{0};",margin:"margin:{0};",width:"width:{0};",height:"height:{0};"},Dr=function(){function e(e,t,n){var i=this;this._theme=n.getTheme(),this._ruleType=e,this._providerArgs=t,this._usesThemeColors=!1,this._hasContent=!1,this._hasLetterSpacing=!1;var r=Mr.getClassName(this._providerArgs.key,e);this._providerArgs.parentTypeKey&&(r=r+" "+Mr.getClassName(this._providerArgs.parentTypeKey,e)),this._className=r,this._unThemedSelector=Mr.getSelector(this._providerArgs.key,this._providerArgs.parentTypeKey,e),this._buildCSS(),this._usesThemeColors?this._themeListener=n.onThemeChange(function(e){i._theme=n.getTheme(),i._removeCSS(),i._buildCSS()}):this._themeListener=null}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,n,i=this._providerArgs.options;switch(this._ruleType){case 0:e=this.getCSSTextForModelDecorationClassName(i),t=this.getCSSTextForModelDecorationClassName(i.light),n=this.getCSSTextForModelDecorationClassName(i.dark);break;case 1:e=this.getCSSTextForModelDecorationInlineClassName(i),t=this.getCSSTextForModelDecorationInlineClassName(i.light),n=this.getCSSTextForModelDecorationInlineClassName(i.dark);break;case 2:e=this.getCSSTextForModelDecorationGlyphMarginClassName(i),t=this.getCSSTextForModelDecorationGlyphMarginClassName(i.light),n=this.getCSSTextForModelDecorationGlyphMarginClassName(i.dark);break;case 3:e=this.getCSSTextForModelDecorationContentClassName(i.before),t=this.getCSSTextForModelDecorationContentClassName(i.light&&i.light.before),n=this.getCSSTextForModelDecorationContentClassName(i.dark&&i.dark.before);break;case 4:e=this.getCSSTextForModelDecorationContentClassName(i.after),t=this.getCSSTextForModelDecorationContentClassName(i.light&&i.light.after),n=this.getCSSTextForModelDecorationContentClassName(i.dark&&i.dark.after);break;default:throw new Error("Unknown rule type: "+this._ruleType)}var r=this._providerArgs.styleSheet.sheet,o=!1;e.length>0&&(r.insertRule(this._unThemedSelector+" {"+e+"}",0),o=!0),t.length>0&&(r.insertRule(".vs"+this._unThemedSelector+" {"+t+"}",0),o=!0),n.length>0&&(r.insertRule(".vs-dark"+this._unThemedSelector+", .hc-black"+this._unThemedSelector+" {"+n+"}",0),o=!0),this._hasContent=o},e.prototype._removeCSS=function(){q.H(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&&t.push(J.r(Ir.contentIconPath,q.n(F.a.revive(e.contentIconPath)))),"string"==typeof e.contentText){var n=e.contentText.match(/^.*$/m)[0].replace(/['\\]/g,"\\$&");t.push(J.r(Ir.contentText,n))}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&&(t.push(J.r(Ir.gutterIconPath,q.n(F.a.revive(e.gutterIconPath)))),void 0!==e.gutterIconSize&&t.push(J.r(Ir.gutterIconSize,e.gutterIconSize))),t.join("")},e.prototype.collectBorderSettingsCSSText=function(e,t){return!!this.collectCSSText(e,["border","borderColor","borderRadius","borderSpacing","borderStyle","borderWidth"],t)&&(t.push(J.r("box-sizing: border-box;")),!0)},e.prototype.collectCSSText=function(e,t,n){for(var i=n.length,r=0,o=t;rt)return 1;return 0}(e.token,t.token);return 0!==n?n:e.index-t.index});for(var n=0,i="000000",r="ffffff";e.length>=1&&""===e[0].token;){var o=e.shift();-1!==o.fontStyle&&(n=o.fontStyle),null!==o.foreground&&(i=o.foreground),null!==o.background&&(r=o.background)}for(var s=new Wr,a=0,u=t;a>>0,this._cache.set(t,n)}return(n|e<<0)>>>0},e}(),Vr=/\b(comment|string|regex|regexp)\b/;var Hr,zr,Ur,Kr=function(){function e(e,t,n){this._fontStyle=e,this._foreground=t,this._background=n,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,n){-1!==e&&(this._fontStyle=e),0!==t&&(this._foreground=t),0!==n&&(this._background=n),this.metadata=(this._fontStyle<<11|this._foreground<<14|this._background<<23)>>>0},e}(),qr=function(){function e(e){this._mainRule=e,this._children=new Map}return e.prototype.match=function(e){if(""===e)return this._mainRule;var t,n,i=e.indexOf(".");-1===i?(t=e,n=""):(t=e.substring(0,i),n=e.substring(i+1));var r=this._children.get(t);return void 0!==r?r.match(n):this._mainRule},e.prototype.insert=function(t,n,i,r){if(""!==t){var o,s,a=t.indexOf(".");-1===a?(o=t,s=""):(o=t.substring(0,a),s=t.substring(a+1));var u=this._children.get(o);void 0===u&&(u=new e(this._mainRule.clone()),this._children.set(o,u)),u.insert(s,n,i,r)}else this._mainRule.acceptOverwrite(n,i,r)},e}();var Gr={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:(Hr={},Hr[Jn.o]="#FFFFFE",Hr[Jn.x]="#000000",Hr[Jn.E]="#E5EBF1",Hr[$n.h]="#D3D3D3",Hr[$n.a]="#939393",Hr[Jn.J]="#ADD6FF4D",Hr)},Zr={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:(zr={},zr[Jn.o]="#1E1E1E",zr[Jn.x]="#D4D4D4",zr[Jn.E]="#3A3D41",zr[$n.h]="#404040",zr[$n.a]="#707070",zr[Jn.J]="#ADD6FF26",zr)},Yr={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:(Ur={},Ur[Jn.o]="#000000",Ur[Jn.x]="#FFFFFF",Ur[$n.h]="#FFFFFF",Ur[$n.a]="#FFFFFF",Ur)},Xr="vs",$r="vs-dark",Jr="hc-black",Qr=ur.a.as(Jn.a.ColorContribution),eo=ur.a.as(Qn.a.ThemingContribution),to=function(){function e(e,t){this.themeData=t;var n=t.base;e.length>0?(this.id=n+" "+e,this.themeName=e):(this.id=n,this.themeName=n),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=new Map;for(var t in this.themeData.colors)e.set(t,Ar.a.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){var n=io(this.themeData.base);for(var t in n.colors)e.has(t)||e.set(t,Ar.a.fromHex(n.colors[t]))}this.colors=e}return this.colors},e.prototype.getColor=function(e,t){var n=this.getColors().get(e);return n||(!1!==t?this.getDefault(e):void 0)},e.prototype.getDefault=function(e){var t=this.defaultColors[e];return t||(t=Qr.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 Xr:return"light";case Jr: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 n=io(this.themeData.base);e=n.rules,n.encodedTokensColors&&(t=n.encodedTokensColors)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=Br.createFromRawTokenTheme(e,t)}return this._tokenTheme},enumerable:!0,configurable:!0}),e}();function no(e){return e===Xr||e===$r||e===Jr}function io(e){switch(e){case Xr:return Gr;case $r:return Zr;case Jr:return Yr}}function ro(e){var t=io(e);return new to(e,t)}var oo=function(){function e(){this.environment=Object.create(null),this._onThemeChange=new A.a,this._onIconThemeChange=new A.a,this._knownThemes=new Map,this._knownThemes.set(Xr,ro(Xr)),this._knownThemes.set($r,ro($r)),this._knownThemes.set(Jr,ro(Jr)),this._styleElement=q.s(),this._styleElement.className="monaco-colors",this.setTheme(Xr)}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(!no(t.base)&&!no(e))throw new Error("Illegal theme base!");this._knownThemes.set(e,new to(e,t)),no(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,n=this;if(t=this._knownThemes.has(e)?this._knownThemes.get(e):this._knownThemes.get(Xr),this._theme===t)return t.id;this._theme=t;var i=[],r={},o={addRule:function(e){r[e]||(i.push(e),r[e]=!0)}};eo.getThemingParticipants().forEach(function(e){return e(t,o,n.environment)});var s=t.tokenTheme.getColorMap();return o.addRule(function(e){for(var t=[],n=1,i=e.length;n=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},uo=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},co="data-keybinding-context",lo=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}(),ho=function(e){function t(){return e.call(this,-1,null)||this}return so(t,e),t.prototype.setValue=function(e,t){return!1},t.prototype.removeValue=function(e){return!1},t.prototype.getValue=function(e){},t.INSTANCE=new t,t}(lo),fo=function(e){function t(t,n,i){var r=e.call(this,t,null)||this;return r._configurationService=n,r._values=new Map,r._listener=r._configurationService.onDidChangeConfiguration(function(e){if(6===e.source){var t=Object(Jt.d)(r._values);r._values.clear(),i.fire(new mo(t))}else{for(var n=[],o=0,s=e.affectedKeys;o1){var i=n.shift();i&&(r.focusItemByElement(i.container),n.push(i)),r.mnemonics.set(t,n)}}})),ye.c&&r._register(Object(q.h)(o,q.d.KEY_DOWN,function(e){var t=new qt.a(e);t.equals(14)||t.equals(11)?(r.focusedItem=r.viewItems.length-1,r.focusNext(),q.c.stop(e,!0)):(t.equals(13)||t.equals(12))&&(r.focusedItem=0,r.focusPrevious(),q.c.stop(e,!0))})),r._register(Object(q.h)(r.domNode,q.d.MOUSE_OUT,function(e){var t=e.relatedTarget;Object(q.E)(t,r.domNode)||(r.focusedItem=void 0,r.scrollTopHold=r.menuElement.scrollTop,r.updateFocus(),e.stopPropagation())})),r._register(Object(q.h)(r.domNode,q.d.MOUSE_UP,function(e){q.c.stop(e,!0)})),r._register(Object(q.h)(r.actionsList,q.d.MOUSE_OVER,function(e){var t=e.target;if(t&&Object(q.E)(t,r.actionsList)&&t!==r.actionsList){for(;t.parentElement!==r.actionsList&&null!==t.parentElement;)t=t.parentElement;if(Object(q.C)(t,"action-item")){var n=r.focusedItem;r.scrollTopHold=r.menuElement.scrollTop,r.setFocusedItem(t),n!==r.focusedItem&&r.updateFocus()}}}));var s={parent:r};return r.mnemonics=new Map,r.push(n,{icon:!0,label:!0,isMenu:!0}),r.scrollableElement=r._register(new Zn.a(o,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0})),r.scrollableElement.getDomNode().style.position=null,o.style.maxHeight=Math.max(10,window.innerHeight-t.getBoundingClientRect().top-30)+"px",r.menuDisposables.add(r.scrollableElement.onScroll(function(){r._onScroll.fire()},r)),r._register(Object(q.h)(r.menuElement,q.d.SCROLL,function(e){void 0!==r.scrollTopHold&&(r.menuElement.scrollTop=r.scrollTopHold,r.scrollTopHold=void 0),r.scrollableElement.scanDomNode()})),t.appendChild(r.scrollableElement.getDomNode()),r.scrollableElement.scanDomNode(),r.viewItems.filter(function(e){return!(e instanceof No)}).forEach(function(e,t,n){e.updatePositionInSet(t+1,n.length)}),r}return wo(t,e),t.prototype.style=function(e){var t=this.getContainer(),n=e.foregroundColor?""+e.foregroundColor:null,i=e.backgroundColor?""+e.backgroundColor:null,r=e.borderColor?"2px solid "+e.borderColor:null,o=e.shadowColor?"0 2px 4px "+e.shadowColor:null;t.style.border=r,this.domNode.style.color=n,this.domNode.style.backgroundColor=i,t.style.boxShadow=o,this.viewItems&&this.viewItems.forEach(function(t){(t instanceof Oo||t instanceof No)&&t.style(e)})},t.prototype.getContainer=function(){return this.scrollableElement.getDomNode()},Object.defineProperty(t.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollOffset",{get:function(){return this.menuElement.scrollTop},enumerable:!0,configurable:!0}),t.prototype.focusItemByElement=function(e){var t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()},t.prototype.setFocusedItem=function(e){for(var t=0;t
    "+e.substr(i.index+i[0].length)),e=e.replace(/&&/g,"&"),this.item.setAttribute("aria-keyshortcuts",(n[1]?n[1]:n[3]).toLocaleLowerCase())}else e=e.replace(/&&/g,"&")}this.label.innerHTML=e.trim()}},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=on.a({key:"titleLabel",comment:["action title","action keybinding"]},"{0} ({1})",e,this.options.keybinding))),e&&(this.item.title=e)},t.prototype.updateClass=function(){this.cssClass&&Object(q.J)(this.item,this.cssClass),this.options.icon?(this.cssClass=this.getAction().class||"",Object(q.f)(this.label,"icon"),this.cssClass&&Object(q.g)(this.label,this.cssClass),this.updateEnabled()):Object(q.I)(this.label,"icon")},t.prototype.updateEnabled=function(){this.getAction().enabled?(this.element&&Object(q.I)(this.element,"disabled"),Object(q.I)(this.item,"disabled"),this.item.tabIndex=0):(this.element&&Object(q.f)(this.element,"disabled"),Object(q.f)(this.item,"disabled"),Object(q.L)(this.item))},t.prototype.updateChecked=function(){this.getAction().checked?(Object(q.f)(this.item,"checked"),this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked","true")):(Object(q.I)(this.item,"checked"),this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked","false"))},t.prototype.getMnemonic=function(){return this.mnemonic},t.prototype.applyStyle=function(){if(this.menuStyle){var e=this.element&&Object(q.C)(this.element,"focused"),t=e&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,n=e&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:this.menuStyle.backgroundColor,i=e&&this.menuStyle.selectionBorderColor?"thin solid "+this.menuStyle.selectionBorderColor:null;this.item.style.color=t?""+t:null,this.check.style.backgroundColor=t?""+t:null,this.item.style.backgroundColor=n?""+n:null,this.container.style.border=i}},t.prototype.style=function(e){this.menuStyle=e,this.applyStyle()},t}(Gn.c),ko=function(e){function t(t,n,i,r){var o=e.call(this,t,t,r)||this;return o.submenuActions=n,o.parentData=i,o.submenuOptions=r,o.submenuDisposables=o._register(new G.b),o.showScheduler=new _e.d(function(){o.mouseOver&&(o.cleanupExistingSubmenu(!1),o.createSubmenu(!1))},250),o.hideScheduler=new _e.d(function(){o.element&&!Object(q.E)(document.activeElement,o.element)&&o.parentData.submenu===o.mysubmenu&&(o.parentData.parent.focus(!1),o.cleanupExistingSubmenu(!0))},750),o}return wo(t,e),t.prototype.render=function(t){var n=this;e.prototype.render.call(this,t),this.element&&(Object(q.f)(this.item,"monaco-submenu-item"),this.item.setAttribute("aria-haspopup","true"),this.submenuIndicator=Object(q.m)(this.item,Object(q.a)("span.submenu-indicator")),this.submenuIndicator.setAttribute("aria-hidden","true"),this._register(Object(q.h)(this.element,q.d.KEY_UP,function(e){var t=new qt.a(e);(t.equals(17)||t.equals(3))&&(q.c.stop(e,!0),n.createSubmenu(!0))})),this._register(Object(q.h)(this.element,q.d.KEY_DOWN,function(e){var t=new qt.a(e);document.activeElement===n.item&&(t.equals(17)||t.equals(3))&&q.c.stop(e,!0)})),this._register(Object(q.h)(this.element,q.d.MOUSE_OVER,function(e){n.mouseOver||(n.mouseOver=!0,n.showScheduler.schedule())})),this._register(Object(q.h)(this.element,q.d.MOUSE_LEAVE,function(e){n.mouseOver=!1})),this._register(Object(q.h)(this.element,q.d.FOCUS_OUT,function(e){n.element&&!Object(q.E)(document.activeElement,n.element)&&n.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(function(){n.parentData.parent.focus(!1),n.cleanupExistingSubmenu(!1)})))},t.prototype.onClick=function(e){q.c.stop(e,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!1)},t.prototype.cleanupExistingSubmenu=function(e){this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)&&(this.parentData.submenu.dispose(),this.parentData.submenu=void 0,this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0))},t.prototype.createSubmenu=function(e){var t=this;if(void 0===e&&(e=!0),this.element)if(this.parentData.submenu)this.parentData.submenu.focus(!1);else{this.submenuContainer=Object(q.m)(this.element,Object(q.a)("div.monaco-submenu")),Object(q.g)(this.submenuContainer,"menubar-menu-items-holder","context-view"),this.parentData.submenu=new Lo(this.submenuContainer,this.submenuActions,this.submenuOptions),this.menuStyle&&this.parentData.submenu.style(this.menuStyle);var n=this.element.getBoundingClientRect(),i=this.submenuContainer.getBoundingClientRect(),r=getComputedStyle(this.parentData.parent.domNode),o=parseFloat(r.paddingTop||"0")||0;window.innerWidth<=n.right+i.width?(this.submenuContainer.style.left="10px",this.submenuContainer.style.top=this.element.offsetTop-this.parentData.parent.scrollOffset+n.height+"px"):(this.submenuContainer.style.left=this.element.offsetWidth+"px",this.submenuContainer.style.top=this.element.offsetTop-this.parentData.parent.scrollOffset-o+"px"),this.submenuDisposables.add(Object(q.h)(this.submenuContainer,q.d.KEY_UP,function(e){new qt.a(e).equals(15)&&(q.c.stop(e,!0),t.parentData.parent.focus(),t.parentData.submenu&&(t.parentData.submenu.dispose(),t.parentData.submenu=void 0),t.submenuDisposables.clear(),t.submenuContainer=void 0)})),this.submenuDisposables.add(Object(q.h)(this.submenuContainer,q.d.KEY_DOWN,function(e){new qt.a(e).equals(15)&&q.c.stop(e,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(function(){t.parentData.parent.focus(),t.parentData.submenu&&(t.parentData.submenu.dispose(),t.parentData.submenu=void 0),t.submenuDisposables.clear(),t.submenuContainer=void 0})),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu}},t.prototype.applyStyle=function(){if(e.prototype.applyStyle.call(this),this.menuStyle){var t=this.element&&Object(q.C)(this.element,"focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator.style.backgroundColor=t?""+t:null,this.parentData.submenu&&this.parentData.submenu.style(this.menuStyle)}},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)},t}(Oo),No=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return wo(t,e),t.prototype.style=function(e){this.label.style.borderBottomColor=e.separatorColor?""+e.separatorColor:null},t}(Gn.b);var Eo=n("Yqb6"),Io=n("Gxst"),Do=n("b1X/"),Mo=function(){function e(e,t,n,i,r){this.contextViewService=e,this.telemetryService=t,this.notificationService=n,this.keybindingService=i,this.themeService=r,this.options={blockMouse:!0}}return e.prototype.configure=function(e){this.options=e},e.prototype.showContextMenu=function(e){var t,n=this,i=e.getActions();i.length&&(this.focusToReturn=document.activeElement,this.contextViewService.showContextView({getAnchor:function(){return e.getAnchor()},canRelayout:!1,anchorAlignment:e.anchorAlignment,render:function(r){var o=e.getMenuClassName?e.getMenuClassName():"";o&&(r.className+=" "+o),n.options.blockMouse&&(n.block=r.appendChild(Object(q.a)(".context-view-block")));var s=new G.b,a=e.actionRunner||new Yn.b;return a.onDidBeforeRun(n.onActionRun,n,s),a.onDidRun(n.onDidActionRun,n,s),t=new Lo(r,i,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:a,getKeyBinding:e.getKeyBinding?e.getKeyBinding:function(e){return n.keybindingService.lookupKeybinding(e.id)}}),s.add(Object(Eo.c)(t,n.themeService)),t.onDidCancel(function(){return n.contextViewService.hideContextView(!0)},null,s),t.onDidBlur(function(){return n.contextViewService.hideContextView(!0)},null,s),Object(Io.a)(window,q.d.BLUR)(function(){n.contextViewService.hideContextView(!0)},null,s),Object(Io.a)(window,q.d.MOUSE_DOWN)(function(e){if(!e.defaultPrevented){var t=new Do.b(e),i=t.target;if(!t.rightButton){for(;i;){if(i===r)return;i=i.parentElement}n.contextViewService.hideContextView(!0)}}},null,s),Object(G.e)(s,t)},focus:function(){t&&t.focus(!!e.autoSelectFirstItem)},onHide:function(t){e.onHide&&e.onHide(!!t),n.block&&(Object(q.K)(n.block),n.block=null),n.focusToReturn&&n.focusToReturn.focus()}}))},e.prototype.onActionRun=function(e){this.telemetryService&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1),this.focusToReturn&&this.focusToReturn.focus()},e.prototype.onDidActionRun=function(e){e.error&&this.notificationService&&this.notificationService.error(e.error)},e}(),To=n("3ciN"),Po=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ao=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Ro=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Fo=function(e){function t(t,n,i,r,o){var s=e.call(this)||this;return s._onDidContextMenu=s._register(new A.a),s.contextMenuHandler=new Mo(i,t,n,r,o),s}return Po(t,e),t.prototype.configure=function(e){this.contextMenuHandler.configure(e)},t.prototype.showContextMenu=function(e){this.contextMenuHandler.showContextMenu(e),this._onDidContextMenu.fire()},t=Ao([Ro(0,To.a),Ro(1,vn.a),Ro(2,hi.b),Ro(3,Fi.a),Ro(4,Qn.c)],t)}(G.a),jo=(n("+Tn7"),n("vbff")),Wo=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();function Bo(e,t,n){var i=n.offset+n.size;return 0===n.position?t<=e-i?i:t<=n.offset?n.offset-t:Math.max(e-t,0):t<=n.offset?n.offset-t:t<=e-i?i:0}var Vo=function(e){function t(t){var n=e.call(this)||this;return n.container=null,n.delegate=null,n.toDisposeOnClean=G.a.None,n.toDisposeOnSetContainer=G.a.None,n.view=q.a(".context-view"),q.D(n.view),n.setContainer(t),n._register(Object(G.h)(function(){return n.setContainer(null)})),n}return Wo(t,e),t.prototype.setContainer=function(e){var n=this;if(this.container&&(this.toDisposeOnSetContainer.dispose(),this.container.removeChild(this.view),this.container=null),e){this.container=e,this.container.appendChild(this.view);var i=new G.b;t.BUBBLE_UP_EVENTS.forEach(function(e){i.add(q.k(n.container,e,function(e){n.onDOMEvent(e,!1)}))}),t.BUBBLE_DOWN_EVENTS.forEach(function(e){i.add(q.k(n.container,e,function(e){n.onDOMEvent(e,!0)},!0))}),this.toDisposeOnSetContainer=i}},t.prototype.show=function(e){this.isVisible()&&this.hide(),q.p(this.view),this.view.className="context-view",this.view.style.top="0px",this.view.style.left="0px",q.Q(this.view),this.toDisposeOnClean=e.render(this.view)||G.a.None,this.delegate=e,this.doLayout(),this.delegate.focus&&this.delegate.focus()},t.prototype.layout=function(){this.isVisible()&&(!1!==this.delegate.canRelayout?(this.delegate.layout&&this.delegate.layout(),this.doLayout()):this.hide())},t.prototype.doLayout=function(){if(this.isVisible()){var e,t=this.delegate.getAnchor();if(q.F(t)){var n=q.x(t);e={top:n.top,left:n.left,width:n.width,height:n.height}}else e={top:t.y,left:t.x,width:t.width||1,height:t.height||2};var i,r=q.B(this.view),o=q.A(this.view),s=this.delegate.anchorPosition||0,a=this.delegate.anchorAlignment||0,u={offset:e.top-window.pageYOffset,size:e.height,position:0===s?0:1};i=0===a?{offset:e.left,size:0,position:0}:{offset:e.left+e.width,size:0,position:1};var c=Bo(window.innerHeight,o,u)+window.pageYOffset;jo.a.intersects({start:c,end:c+o},{start:u.offset,end:u.offset+u.size})&&(i.size=e.width,1===a&&(i.offset=e.left));var l=Bo(window.innerWidth,r,i);q.J(this.view,"top","bottom","left","right"),q.f(this.view,0===s?"bottom":"top"),q.f(this.view,0===a?"left":"right");var d=q.x(this.container);this.view.style.top=c-d.top+"px",this.view.style.left=l-d.left+"px",this.view.style.width="initial"}},t.prototype.hide=function(e){var t=this.delegate;this.delegate=null,t&&t.onHide&&t.onHide(e),this.toDisposeOnClean.dispose(),q.D(this.view)},t.prototype.isVisible=function(){return!!this.delegate},t.prototype.onDOMEvent=function(e,t){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,document.activeElement):t&&!q.E(e.target,this.container)&&this.hide())},t.prototype.dispose=function(){this.hide(),e.prototype.dispose.call(this)},t.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],t.BUBBLE_DOWN_EVENTS=["click"],t}(G.a),Ho=Object(nt.c)("layoutService"),zo=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Uo=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Ko=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},qo=function(e){function t(t){var n=e.call(this)||this;return n.layoutService=t,n.contextView=n._register(new Vo(t.container)),n.layout(),n._register(t.onLayout(function(){return n.layout()})),n}return zo(t,e),t.prototype.setContainer=function(e){this.contextView.setContainer(e)},t.prototype.showContextView=function(e){this.contextView.show(e)},t.prototype.layout=function(){this.contextView.layout()},t.prototype.hideContextView=function(e){this.contextView.hide(e)},t=Uo([Ko(0,Ho)],t)}(G.a),Go=Object(nt.c)("dialogService"),Zo=n("wV8Z");var Yo,Xo=function(){function e(e){this._hashFn=e,this._nodes=Object.create(null)}return e.prototype.roots=function(){var e=[];return Object(Zo.c)(this._nodes,function(t){Object(we.e)(t.value.outgoing)&&e.push(t.value)}),e},e.prototype.insertEdge=function(e,t){var n=this.lookupOrInsertNode(e),i=this.lookupOrInsertNode(t);n.outgoing[this._hashFn(t)]=i,i.incoming[this._hashFn(e)]=n},e.prototype.removeNode=function(e){var t=this._hashFn(e);delete this._nodes[t],Object(Zo.c)(this._nodes,function(e){delete e.value.outgoing[t],delete e.value.incoming[t]})},e.prototype.lookupOrInsertNode=function(e){var t=this._hashFn(e),n=this._nodes[t];return n||(n=function(e){return{data:e,incoming:Object.create(null),outgoing:Object.create(null)}}(e),this._nodes[t]=n),n},e.prototype.isEmpty=function(){for(var e in this._nodes)return!1;return!0},e.prototype.toString=function(){var e=[];return Object(Zo.c)(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}(),$o=n("Qv71"),Jo=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Qo="function"==typeof Proxy,es=function(e){function t(t){var n=e.call(this,"cyclic dependency between services")||this;return n.message=t.toString(),n}return Jo(t,e),t}(Error),ts=function(){function e(e,t,n){void 0===e&&(e=new di.a),void 0===t&&(t=!1),this._services=e,this._strict=t,this._parent=n,this._services.set(nt.a,this)}return e.prototype.createChild=function(t){return new e(t,this._strict,this)},e.prototype.invokeFunction=function(e){for(var t=this,n=[],i=1;i0?i[0].index:t.length;if(t.length!==c){console.warn("[createInstance] First service dependency of "+e.name+" at position "+(c+1)+" conflicts with "+t.length+" static arguments");var l=c-t.length;t=l>0?t.concat(new Array(l)):t.slice(0,c)}return new(e.bind.apply(e,[void 0].concat(t.concat(r))))},e.prototype._setServiceInstance=function(e,t){if(this._services.get(e)instanceof $o.a)this._services.set(e,t);else{if(!this._parent)throw new Error("illegalState - setting UNKNOWN service instance");this._parent._setServiceInstance(e,t)}},e.prototype._getServiceInstanceOrDescriptor=function(e){var t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t},e.prototype._getOrCreateServiceInstance=function(e,t){var n=this._getServiceInstanceOrDescriptor(e);return n instanceof $o.a?this._createAndCacheServiceInstance(e,n,t.branch(e,!0)):(t.branch(e,!1),n)},e.prototype._createAndCacheServiceInstance=function(e,t,n){for(var i=new Xo(function(e){return e.id.toString()}),r=0,o=[{id:e,desc:t,_trace:n}];o.length;){var s=o.pop();if(i.lookupOrInsertNode(s),r++>100)throw new es(i);for(var a=0,u=nt.b.getServiceDependencies(s.desc.ctor);a "+c);var h=e(t+1,d);h&&r.push(h)}else r.push(o+"uses -> "+c)}return r.join("\n")}(1,this),"DONE, took "+t.toFixed(2)+"ms (grand total "+e._totals.toFixed(2)+"ms)"];(t>2||n)&&console.log(i.join("\n"))},e._None=new(function(e){function t(){return e.call(this,-1,null)||this}return Jo(t,e),t.prototype.stop=function(){},t.prototype.branch=function(){return this},t}(e)),e._totals=0,e}(),is=n("g1W0"),rs=n("bhIx"),os=n("OHx0");!function(e){e.get=function(e,t,n){if(e[t])return e[t][n]},e.set=function(e,t,n,i){e[t]||(e[t]=Object.create(null)),e[t][n]=i},e.remove=function(e,t,n){return!(!e[t]||!e[t][n]||(delete e[t][n],Object(we.e)(e[t])&&delete e[t],0))}}(Yo||(Yo={}));var ss=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){if(this._data)for(var t=0,n=e;t0?a:1,startColumn:u=u>0?u:1,endLineNumber:c=c>=a?c:a,endColumn:l=l>0?l:u,relatedInformation:d,tags:h}},e.prototype.read=function(t){void 0===t&&(t=Object.create(null));var n=t.owner,i=t.resource,r=t.severities,o=t.take;if((!o||o<0)&&(o=-1),n&&i){if(b=Yo.get(this._byResource,i.toString(),n)){for(var s=[],a=0,u=b;a0&&l===o)break}}return s}return[]}if(n||i){var d=n?this._byOwner[n]:i?this._byResource[i.toString()]:void 0;if(!d)return[];s=[];for(var h in d)for(var f=0,p=d[h];f0&&l===o)return s}}return s}var s=[];for(var g in this._byResource)for(var m in this._byResource[g])for(var v=0,_=this._byResource[g][m];v<_.length;v++){var b=_[v];if(e._accept(b,r)){var l=s.push(b);if(o>0&&l===o)return s}}return s},e._accept=function(e,t){return void 0===t||(t&e.severity)===e.severity},e._debouncer=function(t,n){t||(e._dedupeMap=Object.create(null),t=[]);for(var i=0,r=n;i=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},hs=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},fs=function(){function e(e){this._commandService=e}return e.prototype.createMenu=function(e,t){return new ps(e,this._commandService,t)},e=ds([hs(0,Q.b)],e)}(),ps=function(e){function t(t,n,i){var r=e.call(this)||this;return r._id=t,r._commandService=n,r._contextKeyService=i,r._onDidChange=r._register(new A.a),r._build(),r._register(A.b.debounce(A.b.filter(Ri.c.onDidChangeMenu,function(e){return e===r._id}),function(){},50)(r._build,r)),r._register(A.b.debounce(r._contextKeyService.onDidChangeContext,function(e,t){return e||t.affectsSome(r._contextKeys)},50)(function(e){return e&&r._onDidChange.fire(void 0)},r)),r}return ls(t,e),t.prototype._build=function(){this._menuGroups=[],this._contextKeys=new Set;var e,n=Ri.c.getMenuItems(this._id);n.sort(t._compareMenuItems);for(var i=0,r=n;i0&&t.push([o,s])}return t},t._fillInKbExprKeys=function(e,t){if(e)for(var n=0,i=e.keys();ns)return 1;var a="string"==typeof e.command.title?e.command.title:e.command.title.value,u="string"==typeof t.command.title?t.command.title:t.command.title.value;return a.localeCompare(u)},t=ds([hs(1,Q.b),hs(2,un.c)],t)}(G.a),gs=n("JbsQ"),ms=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),vs=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},_s=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}};function bs(e){return e.toString()}var ys,ws=function(e){function t(t){var n=e.call(this)||this;return n.model=t,n._markersData=new Map,n._register(Object(G.h)(function(){n.model.deltaDecorations(Object(Jt.d)(n._markersData),[]),n._markersData.clear()})),n}return ms(t,e),t.prototype.update=function(e,t){for(var n=this.model.deltaDecorations(Object(Jt.d)(this._markersData),t),i=0;i=r?new W.a(n.startLineNumber,r-1,n.endLineNumber,r):new W.a(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn+1))}}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&n.startLineNumber===n.endLineNumber){var o=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);o=0?"squiggly-unnecessary":"squiggly-hint",n=0;break;case os.c.Warning:t="squiggly-warning",i=Object(Qn.g)($n.r),n=20;break;case os.c.Info:t="squiggly-info",i=Object(Qn.g)($n.q),n=10;break;case os.c.Error:default:t="squiggly-error",i=Object(Qn.g)($n.p),n=30}return e.tags&&(-1!==e.tags.indexOf(1)&&(r="squiggly-inline-unnecessary"),-1!==e.tags.indexOf(2)&&(r="squiggly-inline-deprecated")),{stickiness:1,className:t,showIfCollapsed:!0,overviewRuler:{color:i,position:fe.d.Right},zIndex:n,inlineClassName:r}},t=vs([_s(0,tt.a),_s(1,os.b)],t)}(G.a),Ss=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),xs=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Ls=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Os=function(e){function t(t,n){var i=e.call(this)||this;return i._contextKeyService=t,i._configurationService=n,i._onDidChangeAccessibilitySupport=new A.a,i.onDidChangeAccessibilitySupport=i._onDidChangeAccessibilitySupport.event,i._accessibilityModeEnabledContext=ji.a.bindTo(i._contextKeyService),i._register(i._configurationService.onDidChangeConfiguration(function(e){e.affectsConfiguration("editor.accessibilitySupport")&&i._updateContextKey()})),i._updateContextKey(),i.onDidChangeAccessibilitySupport(function(){return i._updateContextKey()}),i}return Ss(t,e),t.prototype._updateContextKey=function(){var e=2===this.getAccessibilitySupport(),t=this._configurationService.getValue("editor.accessibilitySupport");this._accessibilityModeEnabledContext.set("on"===t||"auto"===t&&e)},t=xs([Ls(0,un.c),Ls(1,$t.a)],t)}(G.a),ks=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ns=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Es=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Is=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.contextKeyService=t,i.configurationService=n,i._accessibilitySupport=0,i}return ks(t,e),t.prototype.getAccessibilitySupport=function(){return this._accessibilitySupport},t=Ns([Es(0,un.c),Es(1,$t.a)],t)}(Os),Ds=n("8xpx"),Ms=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();!function(e){var t=new di.a,n=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=n;var i=[];function r(e,t){var r=new n(e,t);return i.push(r),r}e.init=function(e){for(var t=new di.a,n=0,r=Object(Ds.a)();n=0&&n<5;)n++,t=t.replace(/@(\w+)/g,function(n,i){var r="";if("string"==typeof e[i])r=e[i];else{if(!(e[i]&&e[i]instanceof RegExp))throw void 0===e[i]?Dt(e,"language definition does not contain attribute '"+i+"', used at: "+t):Dt(e,"attribute reference '"+i+"' must be a string, used at: "+t);r=e[i].source}return Nt(r)?"":"(?:"+r+")"});return new RegExp(t,e.ignoreCase?"i":"")}function ua(e,t,n,i){var r=-1,o=n,s=n.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);s&&(s[3]&&(r=parseInt(s[3]),s[2]&&(r+=100)),o=s[4]);var a,u="~",c=o;if(o&&0!==o.length?/^\w*$/.test(c)?u="==":(s=o.match(/^(@|!@|~|!~|==|!=)(.*)$/))&&(u=s[1],c=s[2]):(u="!=",c=""),"~"!==u&&"!~"!==u||!/^(\w|\|)*$/.test(c))if("@"===u||"!@"===u){var l=e[c];if(!l)throw Dt(e,"the @ match target '"+c+"' is not defined, in rule: "+t);if(!function(e,t){if(!t)return!1;if(!Array.isArray(t))return!1;for(var n=0,i=t;n=100){i-=100;var r=n.split(".");if(r.unshift(n),i0&&"^"===n[0],this.name=this.name+": "+n,this.regex=aa(e,"^(?:"+(this.matchOnlyAtLineStart?n.substr(1):n)+")")},e.prototype.setAction=function(e,t){this.action=function e(t,n,i){if(i){if("string"==typeof i)return i;if(i.token||""===i.token){if("string"!=typeof i.token)throw Dt(t,"a 'token' attribute must be of type string, in rule: "+n);var r={token:i.token};if(i.token.indexOf("$")>=0&&(r.tokenSubst=!0),"string"==typeof i.bracket)if("@open"===i.bracket)r.bracket=1;else{if("@close"!==i.bracket)throw Dt(t,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+n);r.bracket=-1}if(i.next){if("string"!=typeof i.next)throw Dt(t,"the next state must be a string value in rule: "+n);var o=i.next;if(!/^(@pop|@push|@popall)$/.test(o)&&("@"===o[0]&&(o=o.substr(1)),o.indexOf("$")<0&&!function(e,t){for(var n=t;n&&n.length>0;){if(e.stateNames[n])return!0;var i=n.lastIndexOf(".");n=i<0?null:n.substr(0,i)}return!1}(t,Mt(t,o,"",[],""))))throw Dt(t,"the next state '"+i.next+"' is not defined in rule: "+n);r.next=o}return"number"==typeof i.goBack&&(r.goBack=i.goBack),"string"==typeof i.switchTo&&(r.switchTo=i.switchTo),"string"==typeof i.log&&(r.log=i.log),"string"==typeof i.nextEmbedded&&(r.nextEmbedded=i.nextEmbedded,t.usesEmbedded=!0),r}if(Array.isArray(i)){for(var s=[],a=0,u=i.length;a0&&r[o-1]===l)){var d=c.startIndex;0===a?d=0:d=1&&c.length<=3)if(d.setRegex(i,c[0]),c.length>=3)if("string"==typeof c[1])d.setAction(i,{token:c[1],next:c[2]});else{if("object"!=typeof c[1])throw Dt(n,"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);var h=c[1];h.next=c[2],d.setAction(i,h)}else d.setAction(i,c[1]);else{if(!c.regex)throw Dt(n,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+e);c.name&&"string"==typeof c.name&&(d.name=c.name),c.matchOnlyAtStart&&(d.matchOnlyAtLineStart=ra(c.matchOnlyAtLineStart,!1)),d.setRegex(i,c.regex),d.setAction(i,c.action)}o.push(d)}}}if(i.languageId=e,i.ignoreCase=n.ignoreCase,i.noThrow=n.noThrow,i.usesEmbedded=n.usesEmbedded,i.stateNames=t.tokenizer,i.defaultToken=n.defaultToken,!t.tokenizer||"object"!=typeof t.tokenizer)throw Dt(n,"a language definition must define the 'tokenizer' attribute as an object");for(var o in n.tokenizer=[],t.tokenizer)if(t.tokenizer.hasOwnProperty(o)){n.start||(n.start=o);var s=t.tokenizer[o];n.tokenizer[o]=new Array,r("tokenizer."+o,n.tokenizer[o],s)}if(n.usesEmbedded=i.usesEmbedded,t.brackets){if(!Array.isArray(t.brackets))throw Dt(n,"the 'brackets' attribute must be defined as an array")}else t.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];for(var a=[],u=0,c=t.brackets;u=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},_=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},b=function(e){function t(t,n,i){var r=e.call(this)||this;return r._editor=t,r._modeService=i,r._widget=null,r._register(r._editor.onDidChangeModel(function(e){return r.stop()})),r._register(r._editor.onDidChangeModelLanguage(function(e){return r.stop()})),r._register(c.y.onDidChange(function(e){return r.stop()})),r}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.hasModel()&&(this._widget=new w(this._editor,this._modeService))},t.prototype.stop=function(){this._widget&&(this._widget.dispose(),this._widget=null)},t.ID="editor.contrib.inspectTokens",t=v([_(1,h.a),_(2,d.a)],t)}(s.a),y=function(e){function t(){return e.call(this,{id:"editor.action.inspectTokens",label:g.c.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})||this}return m(t,e),t.prototype.run=function(e,t){var n=b.get(t);n&&n.launch()},t}(u.b);var w=function(e){function t(t,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 l.c},tokenize:function(e,t,n){return Object(l.d)(i.language,e,t,n)},tokenize2:function(e,t,n){return Object(l.e)(i.id,e,t,n)}}),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),n=0,i=t.tokens1.length-1;i>=0;i--){var r=t.tokens1[i];if(e.column-1>=r.offset){n=i;break}}var s=0;for(i=t.tokens2.length>>>1;i>=0;i--)if(e.column-1>=t.tokens2[i<<1]){s=i;break}var u="",c=this._model.getLineContent(e.lineNumber),l="";if(n'+function(e){for(var t="",n=0,i=e.length;n('+l.length+" "+(1===l.length?"char":"chars")+")",u+='
    ';var f=this._decodeMetadata(t.tokens2[1+(s<<1)]);u+='',u+='",u+='",u+='",u+='",u+='",u+="",u+='
    ',n'+Object(a.o)(t.tokens1[n].type)+""),this._domNode.innerHTML=u,this._editor.layoutContentWidget(this)},t.prototype._decodeMetadata=function(e){var t=c.y.getColorMap(),n=c.x.getLanguageId(e),i=c.x.getTokenType(e),r=c.x.getFontStyle(e),o=c.x.getForeground(e),s=c.x.getBackground(e);return{languageIdentifier:this._modeService.getLanguageIdentifier(n),tokenType:i,fontStyle:r,foreground:t[o],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),n=this._tokenizationSupport.tokenize(this._model.getLineContent(e),t,0),i=this._tokenizationSupport.tokenize2(this._model.getLineContent(e),t,0);return{startState:t,tokens1:n.tokens,tokens2:i.tokens,endState:n.endState}},t.prototype._getStateBeforeLine=function(e){for(var t=this._tokenizationSupport.getInitialState(),n=1;n0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=o)return e;switch(e){case"%s":return String(i[n++]);case"%d":return Number(i[n++]);case"%j":try{return JSON.stringify(i[n++])}catch(e){return"[Circular]"}default:return e}}),u=i[n];n=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),p(n)?i.showHidden=n:n&&t._extend(i,n),_(i.showHidden)&&(i.showHidden=!1),_(i.depth)&&(i.depth=2),_(i.colors)&&(i.colors=!1),_(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=u),l(i,e,i.depth)}function u(e,t){var n=a.styles[t];return n?"["+a.colors[n][0]+"m"+e+"["+a.colors[n][1]+"m":e}function c(e,t){return e}function l(e,n,i){if(e.customInspect&&n&&S(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var r=n.inspect(i,e);return v(r)||(r=l(e,r,i)),r}var o=function(e,t){if(_(t))return e.stylize("undefined","undefined");if(v(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}if(m(t))return e.stylize(""+t,"number");if(p(t))return e.stylize(""+t,"boolean");if(g(t))return e.stylize("null","null")}(e,n);if(o)return o;var s=Object.keys(n),a=function(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(n)),C(n)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return d(n);if(0===s.length){if(S(n)){var u=n.name?": "+n.name:"";return e.stylize("[Function"+u+"]","special")}if(b(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(w(n))return e.stylize(Date.prototype.toString.call(n),"date");if(C(n))return d(n)}var c,y="",x=!1,L=["{","}"];(f(n)&&(x=!0,L=["[","]"]),S(n))&&(y=" [Function"+(n.name?": "+n.name:"")+"]");return b(n)&&(y=" "+RegExp.prototype.toString.call(n)),w(n)&&(y=" "+Date.prototype.toUTCString.call(n)),C(n)&&(y=" "+d(n)),0!==s.length||x&&0!=n.length?i<0?b(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special"):(e.seen.push(n),c=x?function(e,t,n,i,r){for(var o=[],s=0,a=t.length;s=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1];return n[0]+t+" "+e.join(", ")+" "+n[1]}(c,y,L)):L[0]+y+L[1]}function d(e){return"["+Error.prototype.toString.call(e)+"]"}function h(e,t,n,i,r,o){var s,a,u;if((u=Object.getOwnPropertyDescriptor(t,r)||{value:t[r]}).get?a=u.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):u.set&&(a=e.stylize("[Setter]","special")),k(i,r)||(s="["+r+"]"),a||(e.seen.indexOf(u.value)<0?(a=g(n)?l(e,u.value,null):l(e,u.value,n-1)).indexOf("\n")>-1&&(a=o?a.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+a.split("\n").map(function(e){return" "+e}).join("\n")):a=e.stylize("[Circular]","special")),_(s)){if(o&&r.match(/^\d+$/))return a;(s=JSON.stringify(""+r)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+a}function f(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function g(e){return null===e}function m(e){return"number"==typeof e}function v(e){return"string"==typeof e}function _(e){return void 0===e}function b(e){return y(e)&&"[object RegExp]"===x(e)}function y(e){return"object"==typeof e&&null!==e}function w(e){return y(e)&&"[object Date]"===x(e)}function C(e){return y(e)&&("[object Error]"===x(e)||e instanceof Error)}function S(e){return"function"==typeof e}function x(e){return Object.prototype.toString.call(e)}function L(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(n){if(_(o)&&(o=Object({NODE_ENV:"production"}).NODE_DEBUG||""),n=n.toUpperCase(),!s[n])if(new RegExp("\\b"+n+"\\b","i").test(o)){var i=e.pid;s[n]=function(){var e=t.format.apply(t,arguments);console.error("%s %d: %s",n,i,e)}}else s[n]=function(){};return s[n]},t.inspect=a,a.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},a.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=f,t.isBoolean=p,t.isNull=g,t.isNullOrUndefined=function(e){return null==e},t.isNumber=m,t.isString=v,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=_,t.isRegExp=b,t.isObject=y,t.isDate=w,t.isError=C,t.isFunction=S,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=n("fC4T");var O=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function k(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,n;console.log("%s - %s",(e=new Date,n=[L(e.getHours()),L(e.getMinutes()),L(e.getSeconds())].join(":"),[e.getDate(),O[e.getMonth()],n].join(" ")),t.format.apply(t,arguments))},t.inherits=n("ONRY"),t._extend=function(e,t){if(!t||!y(t))return e;for(var n=Object.keys(t),i=n.length;i--;)e[n[i]]=t[n[i]];return e};var N="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function E(e,t){if(!e){var n=new Error("Promise was rejected with a falsy value");n.reason=e,e=n}return t(e)}t.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(N&&e[N]){var t;if("function"!=typeof(t=e[N]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,N,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,n,i=new Promise(function(e,i){t=e,n=i}),r=[],o=0;or&&(r=a)}return r}if("string"==typeof e)return i?"*"===e?5:e===n?10:0:0;if(e){var l=e.language,d=e.pattern,h=e.scheme,f=e.hasAccessToAllModels;if(!i&&!f)return 0;r=0;if(h)if(h===t.scheme)r=10;else{if("*"!==h)return 0;r=5}if(l)if(l===n)r=10;else{if("*"!==l)return 0;r=Math.max(r,5)}if(d){if(d!==t.fsPath&&!Object(u.a)(d,t.fsPath))return 0;r=10}return r}return 0}var l=n("jIdl");function d(e){return"string"!=typeof e&&(Array.isArray(e)?e.every(d):!!e.exclusive)}var h=function(){function e(){this._clock=0,this._entries=[],this._onDidChange=new s.a}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){var n=this,i={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(i),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),Object(a.h)(function(){if(i){var e=n._entries.indexOf(i);e>=0&&(n._entries.splice(e,1),n._lastCandidate=void 0,n._onDidChange.fire(n._entries.length),i=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=[],n=0,i=this._entries;n0&&t.push(r.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,n,i=[];return this._orderedForEach(e,function(e){t&&n===e._score?t.push(e.provider):(n=e._score,t=[e.provider],i.push(t))}),i},e.prototype._orderedForEach=function(e,t){if(e){this._updateScores(e);for(var n=0,i=this._entries;n0&&t(r)}}},e.prototype._updateScores=function(t){var n={uri:t.uri.toString(),language:t.getLanguageIdentifier().language};if(!this._lastCandidate||this._lastCandidate.language!==n.language||this._lastCandidate.uri!==n.uri){this._lastCandidate=n;for(var i=0,r=this._entries;i0){for(var s=0,a=this._entries;st._score?-1:e._timet._time?-1:0},e}(),f=n("WTFd"),p=function(){function e(){this._map=new Map,this._promises=new Map,this._onDidChange=new s.a,this.onDidChange=this._onDidChange.event,this._colorMap=null}return e.prototype.fire=function(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})},e.prototype.register=function(e,t){var n=this;return this._map.set(e,t),this.fire([e]),Object(a.h)(function(){n._map.get(e)===t&&(n._map.delete(e),n.fire([e]))})},e.prototype.registerPromise=function(e,t){var n=this,i=null,r=!1;return this._promises.set(e,t.then(function(t){n._promises.delete(e),!r&&t&&(i=n.register(e,t))})),Object(a.h)(function(){r=!0,i&&i.dispose()})},e.prototype.getPromise=function(e){var t=this,n=this.get(e);if(n)return Promise.resolve(n);var i=this._promises.get(e);return i?i.then(function(n){return t.get(e)}):null},e.prototype.get=function(e){return Object(i.n)(this._map.get(e))},e.prototype.setColorMap=function(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Object(f.d)(this._map),changedColorMap:!0})},e.prototype.getColorMap=function(){return this._colorMap},e.prototype.getDefaultBackground=function(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null},e}();n.d(t,"p",function(){return _}),n.d(t,"x",function(){return b}),n.d(t,"B",function(){return y}),n.d(t,"A",function(){return w}),n.d(t,"w",function(){return m}),n.d(t,"h",function(){return v}),t.C=function(e){return e&&r.a.isUri(e.uri)&&o.a.isIRange(e.range)&&(o.a.isIRange(e.originSelectionRange)||o.a.isIRange(e.targetSelectionRange))},n.d(t,"E",function(){return S}),n.d(t,"l",function(){return x}),t.D=function(e){return Object(i.h)(e)&&e.resource&&Array.isArray(e.edits)},n.d(t,"s",function(){return L}),n.d(t,"t",function(){return O}),n.d(t,"d",function(){return k}),n.d(t,"v",function(){return N}),n.d(t,"n",function(){return E}),n.d(t,"k",function(){return I}),n.d(t,"i",function(){return D}),n.d(t,"f",function(){return M}),n.d(t,"e",function(){return T}),n.d(t,"o",function(){return P}),n.d(t,"z",function(){return A}),n.d(t,"b",function(){return R}),n.d(t,"a",function(){return F}),n.d(t,"g",function(){return j}),n.d(t,"j",function(){return W}),n.d(t,"r",function(){return B}),n.d(t,"q",function(){return V}),n.d(t,"c",function(){return H}),n.d(t,"u",function(){return z}),n.d(t,"m",function(){return U}),n.d(t,"y",function(){return K});var g,m,v,_=function(){return function(e,t){this.language=e,this.id=t}}(),b=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),n=this.getFontStyle(e);return 1&n&&(t+=" mtki"),2&n&&(t+=" mtkb"),4&n&&(t+=" mtku"),t},e.getInlineStyleFromMetadata=function(e,t){var n=this.getForeground(e),i=this.getFontStyle(e),r="color: "+t[n]+";";return 1&i&&(r+="font-style: italic;"),2&i&&(r+="font-weight: bold;"),4&i&&(r+="text-decoration: underline;"),r},e}(),y=((g=Object.create(null))[0]="method",g[1]="function",g[2]="constructor",g[3]="field",g[4]="variable",g[5]="class",g[6]="struct",g[7]="interface",g[8]="module",g[9]="property",g[10]="event",g[11]="operator",g[12]="unit",g[13]="value",g[14]="constant",g[15]="enum",g[16]="enum-member",g[17]="keyword",g[25]="snippet",g[18]="text",g[19]="color",g[20]="file",g[21]="reference",g[22]="customcolor",g[23]="folder",g[24]="type-parameter",function(e){return g[e]||"property"}),w=function(){var e=Object.create(null);return e.method=0,e.function=1,e.constructor=2,e.field=3,e.variable=4,e.class=5,e.struct=6,e.interface=7,e.module=8,e.property=9,e.event=10,e.operator=11,e.unit=12,e.value=13,e.constant=14,e.enum=15,e["enum-member"]=16,e.enumMember=16,e.keyword=17,e.snippet=25,e.text=18,e.color=19,e.file=20,e.reference=21,e.customcolor=22,e.folder=23,e["type-parameter"]=24,e.typeParameter=24,function(t,n){var i=e[t];return void 0!==i||n||(i=9),i}}();!function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(m||(m={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(v||(v={}));var C,S=((C=Object.create(null))[0]="file",C[1]="module",C[2]="namespace",C[3]="package",C[4]="class",C[5]="method",C[6]="property",C[7]="field",C[8]="constructor",C[9]="enum",C[10]="interface",C[11]="function",C[12]="variable",C[13]="constant",C[14]="string",C[15]="number",C[16]="boolean",C[17]="array",C[18]="object",C[19]="key",C[20]="null",C[21]="enum-member",C[22]="struct",C[23]="event",C[24]="operator",C[25]="type-parameter",function(e,t){return"symbol-icon "+(t?"inline":"block")+" "+(C[e]||"property")}),x=function(){function e(e){this.value=e}return e.Comment=new e("comment"),e.Imports=new e("imports"),e.Region=new e("region"),e}();var L=new h,O=new h,k=new h,N=new h,E=new h,I=new h,D=new h,M=new h,T=new h,P=new h,A=new h,R=new h,F=new h,j=new h,W=new h,B=new h,V=new h,H=new h,z=new h,U=new h,K=new p},Pb27:function(e,t,n){"use strict";n.d(t,"b",function(){return b}),n.d(t,"a",function(){return y});var i=n("hK2W"),r=n("zxiH"),o=n("tqet"),s=n("vORD"),a=n("JVO/"),u=n("7g0X"),c=n("Gzpe"),l=n("Cfmk"),d=n("ni2T"),h=n("vTy2"),f=n("artP"),p=n("fAkY"),g=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},v=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},_=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]0&&0===n.indexOf(":")){for(var g=null,m=null,v=0,_=0;_0)):v++}m&&m.setGroupLabel(this.typeToLabel(g||"",v))}else r.length>0&&r[0].setGroupLabel(s.r(I.e._symbols_,r.length));return r},t.prototype.typeToLabel=function(e,t){switch(e){case"module":return s.r(I.e._modules_,t);case"class":return s.r(I.e._class_,t);case"interface":return s.r(I.e._interface_,t);case"method":return s.r(I.e._method_,t);case"function":return s.r(I.e._function_,t);case"property":return s.r(I.e._property_,t);case"variable":return s.r(I.e._variable_,t);case"var":return s.r(I.e._variable2_,t);case"constructor":return s.r(I.e._constructor_,t);case"call":return s.r(I.e._call_,t)}return e},t.prototype.sortNormal=function(e,t,n){var i=t.getLabel().toLowerCase(),r=n.getLabel().toLowerCase(),o=i.localeCompare(r);if(0!==o)return o;var s=t.getRange(),a=n.getRange();return s.startLineNumber-a.startLineNumber},t.prototype.sortScoped=function(e,t,n){e=e.substr(":".length);var i=t.getType(),r=n.getType(),o=i.localeCompare(r);if(0!==o)return o;if(e){var s=t.getLabel().toLowerCase(),a=n.getLabel().toLowerCase(),u=s.localeCompare(a);if(0!==u)return u}var c=t.getRange(),l=n.getRange();return c.startLineNumber-l.startLineNumber},t}(E.a);Object(u.f)(T)},QfwU:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,r=n("UqCF"),o=n("odeJ"),s=n("uNfg"),a=n("ZfGv"),u=n("03Zz"),c=n("vORD"),l=n("vTy2"),d=n("/9db"),h=n("PCC9"),f=n("Cv8t"),p=n("fw2Z"),g=n("Pb27"),m=n("9uVW"),v=n("hK2W"),_=n("C3c5"),b=n("7g0X"),y=n("fAkY"),w=n("DBt1"),C=n("iLE3"),S=n("ItKl"),x=n("4tuZ"),L=n("JVO/"),O=n("8xpx"),k=n("Kx4b"),N=n("tqet"),E=n("Kp7x"),I=n("NqM+"),D=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),M=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},T=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},P=new b.d("hasSymbols",!1),A=Object(L.c)("ISymbolNavigationService"),R=function(){function e(e,t,n,i){this._editorService=t,this._notificationService=n,this._keybindingService=i,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=P.bindTo(e)}return e.prototype.reset=function(){this._ctxHasSymbols.reset(),Object(N.f)(this._currentState),Object(N.f)(this._currentMessage),this._currentModel=void 0,this._currentIdx=-1},e.prototype.put=function(e){var t=this,n=e.parent.parent;if(n.references.length<=1)this.reset();else{this._currentModel=n,this._currentIdx=n.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();var i=new F(this._editorService),r=i.onDidChange(function(e){if(!t._ignoreEditorChange){var i=t._editorService.getActiveCodeEditor();if(i){var r=i.getModel(),o=i.getPosition();if(r&&o){for(var s=!1,a=!1,u=0,c=n.references;u0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]1?v.a("meta.title"," – {0} definitions",e.references.length):""},t.prototype._onResult=function(e,t,n,i){return W(this,void 0,void 0,function(){var o,s,a,u;return B(this,function(c){switch(c.label){case 0:return o=i.getAriaMessage(),Object(r.a)(o),s=n.getConfiguration().contribInfo.gotoLocation,this._configuration.openInPeek||"peek"===s.multiple&&i.references.length>1?(this._openInPeek(e,n,i),[3,3]):[3,1];case 1:return n.hasModel()?(a=i.firstReference())?[4,this._openReference(n,e,a,this._configuration.openToSide)]:[2]:[3,3];case 2:(u=c.sent())&&i.references.length>1&&"gotoAndPeek"===s.multiple?this._openInPeek(e,u,i):i.dispose(),"goto"===s.multiple&&t.put(a),c.label=3;case 3:return[2]}})})},t.prototype._openReference=function(e,t,n,i){var r=void 0;return Object(h.C)(n)&&(r=n.targetSelectionRange),r||(r=n.range),t.openCodeEditor({resource:n.uri,options:{selection:l.a.collapseToStart(r),revealInCenterIfOutsideViewport:!0}},e,i)},t.prototype._openInPeek=function(e,t,n){var i=this,r=g.a.get(t);r&&t.hasModel()?r.toggleWidget(t.getSelection(),Object(o.f)(function(e){return Promise.resolve(n)}),{getMetaTitle:function(e){return i._getMetaTitle(e)},onGoto:function(n){return r.closeWidget(),i._openReference(t,e,n,!1)}}):n.dispose()},t}(u.b),z=a.f?2118:70,U=function(e){function t(){var n=e.call(this,new V,{id:t.id,label:v.a("actions.goToDecl.label","Go to Definition"),alias:"Go to Definition",precondition:b.a.and(d.a.hasDefinitionProvider,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:z,weight:100},menuOpts:{group:"navigation",order:1.1}})||this;return S.a.registerCommandAlias("editor.action.goToDeclaration",t.id),n}return j(t,e),t.id="editor.action.revealDefinition",t}(H),K=function(e){function t(){var n=e.call(this,new V(!0),{id:t.id,label:v.a("actions.goToDeclToSide.label","Open Definition to the Side"),alias:"Open Definition to the Side",precondition:b.a.and(d.a.hasDefinitionProvider,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:Object(s.a)(2089,z),weight:100}})||this;return S.a.registerCommandAlias("editor.action.openDeclarationToTheSide",t.id),n}return j(t,e),t.id="editor.action.revealDefinitionAside",t}(H),q=function(e){function t(){var n=e.call(this,new V(void 0,!0,!1),{id:t.id,label:v.a("actions.previewDecl.label","Peek Definition"),alias:"Peek Definition",precondition:b.a.and(d.a.hasDefinitionProvider,p.b.notInPeekEditor,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menuOpts:{group:"navigation",order:1.2}})||this;return S.a.registerCommandAlias("editor.action.previewDeclaration",t.id),n}return j(t,e),t.id="editor.action.peekDefinition",t}(H),G=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return j(t,e),t.prototype._getTargetLocationForPosition=function(e,t,n){return Object(C.a)(e,t,n)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?v.a("decl.noResultWord","No declaration found for '{0}'",e.word):v.a("decl.generic.noResults","No declaration found")},t.prototype._getMetaTitle=function(e){return e.references.length>1?v.a("decl.meta.title"," – {0} declarations",e.references.length):""},t}(H),Z=function(e){function t(){return e.call(this,new V,{id:t.id,label:v.a("actions.goToDeclaration.label","Go to Declaration"),alias:"Go to Declaration",precondition:b.a.and(d.a.hasDeclarationProvider,d.a.isInEmbeddedEditor.toNegated()),menuOpts:{group:"navigation",order:1.3}})||this}return j(t,e),t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?v.a("decl.noResultWord","No declaration found for '{0}'",e.word):v.a("decl.generic.noResults","No declaration found")},t.prototype._getMetaTitle=function(e){return e.references.length>1?v.a("decl.meta.title"," – {0} declarations",e.references.length):""},t.id="editor.action.revealDeclaration",t}(G),Y=function(e){function t(){return e.call(this,new V(void 0,!0,!1),{id:"editor.action.peekDeclaration",label:v.a("actions.peekDecl.label","Peek Declaration"),alias:"Peek Declaration",precondition:b.a.and(d.a.hasDeclarationProvider,p.b.notInPeekEditor,d.a.isInEmbeddedEditor.toNegated()),menuOpts:{group:"navigation",order:1.31}})||this}return j(t,e),t}(G),X=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return j(t,e),t.prototype._getTargetLocationForPosition=function(e,t,n){return Object(C.c)(e,t,n)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?v.a("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):v.a("goToImplementation.generic.noResults","No implementation found")},t.prototype._getMetaTitle=function(e){return e.references.length>1?v.a("meta.implementations.title"," – {0} implementations",e.references.length):""},t}(H),$=function(e){function t(){return e.call(this,new V,{id:t.ID,label:v.a("actions.goToImplementation.label","Go to Implementation"),alias:"Go to Implementation",precondition:b.a.and(d.a.hasImplementationProvider,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:2118,weight:100}})||this}return j(t,e),t.ID="editor.action.goToImplementation",t}(X),J=function(e){function t(){return e.call(this,new V(!1,!0,!1),{id:t.ID,label:v.a("actions.peekImplementation.label","Peek Implementation"),alias:"Peek Implementation",precondition:b.a.and(d.a.hasImplementationProvider,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:3142,weight:100}})||this}return j(t,e),t.ID="editor.action.peekImplementation",t}(X),Q=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return j(t,e),t.prototype._getTargetLocationForPosition=function(e,t,n){return Object(C.d)(e,t,n)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?v.a("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):v.a("goToTypeDefinition.generic.noResults","No type definition found")},t.prototype._getMetaTitle=function(e){return e.references.length>1?v.a("meta.typeDefinitions.title"," – {0} type definitions",e.references.length):""},t}(H),ee=function(e){function t(){return e.call(this,new V,{id:t.ID,label:v.a("actions.goToTypeDefinition.label","Go to Type Definition"),alias:"Go to Type Definition",precondition:b.a.and(d.a.hasTypeDefinitionProvider,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:0,weight:100},menuOpts:{group:"navigation",order:1.4}})||this}return j(t,e),t.ID="editor.action.goToTypeDefinition",t}(Q),te=function(e){function t(){return e.call(this,new V(!1,!0,!1),{id:t.ID,label:v.a("actions.peekTypeDefinition.label","Peek Type Definition"),alias:"Peek Type Definition",precondition:b.a.and(d.a.hasTypeDefinitionProvider,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:0,weight:100}})||this}return j(t,e),t.ID="editor.action.peekTypeDefinition",t}(Q);Object(u.f)(U),Object(u.f)(K),Object(u.f)(q),Object(u.f)(Z),Object(u.f)(Y),Object(u.f)($),Object(u.f)(J),Object(u.f)(ee),Object(u.f)(te),_.c.appendMenuItem(16,{group:"4_symbol_nav",command:{id:"editor.action.goToDeclaration",title:v.a({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},order:2}),_.c.appendMenuItem(16,{group:"4_symbol_nav",command:{id:"editor.action.goToTypeDefinition",title:v.a({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},order:3}),_.c.appendMenuItem(16,{group:"4_symbol_nav",command:{id:"editor.action.goToImplementation",title:v.a({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementation")},order:4})},QgSF:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("hK2W"),r=n("uNfg"),o=n("HZsc"),s=n("03Zz"),a=n("Ao9X"),u=n("aL7J"),c=n("0WPX"),l=n("vTy2"),d=function(){function e(e,t){this._selection=e,this._cursors=t,this._selectionId=null}return e.prototype.getEditOperations=function(e,t){for(var n=function(e,t){t.sort(function(e,t){return e.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber});for(var n=t.length-2;n>=0;n--)t[n].lineNumber===t[n+1].lineNumber&&t.splice(n,1);for(var i=[],r=0,o=0,s=t.length,a=1,d=e.getLineCount();a<=d;a++){var h=e.getLineContent(a),f=h.length+1,p=0;if(!(o=i.startLineNumber+1&&t<=i.endLineNumber+1?e.getLineContent(t-1):e.getLineContent(t)};var L=b.a.getGoodIndentForLine(d,e.getLanguageIdAtPosition(g,1),i.startLineNumber+1,c);if(null!==L){x=u.s(e.getLineContent(i.startLineNumber));if((E=y(L,o))!==(I=y(x,o))){var O=E-I;this.getIndentEditsOfMovingBlock(e,t,i,o,a,O)}}}}else t.addEditOperation(new l.a(i.startLineNumber,1,i.startLineNumber,1),v+"\n")}else{var k;if(g=i.startLineNumber-1,m=e.getLineContent(g),t.addEditOperation(new l.a(g,1,g+1,1),null),t.addEditOperation(new l.a(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),"\n"+m),this.shouldAutoIndent(e,i))if(d.getLineContent=function(t){return t===g?e.getLineContent(i.startLineNumber):e.getLineContent(t)},null!==(k=this.matchEnterRule(e,c,o,i.startLineNumber,i.startLineNumber-2)))0!==k&&this.getIndentEditsOfMovingBlock(e,t,i,o,a,k);else{var N=b.a.getGoodIndentForLine(d,e.getLanguageIdAtPosition(i.startLineNumber,1),g,c);if(null!==N){var E,I,D=u.s(e.getLineContent(i.startLineNumber));if((E=y(N,o))!==(I=y(D,o))){O=E-I;this.getIndentEditsOfMovingBlock(e,t,i,o,a,O)}}}}}this._selectionId=t.trackSelection(i)}else this._selectionId=t.trackSelection(this._selection)},e.prototype.buildIndentConverter=function(e,t,n){return{shiftIndent:function(i){return v.a.shiftIndent(i,i.length+1,e,t,n)},unshiftIndent:function(i){return v.a.unshiftIndent(i,i.length+1,e,t,n)}}},e.prototype.matchEnterRule=function(e,t,n,i,r,o){for(var s=r;s>=1;){var a=void 0;if(a=s===r&&void 0!==o?o:e.getLineContent(s),u.A(a)>=0)break;s--}if(s<1||i>e.getLineCount())return null;var c=e.getLineMaxColumn(s),d=b.a.getEnterAction(e,new l.a(s,c,s,c));if(d){var h=d.indentation,f=d.enterAction;f.indentAction===_.a.None?h=d.indentation+f.appendText:f.indentAction===_.a.Indent?h=d.indentation+f.appendText:f.indentAction===_.a.IndentOutdent?h=d.indentation:f.indentAction===_.a.Outdent&&(h=t.unshiftIndent(d.indentation)+f.appendText);var p=e.getLineContent(i);if(this.trimLeft(p).indexOf(this.trimLeft(h))>=0){var g=u.s(e.getLineContent(i)),m=u.s(h),v=b.a.getIndentMetadata(e,i);return null!==v&&2&v&&(m=t.unshiftIndent(m)),y(m,n)-y(g,n)}}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 n=e.getLanguageIdAtPosition(t.startLineNumber,1);return n===e.getLanguageIdAtPosition(t.endLineNumber,1)&&null!==b.a.getIndentRulesSupport(n)},e.prototype.getIndentEditsOfMovingBlock=function(e,t,n,i,r,o){for(var s=n.startLineNumber;s<=n.endLineNumber;s++){var a=e.getLineContent(s),c=u.s(a),d=w(y(c,i)+o,i,r);d!==c&&(t.addEditOperation(new l.a(s,1,s,c.length+1),d),s===n.endLineNumber&&n.endColumn<=c.length+1&&""===d&&(this._moveEndLineSelectionShrink=!0))}},e.prototype.computeCursorState=function(e,t){var n=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(n=n.setEndPosition(n.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&n.startLineNumber=r)return null;for(var o=[],s=i;s<=r;s++)o.push(e.getLineContent(s));var a=o.slice(0);return a.sort(function(e,t){return e.toLowerCase().localeCompare(t.toLowerCase())}),!0===n&&(a=a.reverse()),{startLineNumber:i,endLineNumber:r,before:o,after:a}}n.d(t,"AbstractSortLinesAction",function(){return T}),n.d(t,"SortLinesAscendingAction",function(){return P}),n.d(t,"SortLinesDescendingAction",function(){return A}),n.d(t,"TrimTrailingWhitespaceAction",function(){return R}),n.d(t,"DeleteLinesAction",function(){return F}),n.d(t,"IndentLinesAction",function(){return j}),n.d(t,"InsertLineBeforeAction",function(){return B}),n.d(t,"InsertLineAfterAction",function(){return V}),n.d(t,"AbstractDeleteAllToBoundaryAction",function(){return H}),n.d(t,"DeleteAllLeftAction",function(){return z}),n.d(t,"DeleteAllRightAction",function(){return U}),n.d(t,"JoinLinesAction",function(){return K}),n.d(t,"TransposeAction",function(){return q}),n.d(t,"AbstractCaseAction",function(){return G}),n.d(t,"UpperCaseAction",function(){return Z}),n.d(t,"LowerCaseAction",function(){return Y}),n.d(t,"TitleCaseAction",function(){return X});var L,O=this&&this.__extends||(L=function(e,t){return(L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}L(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),k=function(e){function t(t,n){var i=e.call(this,n)||this;return i.down=t,i}return O(t,e),t.prototype.run=function(e,t){for(var n=[],i=0,r=t.getSelections()||[];i1&&(d-=1,f=i.getLineMaxColumn(d)),o.push(c.a.replace(new p.a(d,f,h,g),"")),s.push(new p.a(d-r,l.positionColumn,d-r,l.positionColumn)),r+=l.endLineNumber-l.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,o,s),t.pushUndoStop()}}},t.prototype._getLinesToRemove=function(e){var t=e.getSelections().map(function(e){var t=e.endLineNumber;return e.startLineNumber=t[r].startLineNumber?i.endLineNumber=t[r].endLineNumber:(n.push(i),i=t[r]);return n.push(i),n},t}(s.b),j=function(e){function t(){return e.call(this,{id:"editor.action.indentLines",label:i.a("lines.indent","Indent Line"),alias:"Indent Line",precondition:g.a.writable,kbOpts:{kbExpr:g.a.editorTextFocus,primary:2137,weight:100}})||this}return O(t,e),t.prototype.run=function(e,t){var n=t._getCursors();n&&(t.pushUndoStop(),t.executeCommands(this.id,h.a.indent(n.context.config,t.getModel(),t.getSelections())),t.pushUndoStop())},t}(s.b),W=function(e){function t(){return e.call(this,{id:"editor.action.outdentLines",label:i.a("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:g.a.writable,kbOpts:{kbExpr:g.a.editorTextFocus,primary:2135,weight:100}})||this}return O(t,e),t.prototype.run=function(e,t){o.CoreEditingCommands.Outdent.runEditorCommand(e,t,null)},t}(s.b),B=function(e){function t(){return e.call(this,{id:"editor.action.insertLineBefore",label:i.a("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:g.a.writable,kbOpts:{kbExpr:g.a.editorTextFocus,primary:3075,weight:100}})||this}return O(t,e),t.prototype.run=function(e,t){var n=t._getCursors();n&&(t.pushUndoStop(),t.executeCommands(this.id,h.a.lineInsertBefore(n.context.config,t.getModel(),t.getSelections())))},t}(s.b),V=function(e){function t(){return e.call(this,{id:"editor.action.insertLineAfter",label:i.a("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:g.a.writable,kbOpts:{kbExpr:g.a.editorTextFocus,primary:2051,weight:100}})||this}return O(t,e),t.prototype.run=function(e,t){var n=t._getCursors();n&&(t.pushUndoStop(),t.executeCommands(this.id,h.a.lineInsertAfter(n.context.config,t.getModel(),t.getSelections())))},t}(s.b),H=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return O(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getSelection(),i=this._getRangesToDelete(t),r=[],o=0,s=i.length-1;o0){var s=t.startLineNumber-r;o=new p.a(s,t.startColumn,s,t.startColumn)}else o=new p.a(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);r+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?n=o:i.push(o)}),n&&i.unshift(n),i},t.prototype._getRangesToDelete=function(e){var t=e.getSelections();if(null===t)return[];var n=t,i=e.getModel();return null===i?[]:(n.sort(l.a.compareRangesUsingStarts),n=n.map(function(e){if(e.isEmpty()){if(1===e.startColumn){var t=Math.max(1,e.startLineNumber-1),n=1===e.startLineNumber?1:i.getLineContent(t).length+1;return new l.a(t,n,e.startLineNumber,1)}return new l.a(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return new l.a(e.startLineNumber,1,e.endLineNumber,e.endColumn)}))},t}(H),U=function(e){function t(){return e.call(this,{id:"deleteAllRight",label:i.a("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:g.a.writable,kbOpts:{kbExpr:g.a.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})||this}return O(t,e),t.prototype._getEndCursorState=function(e,t){for(var n=null,i=[],r=0,o=t.length;re.endLineNumber+1?(r.push(e),t):new p.a(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(r.push(e),t):new p.a(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn)});r.push(o);var s=t.getModel();if(null!==s){for(var a=[],u=[],d=i,h=0,f=0,g=r.length;f=1){var k=!0;""===S&&(k=!1),!k||" "!==S.charAt(S.length-1)&&"\t"!==S.charAt(S.length-1)||(k=!1,S=S.replace(/[\s\uFEFF\xA0]+$/g," "));var N=L.substr(O-1);S+=(k?" ":"")+N,_=k?N.length+1:N.length}else _=0}var E=new l.a(v,1,b,y);if(!E.isEmpty()){var I=void 0;m.isEmpty()?(a.push(c.a.replace(E,S)),I=new p.a(E.startLineNumber-h,S.length-_+1,v-h,S.length-_+1)):m.startLineNumber===m.endLineNumber?(a.push(c.a.replace(E,S)),I=new p.a(m.startLineNumber-h,m.startColumn,m.endLineNumber-h,m.endColumn)):(a.push(c.a.replace(E,S)),I=new p.a(m.startLineNumber-h,m.startColumn,m.startLineNumber-h,S.length-w)),null!==l.a.intersectRanges(E,i)?d=I:u.push(I)}h+=E.endLineNumber-E.startLineNumber}u.unshift(d),t.pushUndoStop(),t.executeEdits(this.id,a,u),t.pushUndoStop()}}}},t}(s.b),q=function(e){function t(){return e.call(this,{id:"editor.action.transpose",label:i.a("editor.transpose","Transpose characters around the cursor"),alias:"Transpose characters around the cursor",precondition:g.a.writable})||this}return O(t,e),t.prototype.run=function(e,t){var n=t.getSelections();if(null!==n){var i=t.getModel();if(null!==i){for(var r=[],o=0,s=n.length;o=d){if(c.lineNumber===i.getLineCount())continue;var h=new l.a(c.lineNumber,Math.max(1,c.column-1),c.lineNumber+1,1),f=i.getValueInRange(h).split("").reverse().join("");r.push(new a.a(new p.a(c.lineNumber,Math.max(1,c.column-1),c.lineNumber+1,1),f))}else{h=new l.a(c.lineNumber,Math.max(1,c.column-1),c.lineNumber,c.column+1),f=i.getValueInRange(h).split("").reverse().join("");r.push(new a.b(h,f,new p.a(c.lineNumber,c.column+1,c.lineNumber,c.column+1)))}}}t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop()}}},t}(s.b),G=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return O(t,e),t.prototype.run=function(e,t){var n=t.getSelections();if(null!==n){var i=t.getModel();if(null!==i){for(var r=t.getConfiguration().wordSeparators,o=[],s=0,u=n.length;s=0?(r=!0,i+=s):r?(r=!1,i+=s.toLocaleUpperCase()):i+=s.toLocaleLowerCase()}return i},t}(G);Object(s.f)(N),Object(s.f)(E),Object(s.f)(D),Object(s.f)(M),Object(s.f)(P),Object(s.f)(A),Object(s.f)(R),Object(s.f)(F),Object(s.f)(j),Object(s.f)(W),Object(s.f)(B),Object(s.f)(V),Object(s.f)(z),Object(s.f)(U),Object(s.f)(K),Object(s.f)(q),Object(s.f)(Z),Object(s.f)(Y),Object(s.f)(X)},Qv71:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var i=function(){return function(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=!1),this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=n}}()},Qxje:function(e,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"c",function(){return u}),n.d(t,"a",function(){return c}),t.d=d,t.e=function(e){var t=Object(r.a)(1e4),n=d(e,t);return new h(n.characterMapping,t.build(),n.containsRTL,n.containsForeignElements)};var i=n("aL7J"),r=n("ftXN"),o=n("t7eM"),s=function(){return function(e,t){this.endIndex=e,this.type=t}}(),a=function(){function e(e,t){this.startOffset=e,this.endOffset=t}return e.prototype.equals=function(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset},e}(),u=function(){function e(e,t,n,i,r,o,s,a,u,c,l,d,h,f,p,g){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=n,this.continuesWithWrappedLine=i,this.isBasicASCII=r,this.containsRTL=o,this.fauxIndentLength=s,this.lineTokens=a,this.lineDecorations=u,this.tabSize=c,this.spaceWidth=l,this.stopRenderingLineAfter=d,this.renderWhitespace="all"===h?3:"boundary"===h?1:"selection"===h?2:0,this.renderControlCharacters=f,this.fontLigatures=p,this.selectionsOnLine=g&&g.sort(function(e,t){return e.startOffset>>16},e.getCharIndex=function(e){return(65535&e)>>>0},e.prototype.setPartData=function(e,t,n,i){var r=(t<<16|n<<0)>>>0;this._data[e]=r,this._absoluteOffsets[e]=i+n},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,n,i){if(0===this.length)return 0;for(var r=(t<<16|i<<0)>>>0,o=0,s=this.length-1;o+1>>1,u=this._data[a];if(u===r)return a;u>r?s=a:o=a}if(o===s)return o;var c=this._data[o],l=this._data[s];if(c===r)return o;if(l===r)return s;var d=e.getPartIndex(c);return i-e.getCharIndex(c)<=(d!==e.getPartIndex(l)?n:e.getCharIndex(l))-i?o:s},e}(),l=function(){return function(e,t,n){this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=n}}();function d(e,t){if(0===e.lineContent.length){var n=0,r=" ";if(e.lineDecorations.length>0){for(var a=[],u=0,d=e.lineDecorations.length;u')}return t.appendASCIIString(r),new l(new c(0,0),!1,n)}return function(e,t){var n=e.fontIsMonospace,r=e.canUseHalfwidthRightwardsArrow,o=e.containsForeignElements,s=e.lineContent,a=e.len,u=e.isOverflowing,d=e.parts,h=e.tabSize,f=e.containsRTL,p=e.spaceWidth,g=e.renderWhitespace,m=e.renderControlCharacters,v=new c(a+1,d.length),_=0,b=0,y=0,w=0,C=0;t.appendASCIIString("");for(var S=0,x=d.length;S=0;if(y=0,t.appendASCIIString('0&&(!r||T>1?t.write1(8594):t.write1(65515),T--);T>0;)t.write1(160),T--}else t.write1(183);y++}w=E}else{var E=0;for(f&&t.appendASCIIString(' dir="ltr"'),t.appendASCII(62);_0;)t.write1(160),E++,T--;break;case 32:t.write1(160),E++;break;case 60:t.appendASCIIString("<"),E++;break;case 62:t.appendASCIIString(">"),E++;break;case 38:t.appendASCIIString("&"),E++;break;case 0:t.appendASCIIString("�"),E++;break;case 65279:case 8232:t.write1(65533),E++;break;default:i.v(M)&&b++,m&&M<32?(t.write1(9216+M),E++):(t.write1(M),E++)}y++}w=E}t.appendASCIIString("")}v.setPartData(a,d.length-1,y,C),u&&t.appendASCIIString("");return t.appendASCIIString(""),new l(v,f,o)}(function(e){var t,n,r=e.useMonospaceOptimizations,a=e.lineContent;-1!==e.stopRenderingLineAfter&&e.stopRenderingLineAfter0&&(i[r++]=new s(t,""));for(var o=0,a=e.getCount();o=n){i[r++]=new s(n,c);break}i[r++]=new s(u,c)}}return i}(e.lineTokens,e.fauxIndentLength,n);(3===e.renderWhitespace||1===e.renderWhitespace||2===e.renderWhitespace&&e.selectionsOnLine)&&(u=function(e,t,n,r,o,a,u,c,l){var d,h=[],f=0,p=0,g=r[p].type,m=r[p].endIndex,v=r.length,_=i.q(e);-1===_?(_=t,d=t):d=i.A(e);for(var b=0,y=0;y=x.endOffset&&(S++,x=c&&c[S]);var L=void 0;if(y<_||y>d)L=!0;else if(9===w)L=!0;else if(32===w)if(l)if(C)L=!0;else{var O=y+1y),C?(!L||!u&&b>=a)&&(h[f++]=new s(y,"vs-whitespace"),b%=a):(y===m||L&&y>o)&&(h[f++]=new s(y,g),b%=a),9===w?b=a:i.v(w)?b+=2:b++,C=L,y===m&&++p0?e.charCodeAt(t-1):0,E=t>1?e.charCodeAt(t-2):0,I=32===N&&32!==E&&9!==E;I||(k=!0)}else k=!0;return h[f++]=new s(t,k?"vs-whitespace":g),h}(a,n,e.continuesWithWrappedLine,u,e.fauxIndentLength,e.tabSize,r,e.selectionsOnLine,1===e.renderWhitespace));var c=0;if(e.lineDecorations.length>0){for(var l=0,d=e.lineDecorations.length;ld&&(d=v.startOffset,c[l++]=new s(d,m)),!(v.endOffset+1<=g)){d=g,c[l++]=new s(d,m+" "+v.className);break}d=v.endOffset+1,c[l++]=new s(d,m+" "+v.className),u++}g>d&&(d=g,c[l++]=new s(d,m))}var _=n[n.length-1].endIndex;if(u=50&&(r[o++]=new s(h+1,d),f=h+1,h=-1);f!==l&&(r[o++]=new s(l,d))}else r[o++]=c;i=l}else for(var a=0,u=t.length;a50){for(var d=c.type,m=Math.ceil(g/50),p=1;p0;n--){var o=e.charCodeAt(n-1);if(47===o||92===o)break}t=e.substr(n)}var s=r.indexOf(t);return-1!==s?i[s]:null};a.basenames=r,a.patterns=i,a.allBasenames=r;var u=e.filter(function(e){return!e.basenames});return u.push(a),u}},Rfe2:function(e,t,n){"use strict";n.d(t,"i",function(){return a}),n.d(t,"j",function(){return u}),n.d(t,"g",function(){return d}),n.d(t,"f",function(){return h}),n.d(t,"h",function(){return p}),n.d(t,"a",function(){return g}),n.d(t,"k",function(){return m}),n.d(t,"b",function(){return _}),n.d(t,"m",function(){return b}),n.d(t,"e",function(){return y}),n.d(t,"c",function(){return w}),n.d(t,"d",function(){return C}),n.d(t,"l",function(){return S}),n.d(t,"n",function(){return L}),n.d(t,"o",function(){return O}),n.d(t,"p",function(){return k}),n.d(t,"r",function(){return N}),n.d(t,"q",function(){return E});var i=n("hK2W"),r=n("TNPA"),o=n("L5KM"),s=n("eoic"),a=Object(o._36)("editor.lineHighlightBackground",{dark:null,light:null,hc:null},i.a("lineHighlight","Background color for the highlight of line at the cursor position.")),u=Object(o._36)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hc:"#f38518"},i.a("lineHighlightBorderBox","Background color for the border around the line at the cursor position.")),c=Object(o._36)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hc:null},i.a("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),l=Object(o._36)("editor.rangeHighlightBorder",{dark:null,light:null,hc:o.b},i.a("rangeHighlightBorder","Background color of the border around highlighted ranges."),!0),d=Object(o._36)("editorCursor.foreground",{dark:"#AEAFAD",light:r.a.black,hc:r.a.white},i.a("caret","Color of the editor cursor.")),h=Object(o._36)("editorCursor.background",null,i.a("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),f=Object(o._36)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hc:"#e3e4e229"},i.a("editorWhitespaces","Color of whitespace characters in the editor.")),p=Object(o._36)("editorIndentGuide.background",{dark:f,light:f,hc:f},i.a("editorIndentGuides","Color of the editor indentation guides.")),g=Object(o._36)("editorIndentGuide.activeBackground",{dark:f,light:f,hc:f},i.a("editorActiveIndentGuide","Color of the active editor indentation guides.")),m=Object(o._36)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hc:r.a.white},i.a("editorLineNumbers","Color of editor line numbers.")),v=Object(o._36)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hc:o.b},i.a("editorActiveLineNumber","Color of editor active line number"),!1,i.a("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead.")),_=Object(o._36)("editorLineNumber.activeForeground",{dark:v,light:v,hc:v},i.a("editorActiveLineNumber","Color of editor active line number")),b=Object(o._36)("editorRuler.foreground",{dark:"#5A5A5A",light:r.a.lightgrey,hc:r.a.white},i.a("editorRuler","Color of the editor rulers.")),y=Object(o._36)("editorCodeLens.foreground",{dark:"#999999",light:"#999999",hc:"#999999"},i.a("editorCodeLensForeground","Foreground color of editor code lenses")),w=Object(o._36)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hc:"#0064001a"},i.a("editorBracketMatchBackground","Background color behind matching brackets")),C=Object(o._36)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hc:o.e},i.a("editorBracketMatchBorder","Color for matching brackets boxes")),S=Object(o._36)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hc:"#7f7f7f4d"},i.a("editorOverviewRulerBorder","Color of the overview ruler border.")),x=Object(o._36)("editorGutter.background",{dark:o.o,light:o.o,hc:o.o},i.a("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),L=Object(o._36)("editorUnnecessaryCode.border",{dark:null,light:null,hc:r.a.fromHex("#fff").transparent(.8)},i.a("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor.")),O=Object(o._36)("editorUnnecessaryCode.opacity",{dark:r.a.fromHex("#000a"),light:r.a.fromHex("#0007"),hc:null},i.a("unnecessaryCodeOpacity","Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.")),k=Object(o._36)("editorOverviewRuler.errorForeground",{dark:new r.a(new r.c(255,18,18,.7)),light:new r.a(new r.c(255,18,18,.7)),hc:new r.a(new r.c(255,50,50,1))},i.a("overviewRuleError","Overview ruler marker color for errors.")),N=Object(o._36)("editorOverviewRuler.warningForeground",{dark:o.M,light:o.M,hc:o.L},i.a("overviewRuleWarning","Overview ruler marker color for warnings.")),E=Object(o._36)("editorOverviewRuler.infoForeground",{dark:o.G,light:o.G,hc:o.F},i.a("overviewRuleInfo","Overview ruler marker color for infos."));Object(s.f)(function(e,t){var n=e.getColor(o.o);n&&t.addRule(".monaco-editor, .monaco-editor-background, .monaco-editor .inputarea.ime-input { background-color: "+n+"; }");var i=e.getColor(o.x);i&&t.addRule(".monaco-editor, .monaco-editor .inputarea.ime-input { color: "+i+"; }");var r=e.getColor(x);r&&t.addRule(".monaco-editor .margin { background-color: "+r+"; }");var s=e.getColor(c);s&&t.addRule(".monaco-editor .rangeHighlight { background-color: "+s+"; }");var a=e.getColor(l);a&&t.addRule(".monaco-editor .rangeHighlight { border: 1px "+("hc"===e.type?"dotted":"solid")+" "+a+"; }");var u=e.getColor(f);u&&t.addRule(".vs-whitespace { color: "+u+" !important; }")})},Rt1F:function(e,t,n){"use strict";(function(t,i){var r=n("ypnx");e.exports=b;var o,s=n("sOR5");b.ReadableState=_;n("vzCy").EventEmitter;var a=function(e,t){return e.listeners(t).length},u=n("UcPO"),c=n("kkc6").Buffer,l=t.Uint8Array||function(){};var d=n("jOgh");d.inherits=n("LC74");var h=n(1),f=void 0;f=h&&h.debuglog?h.debuglog("stream"):function(){};var p,g=n("+HRN"),m=n("x0Ha");d.inherits(b,u);var v=["error","close","destroy","pause","resume"];function _(e,t){o=o||n("DsFX"),e=e||{};var i=t instanceof o;this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,s=e.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:i&&(s||0===s)?s:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new g,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=n("X4X3").StringDecoder),this.decoder=new p(e.encoding),this.encoding=e.encoding)}function b(e){if(o=o||n("DsFX"),!(this instanceof b))return new b(e);this._readableState=new _(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),u.call(this)}function y(e,t,n,i,r){var o,s=e._readableState;null===t?(s.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,x(e)}(e,s)):(r||(o=function(e,t){var n;i=t,c.isBuffer(i)||i instanceof l||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk"));var i;return n}(s,t)),o?e.emit("error",o):s.objectMode||t&&t.length>0?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===c.prototype||(t=function(e){return c.from(e)}(t)),i?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):w(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!n?(t=s.decoder.write(t),s.objectMode||0!==t.length?w(e,s,t,!1):O(e,s)):w(e,s,t,!1))):i||(s.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.lengtht.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 x(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(f("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?r.nextTick(L,e):L(e))}function L(e){f("emit readable"),e.emit("readable"),I(e)}function O(e,t){t.readingMore||(t.readingMore=!0,r.nextTick(k,e,t))}function k(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var i;eo.length?o.length:e;if(s===o.length?r+=o:r+=o.slice(0,e),0===(e-=s)){s===o.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(s));break}++i}return t.length-=i,r}(e,t):function(e,t){var n=c.allocUnsafe(e),i=t.head,r=1;i.data.copy(n),e-=i.data.length;for(;i=i.next;){var o=i.data,s=e>o.length?o.length:e;if(o.copy(n,n.length-e,0,s),0===(e-=s)){s===o.length?(++r,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i,i.data=o.slice(s));break}++r}return t.length-=r,n}(e,t);return i}(e,t.buffer,t.decoder),n);var n}function M(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,r.nextTick(T,t,e))}function T(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function P(e,t){for(var n=0,i=e.length;n=t.highWaterMark||t.ended))return f("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?M(this):x(this),null;if(0===(e=S(e,t))&&t.ended)return 0===t.length&&M(this),null;var i,r=t.needReadable;return f("need readable",r),(0===t.length||t.length-e0?D(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&M(this)),null!==i&&this.emit("data",i),i},b.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},b.prototype.pipe=function(e,t){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=e;break;case 1:o.pipes=[o.pipes,e];break;default:o.pipes.push(e)}o.pipesCount+=1,f("pipe count=%d opts=%j",o.pipesCount,t);var u=(!t||!1!==t.end)&&e!==i.stdout&&e!==i.stderr?l:b;function c(t,i){f("onunpipe"),t===n&&i&&!1===i.hasUnpiped&&(i.hasUnpiped=!0,f("cleanup"),e.removeListener("close",v),e.removeListener("finish",_),e.removeListener("drain",d),e.removeListener("error",m),e.removeListener("unpipe",c),n.removeListener("end",l),n.removeListener("end",b),n.removeListener("data",g),h=!0,!o.awaitDrain||e._writableState&&!e._writableState.needDrain||d())}function l(){f("onend"),e.end()}o.endEmitted?r.nextTick(u):n.once("end",u),e.on("unpipe",c);var d=function(e){return function(){var t=e._readableState;f("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,I(e))}}(n);e.on("drain",d);var h=!1;var p=!1;function g(t){f("ondata"),p=!1,!1!==e.write(t)||p||((1===o.pipesCount&&o.pipes===e||o.pipesCount>1&&-1!==P(o.pipes,e))&&!h&&(f("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,p=!0),n.pause())}function m(t){f("onerror",t),b(),e.removeListener("error",m),0===a(e,"error")&&e.emit("error",t)}function v(){e.removeListener("finish",_),b()}function _(){f("onfinish"),e.removeListener("close",v),b()}function b(){f("unpipe"),n.unpipe(e)}return n.on("data",g),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?s(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",m),e.once("close",v),e.once("finish",_),e.emit("pipe",n),o.flowing||(f("pipe resume"),n.resume()),e},b.prototype.unpipe=function(e){var t=this._readableState,n={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,n),this);if(!e){var i=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},p=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},g=function(e){function t(t,n,i,r,o,s,a){return e.call(this,!0,t,n,i,r,o,s,a)||this}return h(t,e),t=f([p(1,u.c),p(2,o.a),p(3,l.a),p(4,c.a),p(5,d.a),p(6,a.a)],t)}(s.a);Object(r.h)(g)},SAez:function(e,t,n){var i=t;i.der=n("ps4E"),i.pem=n("VqvS")},SDM6:function(e,t,n){e.exports=n("DsFX")},SWdJ:function(e,t,n){"use strict";n("jF/U");var i,r=n("hK2W"),o=n("tqet"),s=n("KIxu"),a=n("X6iQ"),u=n("2VYG"),c=n("7/Cv"),l=n("ZfGv"),d=n("Bug4"),h=n("gzF+"),f=n("Kp7x"),p=n("Gxst");!function(e){e.TREE="tree",e.FORM="form"}(i||(i={}));var g=n("9bHL"),m=n("TNPA"),v=n("TU7t"),_=function(){function e(e){this.spliceables=e}return e.prototype.splice=function(e,t,n){this.spliceables.forEach(function(i){return i.splice(e,t,n)})},e}(),b=n("ot3f"),y=n("GYOr");t.f=M,t.e=A,t.d=R,n.d(t,"c",function(){return B}),n.d(t,"a",function(){return V}),n.d(t,"b",function(){return Y});var w,C=this&&this.__extends||(w=function(e,t){return(w=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}w(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),S=this&&this.__assign||function(){return(S=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},L=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,n){var i=Object(a.j)(this.renderedElements,function(e){return e.templateData===n});if(i>=0){var r=this.renderedElements[i];this.trait.unrender(n),r.index=t}else{r={index:t,templateData:n};this.renderedElements.push(r)}this.trait.renderIndex(t,n)},e.prototype.splice=function(e,t,n){for(var i=[],r=0,o=this.renderedElements;r=e+t&&i.push({index:s.index+n-t,templateData:s.templateData})}this.renderedElements=i},e.prototype.renderIndexes=function(e){for(var t=0,n=this.renderedElements;t-1&&this.trait.renderIndex(r,o)}},e.prototype.disposeTemplate=function(e){var t=Object(a.j)(this.renderedElements,function(t){return t.templateData===e});t<0||this.renderedElements.splice(t,1)},e}(),O=function(){function e(e){this._trait=e,this.indexes=[],this.sortedIndexes=[],this._onChange=new f.a,this.onChange=this._onChange.event}return Object.defineProperty(e.prototype,"trait",{get:function(){return this._trait},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderer",{get:function(){return new L(this)},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,n){var i=n.length-t,r=e+t,o=this.sortedIndexes.filter(function(t){return t=r}).map(function(e){return e+i}));this.renderer.splice(e,t,n.length),this._set(o,o)},e.prototype.renderIndex=function(e,t){c.R(t,this._trait,this.contains(e))},e.prototype.unrender=function(e){c.I(e,this._trait)},e.prototype.set=function(e,t){return this._set(e,e.slice().sort(K),t)},e.prototype._set=function(e,t,n){var i=this.indexes,r=this.sortedIndexes;this.indexes=e,this.sortedIndexes=t;var o=U(r,e);return this.renderer.renderIndexes(o),this._onChange.fire({indexes:e,browserEvent:n}),i},e.prototype.get=function(){return this.indexes},e.prototype.contains=function(e){return Object(a.c)(this.sortedIndexes,e,K)>=0},e.prototype.dispose=function(){this._onChange=Object(o.f)(this._onChange)},x([u.a],e.prototype,"renderer",null),e}(),k=function(e){function t(){return e.call(this,"focused")||this}return C(t,e),t.prototype.renderIndex=function(t,n){e.prototype.renderIndex.call(this,t,n),this.contains(t)?n.setAttribute("aria-selected","true"):n.removeAttribute("aria-selected")},t}(O),N=function(){function e(e,t,n){this.trait=e,this.view=t,this.identityProvider=n}return e.prototype.splice=function(e,t,n){var i=this;if(!this.identityProvider)return this.trait.splice(e,t,n.map(function(){return!1}));var r=this.trait.get().map(function(e){return i.identityProvider.getId(i.view.element(e)).toString()}),o=n.map(function(e){return r.indexOf(i.identityProvider.getId(e).toString())>-1});this.trait.splice(e,t,o)},e}();function E(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}var I,D=function(){function e(e,t,n){this.list=e,this.view=t,this.disposables=new o.b;var i=!1!==n.multipleSelectionSupport;this.openController=n.openController||W;var r=f.b.chain(Object(p.a)(t.domNode,"keydown")).filter(function(e){return!E(e.target)}).map(function(e){return new h.a(e)});r.filter(function(e){return 3===e.keyCode}).on(this.onEnter,this,this.disposables),r.filter(function(e){return 16===e.keyCode}).on(this.onUpArrow,this,this.disposables),r.filter(function(e){return 18===e.keyCode}).on(this.onDownArrow,this,this.disposables),r.filter(function(e){return 11===e.keyCode}).on(this.onPageUpArrow,this,this.disposables),r.filter(function(e){return 12===e.keyCode}).on(this.onPageDownArrow,this,this.disposables),r.filter(function(e){return 9===e.keyCode}).on(this.onEscape,this,this.disposables),i&&r.filter(function(e){return(l.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(),e.browserEvent),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(1,!1,e.browserEvent),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(1,!1,e.browserEvent),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageUpArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(e.browserEvent),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(e.browserEvent),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onCtrlA=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(Object(a.r)(this.list.length),e.browserEvent),this.view.domNode.focus()},e.prototype.onEscape=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection([],e.browserEvent),this.view.domNode.focus()},e.prototype.dispose=function(){this.disposables.dispose()},e}();function M(e){return!(e.ctrlKey||e.metaKey||e.altKey)&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30||e.keyCode>=93&&e.keyCode<=102||e.keyCode>=80&&e.keyCode<=90)}!function(e){e[e.Idle=0]="Idle",e[e.Typing=1]="Typing"}(I||(I={}));var T=function(){function e(e,t,n){this.list=e,this.view=t,this.keyboardNavigationLabelProvider=n,this.enabled=!1,this.state=I.Idle,this.automaticKeyboardNavigation=!0,this.triggered=!1,this.enabledDisposables=new o.b,this.disposables=new o.b,this.updateOptions(e.options)}return e.prototype.updateOptions=function(e){void 0===e.enableKeyboardNavigation||!!e.enableKeyboardNavigation?this.enable():this.disable(),void 0!==e.automaticKeyboardNavigation&&(this.automaticKeyboardNavigation=e.automaticKeyboardNavigation)},e.prototype.enable=function(){var e=this;if(!this.enabled){var t=f.b.chain(Object(p.a)(this.view.domNode,"keydown")).filter(function(e){return!E(e.target)}).filter(function(){return e.automaticKeyboardNavigation||e.triggered}).map(function(e){return new h.a(e)}).filter(this.keyboardNavigationLabelProvider.mightProducePrintableCharacter?function(t){return e.keyboardNavigationLabelProvider.mightProducePrintableCharacter(t)}:function(e){return M(e)}).forEach(function(e){e.stopPropagation(),e.preventDefault()}).map(function(e){return e.browserEvent.key}).event,n=f.b.debounce(t,function(){return null},800);f.b.reduce(f.b.any(t,n),function(e,t){return null===t?null:(e||"")+t})(this.onInput,this,this.enabledDisposables),this.enabled=!0,this.triggered=!1}},e.prototype.disable=function(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)},e.prototype.onInput=function(e){if(!e)return this.state=I.Idle,void(this.triggered=!1);var t=this.list.getFocus(),n=t.length>0?t[0]:0,i=this.state===I.Idle?1:0;this.state=I.Typing;for(var r=0;r=0&&e[r]===t-(n-r);)i.push(e[r--]);i.reverse(),r=n;for(;r=e.length)n.push(t[r++]);else if(r>=t.length)n.push(e[i++]);else{if(e[i]===t[r]){i++,r++;continue}e[i]=e.length)n.push(t[r++]);else if(r>=t.length)n.push(e[i++]);else{if(e[i]===t[r]){n.push(e[i]),i++,r++;continue}e[i]-1?t:[e]},e.prototype.getDragURI=function(e){return this.dnd.getDragURI(e)},e.prototype.getDragLabel=function(e){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e)},e.prototype.onDragStart=function(e,t){this.dnd.onDragStart&&this.dnd.onDragStart(e,t)},e.prototype.onDragOver=function(e,t,n,i){return this.dnd.onDragOver(e,t,n,i)},e.prototype.drop=function(e,t,n,i){this.dnd.drop(e,t,n,i)},e}(),Y=function(){function e(e,t,n,s){void 0===s&&(s=z),this._options=s,this.eventBufferer=new f.c,this.disposables=new o.b,this._onDidOpen=new f.a,this.onDidOpen=this._onDidOpen.event,this._onPin=new f.a,this.didJustPressContextMenuKey=!1,this._onDidDispose=new f.a,this.onDidDispose=this._onDidDispose.event,this.focus=new k,this.selection=new O("selected"),Object(v.g)(s,H,!1);var a=[this.focus.renderer,this.selection.renderer];s.accessibilityProvider&&a.push(new G(s.accessibilityProvider)),n=n.map(function(e){return new q(e.templateId,a.concat([e]))});var u=S({},s,{dnd:s.dnd&&new Z(this,s.dnd)});if(this.view=new g.b(e,t,n,u),"string"!=typeof s.ariaRole?this.view.domNode.setAttribute("role",i.TREE):this.view.domNode.setAttribute("role",s.ariaRole),this.styleElement=c.s(this.view.domNode),this.styleController=s.styleController||new V(this.styleElement,this.view.domId),this.spliceable=new _([new N(this.focus,this.view,s.identityProvider),new N(this.selection,this.view,s.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.onDidFocus=f.b.map(Object(p.a)(this.view.domNode,"focus",!0),function(){return null}),this.onDidBlur=f.b.map(Object(p.a)(this.view.domNode,"blur",!0),function(){return null}),this.disposables.add(new P(this,this.view)),"boolean"!=typeof s.keyboardSupport||s.keyboardSupport){var l=new D(this,this.view,s);this.disposables.add(l)}s.keyboardNavigationLabelProvider&&(this.typeLabelController=new T(this,this.view,s.keyboardNavigationLabelProvider),this.disposables.add(this.typeLabelController)),this.disposables.add(this.createMouseController(s)),this.onFocusChange(this._onFocusChange,this,this.disposables),this.onSelectionChange(this._onSelectionChange,this,this.disposables),s.ariaLabel&&this.view.domNode.setAttribute("aria-label",Object(r.a)("aria list","{0}. Use the navigation keys to navigate.",s.ariaLabel)),this.style(s)}return Object.defineProperty(e.prototype,"onFocusChange",{get:function(){var e=this;return f.b.map(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 f.b.map(this.eventBufferer.wrapEvent(this.selection.onChange),function(t){return e.toListEvent(t)})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"domId",{get:function(){return this.view.domId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseClick",{get:function(){return this.view.onMouseClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseDblClick",{get:function(){return this.view.onMouseDblClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseMiddleClick",{get:function(){return this.view.onMouseMiddleClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseDown",{get:function(){return this.view.onMouseDown},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onTouchStart",{get:function(){return this.view.onTouchStart},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onTap",{get:function(){return this.view.onTap},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onContextMenu",{get:function(){var e=this,t=f.b.chain(Object(p.a)(this.view.domNode,"keydown")).map(function(e){return new h.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,n=f.b.chain(Object(p.a)(this.view.domNode,"keyup")).filter(function(){var t=e.didJustPressContextMenuKey;return e.didJustPressContextMenuKey=!1,t}).filter(function(){return e.getFocus().length>0&&!!e.view.domElement(e.getFocus()[0])}).map(function(t){var n=e.getFocus()[0];return{index:n,element:e.view.element(n),anchor:e.view.domElement(n),browserEvent:t}}).event,i=f.b.chain(this.view.onContextMenu).filter(function(){return!e.didJustPressContextMenuKey}).map(function(e){var t=e.element,n=e.index,i=e.browserEvent;return{element:t,index:n,anchor:{x:i.clientX+1,y:i.clientY},browserEvent:i}}).event;return f.b.any(t,n,i)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onKeyDown",{get:function(){return Object(p.a)(this.view.domNode,"keydown")},enumerable:!0,configurable:!0}),e.prototype.createMouseController=function(e){return new B(this)},e.prototype.updateOptions=function(e){void 0===e&&(e={}),this._options=S({},this._options,e),this.typeLabelController&&this.typeLabelController.updateOptions(this._options)},Object.defineProperty(e.prototype,"options",{get:function(){return this._options},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,n){var i=this;if(void 0===n&&(n=[]),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===n.length||this.eventBufferer.bufferEvents(function(){return i.spliceable.splice(e,t,n)})},e.prototype.rerender=function(){this.view.rerender()},e.prototype.element=function(e){return this.view.element(e)},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.contentHeight},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"scrollTop",{get:function(){return this.view.getScrollTop()},set:function(e){this.view.setScrollTop(e)},enumerable:!0,configurable:!0}),e.prototype.domFocus=function(){this.view.domNode.focus()},e.prototype.layout=function(e,t){this.view.layout(e,t)},e.prototype.setSelection=function(e,t){for(var n=0,i=e;n=this.length)throw new Error("Invalid index "+r)}this.selection.set(e,t)},e.prototype.getSelection=function(){return this.selection.get()},e.prototype.getSelectedElements=function(){var e=this;return this.getSelection().map(function(t){return e.view.element(t)})},e.prototype.setFocus=function(e,t){for(var n=0,i=e;n=this.length)throw new Error("Invalid index "+r)}this.focus.set(e,t)},e.prototype.focusNext=function(e,t,n,i){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var r=this.focus.get(),o=this.findNextIndex(r.length>0?r[0]+e:0,t,i);o>-1&&this.setFocus([o],n)}},e.prototype.focusPrevious=function(e,t,n,i){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var r=this.focus.get(),o=this.findPreviousIndex(r.length>0?r[0]-e:0,t,i);o>-1&&this.setFocus([o],n)}},e.prototype.focusNextPage=function(e,t){var n=this,i=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);i=0===i?0:i-1;var r=this.view.element(i),o=this.getFocusedElements()[0];if(o!==r){var s=this.findPreviousIndex(i,!1,t);s>-1&&o!==this.view.element(s)?this.setFocus([s],e):this.setFocus([i],e)}else{var a=this.view.getScrollTop();this.view.setScrollTop(a+this.view.renderHeight-this.view.elementHeight(i)),this.view.getScrollTop()!==a&&setTimeout(function(){return n.focusNextPage(e,t)},0)}},e.prototype.focusPreviousPage=function(e,t){var n,i=this,r=this.view.getScrollTop();n=0===r?this.view.indexAt(r):this.view.indexAfter(r-1);var o=this.view.element(n),s=this.getFocusedElements()[0];if(s!==o){var a=this.findNextIndex(n,!1,t);a>-1&&s!==this.view.element(a)?this.setFocus([a],e):this.setFocus([n],e)}else{var u=r;this.view.setScrollTop(r-this.view.renderHeight),this.view.getScrollTop()!==u&&setTimeout(function(){return i.focusPreviousPage(e,t)},0)}},e.prototype.focusLast=function(e,t){if(0!==this.length){var n=this.findPreviousIndex(this.length-1,!1,t);n>-1&&this.setFocus([n],e)}},e.prototype.focusFirst=function(e,t){if(0!==this.length){var n=this.findNextIndex(0,!1,t);n>-1&&this.setFocus([n],e)}},e.prototype.findNextIndex=function(e,t,n){void 0===t&&(t=!1);for(var i=0;i=this.length&&!t)return-1;if(e%=this.length,!n||n(this.element(e)))return e;e++}return-1},e.prototype.findPreviousIndex=function(e,t,n){void 0===t&&(t=!1);for(var i=0;i=this.length)throw new Error("Invalid index "+e);var n=this.view.getScrollTop(),i=this.view.elementTop(e),r=this.view.elementHeight(e);if(Object(s.g)(t)){var o=r-this.view.renderHeight;this.view.setScrollTop(o*Object(b.a)(t,0,1)+i)}else{var a=i+r,u=n+this.view.renderHeight;i=u&&this.view.setScrollTop(a-this.view.renderHeight)}},e.prototype.getRelativeTop=function(e){if(e<0||e>=this.length)throw new Error("Invalid index "+e);var t=this.view.getScrollTop(),n=this.view.elementTop(e),i=this.view.elementHeight(e);if(nt+this.view.renderHeight)return null;var r=i-this.view.renderHeight;return Math.abs((t-n)/r)},e.prototype.getHTMLElement=function(){return this.view.domNode},e.prototype.open=function(e,t){for(var n=this,i=0,r=e;i=this.length)throw new Error("Invalid index "+o)}this._onDidOpen.fire({indexes:e,elements:e.map(function(e){return n.view.element(e)}),browserEvent:t})},e.prototype.pin=function(e){for(var t=0,n=e;t=this.length)throw new Error("Invalid index "+i)}this._onPin.fire(e)},e.prototype.style=function(e){this.styleController.style(e)},e.prototype.toListEvent=function(e){var t=this,n=e.indexes,i=e.browserEvent;return{indexes:n,elements:n.map(function(e){return t.view.element(e)}),browserEvent:i}},e.prototype._onFocusChange=function(){var e=this.focus.get();e.length>0?this.view.domNode.setAttribute("aria-activedescendant",this.view.getElementDomId(e[0])):this.view.domNode.removeAttribute("aria-activedescendant"),this.view.domNode.setAttribute("role","tree"),c.R(this.view.domNode,"element-focused",e.length>0)},e.prototype._onSelectionChange=function(){var e=this.selection.get();c.R(this.view.domNode,"selection-none",0===e.length),c.R(this.view.domNode,"selection-single",1===e.length),c.R(this.view.domNode,"selection-multiple",e.length>1)},e.prototype.dispose=function(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidOpen.dispose(),this._onPin.dispose(),this._onDidDispose.dispose()},x([u.a],e.prototype,"onFocusChange",null),x([u.a],e.prototype,"onSelectionChange",null),x([u.a],e.prototype,"onContextMenu",null),e}()},Skdw:function(e,t,n){"use strict";t.b=function(e,t){void 0===t&&(t=s);return function(e,t){for(var n='
    ',o=e.split(/\r\n|\r|\n/),s=t.getInitialState(),a=0,u=o.length;a0&&(n+="
    ");var l=t.tokenize2(c,s,0);r.a.convertToEndOffset(l.tokens,c.length);for(var d=new r.a(l.tokens,c),h=d.inflate(),f=0,p=0,g=h.getCount();p'+i.o(c.substring(f,v))+"",f=v}s=l.endState}return n+="
    "}(e,t||s)},t.a=function(e,t,n,i,r,o){for(var s="
    ",a=i,u=0,c=0,l=t.getCount();c0;)h+=" ",p--;break;case 60:h+="<";break;case 62:h+=">";break;case 38:h+="&";break;case 0:h+="�";break;case 65279:case 8232:h+="�";break;case 13:h+="​";break;case 32:h+=" ";break;default:h+=String.fromCharCode(f)}}if(s+=''+h+"",d>r||a>=r)break}}return s+="
    "};var i=n("aL7J"),r=n("cLaT"),o=n("jUH2"),s={getInitialState:function(){return o.c},tokenize2:function(e,t,n){return Object(o.e)(0,e,t,n)}}},SoM9:function(e,t){},SsjP:function(e,t,n){var i=n("H2Pp"),r=n("X3l8").Buffer,o=n("4sPJ");function s(e){var t=e._cipher.encryptBlockRaw(e._prev);return o(e._prev),t}t.encrypt=function(e,t){var n=Math.ceil(t.length/16),o=e._cache.length;e._cache=r.concat([e._cache,r.allocUnsafe(16*n)]);for(var a=0;a=0?t+1:1},e.prototype.getCurrentMatchesPosition=function(t){for(var n=0,i=this._editor.getModel().getDecorationsInRange(t);n1e3){o=e._FIND_MATCH_NO_OVERVIEW_DECORATION;for(var a=i._editor.getModel().getLineCount(),u=i._editor.getLayoutInfo().height/a,c=Math.max(2,Math.ceil(3/u)),l=t[0].range.startLineNumber,h=t[0].range.endLineNumber,f=1,p=t.length;f=g.startLineNumber?g.endLineNumber>h&&(h=g.endLineNumber):(s.push({range:new d.a(l,1,h,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),l=g.startLineNumber,h=g.endLineNumber)}s.push({range:new d.a(l,1,h,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}var m=new Array(t.length);for(f=0,p=t.length;f=0;t--){var n=this._decorations[t],i=this._editor.getModel().getDecorationRange(n);if(i&&!(i.endLineNumber>e.lineNumber)){if(i.endLineNumbere.column))return i}}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,n=this._decorations.length;te.lineNumber)return r;if(!(r.startColumn0){for(var n=[],i=0;i0;){if(e0},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),n=e.lineNumber,i=e.column,r=this._editor.getModel();return t||1===i?(1===n?n=r.getLineCount():n--,i=r.getLineMaxColumn(n)):i--,new l.a(n,i)},e.prototype._moveToPrevMatch=function(t,n){if(void 0===n&&(n=!1),this._decorations.getCount()<19999){var i=this._decorations.matchBeforePosition(t);return i&&i.isEmpty()&&i.getStartPosition().equals(t)&&(t=this._prevSearchPosition(t),i=this._decorations.matchBeforePosition(t)),void(i&&this._setCurrentFindMatch(i))}if(!this._cannotFind()){var r=this._decorations.getFindScope(),o=e._getSearchRange(this._editor.getModel(),r);o.getEndPosition().isBefore(t)&&(t=o.getEndPosition()),t.isBefore(o.getStartPosition())&&(t=o.getEndPosition());var s=t.lineNumber,a=t.column,u=this._editor.getModel(),c=new l.a(s,a),d=u.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);if(d&&d.range.isEmpty()&&d.range.getStartPosition().equals(c)&&(c=this._prevSearchPosition(c),d=u.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1)),d)return n||o.containsRange(d.range)?void this._setCurrentFindMatch(d.range):this._moveToPrevMatch(d.range.getStartPosition(),!0)}},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),n=e.lineNumber,i=e.column,r=this._editor.getModel();return t||i===r.getLineMaxColumn(n)?(n===r.getLineCount()?n=1:n++,i=1):i++,new l.a(n,i)},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 n=this._getNextMatch(e,!1,!0);n&&this._setCurrentFindMatch(n.range)},e.prototype._getNextMatch=function(t,n,i,r){if(void 0===r&&(r=!1),this._cannotFind())return null;var o=this._decorations.getFindScope(),s=e._getSearchRange(this._editor.getModel(),o);s.getEndPosition().isBefore(t)&&(t=s.getStartPosition()),t.isBefore(s.getStartPosition())&&(t=s.getStartPosition());var a=t.lineNumber,u=t.column,c=this._editor.getModel(),d=new l.a(a,u),h=c.findNextMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,n);return i&&h&&h.range.isEmpty()&&h.range.getStartPosition().equals(d)&&(d=this._nextSearchPosition(d),h=c.findNextMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,n)),h?r||s.containsRange(h.range)?h:this._getNextMatch(h.range.getEndPosition(),n,i,!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 S(null);for(var t=new L(e),n=0,i=e.length;n=i)break;if(36===(a=e.charCodeAt(n))){t.emitUnchanged(n-1),t.emitStatic("$",n+1);continue}if(48===a||38===a){t.emitUnchanged(n-1),t.emitMatchIndex(0,n+1);continue}if(49<=a&&a<=57){var o=a-48;if(n+1=i)break;var a;switch(a=e.charCodeAt(n)){case 92:t.emitUnchanged(n-1),t.emitStatic("\\",n+1);break;case 110:t.emitUnchanged(n-1),t.emitStatic("\n",n+1);break;case 116:t.emitUnchanged(n-1),t.emitStatic("\t",n+1)}}}return t.finalize()}(this._state.replaceString):S.fromStaticValue(this._state.replaceString)},e.prototype.replace=function(){if(this._hasMatches()){var e=this._getReplacePattern(),t=this._editor.getSelection(),n=this._getNextMatch(t.getStartPosition(),!0,!1);if(n)if(t.equalsRange(n.range)){var i=e.buildReplaceString(n.matches,this._state.preserveCase),r=new c.a(t,i);this._executeEditorCommand("replace",r),this._decorations.setStartPosition(new l.a(t.startLineNumber,t.startColumn+i.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(n.range)}},e.prototype._findMatches=function(t,n,i){var r=e._getSearchRange(this._editor.getModel(),t);return this._editor.getModel().findMatches(this._state.searchString,r,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,n,i)},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 f.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 n="m";t.ignoreCase&&(n+="i"),t.global&&(n+="g"),t=new RegExp(t.source,n)}var i,r=this._editor.getModel(),o=r.getValue(1),s=r.getFullModelRange(),a=this._getReplacePattern(),u=this._state.preserveCase;i=a.hasReplacementPatterns||u?o.replace(t,function(){return a.buildReplaceString(arguments,u)}):o.replace(t,a.buildReplaceString(null,u));var l=new c.b(s,i,this._editor.getSelection());this._executeEditorCommand("replaceAll",l)}},e.prototype._regularReplaceAll=function(e){for(var t=this._getReplacePattern(),n=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),i=[],r=0,o=n.length;rt&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,i.matchesPosition=!0,r=!0),this._matchesCount!==t&&(this._matchesCount=t,i.matchesCount=!0,r=!0),void 0!==n&&(d.a.equalsRange(this._currentMatch,n)||(this._currentMatch=n,i.currentMatch=!0,r=!0)),r&&this._onFindReplaceStateChange.fire(i)},e.prototype.change=function(e,t,n){void 0===n&&(n=!0);var i={moveCursor:t,updateHistory:n,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1},r=!1,o=this.isRegex,s=this.wholeWord,a=this.matchCase,u=this.preserveCase;void 0!==e.searchString&&this._searchString!==e.searchString&&(this._searchString=e.searchString,i.searchString=!0,r=!0),void 0!==e.replaceString&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,i.replaceString=!0,r=!0),void 0!==e.isRevealed&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,i.isRevealed=!0,r=!0),void 0!==e.isReplaceRevealed&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,i.isReplaceRevealed=!0,r=!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.preserveCase&&(this._preserveCase=e.preserveCase),void 0!==e.searchScope&&(d.a.equalsRange(this._searchScope,e.searchScope)||(this._searchScope=e.searchScope,i.searchScope=!0,r=!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,this._preserveCaseOverride=void 0!==e.preserveCaseOverride?e.preserveCaseOverride:0,o!==this.isRegex&&(r=!0,i.isRegex=!0),s!==this.wholeWord&&(r=!0,i.wholeWord=!0),a!==this.matchCase&&(r=!0,i.matchCase=!0),u!==this.preserveCase&&(r=!0,i.preserveCase=!0),r&&this._onFindReplaceStateChange.fire(i)},e}(),ne=(n("s0RT"),n("UqCF")),ie=n("5tK6"),re=n("zxiH"),oe=n("ZfGv"),se=(n("NBYJ"),n("a6dA")),ae=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ue=i.a("defaultLabel","input"),ce=function(e){function t(t,n,i,r){var o=e.call(this)||this;o._showOptionButtons=i,o.fixFocusOnOptionClickEnabled=!0,o._onDidOptionChange=o._register(new B.a),o.onDidOptionChange=o._onDidOptionChange.event,o._onKeyDown=o._register(new B.a),o.onKeyDown=o._onKeyDown.event,o._onMouseDown=o._register(new B.a),o.onMouseDown=o._onMouseDown.event,o._onInput=o._register(new B.a),o._onKeyUp=o._register(new B.a),o._onCaseSensitiveKeyDown=o._register(new B.a),o.onCaseSensitiveKeyDown=o._onCaseSensitiveKeyDown.event,o._onRegexKeyDown=o._register(new B.a),o.onRegexKeyDown=o._onRegexKeyDown.event,o._lastHighlightFindOptions=0,o.contextViewProvider=n,o.placeholder=r.placeholder||"",o.validation=r.validation,o.label=r.label||ue,o.inputActiveOptionBorder=r.inputActiveOptionBorder,o.inputActiveOptionBackground=r.inputActiveOptionBackground,o.inputBackground=r.inputBackground,o.inputForeground=r.inputForeground,o.inputBorder=r.inputBorder,o.inputValidationInfoBorder=r.inputValidationInfoBorder,o.inputValidationInfoBackground=r.inputValidationInfoBackground,o.inputValidationInfoForeground=r.inputValidationInfoForeground,o.inputValidationWarningBorder=r.inputValidationWarningBorder,o.inputValidationWarningBackground=r.inputValidationWarningBackground,o.inputValidationWarningForeground=r.inputValidationWarningForeground,o.inputValidationErrorBorder=r.inputValidationErrorBorder,o.inputValidationErrorBackground=r.inputValidationErrorBackground,o.inputValidationErrorForeground=r.inputValidationErrorForeground;var s=r.appendCaseSensitiveLabel||"",a=r.appendWholeWordsLabel||"",u=r.appendRegexLabel||"",c=r.history||[],l=!!r.flexibleHeight,d=!!r.flexibleWidth,h=r.flexibleMaxHeight;o.domNode=document.createElement("div"),F.f(o.domNode,"monaco-findInput"),o.inputBox=o._register(new se.a(o.domNode,o.contextViewProvider,{placeholder:o.placeholder||"",ariaLabel:o.label||"",validationOptions:{validation:o.validation},inputBackground:o.inputBackground,inputForeground:o.inputForeground,inputBorder:o.inputBorder,inputValidationInfoBackground:o.inputValidationInfoBackground,inputValidationInfoForeground:o.inputValidationInfoForeground,inputValidationInfoBorder:o.inputValidationInfoBorder,inputValidationWarningBackground:o.inputValidationWarningBackground,inputValidationWarningForeground:o.inputValidationWarningForeground,inputValidationWarningBorder:o.inputValidationWarningBorder,inputValidationErrorBackground:o.inputValidationErrorBackground,inputValidationErrorForeground:o.inputValidationErrorForeground,inputValidationErrorBorder:o.inputValidationErrorBorder,history:c,flexibleHeight:l,flexibleWidth:d,flexibleMaxHeight:h})),o.regex=o._register(new $({appendTitle:u,isChecked:!1,inputActiveOptionBorder:o.inputActiveOptionBorder,inputActiveOptionBackground:o.inputActiveOptionBackground})),o._register(o.regex.onChange(function(e){o._onDidOptionChange.fire(e),!e&&o.fixFocusOnOptionClickEnabled&&o.inputBox.focus(),o.validate()})),o._register(o.regex.onKeyDown(function(e){o._onRegexKeyDown.fire(e)})),o.wholeWords=o._register(new X({appendTitle:a,isChecked:!1,inputActiveOptionBorder:o.inputActiveOptionBorder,inputActiveOptionBackground:o.inputActiveOptionBackground})),o._register(o.wholeWords.onChange(function(e){o._onDidOptionChange.fire(e),!e&&o.fixFocusOnOptionClickEnabled&&o.inputBox.focus(),o.validate()})),o.caseSensitive=o._register(new Y({appendTitle:s,isChecked:!1,inputActiveOptionBorder:o.inputActiveOptionBorder,inputActiveOptionBackground:o.inputActiveOptionBackground})),o._register(o.caseSensitive.onChange(function(e){o._onDidOptionChange.fire(e),!e&&o.fixFocusOnOptionClickEnabled&&o.inputBox.focus(),o.validate()})),o._register(o.caseSensitive.onKeyDown(function(e){o._onCaseSensitiveKeyDown.fire(e)})),o._showOptionButtons&&(o.inputBox.paddingRight=o.caseSensitive.width()+o.wholeWords.width()+o.regex.width());var f=[o.caseSensitive.domNode,o.wholeWords.domNode,o.regex.domNode];o.onkeydown(o.domNode,function(e){if(e.equals(15)||e.equals(17)||e.equals(9)){var t=f.indexOf(document.activeElement);if(t>=0){var n=-1;e.equals(17)?n=(t+1)%f.length:e.equals(15)&&(n=0===t?f.length-1:t-1),e.equals(9)?f[t].blur():n>=0&&f[n].focus(),F.c.stop(e,!0)}}});var p=document.createElement("div");return p.className="controls",p.style.display=o._showOptionButtons?"block":"none",p.appendChild(o.caseSensitive.domNode),p.appendChild(o.wholeWords.domNode),p.appendChild(o.regex.domNode),o.domNode.appendChild(p),t&&t.appendChild(o.domNode),o.onkeydown(o.inputBox.inputElement,function(e){return o._onKeyDown.fire(e)}),o.onkeyup(o.inputBox.inputElement,function(e){return o._onKeyUp.fire(e)}),o.oninput(o.inputBox.inputElement,function(e){return o._onInput.fire()}),o.onmousedown(o.inputBox.inputElement,function(e){return o._onMouseDown.fire(e)}),o}return ae(t,e),t.prototype.enable=function(){F.I(this.domNode,"disabled"),this.inputBox.enable(),this.regex.enable(),this.wholeWords.enable(),this.caseSensitive.enable()},t.prototype.disable=function(){F.f(this.domNode,"disabled"),this.inputBox.disable(),this.regex.disable(),this.wholeWords.disable(),this.caseSensitive.disable()},t.prototype.setFocusInputOnOptionClick=function(e){this.fixFocusOnOptionClickEnabled=e},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.inputActiveOptionBackground=e.inputActiveOptionBackground,this.inputBackground=e.inputBackground,this.inputForeground=e.inputForeground,this.inputBorder=e.inputBorder,this.inputValidationInfoBackground=e.inputValidationInfoBackground,this.inputValidationInfoForeground=e.inputValidationInfoForeground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningForeground=e.inputValidationWarningForeground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorForeground=e.inputValidationErrorForeground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()},t.prototype.applyStyles=function(){if(this.domNode){var e={inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionBackground:this.inputActiveOptionBackground};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,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,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},t.prototype.getWholeWords=function(){return this.wholeWords.checked},t.prototype.setWholeWords=function(e){this.wholeWords.checked=e},t.prototype.getRegex=function(){return this.regex.checked},t.prototype.setRegex=function(e){this.regex.checked=e,this.validate()},t.prototype.focusOnCaseSensitive=function(){this.caseSensitive.focus()},t.prototype.highlightFindOptions=function(){F.I(this.domNode,"highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,F.f(this.domNode,"highlight-"+this._lastHighlightFindOptions)},t.prototype.validate=function(){this.inputBox&&this.inputBox.validate()},t.prototype.clearMessage=function(){this.inputBox&&this.inputBox.hideMessage()},t.prototype.dispose=function(){e.prototype.dispose.call(this)},t}(j.a),le=n("Kx4b"),de=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),he=i.a("defaultLabel","input"),fe=i.a("label.preserveCaseCheckbox","Preserve Case"),pe=function(e){function t(t){return e.call(this,{actionClassName:"monaco-case-sensitive",title:fe+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder})||this}return de(t,e),t}(U),ge=function(e){function t(t,n,i,r){var o=e.call(this)||this;o._showOptionButtons=i,o.fixFocusOnOptionClickEnabled=!0,o.cachedOptionsWidth=0,o._onDidOptionChange=o._register(new B.a),o.onDidOptionChange=o._onDidOptionChange.event,o._onKeyDown=o._register(new B.a),o.onKeyDown=o._onKeyDown.event,o._onMouseDown=o._register(new B.a),o._onInput=o._register(new B.a),o._onKeyUp=o._register(new B.a),o._onPreserveCaseKeyDown=o._register(new B.a),o.onPreserveCaseKeyDown=o._onPreserveCaseKeyDown.event,o.contextViewProvider=n,o.placeholder=r.placeholder||"",o.validation=r.validation,o.label=r.label||he,o.inputActiveOptionBorder=r.inputActiveOptionBorder,o.inputBackground=r.inputBackground,o.inputForeground=r.inputForeground,o.inputBorder=r.inputBorder,o.inputValidationInfoBorder=r.inputValidationInfoBorder,o.inputValidationInfoBackground=r.inputValidationInfoBackground,o.inputValidationInfoForeground=r.inputValidationInfoForeground,o.inputValidationWarningBorder=r.inputValidationWarningBorder,o.inputValidationWarningBackground=r.inputValidationWarningBackground,o.inputValidationWarningForeground=r.inputValidationWarningForeground,o.inputValidationErrorBorder=r.inputValidationErrorBorder,o.inputValidationErrorBackground=r.inputValidationErrorBackground,o.inputValidationErrorForeground=r.inputValidationErrorForeground;var s=!!r.flexibleHeight,a=!!r.flexibleWidth,u=r.flexibleMaxHeight;return o.buildDomNode(r.history||[],s,a,u),t&&t.appendChild(o.domNode),o.onkeydown(o.inputBox.inputElement,function(e){return o._onKeyDown.fire(e)}),o.onkeyup(o.inputBox.inputElement,function(e){return o._onKeyUp.fire(e)}),o.oninput(o.inputBox.inputElement,function(e){return o._onInput.fire()}),o.onmousedown(o.inputBox.inputElement,function(e){return o._onMouseDown.fire(e)}),o}return de(t,e),t.prototype.enable=function(){F.I(this.domNode,"disabled"),this.inputBox.enable(),this.preserveCase.enable()},t.prototype.disable=function(){F.f(this.domNode,"disabled"),this.inputBox.disable(),this.preserveCase.disable()},t.prototype.setEnabled=function(e){e?this.enable():this.disable()},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.inputValidationInfoForeground=e.inputValidationInfoForeground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningForeground=e.inputValidationWarningForeground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorForeground=e.inputValidationErrorForeground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()},t.prototype.applyStyles=function(){if(this.domNode){var e={inputActiveOptionBorder:this.inputActiveOptionBorder};this.preserveCase.style(e);var t={inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder};this.inputBox.style(t)}},t.prototype.select=function(){this.inputBox.select()},t.prototype.focus=function(){this.inputBox.focus()},t.prototype.getPreserveCase=function(){return this.preserveCase.checked},t.prototype.setPreserveCase=function(e){this.preserveCase.checked=e},t.prototype.focusOnPreserve=function(){this.preserveCase.focus()},t.prototype.buildDomNode=function(e,t,n,i){var r=this;this.domNode=document.createElement("div"),F.f(this.domNode,"monaco-findInput"),this.inputBox=this._register(new se.a(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder,history:e,flexibleHeight:t,flexibleWidth:n,flexibleMaxHeight:i})),this.preserveCase=this._register(new pe({appendTitle:"",isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder})),this._register(this.preserveCase.onChange(function(e){r._onDidOptionChange.fire(e),!e&&r.fixFocusOnOptionClickEnabled&&r.inputBox.focus(),r.validate()})),this._register(this.preserveCase.onKeyDown(function(e){r._onPreserveCaseKeyDown.fire(e)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;var o=[this.preserveCase.domNode];this.onkeydown(this.domNode,function(e){if(e.equals(15)||e.equals(17)||e.equals(9)){var t=o.indexOf(document.activeElement);if(t>=0){var n=-1;e.equals(17)?n=(t+1)%o.length:e.equals(15)&&(n=0===t?o.length-1:t-1),e.equals(9)?o[t].blur():n>=0&&o[n].focus(),F.c.stop(e,!0)}}});var s=document.createElement("div");s.className="controls",s.style.display=this._showOptionButtons?"block":"none",s.appendChild(this.preserveCase.domNode),this.domNode.appendChild(s)},t.prototype.validate=function(){this.inputBox&&this.inputBox.validate()},Object.defineProperty(t.prototype,"width",{set:function(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.inputBox.width=e,this.domNode.style.width=e+"px"},enumerable:!0,configurable:!0}),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t}(j.a),me=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ve=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},_e=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},be="historyNavigationWidget",ye="historyNavigationEnabled";function we(e,t){return e.getContext(document.activeElement).getValue(t)}function Ce(e,t){var n=function(e,t){return e.createScoped(t.target)}(e,t);return function(e,t,n){new k.d(n,t).bindTo(e)}(n,t,be),{scopedContextKeyService:n,historyNavigationEnablement:new k.d(ye,!0).bindTo(n)}}var Se=function(e){function t(t,n,i,r,o){void 0===o&&(o=!1);var s=e.call(this,t,n,o,i)||this;return s._register(Ce(r,{target:s.inputBox.element,historyNavigator:s.inputBox}).scopedContextKeyService),s}return me(t,e),t=ve([_e(3,k.c)],t)}(ce),xe=function(e){function t(t,n,i,r,o){void 0===o&&(o=!1);var s=e.call(this,t,n,o,i)||this;return s._register(Ce(r,{target:s.inputBox.element,historyNavigator:s.inputBox}).scopedContextKeyService),s}return me(t,e),t=ve([_e(3,k.c)],t)}(ge);le.a.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:k.a.and(k.a.has(be),k.a.equals(ye,!0)),primary:16,secondary:[528],handler:function(e,t){var n=we(e.get(k.c),be);n&&n.historyNavigator.showPreviousValue()}}),le.a.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:k.a.and(k.a.has(be),k.a.equals(ye,!0)),primary:18,secondary:[530],handler:function(e,t){var n=we(e.get(k.c),be);n&&n.historyNavigator.showNextValue()}});var Le=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Oe=i.a("label.find","Find"),ke=i.a("placeholder.find","Find"),Ne=i.a("label.previousMatchButton","Previous match"),Ee=i.a("label.nextMatchButton","Next match"),Ie=i.a("label.toggleSelectionFind","Find in selection"),De=i.a("label.closeButton","Close"),Me=i.a("label.replace","Replace"),Te=i.a("placeholder.replace","Replace"),Pe=i.a("label.replaceButton","Replace"),Ae=i.a("label.replaceAllButton","Replace All"),Re=i.a("label.toggleReplaceButton","Toggle Replace mode"),Fe=i.a("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",19999),je=i.a("label.matchesLocation","{0} of {1}"),We=i.a("label.noResults","No Results"),Be=69,Ve=17+(Be+3+1)+92+2,He=33,ze="ctrlEnterReplaceAll.windows.donotask",Ue=oe.d?256:2048,Ke=function(){return function(e){this.afterLineNumber=e,this.heightInPx=He,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}();function qe(e,t,n){var i=!!t.match(/\n/);n&&i&&n.selectionStart>0&&e.stopPropagation()}function Ge(e,t,n){var i=!!t.match(/\n/);n&&i&&n.selectionEnd=0?F.f(this._domNode,"multipleline"):F.I(this._domNode,"multipleline");try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?this._codeEditor.getConfiguration().readOnly||this._isReplaceVisible||(this._isReplaceVisible=!0,this._replaceInput.width=F.B(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),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;F.R(this._domNode,"no-results",t),this._updateMatchesCount(),this._updateButtons()}(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._replaceInput.inputBox.addToHistory()},t.prototype._updateMatchesCount=function(){var e;if(this._matchesCount.style.minWidth=Be+"px",this._state.matchesCount>=19999?this._matchesCount.title=Fe: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 n=String(this._state.matchesPosition);"0"===n&&(n="?"),e=s.r(je,n,t)}else e=We;this._matchesCount.appendChild(document.createTextNode(e)),Object(ne.a)(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString),!0),Be=Math.max(Be,this._matchesCount.clientWidth)},t.prototype._getAriaLabel=function(e,t,n){return e===We?""===n?i.a("ariaSearchNoResultEmpty","{0} found",e):i.a("ariaSearchNoResult","{0} found for {1}",e,n):t?i.a("ariaSearchNoResultWithLineNum","{0} found for {1} at {2}",e,n,t.startLineNumber+":"+t.startColumn):i.a("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for {1}",e,n)},t.prototype._updateToggleSelectionFindButton=function(){var e=this._codeEditor.getSelection(),t=!!e&&(e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn),n=this._toggleSelectionFind.checked;this._toggleSelectionFind.setEnabled(this._isVisible&&(n||t))},t.prototype._updateButtons=function(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);var e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t),this._nextBtn.setEnabled(this._isVisible&&e&&t),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),F.R(this._domNode,"replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.toggleClass("collapse",!this._isReplaceVisible),this._toggleReplaceBtn.toggleClass("expand",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);var n=!this._codeEditor.getConfiguration().readOnly;this._toggleReplaceBtn.setEnabled(this._isVisible&&n)},t.prototype._reveal=function(){var e=this;if(!this._isVisible){this._isVisible=!0;var t=this._codeEditor.getSelection();!!t&&(t.startLineNumber!==t.endLineNumber||t.startColumn!==t.endColumn)&&this._codeEditor.getConfiguration().contribInfo.find.autoFindInSelection?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._tryUpdateWidgetWidth(),this._updateButtons(),setTimeout(function(){F.f(e._domNode,"visible"),e._domNode.setAttribute("aria-hidden","false")},0),setTimeout(function(){e._findInput.validate()},200),this._codeEditor.layoutOverlayWidget(this);var n=!0;if(this._codeEditor.getConfiguration().contribInfo.find.seedSearchStringFromSelection&&t){var i=this._codeEditor.getDomNode();if(i){var r=F.x(i),o=this._codeEditor.getScrolledVisiblePosition(t.getStartPosition()),s=r.left+(o?o.left:0),a=o?o.top:0;if(this._viewZone&&at.startLineNumber&&(n=!1);var u=F.z(this._domNode).left;s>u&&(n=!1);var c=this._codeEditor.getScrolledVisiblePosition(t.getEndPosition());r.left+(c?c.left:0)>u&&(n=!1)}}}this._showViewZone(n)}},t.prototype._hide=function(e){this._isVisible&&(this._isVisible=!1,this._updateButtons(),F.I(this._domNode,"visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())},t.prototype._layoutViewZone=function(){var e=this;if(this._codeEditor.getConfiguration().contribInfo.find.addExtraSpaceOnTop){if(this._isVisible){var t=this._viewZone;void 0===this._viewZoneId&&t&&this._codeEditor.changeViewZones(function(n){t.heightInPx=e._getHeight(),e._viewZoneId=n.addZone(t),e._codeEditor.setScrollTop(e._codeEditor.getScrollTop()+t.heightInPx)})}}else this._removeViewZone()},t.prototype._showViewZone=function(e){var t=this;if((void 0===e&&(e=!0),this._isVisible)&&this._codeEditor.getConfiguration().contribInfo.find.addExtraSpaceOnTop){void 0===this._viewZone&&(this._viewZone=new Ke(0));var n=this._viewZone;this._codeEditor.changeViewZones(function(i){if(void 0!==t._viewZoneId){var r=t._getHeight();if(r===n.heightInPx)return;var o=r-n.heightInPx;return n.heightInPx=r,i.layoutZone(t._viewZoneId),void(e&&t._codeEditor.setScrollTop(t._codeEditor.getScrollTop()+o))}o=t._getHeight();n.heightInPx=o,t._viewZoneId=i.addZone(n),e&&t._codeEditor.setScrollTop(t._codeEditor.getScrollTop()+o)})}},t.prototype._removeViewZone=function(){var e=this;this._codeEditor.changeViewZones(function(t){void 0!==e._viewZoneId&&(t.removeZone(e._viewZoneId),e._viewZoneId=void 0,e._viewZone&&(e._codeEditor.setScrollTop(e._codeEditor.getScrollTop()-e._viewZone.heightInPx),e._viewZone=void 0))})},t.prototype._applyTheme=function(e){var t={inputActiveOptionBorder:e.getColor(m.V),inputActiveOptionBackground:e.getColor(m.U),inputBackground:e.getColor(m.W),inputForeground:e.getColor(m.Y),inputBorder:e.getColor(m.X),inputValidationInfoBackground:e.getColor(m._2),inputValidationInfoForeground:e.getColor(m._4),inputValidationInfoBorder:e.getColor(m._3),inputValidationWarningBackground:e.getColor(m._5),inputValidationWarningForeground:e.getColor(m._7),inputValidationWarningBorder:e.getColor(m._6),inputValidationErrorBackground:e.getColor(m.Z),inputValidationErrorForeground:e.getColor(m._1),inputValidationErrorBorder:e.getColor(m._0)};this._findInput.style(t),this._replaceInput.style(t)},t.prototype._tryUpdateWidgetWidth=function(){if(this._isVisible)if(this._codeEditor.getConfiguration().layoutInfo.contentWidth<=0)F.f(this._domNode,"hiddenEditor");else{F.C(this._domNode,"hiddenEditor")&&F.I(this._domNode,"hiddenEditor");var e=this._codeEditor.getConfiguration().layoutInfo.width,t=this._codeEditor.getConfiguration().layoutInfo.minimapWidth,n=!1,i=!1,r=!1;if(this._resized)if(F.B(this._domNode)>419)return this._domNode.style.maxWidth=e-28-t-15+"px",void(this._replaceInput.width=F.B(this._findInput.domNode));if(447+t>=e&&(i=!0),447+t-Be>=e&&(r=!0),447+t-Be>=e+50&&(n=!0),F.R(this._domNode,"collapsed-find-widget",n),F.R(this._domNode,"narrow-find-widget",r),F.R(this._domNode,"reduced-find-widget",i),r||n||(this._domNode.style.maxWidth=e-28-t-15+"px"),this._resized){this._findInput.inputBox.layout();var o=this._findInput.inputBox.width;o>0&&(this._replaceInput.width=o)}}},t.prototype._getHeight=function(){var e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4},t.prototype._tryUpdateHeight=function(){var e=this._getHeight();return(null===this._cachedHeight||this._cachedHeight!==e)&&(this._cachedHeight=e,this._domNode.style.height=e+"px",!0)},t.prototype.focusFindInput=function(){this._findInput.select(),this._findInput.focus()},t.prototype.focusReplaceInput=function(){this._replaceInput.select(),this._replaceInput.focus()},t.prototype.highlightFindOptions=function(){this._findInput.highlightFindOptions()},t.prototype._updateSearchScope=function(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){var e=this._codeEditor.getSelection();1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1)));var t=this._state.currentMatch;e.startLineNumber!==e.endLineNumber&&(d.a.equalsRange(e,t)||this._state.change({searchScope:e},!0))}},t.prototype._onFindInputMouseDown=function(e){e.middleButton&&e.stopPropagation()},t.prototype._onFindInputKeyDown=function(e){if(e.equals(3|Ue)){var t=this._findInput.inputBox.inputElement,n=t.selectionStart,i=t.selectionEnd,r=t.value;if(null!==n&&null!==i){var o=r.substr(0,n)+"\n"+r.substr(i);return this._findInput.inputBox.value=o,t.setSelectionRange(n+1,n+1),this._findInput.inputBox.layout(),void e.preventDefault()}}return e.equals(2)?(this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):e.equals(16)?qe(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):e.equals(18)?Ge(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):void 0},t.prototype._onReplaceInputKeyDown=function(e){if(e.equals(3|Ue)){oe.g&&oe.e&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(i.a("ctrlEnter.keybindingChanged","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(ze,!0,0));var t=this._replaceInput.inputBox.inputElement,n=t.selectionStart,r=t.selectionEnd,o=t.value;if(null!==n&&null!==r){var s=o.substr(0,n)+"\n"+o.substr(r);return this._replaceInput.inputBox.value=s,t.setSelectionRange(n+1,n+1),this._replaceInput.inputBox.layout(),void e.preventDefault()}}return 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()):e.equals(16)?qe(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):e.equals(18)?Ge(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):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._buildDomNode=function(){var e=this;this._findInput=this._register(new Se(null,this._contextViewProvider,{width:221,label:Oe,placeholder:ke,appendCaseSensitiveLabel:this._keybindingLabelFor(A.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(A.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(A.ToggleRegexCommand),validation:function(t){if(0===t.length||!e._findInput.getRegex())return null;try{return new RegExp(t),null}catch(e){return{content:e.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118},this._contextKeyService,!0)),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._ignoreChangeEvent||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._replaceInput.focus(),t.preventDefault())})),this._register(this._findInput.onRegexKeyDown(function(t){t.equals(2)&&e._isReplaceVisible&&(e._replaceInput.focusOnPreserve(),t.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(function(t){e._tryUpdateHeight()&&e._showViewZone()})),oe.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 Xe({label:Ne+this._keybindingLabelFor(A.PreviousMatchFindAction),className:"previous",onTrigger:function(){e._codeEditor.getAction(A.PreviousMatchFindAction).run().then(void 0,re.e)}})),this._nextBtn=this._register(new Xe({label:Ee+this._keybindingLabelFor(A.NextMatchFindAction),className:"next",onTrigger:function(){e._codeEditor.getAction(A.NextMatchFindAction).run().then(void 0,re.e)}}));var t=document.createElement("div");t.className="find-part",t.appendChild(this._findInput.domNode);var n=document.createElement("div");n.className="find-actions",t.appendChild(n),n.appendChild(this._matchesCount),n.appendChild(this._prevBtn.domNode),n.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new Ye({parent:n,title:Ie+this._keybindingLabelFor(A.ToggleSearchScopeCommand),onChange:function(){if(e._toggleSelectionFind.checked){if(e._codeEditor.hasModel()){var t=e._codeEditor.getSelection();1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,e._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()||e._state.change({searchScope:t},!0)}}else e._state.change({searchScope:null},!0)}})),this._closeBtn=this._register(new Xe({label:De+this._keybindingLabelFor(A.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())}})),n.appendChild(this._closeBtn.domNode),this._replaceInput=this._register(new xe(null,void 0,{label:Me,placeholder:Te,history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(function(t){return e._onReplaceInputKeyDown(t)})),this._register(this._replaceInput.inputBox.onDidChange(function(){e._state.change({replaceString:e._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(function(t){e._isReplaceVisible&&e._tryUpdateHeight()&&e._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(function(){e._state.change({preserveCase:e._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(function(t){t.equals(2)&&(e._prevBtn.isEnabled()?e._prevBtn.focus():e._nextBtn.isEnabled()?e._nextBtn.focus():e._toggleSelectionFind.isEnabled()?e._toggleSelectionFind.focus():e._closeBtn.isEnabled()&&e._closeBtn.focus(),t.preventDefault())})),this._replaceBtn=this._register(new Xe({label:Pe+this._keybindingLabelFor(A.ReplaceOneAction),className:"replace",onTrigger:function(){e._controller.replace()},onKeyDown:function(t){t.equals(1026)&&(e._closeBtn.focus(),t.preventDefault())}})),this._replaceAllBtn=this._register(new Xe({label:Ae+this._keybindingLabelFor(A.ReplaceAllAction),className:"replace-all",onTrigger:function(){e._controller.replaceAll()}}));var i=document.createElement("div");i.className="replace-part",i.appendChild(this._replaceInput.domNode);var r=document.createElement("div");r.className="replace-actions",i.appendChild(r),r.appendChild(this._replaceBtn.domNode),r.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new Xe({label:Re,className:"toggle left",onTrigger:function(){e._state.change({isReplaceRevealed:!e._isReplaceVisible},!1),e._isReplaceVisible&&(e._replaceInput.width=F.B(e._findInput.domNode),e._replaceInput.inputBox.layout()),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="419px",this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(t),this._domNode.appendChild(i),this._resizeSash=new ie.a(this._domNode,this,{orientation:0}),this._resized=!1;var o=419;this._register(this._resizeSash.onDidStart(function(){o=F.B(e._domNode)})),this._register(this._resizeSash.onDidChange(function(t){e._resized=!0;var n=o+t.startX-t.currentX;if(!(n<419)){var i=n-Ve;n>(parseFloat(F.u(e._domNode).maxWidth)||0)||(e._domNode.style.width=n+"px",e._findInput.inputBox.width=i,e._isReplaceVisible&&(e._replaceInput.width=F.B(e._findInput.domNode)),e._findInput.inputBox.layout(),e._tryUpdateHeight())}})),this._register(this._resizeSash.onDidReset(function(){var t=F.B(e._domNode);if(!(t<419)){var n=419;e._resized&&419!==t||(n=e._codeEditor.getConfiguration().layoutInfo.width-28-e._codeEditor.getConfiguration().layoutInfo.minimapWidth-15,e._resized=!0);var i=n-Ve;e._domNode.style.width=n+"px",e._findInput.inputBox.width=i,e._isReplaceVisible&&(e._replaceInput.width=F.B(e._findInput.domNode)),e._findInput.inputBox.layout()}}))},t.prototype.updateAccessibilitySupport=function(){var e=this._codeEditor.getConfiguration().accessibilitySupport;this._findInput.setFocusInputOnOptionClick(2!==e)},t.ID="editor.contrib.findWidget",t}(j.a),Ye=function(e){function t(n){var i=e.call(this)||this;return i._opts=n,i._domNode=document.createElement("div"),i._domNode.className="monaco-checkbox",i._domNode.title=i._opts.title,i._domNode.tabIndex=0,i._checkbox=document.createElement("input"),i._checkbox.type="checkbox",i._checkbox.className="checkbox",i._checkbox.id="checkbox-"+t._COUNTER++,i._checkbox.tabIndex=-1,i._label=document.createElement("label"),i._label.className="label",i._label.htmlFor=i._checkbox.id,i._label.tabIndex=-1,i._domNode.appendChild(i._checkbox),i._domNode.appendChild(i._label),i._opts.parent.appendChild(i._domNode),i.onchange(i._checkbox,function(){i._opts.onChange()}),i}return Le(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},Object.defineProperty(t.prototype,"checked",{get:function(){return this._checkbox.checked},set:function(e){this._checkbox.checked=e},enumerable:!0,configurable:!0}),t.prototype.focus=function(){this._domNode.focus()},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}(j.a),Xe=function(e){function t(t){var n=e.call(this)||this;return n._opts=t,n._domNode=document.createElement("div"),n._domNode.title=n._opts.label,n._domNode.tabIndex=0,n._domNode.className="button "+n._opts.className,n._domNode.setAttribute("role","button"),n._domNode.setAttribute("aria-label",n._opts.label),n.onclick(n._domNode,function(e){n._opts.onTrigger(),e.preventDefault()}),n.onkeydown(n._domNode,function(e){if(e.equals(10)||e.equals(3))return n._opts.onTrigger(),void e.preventDefault();n._opts.onKeyDown&&n._opts.onKeyDown(e)}),n}return Le(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){F.R(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){F.R(this._domNode,e,t)},t}(j.a);Object(v.f)(function(e,t){var n=function(e,n){n&&t.addRule(".monaco-editor "+e+" { background-color: "+n+"; }")};n(".findMatch",e.getColor(m.t)),n(".currentFindMatch",e.getColor(m.r)),n(".findScope",e.getColor(m.v)),n(".find-widget",e.getColor(m.N));var i=e.getColor(m._48);i&&t.addRule(".monaco-editor .find-widget { box-shadow: 0 2px 8px "+i+"; }");var r=e.getColor(m.u);r&&t.addRule(".monaco-editor .findMatch { border: 1px "+("hc"===e.type?"dotted":"solid")+" "+r+"; box-sizing: border-box; }");var o=e.getColor(m.s);o&&t.addRule(".monaco-editor .currentFindMatch { border: 2px solid "+o+"; padding: 1px; box-sizing: border-box; }");var s=e.getColor(m.w);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 u=e.getColor(m.P);u&&t.addRule(".monaco-editor .find-widget { color: "+u+"; }");var c=e.getColor(m.R);c&&t.addRule(".monaco-editor .find-widget.no-results .matchesCount { color: "+c+"; }");var l=e.getColor(m.Q);if(l)t.addRule(".monaco-editor .find-widget .monaco-sash { background-color: "+l+"; width: 3px !important; margin-left: -4px;}");else{var d=e.getColor(m.O);d&&t.addRule(".monaco-editor .find-widget .monaco-sash { background-color: "+d+"; width: 3px !important; margin-left: -4px;}")}var h=e.getColor(m.V);h&&t.addRule(".monaco-editor .find-widget .monaco-checkbox .checkbox:checked + .label { border: 1px solid "+h.toString()+"; }");var f=e.getColor(m.U);f&&t.addRule(".monaco-editor .find-widget .monaco-checkbox .checkbox:checked + .label { background-color: "+f.toString()+"; }");var p=e.getColor(m.S);p&&t.addRule(".monaco-workbench .monaco-editor .find-widget .monaco-inputbox.synthetic-focus { outline-color: "+p+"; }")});var $e=n("44YW"),Je=n("yO/1"),Qe=n("JVO/"),et=n("NqM+"),tt=n("Cfmk"),nt=n("fAkY");t.getSelectionSearchString=at,n.d(t,"CommonFindController",function(){return ut}),n.d(t,"FindController",function(){return ct}),n.d(t,"StartFindAction",function(){return lt}),n.d(t,"StartFindWithSelectionAction",function(){return dt}),n.d(t,"MatchFindAction",function(){return ht}),n.d(t,"NextMatchFindAction",function(){return ft}),n.d(t,"NextMatchFindAction2",function(){return pt}),n.d(t,"PreviousMatchFindAction",function(){return gt}),n.d(t,"PreviousMatchFindAction2",function(){return mt}),n.d(t,"SelectionMatchFindAction",function(){return vt}),n.d(t,"NextSelectionMatchFindAction",function(){return _t}),n.d(t,"PreviousSelectionMatchFindAction",function(){return bt}),n.d(t,"StartFindReplaceAction",function(){return yt});var it=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),rt=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},ot=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},st=524288;function at(e){if(!e.hasModel())return null;var t=e.getSelection();if(t.startLineNumber===t.endLineNumber)if(t.isEmpty()){var n=e.getModel().getWordAtPosition(t.getStartPosition());if(n)return n.word}else if(e.getModel().getValueLengthInRange(t)e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._editor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()||this._state.change({searchScope:e},!0)}},t.prototype.setSearchString=function(e){this._state.isRegex&&(e=s.p(e)),this._state.change({searchString:e},!1)},t.prototype.highlightFindOptions=function(){},t.prototype._start=function(e){if(this.disposeModel(),this._editor.hasModel()){var t,n={isRevealed:!0};if(e.seedSearchStringFromSelection)(t=at(this._editor))&&(this._state.isRegex?n.searchString=s.p(t):n.searchString=t);if(!n.searchString&&e.seedSearchStringFromGlobalClipboard)(t=this.getGlobalBufferTerm())&&(n.searchString=t);if(e.forceRevealReplace?n.isReplaceRevealed=!0:this._findWidgetVisible.get()||(n.isReplaceRevealed=!1),e.updateSearchScope){var i=this._editor.getSelection();i.isEmpty()||(n.searchScope=i)}this._state.change(n,!1),this._model||(this._model=new R(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.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""},t.prototype.setGlobalBufferTerm=function(e){this._editor.getConfiguration().contribInfo.find.globalFindClipboard&&this._clipboardService&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)},t.ID="editor.contrib.findController",t=rt([ot(1,k.c),ot(2,tt.a),ot(3,$e.a)],t)}(o.a),ct=function(e){function t(t,n,i,r,o,s,a,u){var c=e.call(this,t,i,a,u)||this;return c._contextViewService=n,c._keybindingService=r,c._themeService=o,c._notificationService=s,c._widget=null,c._findOptionsWidget=null,c}return it(t,e),t.prototype._start=function(t){this._widget||this._createFindWidget(),!this._widget.getPosition()&&this._editor.getConfiguration().contribInfo.find.autoFindInSelection&&(t.updateSearchScope=!0),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 Ze(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new Q(this._editor,this._state,this._keybindingService,this._themeService))},t=rt([ot(1,Je.b),ot(2,k.c),ot(3,et.a),ot(4,v.c),ot(5,nt.a),ot(6,tt.a),ot(7,Object(Qe.d)($e.a))],t)}(ut),lt=function(e){function t(){return e.call(this,{id:A.StartFindAction,label:i.a("startFindAction","Find"),alias:"Find",precondition:void 0,kbOpts:{kbExpr:null,primary:2084,weight:100},menubarOpts:{menuId:14,group:"3_find",title:i.a({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}})||this}return it(t,e),t.prototype.run=function(e,t){var n=ut.get(t);n&&n.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:t.getConfiguration().contribInfo.find.globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1})},t}(a.b),dt=function(e){function t(){return e.call(this,{id:A.StartFindWithSelection,label:i.a("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})||this}return it(t,e),t.prototype.run=function(e,t){var n=ut.get(t);n&&(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:!0,seedSearchStringFromGlobalClipboard:!1,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1}),n.setGlobalBufferTerm(n.getState().searchString))},t}(a.b),ht=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return it(t,e),t.prototype.run=function(e,t){var n=ut.get(t);n&&!this._run(n)&&(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===n.getState().searchString.length&&t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1}),this._run(n))},t}(a.b),ft=function(e){function t(){return e.call(this,{id:A.NextMatchFindAction,label:i.a("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:{kbExpr:u.a.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100}})||this}return it(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t}(ht),pt=function(e){function t(){return e.call(this,{id:A.NextMatchFindAction,label:i.a("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:{kbExpr:k.a.and(u.a.focus,E),primary:3,weight:100}})||this}return it(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t}(ht),gt=function(e){function t(){return e.call(this,{id:A.PreviousMatchFindAction,label:i.a("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:{kbExpr:u.a.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100}})||this}return it(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(ht),mt=function(e){function t(){return e.call(this,{id:A.PreviousMatchFindAction,label:i.a("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:{kbExpr:k.a.and(u.a.focus,E),primary:1027,weight:100}})||this}return it(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(ht),vt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return it(t,e),t.prototype.run=function(e,t){var n=ut.get(t);if(n){var i=at(t);i&&n.setSearchString(i),this._run(n)||(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1}),this._run(n))}},t}(a.b),_t=function(e){function t(){return e.call(this,{id:A.NextSelectionMatchFindAction,label:i.a("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:u.a.focus,primary:2109,weight:100}})||this}return it(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t}(vt),bt=function(e){function t(){return e.call(this,{id:A.PreviousSelectionMatchFindAction,label:i.a("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:u.a.focus,primary:3133,weight:100}})||this}return it(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(vt),yt=function(e){function t(){return e.call(this,{id:A.StartFindReplaceAction,label:i.a("startReplace","Replace"),alias:"Replace",precondition:void 0,kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menubarOpts:{menuId:14,group:"3_find",title:i.a({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}})||this}return it(t,e),t.prototype.run=function(e,t){if(t.hasModel()&&!t.getConfiguration().readOnly){var n=ut.get(t),i=t.getSelection(),r=n.isFindInputFocused(),o=!i.isEmpty()&&i.startLineNumber===i.endLineNumber&&t.getConfiguration().contribInfo.find.seedSearchStringFromSelection&&!r,s=r||o?2:1;n&&n.start({forceRevealReplace:!0,seedSearchStringFromSelection:o,seedSearchStringFromGlobalClipboard:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,shouldFocus:s,shouldAnimate:!0,updateSearchScope:!1})}},t}(a.b);Object(a.h)(ct),Object(a.f)(lt),Object(a.f)(dt),Object(a.f)(ft),Object(a.f)(pt),Object(a.f)(gt),Object(a.f)(mt),Object(a.f)(_t),Object(a.f)(bt),Object(a.f)(yt);var wt=a.c.bindToContribution(ut.get);Object(a.g)(new wt({id:A.CloseFindWidgetCommand,precondition:N,handler:function(e){return e.closeFindWidget()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:9,secondary:[1033]}})),Object(a.g)(new wt({id:A.ToggleCaseSensitiveCommand,precondition:void 0,handler:function(e){return e.toggleCaseSensitive()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:D.primary,mac:D.mac,win:D.win,linux:D.linux}})),Object(a.g)(new wt({id:A.ToggleWholeWordCommand,precondition:void 0,handler:function(e){return e.toggleWholeWords()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:M.primary,mac:M.mac,win:M.win,linux:M.linux}})),Object(a.g)(new wt({id:A.ToggleRegexCommand,precondition:void 0,handler:function(e){return e.toggleRegex()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:T.primary,mac:T.mac,win:T.win,linux:T.linux}})),Object(a.g)(new wt({id:A.ToggleSearchScopeCommand,precondition:void 0,handler:function(e){return e.toggleSearchScope()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:P.primary,mac:P.mac,win:P.win,linux:P.linux}})),Object(a.g)(new wt({id:A.ReplaceOneAction,precondition:N,handler:function(e){return e.replace()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:3094}})),Object(a.g)(new wt({id:A.ReplaceOneAction,precondition:N,handler:function(e){return e.replace()},kbOpts:{weight:105,kbExpr:k.a.and(u.a.focus,I),primary:3}})),Object(a.g)(new wt({id:A.ReplaceAllAction,precondition:N,handler:function(e){return e.replaceAll()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:2563}})),Object(a.g)(new wt({id:A.ReplaceAllAction,precondition:N,handler:function(e){return e.replaceAll()},kbOpts:{weight:105,kbExpr:k.a.and(u.a.focus,I),primary:void 0,mac:{primary:2051}}})),Object(a.g)(new wt({id:A.SelectAllMatchesAction,precondition:N,handler:function(e){return e.selectAllMatches()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:515}}))},T1Vy:function(e,t){var n="[object Number]",i=Object.prototype.toString;e.exports=function(e){return"number"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&i.call(e)==n}},TNPA:function(e,t,n){"use strict";function i(e,t){var n=Math.pow(10,t);return Math.round(e*n)/n}n.d(t,"c",function(){return r}),n.d(t,"b",function(){return s}),n.d(t,"a",function(){return a});var r=function(){function e(e,t,n,r){void 0===r&&(r=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,n)),this.a=i(Math.max(Math.min(1,r),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}(),o=function(){function e(e,t,n,r){this.h=0|Math.max(Math.min(360,e),0),this.s=i(Math.max(Math.min(1,t),0),3),this.l=i(Math.max(Math.min(1,n),0),3),this.a=i(Math.max(Math.min(1,r),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 n=t.r/255,i=t.g/255,r=t.b/255,o=t.a,s=Math.max(n,i,r),a=Math.min(n,i,r),u=0,c=0,l=(a+s)/2,d=s-a;if(d>0){switch(c=Math.min(l<=.5?d/(2*l):d/(2-2*l),1),s){case n:u=(i-r)/d+(i1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e},e.toRGBA=function(t){var n,i,o,s=t.h/360,a=t.s,u=t.l,c=t.a;if(0===a)n=i=o=u;else{var l=u<.5?u*(1+a):u+a-u*a,d=2*u-l;n=e._hue2rgb(d,l,s+1/3),i=e._hue2rgb(d,l,s),o=e._hue2rgb(d,l,s-1/3)}return new r(Math.round(255*n),Math.round(255*i),Math.round(255*o),c)},e}(),s=function(){function e(e,t,n,r){this.h=0|Math.max(Math.min(360,e),0),this.s=i(Math.max(Math.min(1,t),0),3),this.v=i(Math.max(Math.min(1,n),0),3),this.a=i(Math.max(Math.min(1,r),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 n,i=t.r/255,r=t.g/255,o=t.b/255,s=Math.max(i,r,o),a=s-Math.min(i,r,o),u=0===s?0:a/s;return n=0===a?0:s===i?((r-o)/a%6+6)%6:s===r?(o-i)/a+2:(i-r)/a+4,new e(Math.round(60*n),u,s,t.a)},e.toRGBA=function(e){var t=e.h,n=e.s,i=e.v,o=e.a,s=i*n,a=s*(1-Math.abs(t/60%2-1)),u=i-s,c=[0,0,0],l=c[0],d=c[1],h=c[2];return t<60?(l=s,d=a):t<120?(l=a,d=s):t<180?(d=s,h=a):t<240?(d=a,h=s):t<300?(l=a,h=s):t<360&&(l=s,h=a),l=Math.round(255*(l+u)),d=Math.round(255*(d+u)),h=Math.round(255*(h+u)),new r(l,d,h,o)},e}(),a=function(){function e(e){if(!e)throw new Error("Color needs a value");if(e instanceof r)this.rgba=e;else if(e instanceof o)this._hsla=e,this.rgba=o.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:o.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&&r.equals(this.rgba,e.rgba)&&o.equals(this.hsla,e.hsla)&&s.equals(this.hsva,e.hsva)},e.prototype.getRelativeLuminance=function(){return i(.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()-1&&e%1==0&&e-1&&e%1==0&&e<=i}(e.length)&&!function(e){var t=M(e)?S.call(e):"";return t==a||t==u}(e)}function M(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function T(e){return!!e&&"object"==typeof e}e.exports=function(e,t,i,s){var a;e=D(e)?e:(a=e)?_(a,function(e){return D(e)?k(e):N(e)}(a)):[],i=i&&!s?function(e){var t=function(e){if(!e)return 0===e?e:0;if((e=function(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||T(e)&&S.call(e)==l}(e))return o;if(M(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=M(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(d,"");var n=f.test(e);return n||p.test(e)?m(e.slice(2),n?2:8):h.test(e)?o:+e}(e))===n||e===-n){var t=e<0?-1:1;return t*r}return e==e?e:0}(e),i=t%1;return t==t?i?t-i:t:0}(i):0;var u=e.length;return i<0&&(i=O(u+i,0)),function(e){return"string"==typeof e||!I(e)&&T(e)&&S.call(e)==c}(e)?i<=u&&e.indexOf(t,i)>-1:!!u&&function(e,t,n){if(t!=t)return function(e,t,n,i){for(var r=e.length,o=n+(i?1:-1);i?o--:++o-1}},TU7t:function(e,t,n){"use strict";t.c=function e(t){if(!t||"object"!=typeof t)return t;if(t instanceof RegExp)return t;var n=Array.isArray(t)?[]:{};Object.keys(t).forEach(function(i){t[i]&&"object"==typeof t[i]?n[i]=e(t[i]):n[i]=t[i]});return n},t.d=function(e){if(!e||"object"!=typeof e)return e;var t=[e];for(;t.length>0;){var n=t.shift();for(var i in Object.freeze(n),n)if(r.call(n,i)){var o=n[i];"object"!=typeof o||Object.isFrozen(o)||t.push(o)}}return e},t.b=function(e,t){return function e(t,n,o){if(Object(i.k)(t))return t;var s=n(t);if(void 0!==s)return s;if(Object(i.c)(t)){for(var a=[],u=0,c=t;u console.log` because `log` has been completed recently."),r.a("suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],default:"recentlyUsed",description:r.a("suggestSelection","Controls how suggestions are pre-selected when showing the suggest list.")},"editor.suggestFontSize":{type:"integer",default:0,minimum:0,markdownDescription:r.a("suggestFontSize","Font size for the suggest widget. When set to `0`, the value of `#editor.fontSize#` is used.")},"editor.suggestLineHeight":{type:"integer",default:0,minimum:0,markdownDescription:r.a("suggestLineHeight","Line height for the suggest widget. When set to `0`, the value of `#editor.lineHeight#` is used.")},"editor.tabCompletion":{type:"string",default:"off",enum:["on","off","onlySnippets"],enumDescriptions:[r.a("tabCompletion.on","Tab complete will insert the best matching suggestion when pressing tab."),r.a("tabCompletion.off","Disable tab completions."),r.a("tabCompletion.onlySnippets","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:r.a("tabCompletion","Enables tab completions.")},"editor.suggest.filterGraceful":{type:"boolean",default:!0,description:r.a("suggest.filterGraceful","Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:!1,description:r.a("suggest.localityBonus","Controls whether sorting favours words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:!1,markdownDescription:r.a("suggest.shareSuggestSelections","Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:!0,description:r.a("suggest.snippetsPreventQuickSuggestions","Control whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:g.contribInfo.suggest.showIcons,description:r.a("suggest.showIcons","Controls whether to show or hide icons in suggestions.")},"editor.suggest.maxVisibleSuggestions":{type:"number",default:g.contribInfo.suggest.maxVisibleSuggestions,minimum:1,maximum:15,description:r.a("suggest.maxVisibleSuggestions","Controls how many suggestions IntelliSense will show before showing a scrollbar (maximum 15).")},"editor.suggest.filteredTypes":{type:"object",default:{keyword:!0,snippet:!0},markdownDescription:r.a("suggest.filtered","Controls whether some suggestion types should be filtered from IntelliSense. A list of suggestion types can be found here: https://code.visualstudio.com/docs/editor/intellisense#_types-of-completions."),properties:{method:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.method","When set to `false` IntelliSense never shows `method` suggestions.")},function:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.function","When set to `false` IntelliSense never shows `function` suggestions.")},constructor:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.constructor","When set to `false` IntelliSense never shows `constructor` suggestions.")},field:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.field","When set to `false` IntelliSense never shows `field` suggestions.")},variable:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.variable","When set to `false` IntelliSense never shows `variable` suggestions.")},class:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.class","When set to `false` IntelliSense never shows `class` suggestions.")},struct:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.struct","When set to `false` IntelliSense never shows `struct` suggestions.")},interface:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.interface","When set to `false` IntelliSense never shows `interface` suggestions.")},module:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.module","When set to `false` IntelliSense never shows `module` suggestions.")},property:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.property","When set to `false` IntelliSense never shows `property` suggestions.")},event:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.event","When set to `false` IntelliSense never shows `event` suggestions.")},operator:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.operator","When set to `false` IntelliSense never shows `operator` suggestions.")},unit:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.unit","When set to `false` IntelliSense never shows `unit` suggestions.")},value:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.value","When set to `false` IntelliSense never shows `value` suggestions.")},constant:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.constant","When set to `false` IntelliSense never shows `constant` suggestions.")},enum:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.enum","When set to `false` IntelliSense never shows `enum` suggestions.")},enumMember:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.enumMember","When set to `false` IntelliSense never shows `enumMember` suggestions.")},keyword:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.keyword","When set to `false` IntelliSense never shows `keyword` suggestions.")},text:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.text","When set to `false` IntelliSense never shows `text` suggestions.")},color:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.color","When set to `false` IntelliSense never shows `color` suggestions.")},file:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.file","When set to `false` IntelliSense never shows `file` suggestions.")},reference:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.reference","When set to `false` IntelliSense never shows `reference` suggestions.")},customcolor:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.customcolor","When set to `false` IntelliSense never shows `customcolor` suggestions.")},folder:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.folder","When set to `false` IntelliSense never shows `folder` suggestions.")},typeParameter:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.typeParameter","When set to `false` IntelliSense never shows `typeParameter` suggestions.")},snippet:{type:"boolean",default:!0,markdownDescription:r.a("suggest.filtered.snippet","When set to `false` IntelliSense never shows `snippet` suggestions.")}}},"editor.gotoLocation.multiple":{description:r.a("editor.gotoLocation.multiple","Controls the behavior of 'Go To' commands, like Go To Definition, when multiple target locations exist."),type:"string",enum:["peek","gotoAndPeek","goto"],default:g.contribInfo.gotoLocation.multiple,enumDescriptions:[r.a("editor.gotoLocation.multiple.peek","Show peek view of the results (default)"),r.a("editor.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a peek view"),r.a("editor.gotoLocation.multiple.goto","Go to the primary result and enable peek-less navigation to others")]},"editor.selectionHighlight":{type:"boolean",default:g.contribInfo.selectionHighlight,description:r.a("selectionHighlight","Controls whether the editor should highlight matches similar to the selection.")},"editor.occurrencesHighlight":{type:"boolean",default:g.contribInfo.occurrencesHighlight,description:r.a("occurrencesHighlight","Controls whether the editor should highlight semantic symbol occurrences.")},"editor.overviewRulerLanes":{type:"integer",default:3,description:r.a("overviewRulerLanes","Controls the number of decorations that can show up at the same position in the overview ruler.")},"editor.overviewRulerBorder":{type:"boolean",default:g.viewInfo.overviewRulerBorder,description:r.a("overviewRulerBorder","Controls whether a border should be drawn around the overview ruler.")},"editor.cursorBlinking":{type:"string",enum:["blink","smooth","phase","expand","solid"],default:c.h(g.viewInfo.cursorBlinking),description:r.a("cursorBlinking","Control the cursor animation style.")},"editor.mouseWheelZoom":{type:"boolean",default:g.viewInfo.mouseWheelZoom,markdownDescription:r.a("mouseWheelZoom","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")},"editor.cursorSmoothCaretAnimation":{type:"boolean",default:g.viewInfo.cursorSmoothCaretAnimation,description:r.a("cursorSmoothCaretAnimation","Controls whether the smooth caret animation should be enabled.")},"editor.cursorStyle":{type:"string",enum:["block","block-outline","line","line-thin","underline","underline-thin"],default:c.i(g.viewInfo.cursorStyle),description:r.a("cursorStyle","Controls the cursor style.")},"editor.cursorWidth":{type:"integer",default:g.viewInfo.cursorWidth,markdownDescription:r.a("cursorWidth","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")},"editor.fontLigatures":{type:"boolean",default:g.viewInfo.fontLigatures,description:r.a("fontLigatures","Enables/Disables font ligatures.")},"editor.hideCursorInOverviewRuler":{type:"boolean",default:g.viewInfo.hideCursorInOverviewRuler,description:r.a("hideCursorInOverviewRuler","Controls whether the cursor should be hidden in the overview ruler.")},"editor.renderWhitespace":{type:"string",enum:["none","boundary","selection","all"],enumDescriptions:["",r.a("renderWhitespace.boundary","Render whitespace characters except for single spaces between words."),r.a("renderWhitespace.selection","Render whitespace characters only on selected text."),""],default:g.viewInfo.renderWhitespace,description:r.a("renderWhitespace","Controls how the editor should render whitespace characters.")},"editor.renderControlCharacters":{type:"boolean",default:g.viewInfo.renderControlCharacters,description:r.a("renderControlCharacters","Controls whether the editor should render control characters.")},"editor.renderIndentGuides":{type:"boolean",default:g.viewInfo.renderIndentGuides,description:r.a("renderIndentGuides","Controls whether the editor should render indent guides.")},"editor.highlightActiveIndentGuide":{type:"boolean",default:g.viewInfo.highlightActiveIndentGuide,description:r.a("highlightActiveIndentGuide","Controls whether the editor should highlight the active indent guide.")},"editor.renderLineHighlight":{type:"string",enum:["none","gutter","line","all"],enumDescriptions:["","","",r.a("renderLineHighlight.all","Highlights both the gutter and the current line.")],default:g.viewInfo.renderLineHighlight,description:r.a("renderLineHighlight","Controls how the editor should render the current line highlight.")},"editor.codeLens":{type:"boolean",default:g.contribInfo.codeLens,description:r.a("codeLens","Controls whether the editor shows CodeLens.")},"editor.folding":{type:"boolean",default:g.contribInfo.folding,description:r.a("folding","Controls whether the editor has code folding enabled.")},"editor.foldingStrategy":{type:"string",enum:["auto","indentation"],default:g.contribInfo.foldingStrategy,markdownDescription:r.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:g.contribInfo.showFoldingControls,description:r.a("showFoldingControls","Controls whether the fold controls on the gutter are automatically hidden.")},"editor.matchBrackets":{type:"boolean",default:g.contribInfo.matchBrackets,description:r.a("matchBrackets","Highlight matching brackets when one of them is selected.")},"editor.glyphMargin":{type:"boolean",default:g.viewInfo.glyphMargin,description:r.a("glyphMargin","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")},"editor.useTabStops":{type:"boolean",default:g.useTabStops,description:r.a("useTabStops","Inserting and deleting whitespace follows tab stops.")},"editor.trimAutoWhitespace":{type:"boolean",default:v.trimAutoWhitespace,description:r.a("trimAutoWhitespace","Remove trailing auto inserted whitespace.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:r.a("stablePeek","Keep peek editors open even when double clicking their content or when hitting `Escape`.")},"editor.dragAndDrop":{type:"boolean",default:g.dragAndDrop,description:r.a("dragAndDrop","Controls whether the editor should allow moving selections via drag and drop.")},"editor.accessibilitySupport":{type:"string",enum:["auto","on","off"],enumDescriptions:[r.a("accessibilitySupport.auto","The editor will use platform APIs to detect when a Screen Reader is attached."),r.a("accessibilitySupport.on","The editor will be permanently optimized for usage with a Screen Reader."),r.a("accessibilitySupport.off","The editor will never be optimized for usage with a Screen Reader.")],default:g.accessibilitySupport,description:r.a("accessibilitySupport","Controls whether the editor should run in a mode where it is optimized for screen readers.")},"editor.showUnused":{type:"boolean",default:g.showUnused,description:r.a("showUnused","Controls fading out of unused code.")},"editor.links":{type:"boolean",default:g.contribInfo.links,description:r.a("links","Controls whether the editor should detect links and make them clickable.")},"editor.colorDecorators":{type:"boolean",default:g.contribInfo.colorDecorators,description:r.a("colorDecorators","Controls whether the editor should render the inline color decorators and color picker.")},"editor.lightbulb.enabled":{type:"boolean",default:g.contribInfo.lightbulbEnabled,description:r.a("codeActions","Enables the code action lightbulb in the editor.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:r.a("maxTokenizationLineLength","Lines above this length will not be tokenized for performance reasons")},"editor.codeActionsOnSave":{type:"object",properties:{"source.organizeImports":{type:"boolean",description:r.a("codeActionsOnSave.organizeImports","Controls whether organize imports action should be run on file save.")},"source.fixAll":{type:"boolean",description:r.a("codeActionsOnSave.fixAll","Controls whether auto fix action should be run on file save.")}},additionalProperties:{type:"boolean"},default:g.contribInfo.codeActionsOnSave,description:r.a("codeActionsOnSave","Code action kinds to be run on save.")},"editor.codeActionsOnSaveTimeout":{type:"number",default:g.contribInfo.codeActionsOnSaveTimeout,description:r.a("codeActionsOnSaveTimeout","Timeout in milliseconds after which the code actions that are run on save are cancelled.")},"editor.selectionClipboard":{type:"boolean",default:g.contribInfo.selectionClipboard,description:r.a("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:u.c},"diffEditor.renderSideBySide":{type:"boolean",default:!0,description:r.a("sideBySide","Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:!0,description:r.a("ignoreTrimWhitespace","Controls whether the diff editor shows changes in leading or trailing whitespace as diffs.")},"editor.largeFileOptimizations":{type:"boolean",default:v.largeFileOptimizations,description:r.a("largeFileOptimizations","Special handling for large files to disable certain memory intensive features.")},"diffEditor.renderIndicators":{type:"boolean",default:!0,description:r.a("renderIndicators","Controls whether the diff editor shows +/- indicators for added/removed changes.")}}},S=null;function x(){return null===S&&(S=Object.create(null),Object.keys(C.properties).forEach(function(e){S[e]=!0})),S}w.registerConfiguration(C)},TkWM:function(e,t,n){"use strict";var i=t,r=n("geuY"),o=n("08Lv"),s=n("tpuU");i.assert=o,i.toArray=s.toArray,i.zero2=s.zero2,i.toHex=s.toHex,i.encode=s.encode,i.getNAF=function(e,t){for(var n=[],i=1<=0;){var o;if(r.isOdd()){var s=r.andln(i-1);o=s>(i>>1)-1?(i>>1)-s:s,r.isubn(o)}else o=0;n.push(o);for(var a=0!==r.cmpn(0)&&0===r.andln(i-1)?t+1:1,u=1;u0||t.cmpn(-r)>0;){var o,s,a,u=e.andln(3)+i&3,c=t.andln(3)+r&3;3===u&&(u=-1),3===c&&(c=-1),o=0==(1&u)?0:3!=(a=e.andln(7)+i&7)&&5!==a||2!==c?u:-u,n[0].push(o),s=0==(1&c)?0:3!=(a=t.andln(7)+r&7)&&5!==a||2!==u?c:-c,n[1].push(s),2*i===o+1&&(i=1-i),2*r===s+1&&(r=1-r),e.iushrn(1),t.iushrn(1)}return n},i.cachedProperty=function(e,t,n){var i="_"+t;e.prototype[t]=function(){return void 0!==this[i]?this[i]:this[i]=n.call(this)}},i.parseBytes=function(e){return"string"==typeof e?i.toArray(e,"hex"):e},i.intFromLE=function(e){return new r(e,"hex","le")}},TlQ3:function(e,t,n){var i=n("EarI");e.exports=function(e,t){var n=t||Math.floor(Date.now()/1e3);if("string"==typeof e){var r=i(e);if(void 0===r)return;return Math.floor(n+r/1e3)}return"number"==typeof e?n+e:void 0}},TnCn:function(e,t,n){var i=t;i._reverse=function(e){var t={};return Object.keys(e).forEach(function(n){(0|n)==n&&(n|=0);var i=e[n];t[i]=n}),t},i.der=n("C1C2")},U6yG:function(e,t){t.encrypt=function(e,t){return e._cipher.encryptBlock(t)},t.decrypt=function(e,t){return e._cipher.decryptBlock(t)}},UBa7:function(e,t){t["des-ecb"]={key:8,iv:0},t["des-cbc"]=t.des={key:8,iv:8},t["des-ede3-cbc"]=t.des3={key:24,iv:8},t["des-ede3"]={key:24,iv:0},t["des-ede-cbc"]={key:16,iv:8},t["des-ede"]={key:16,iv:0}},UHZ4:function(e,t,n){"use strict";var i=n("lAcG"),r=n("Kp7x"),o=n("tqet"),s=n("ZfGv"),a=function(){function e(e,t){this.chr=e,this.type=t,this.width=0}return e.prototype.fulfill=function(e){this.width=e},e}(),u=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 n=document.createElement("div");n.style.fontFamily=this._bareFontInfo.getMassagedFontFamily(),n.style.fontWeight=this._bareFontInfo.fontWeight,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.getMassagedFontFamily(),i.style.fontWeight="bold",i.style.fontSize=this._bareFontInfo.fontSize+"px",i.style.lineHeight=this._bareFontInfo.lineHeight+"px",i.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",t.appendChild(i);var r=document.createElement("div");r.style.fontFamily=this._bareFontInfo.getMassagedFontFamily(),r.style.fontWeight=this._bareFontInfo.fontWeight,r.style.fontSize=this._bareFontInfo.fontSize+"px",r.style.lineHeight=this._bareFontInfo.lineHeight+"px",r.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",r.style.fontStyle="italic",t.appendChild(r);for(var o=[],s=0,a=this._requests.length;s.001){C=!1;break}}var k=!0;C&&y.width!==S&&(k=!1),y.width>b.width&&(k=!1);var N=i.b()>2e3;return new f.b({zoomLevel:i.c(),fontFamily:e.fontFamily,fontWeight:e.fontWeight,fontSize:e.fontSize,lineHeight:e.lineHeight,letterSpacing:e.letterSpacing,isMonospace:C,typicalHalfwidthCharacterWidth:r.width,typicalFullwidthCharacterWidth:o.width,canUseHalfwidthRightwardsArrow:k,spaceWidth:s.width,maxDigitWidth:w},N)},t.INSTANCE=new t,t}(o.a),v=function(e){function t(t,n,r,o){void 0===r&&(r=null);var s=e.call(this,t,n)||this;return s.accessibilityService=o,s._elementSizeObserver=s._register(new d(r,function(){return s._onReferenceDomElementSizeChanged()})),s._register(m.INSTANCE.onDidChange(function(){return s._onCSSBasedConfigurationChanged()})),s._validatedOptions.automaticLayout&&s._elementSizeObserver.startObserving(),s._register(i.o(function(e){return s._recomputeOptions()})),s._register(s.accessibilityService.onDidChangeAccessibilitySupport(function(){return s._recomputeOptions()})),s._recomputeOptions(),s}return p(t,e),t.applyFontInfoSlow=function(e,t){e.style.fontFamily=t.getMassagedFontFamily(),e.style.fontWeight=t.fontWeight,e.style.fontSize=t.fontSize+"px",e.style.lineHeight=t.lineHeight+"px",e.style.letterSpacing=t.letterSpacing+"px"},t.applyFontInfo=function(e,t){e.setFontFamily(t.getMassagedFontFamily()),e.setFontWeight(t.fontWeight),e.setFontSize(t.fontSize),e.setLineHeight(t.lineHeight),e.setLetterSpacing(t.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 i.l||i.n||(e+="no-user-select "),s.d&&(e+="mac "),e},t.prototype._getEnvConfiguration=function(){return{extraEditorClassName:this._getExtraEditorClassName(),outerWidth:this._elementSizeObserver.getWidth(),outerHeight:this._elementSizeObserver.getHeight(),emptySelectionClipboard:i.m||i.i,pixelRatio:i.a(),zoomLevel:i.c(),accessibilitySupport:this.accessibilityService.getAccessibilitySupport()}},t.prototype.readConfiguration=function(e){return m.INSTANCE.readConfiguration(e)},t}(h.a)},UMuV:function(e,t,n){"use strict";t.b=function(e,t){var n=new o.b(t);return n.preventDefault(),{leftButton:n.leftButton,posx:n.posx,posy:n.posy}},n.d(t,"a",function(){return a});var i=n("7/Cv"),r=n("Crnc"),o=n("b1X/"),s=n("tqet");var a=function(){function e(){this.hooks=new s.b,this.mouseMoveEventMerger=null,this.mouseMoveCallback=null,this.onStopCallback=null}return e.prototype.dispose=function(){this.stopMonitoring(!1),this.hooks.dispose()},e.prototype.stopMonitoring=function(e){if(this.isMonitoring()){this.hooks.clear(),this.mouseMoveEventMerger=null,this.mouseMoveCallback=null;var t=this.onStopCallback;this.onStopCallback=null,e&&t&&t()}},e.prototype.isMonitoring=function(){return!!this.mouseMoveEventMerger},e.prototype.startMonitoring=function(e,t,n){var s=this;if(!this.isMonitoring()){this.mouseMoveEventMerger=e,this.mouseMoveCallback=t,this.onStopCallback=n;for(var a=r.a.getSameOriginWindowChain(),u=0,c=a;u>>0,0),t.writeUInt32BE(e[1]>>>0,4),t.writeUInt32BE(e[2]>>>0,8),t.writeUInt32BE(e[3]>>>0,12),t}function s(e){this.h=e,this.state=i.alloc(16,0),this.cache=i.allocUnsafe(0)}s.prototype.ghash=function(e){for(var t=-1;++t0;t--)i[t]=i[t]>>>1|(1&i[t-1])<<31;i[0]=i[0]>>>1,n&&(i[0]=i[0]^225<<24)}this.state=o(r)},s.prototype.update=function(e){var t;for(this.cache=i.concat([this.cache,e]);this.cache.length>=16;)t=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(t)},s.prototype.final=function(e,t){return this.cache.length&&this.ghash(i.concat([this.cache,r],16)),this.ghash(o([0,e,0,t])),this.state},e.exports=s},UcPO:function(e,t,n){e.exports=n("vzCy").EventEmitter},Uf3U:function(e,t,n){"use strict";n.d(t,"a",function(){return c});var i,r=n("7/Cv"),o=n("gzF+"),s=n("b1X/"),a=n("tqet"),u=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return u(t,e),t.prototype.onclick=function(e,t){this._register(r.h(e,r.d.CLICK,function(e){return t(new s.b(e))}))},t.prototype.onmousedown=function(e,t){this._register(r.h(e,r.d.MOUSE_DOWN,function(e){return t(new s.b(e))}))},t.prototype.onmouseover=function(e,t){this._register(r.h(e,r.d.MOUSE_OVER,function(e){return t(new s.b(e))}))},t.prototype.onnonbubblingmouseout=function(e,t){this._register(r.i(e,function(e){return t(new s.b(e))}))},t.prototype.onkeydown=function(e,t){this._register(r.h(e,r.d.KEY_DOWN,function(e){return t(new o.a(e))}))},t.prototype.onkeyup=function(e,t){this._register(r.h(e,r.d.KEY_UP,function(e){return t(new o.a(e))}))},t.prototype.oninput=function(e,t){this._register(r.h(e,r.d.INPUT,t))},t.prototype.onblur=function(e,t){this._register(r.h(e,r.d.BLUR,t))},t.prototype.onfocus=function(e,t){this._register(r.h(e,r.d.FOCUS,t))},t.prototype.onchange=function(e,t){this._register(r.h(e,r.d.CHANGE,t))},t}(a.a)},Uj3s:function(e,t,n){(function(t){var i=n("6S2P");e.exports=i.satisfies(t.version,"^6.12.0 || >=8.0.0")}).call(t,n("W2nU"))},UqCF:function(e,t,n){"use strict";t.b=function(e){(i=document.createElement("div")).className="monaco-aria-container",(r=document.createElement("div")).className="monaco-alert",r.setAttribute("role","alert"),r.setAttribute("aria-atomic","true"),i.appendChild(r),(o=document.createElement("div")).className="monaco-status",o.setAttribute("role","status"),o.setAttribute("aria-atomic","true"),i.appendChild(o),e.appendChild(i)},t.a=l,t.c=function(e,t){u.d?l(e,t):f(o,e,t)};var i,r,o,s=n("KL86"),a=(n.n(s),n("hK2W")),u=n("ZfGv"),c=n("7/Cv");function l(e,t){f(r,e,t)}var d=0,h=void 0;function f(e,t,n){if(i){if(!n)switch(h===t?d++:(h=t,d=0),d){case 0:break;case 1:t=a.a("repeated","{0} (occurred again)",t);break;default:t=a.a("repeatedNtimes","{0} (occurred {1} times)",t,d)}c.p(e),e.textContent=t,e.style.visibility="hidden",e.style.visibility="visible"}}},UuCV:function(e,t,n){"use strict";var i=n("zxiH"),r=n("aL7J"),o=n("Ao9X"),s=n("ll3Y"),a=n("vTy2"),u=n("iHM7"),c=function(){function e(e,t,n){this._range=e,this._charBeforeSelection=t,this._charAfterSelection=n}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(new a.a(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),t.addTrackedEditOperation(new a.a(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations(),i=n[0].range,r=n[1].range;return new u.a(i.endLineNumber,i.endColumn,r.endLineNumber,r.endColumn-this._charAfterSelection.length)},e}(),l=n("6boo"),d=n("BwcV"),h=n("+oh4"),f=n("Fllr");n.d(t,"a",function(){return m}),n.d(t,"b",function(){return v});var p,g=this&&this.__extends||(p=function(e,t){return(p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}p(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),m=function(){function e(){}return e.indent=function(e,t,n){if(null===t||null===n)return[];for(var i=[],r=0,o=n.length;r1){var c=void 0;for(c=i-1;c>=1;c--){var l=n.getLineContent(c);if(r.A(l)>=0)break}if(c<1)return null;var d=n.getLineMaxColumn(c),p=f.a.getEnterAction(n,new a.a(c,d,c,d));p&&(s=p.indentation,(o=p.enterAction)&&(s+=o.appendText))}return o&&(o===h.a.Indent&&(s=e.shiftIndent(t,s)),o===h.a.Outdent&&(s=e.unshiftIndent(t,s)),s=t.normalizeIndentation(s)),s||null},e._replaceJumpToNextIndent=function(e,t,n,i){var r="",s=n.getStartPosition();if(e.insertSpaces)for(var a=l.a.visibleColumnFromColumn2(e,t,s),u=e.indentSize,c=u-a%u,d=0;d=0?s.setEndPosition(s.endLineNumber,Math.max(s.endColumn,E+1)):s.setEndPosition(s.endLineNumber,n.getLineMaxColumn(s.endLineNumber)),i)return new o.d(s,k+t.normalizeIndentation(C.afterEnter),!0);var I=0;return O<=E+1&&(t.insertSpaces||(L=Math.ceil(L/t.indentSize)),I=Math.min(L+1-t.normalizeIndentation(C.afterEnter).length-1,0)),new o.c(s,k+t.normalizeIndentation(C.afterEnter),0,I,!0)}return e._typeCommand(s,"\n"+t.normalizeIndentation(x),i)},e._isAutoIndentType=function(e,t,n){if(!e.autoIndent)return!1;for(var i=0,r=n.length;io.open.length){for(var l=!0,d=0,h=n;dv.column-1){var b=_.charAt(v.column-1);if(!e._isBeforeClosingBrace(t,c,b)&&!h(b))return null}if(!n.isCheapToTokenize(v.lineNumber))return null;if(1===c.open.length&&a&&"always"!==u){var y=Object(d.a)(t.wordSeparators);if(s&&v.column>1&&0===y.get(_.charCodeAt(v.column-2)))return null;if(!s&&v.column>2&&0===y.get(_.charCodeAt(v.column-3)))return null}n.forceTokenization(v.lineNumber);var w=n.getLineTokens(v.lineNumber),C=!1;try{C=f.a.shouldAutoClosePair(c,w,s?v.column:v.column-1)}catch(e){Object(i.e)(e)}if(!C)return null}return c},e._runAutoClosingOpenCharType=function(e,t,n,i,r,o,s){for(var a=[],u=0,c=i.length;u ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:m,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading| {0,3}>|<\/?(?:tag)(?: +|\n|\/?>)|<(?:script|pre|style|!--))[^\n]+)*)/,text:/^[^\n]+/};function n(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||w.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{1,9}\.)/,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=//,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=v({},t),t.gfm=v({},t.normal,{fences:/^ {0,3}(`{3,}|~{3,})([^`\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\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=v({},t.gfm,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),t.pedantic=v({},t.normal,{html:h("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\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:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/}),n.rules=t,n.lex=function(e,t){return new n(t).lex(e)},n.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)},n.prototype.token=function(e,n){var i,r,o,s,a,u,c,l,d,h,f,p,g,m,v,y;for(e=e.replace(/^ +$/gm,"");e;)if((o=this.rules.newline.exec(e))&&(e=e.substring(o[0].length),o[0].length>1&&this.tokens.push({type:"space"})),o=this.rules.code.exec(e))e=e.substring(o[0].length),o=o[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?o:b(o,"\n")});else if(o=this.rules.fences.exec(e))e=e.substring(o[0].length),this.tokens.push({type:"code",lang:o[2]?o[2].trim():o[2],text:o[3]||""});else if(o=this.rules.heading.exec(e))e=e.substring(o[0].length),this.tokens.push({type:"heading",depth:o[1].length,text:o[2]});else if((o=this.rules.nptable.exec(e))&&(u={type:"table",header:_(o[1].replace(/^ *| *\| *$/g,"")),align:o[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:o[3]?o[3].replace(/\n$/,"").split("\n"):[]}).header.length===u.align.length){for(e=e.substring(o[0].length),f=0;f ?/gm,""),this.token(o,n),this.tokens.push({type:"blockquote_end"});else if(o=this.rules.list.exec(e)){for(e=e.substring(o[0].length),c={type:"list_start",ordered:m=(s=o[2]).length>1,start:m?+s:"",loose:!1},this.tokens.push(c),l=[],i=!1,g=(o=o[0].match(this.rules.item)).length,f=0;f1?1===a.length:a.length>1||this.options.smartLists&&a!==s)&&(e=o.slice(f+1).join("\n")+e,f=g-1)),r=i||/\n\n(?!\s*$)/.test(u),f!==g-1&&(i="\n"===u.charAt(u.length-1),r||(r=i)),r&&(c.loose=!0),y=void 0,(v=/^\[[ xX]\] /.test(u))&&(y=" "!==u[1],u=u.replace(/^\[[ xX]\] +/,"")),d={type:"list_item_start",task:v,checked:y,loose:r},l.push(d),this.tokens.push(d),this.token(u,!1),this.tokens.push({type:"list_item_end"});if(c.loose)for(g=l.length,f=0;f?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:m,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\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_])_(?!_|[^\spunctuation])|^_([^\s_][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s"<\[][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:m,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~",r.em=h(r.em).replace(/punctuation/g,r._punctuation).getRegex(),r._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,r._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,r._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])?)+(?![-_])/,r.autolink=h(r.autolink).replace("scheme",r._scheme).replace("email",r._email).getRegex(),r._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,r.tag=h(r.tag).replace("comment",t._comment).replace("attribute",r._attribute).getRegex(),r._label=/(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|`(?!`)|[^\[\]\\`])*?/,r._href=/\s*(<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*)/,r._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,r.link=h(r.link).replace("label",r._label).replace("href",r._href).replace("title",r._title).getRegex(),r.reflink=h(r.reflink).replace("label",r._label).getRegex(),r.normal=v({},r),r.pedantic=v({},r.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:h(/^!?\[(label)\]\((.*?)\)/).replace("label",r._label).getRegex(),reflink:h(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",r._label).getRegex()}),r.gfm=v({},r.normal,{escape:h(r.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\/i.test(s[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(s[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(s[0])&&(this.inRawBlock=!1),e=e.substring(s[0].length),u+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(s[0]):l(s[0]):s[0];else if(s=this.rules.link.exec(e)){var c=y(s[2],"()");if(c>-1){var d=s[0].length-(s[2].length-c)-(s[3]||"").length;s[2]=s[2].substring(0,c),s[0]=s[0].substring(0,d).trim(),s[3]=""}e=e.substring(s[0].length),this.inLink=!0,i=s[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i))?(i=t[1],r=t[3]):r="":r=s[3]?s[3].slice(1,-1):"",i=i.trim().replace(/^<([\s\S]*)>$/,"$1"),u+=this.outputLink(s,{href:o.escapes(i),title:o.escapes(r)}),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){u+=s[0].charAt(0),e=s[0].substring(1)+e;continue}this.inLink=!0,u+=this.outputLink(s,t),this.inLink=!1}else if(s=this.rules.strong.exec(e))e=e.substring(s[0].length),u+=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),u+=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),u+=this.renderer.codespan(l(s[2].trim(),!0));else if(s=this.rules.br.exec(e))e=e.substring(s[0].length),u+=this.renderer.br();else if(s=this.rules.del.exec(e))e=e.substring(s[0].length),u+=this.renderer.del(this.output(s[1]));else if(s=this.rules.autolink.exec(e))e=e.substring(s[0].length),i="@"===s[2]?"mailto:"+(n=l(this.mangle(s[1]))):n=l(s[1]),u+=this.renderer.link(i,null,n);else if(this.inLink||!(s=this.rules.url.exec(e))){if(s=this.rules.text.exec(e))e=e.substring(s[0].length),this.inRawBlock?u+=this.renderer.text(s[0]):u+=this.renderer.text(l(this.smartypants(s[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===s[2])i="mailto:"+(n=l(s[0]));else{do{a=s[0],s[0]=this.rules._backpedal.exec(s[0])[0]}while(a!==s[0]);n=l(s[0]),i="www."===s[1]?"http://"+n:n}e=e.substring(s[0].length),u+=this.renderer.link(i,null,n)}return u},o.escapes=function(e){return e?e.replace(o.rules._escapes,"$1"):e},o.prototype.outputLink=function(e,t){var n=t.href,i=t.title?l(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,i,this.output(e[1])):this.renderer.image(n,i,l(e[1]))},o.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},o.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",i=e.length,r=0;r.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},s.prototype.code=function(e,t,n){var i=(t||"").match(/\S*/)[0];if(this.options.highlight){var r=this.options.highlight(e,i);null!=r&&r!==e&&(n=!0,e=r)}return i?'
    '+(n?e:l(e,!0))+"
    \n":"
    "+(n?e:l(e,!0))+"
    "},s.prototype.blockquote=function(e){return"
    \n"+e+"
    \n"},s.prototype.html=function(e){return e},s.prototype.heading=function(e,t,n,i){return this.options.headerIds?"'+e+"\n":""+e+"\n"},s.prototype.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},s.prototype.list=function(e,t,n){var i=t?"ol":"ul";return"<"+i+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},s.prototype.listitem=function(e){return"
  3. "+e+"
  4. \n"},s.prototype.checkbox=function(e){return" "},s.prototype.paragraph=function(e){return"

    "+e+"

    \n"},s.prototype.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},s.prototype.tablerow=function(e){return"\n"+e+"\n"},s.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},s.prototype.strong=function(e){return""+e+""},s.prototype.em=function(e){return""+e+""},s.prototype.codespan=function(e){return""+e+""},s.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},s.prototype.del=function(e){return""+e+""},s.prototype.link=function(e,t,n){if(null===(e=f(this.options.sanitize,this.options.baseUrl,e)))return n;var i='"},s.prototype.image=function(e,t,n){if(null===(e=f(this.options.sanitize,this.options.baseUrl,e)))return n;var i=''+n+'":">"},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,n){return""+n},a.prototype.br=function(){return""},u.parse=function(e,t){return new u(t).parse(e)},u.prototype.parse=function(e){this.inline=new o(e.links,this.options),this.inlineText=new o(e.links,v({},this.options,{renderer:new a})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},u.prototype.next=function(){return this.token=this.tokens.pop()},u.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},u.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},u.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,d(this.inlineText.output(this.token.text)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,i,r="",o="";for(n="",e=0;e?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){var n=t;do{this.seen[n]++,t=n+"-"+this.seen[n]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t},l.escapeTest=/[&<>"']/,l.escapeReplace=/[&<>"']/g,l.replacements={"&":"&","<":"<",">":">",'"':""","'":"'"},l.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,l.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var p={},g=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function m(){}function v(e){for(var t,n,i=1;i=0&&"\\"===n[r];)i=!i;return i?"|":" |"}).split(/ \|/),i=0;if(n.length>t)n.splice(t);else for(;n.lengthAn error occurred:

    "+l(e.message+"",!0)+"
    ";throw e}}m.exec=m,w.options=w.setOptions=function(e){return v(w.defaults,e),w},w.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}},w.defaults=w.getDefaults(),w.Parser=u,w.parser=u.parse,w.Renderer=s,w.TextRenderer=a,w.Lexer=n,w.lexer=n.lex,w.InlineLexer=o,w.inlineLexer=o.output,w.Slugger=c,w.parse=w,i=w}).call(this);i.Parser,i.parser;var c,l=i.Renderer,d=(i.TextRenderer,i.Lexer,i.lexer,i.InlineLexer,i.inlineLexer,i.parse);let h;!function(){return function e(t,n,i){function r(s,a){if(!n[s]){if(!t[s]){if(!a&&"function"==typeof c&&c)return c(s,!0);if(o)return o(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var l=n[s]={exports:{}};t[s][0].call(l.exports,function(e){return r(t[s][1][e]||e)},l,l.exports,e,t,n,i)}return n[s].exports}for(var o="function"==typeof c&&c,s=0;s\s]+))?)*)\s*(\/?)\s*>/,a=/^<\s*\/\s*([\w:-]+)[^>]*>/,u=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,c=/^=0&&(t.comment&&t.comment(e.substring(4,i)),e=e.substring(i+3),n=!1):l.test(e)?p(a,m):c.test(e)&&p(s,g),function(){if(n){var i,r=e.indexOf("<");r>=0?(i=e.substring(0,r),e=e.substring(r)):(i=e,e=""),t.chars&&t.chars(i)}}();var r=e===h;h=e,r&&(e="")}function p(t,i){var r=e.match(t);r&&(e=e.substring(r[0].length),r[0].replace(t,i),n=!1)}function g(e,n,s,a){var c={},l=r(n),h=o.voids[l]||!!a;s.replace(u,function(e,t,n,r,o){c[t]=void 0===n&&void 0===r&&void 0===o?void 0:i.decode(n||r||o||"")}),h||d.push(l),t.start&&t.start(l,c,h)}function m(e,n){var i,o=0,s=r(n);if(s)for(o=d.length-1;o>=0&&d[o]!==s;o--);if(o>=0){for(i=d.length-1;i>=o;i--)t.end&&t.end(d[i]);d.length=o}}m()}},{"./attributes":1,"./elements":3,"./lowercase":5,he:9}],8:[function(e,t,n){var i=e("he"),r=e("./lowercase"),o=e("./attributes"),s=e("./elements");t.exports=function(e,t){var n,a=t||{};return d(),{start:function(e,t,s){var l=r(e);n.ignoring?c(l):-1!==(a.allowedTags||[]).indexOf(l)&&(!a.filter||a.filter({tag:l,attrs:t}))?(u("<"),u(l),Object.keys(t).forEach(function(e){var n,s=t[e],c=(a.allowedClasses||{})[l]||[],d=(a.allowedAttributes||{})[l]||[];d=d.concat((a.allowedAttributes||{})["*"]||[]);var h=r(e);"class"===h&&-1===d.indexOf(h)?(s=s.split(" ").filter(function(e){return c&&-1!==c.indexOf(e)}).join(" ").trim(),n=s.length):n=-1!==d.indexOf(h)&&(!0!==o.uris[h]||function(e){var t=e[0];if("#"===t||"/"===t)return!0;var n=e.indexOf(":");if(-1===n)return!0;var i=e.indexOf("?");if(-1!==i&&n>i)return!0;var r=e.indexOf("#");return-1!==r&&n>r||a.allowedSchemes.some(function(t){return 0===e.indexOf(t+":")})}(s)),n&&(u(" "),u(e),"string"==typeof s&&(u('="'),u(i.encode(s)),u('"')))}),u(s?"/>":">")):c(l)},end:function(e){var t=r(e);-1!==(a.allowedTags||[]).indexOf(t)&&!1===n.ignoring?(u("")):l(t)},chars:function(e){!1===n.ignoring&&u(a.transformText?a.transformText(e):e)}};function u(t){e.push(t)}function c(e){s.voids[e]||(!1===n.ignoring?n={ignoring:e,depth:1}:n.ignoring===e&&n.depth++)}function l(e){n.ignoring===e&&--n.depth<=0&&d()}function d(){n={ignoring:!1,depth:0}}}},{"./attributes":1,"./elements":3,"./lowercase":5,he:9}],9:[function(e,t,n){var i={"&":"&","<":"<",">":">",'"':""","'":"'"},r={"&":"&","<":"<",">":">",""":'"',"'":"'"},o=/(&|<|>|"|')/g,s=/[&<>"']/g;function a(e){return i[e]}function u(e){return r[e]}function c(e){return null==e?"":String(e).replace(s,a)}function l(e){return null==e?"":String(e).replace(o,u)}c.options=l.options={},t.exports={encode:c,escape:c,decode:l,unescape:l,version:"1.0.0-browser"}},{}],10:[function(e,t,n){function i(e,t){return e[t]=!0,e}t.exports=function(e){return e.reduce(i,{})}},{}]},{},[4]);var f=h,p=n("+vUW"),g=n("TU7t"),m=n("aL7J"),v=n("mrx5");function _(e,t){void 0===t&&(t={});var n,i=Object(o.a)(t),c=function(t,n){var i=e.uris&&e.uris[t];if(!i)return t;var o=v.a.revive(i);return n&&(o=r.o(o)),o.query&&(o=o.with({query:function(t){var n;try{n=Object(p.a)(decodeURIComponent(t))}catch(e){}return n?(n=Object(g.b)(n,function(t){return e.uris&&e.uris[t]?v.a.revive(e.uris[t]):void 0}),encodeURIComponent(JSON.stringify(n))):t}(o.query)})),i&&(t=o.toString(!0)),t},h=new Promise(function(e){return n=e}),_=new l;_.image=function(e,t,n){var i,r=[],o=[];return e&&(e=(i=Object(a.d)(e)).href,r=i.dimensions,e=c(e,!0),o.push('src="'+e+'"')),n&&o.push('alt="'+n+'"'),t&&o.push('title="'+t+'"'),r.length&&(o=o.concat(r)),""},_.link=function(t,n,i){return t===i&&(i=Object(a.e)(i)),t=c(t,!1),n=Object(a.e)(n),!(t=Object(a.e)(t))||t.match(/^data:|javascript:/i)||t.match(/^command:/i)&&!e.isTrusted||t.match(/^command:(\/\/\/)?_workbench\.downloadResource/i)?i:'
    /g,">").replace(/"/g,""").replace(/'/g,"'"))+'" title="'+(n||t)+'">'+i+""},_.paragraph=function(e){return"

    "+e+"

    "},t.codeBlockRenderer&&(_.code=function(e,n){var r=t.codeBlockRenderer(n,e),o=u.b.nextId(),s=Promise.all([r,h]).then(function(e){var t=e[0],n=i.querySelector('div[data-code="'+o+'"]');n&&(n.innerHTML=t)}).catch(function(e){});return t.codeBlockRenderCallback&&s.then(t.codeBlockRenderCallback),'
    '+Object(m.o)(e)+"
    "});var b=t.actionHandler;b&&b.disposeables.add(r.k(i,"click",function(e){var t=e.target;if("A"===t.tagName||(t=t.parentElement)&&"A"===t.tagName)try{var n=t.dataset.href;n&&b.callback(n,e)}catch(e){Object(s.e)(e)}finally{e.preventDefault()}}));var y={sanitize:!0,renderer:_},w=["http","https","mailto","data"];e.isTrusted&&w.push("command");var C=d(e.value,y);return i.innerHTML=f(C,{allowedSchemes:w,allowedAttributes:{a:["href","name","target","data-href"],iframe:["allowfullscreen","frameborder","src"],img:["src","title","alt","width","height"],div:["class","data-code"]}}),n(),i}var b=n("GsV8"),y=n("6TMp"),w=n("Skdw"),C=n("JVO/"),S=n("Kp7x"),x=n("tqet"),L=n("PCC9");n.d(t,"a",function(){return I});var O,k=this&&this.__extends||(O=function(e,t){return(O=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}O(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),N=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},E=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},I=function(e){function t(t,n,i){void 0===i&&(i=b.b);var r=e.call(this)||this;return r._editor=t,r._modeService=n,r._openerService=i,r._onDidRenderCodeBlock=r._register(new S.a),r.onDidRenderCodeBlock=r._onDidRenderCodeBlock.event,r}return k(t,e),t.prototype.getOptions=function(e){var t=this;return{codeBlockRenderer:function(e,n){var i=null;if(e)i=t._modeService.getModeIdForLanguageName(e);else{var r=t._editor.getModel();r&&(i=r.getLanguageIdentifier().language)}return t._modeService.triggerMode(i||""),Promise.resolve(!0).then(function(e){var t=L.y.getPromise(i||"");return t?t.then(function(e){return Object(w.b)(n,e)}):Object(w.b)(n,void 0)}).then(function(e){return''+e+""})},codeBlockRenderCallback:function(){return t._onDidRenderCodeBlock.fire()},actionHandler:{callback:function(e){var n;try{n=v.a.parse(e)}catch(e){}n&&t._openerService&&t._openerService.open(n).catch(s.e)},disposeables:e}}},t.prototype.render=function(e){var t=new x.b;return{element:e?_(e,this.getOptions(t)):document.createElement("span"),dispose:function(){return t.dispose()}}},t=N([E(1,y.a),E(2,Object(C.d)(b.a))],t)}(x.a)},"VI/i":function(e,t,n){"use strict";t.randomBytes=t.rng=t.pseudoRandomBytes=t.prng=n("rOku"),t.createHash=t.Hash=n("BVsN"),t.createHmac=t.Hmac=n("ARY+");var i=n("O+gO"),r=Object.keys(i),o=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(r);t.getHashes=function(){return o};var s=n("/vd3");t.pbkdf2=s.pbkdf2,t.pbkdf2Sync=s.pbkdf2Sync;var a=n("VKDQ");t.Cipher=a.Cipher,t.createCipher=a.createCipher,t.Cipheriv=a.Cipheriv,t.createCipheriv=a.createCipheriv,t.Decipher=a.Decipher,t.createDecipher=a.createDecipher,t.Decipheriv=a.Decipheriv,t.createDecipheriv=a.createDecipheriv,t.getCiphers=a.getCiphers,t.listCiphers=a.listCiphers;var u=n("PBsE");t.DiffieHellmanGroup=u.DiffieHellmanGroup,t.createDiffieHellmanGroup=u.createDiffieHellmanGroup,t.getDiffieHellman=u.getDiffieHellman,t.createDiffieHellman=u.createDiffieHellman,t.DiffieHellman=u.DiffieHellman;var c=n("KeN/");t.createSign=c.createSign,t.Sign=c.Sign,t.createVerify=c.createVerify,t.Verify=c.Verify,t.createECDH=n("gw8B");var l=n("9P96");t.publicEncrypt=l.publicEncrypt,t.privateEncrypt=l.privateEncrypt,t.publicDecrypt=l.publicDecrypt,t.privateDecrypt=l.privateDecrypt;var d=n("4R/o");t.randomFill=d.randomFill,t.randomFillSync=d.randomFillSync,t.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},t.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},VKDQ:function(e,t,n){var i=n("IRek"),r=n("tXf9"),o=n("BCiZ"),s=n("UBa7"),a=n("Cgw8");function u(e,t,n){if(e=e.toLowerCase(),o[e])return r.createCipheriv(e,t,n);if(s[e])return new i({key:t,iv:n,mode:e});throw new TypeError("invalid suite type")}function c(e,t,n){if(e=e.toLowerCase(),o[e])return r.createDecipheriv(e,t,n);if(s[e])return new i({key:t,iv:n,mode:e,decrypt:!0});throw new TypeError("invalid suite type")}t.createCipher=t.Cipher=function(e,t){var n,i;if(e=e.toLowerCase(),o[e])n=o[e].key,i=o[e].iv;else{if(!s[e])throw new TypeError("invalid suite type");n=8*s[e].key,i=s[e].iv}var r=a(t,!1,n,i);return u(e,r.key,r.iv)},t.createCipheriv=t.Cipheriv=u,t.createDecipher=t.Decipher=function(e,t){var n,i;if(e=e.toLowerCase(),o[e])n=o[e].key,i=o[e].iv;else{if(!s[e])throw new TypeError("invalid suite type");n=8*s[e].key,i=s[e].iv}var r=a(t,!1,n,i);return c(e,r.key,r.iv)},t.createDecipheriv=t.Decipheriv=c,t.listCiphers=t.getCiphers=function(){return Object.keys(s).concat(r.getCiphers())}},"Vcj/":function(e,t){},VqvS:function(e,t,n){var i=n("LC74"),r=n("ps4E");function o(e){r.call(this,e),this.enc="pem"}i(o,r),e.exports=o,o.prototype.encode=function(e,t){for(var n=r.prototype.encode.call(this,e).toString("base64"),i=["-----BEGIN "+t.label+"-----"],o=0;o0)n.left||(n.left=new a,n.left.segment=i.value()),n=n.left;else if(r<0)n.right||(n.right=new a,n.right.segment=i.value()),n=n.right;else{if(!i.hasNext())break;i.next(),n.mid||(n.mid=new a,n.mid.segment=i.value()),n=n.mid}}var o=n.value;return n.value=t,n.key=e,o},e.prototype.get=function(e){for(var t=this._iter.reset(e),n=this._root;n;){var i=t.cmp(n.segment);if(i>0)n=n.left;else if(i<0)n=n.right;else{if(!t.hasNext())break;t.next(),n=n.mid}}return n?n.value:void 0},e.prototype.findSubstr=function(e){for(var t=this._iter.reset(e),n=this._root,i=void 0;n;){var r=t.cmp(n.segment);if(r>0)n=n.left;else if(r<0)n=n.right;else{if(!t.hasNext())break;t.next(),i=n.value||i,n=n.mid}}return n&&n.value||i},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}(),c=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}(),l=function(e){function t(t,n){void 0===n&&(n=1);var i=e.call(this)||this;return i._limit=t,i._ratio=Math.min(Math.max(0,n),1),i}return r(t,e),t.prototype.get=function(t){return e.prototype.get.call(this,t,2)},t.prototype.peek=function(t){return e.prototype.get.call(this,t,0)},t.prototype.set=function(t,n){e.prototype.set.call(this,t,n,2),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=0);var n=this._map.get(e);if(n)return 0!==t&&this.touch(n,t),n.value},e.prototype.set=function(e,t,n){void 0===n&&(n=0);var i=this._map.get(e);if(i)i.value=t,0!==n&&this.touch(i,n);else{switch(i={key:e,value:t,next:void 0,previous:void 0},n){case 0:this.addItemLast(i);break;case 1:this.addItemFirst(i);break;case 2:default:this.addItemLast(i)}this._map.set(e,i),this._size++}},e.prototype.delete=function(e){return!!this.remove(e)},e.prototype.remove=function(e){var t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value},e.prototype.forEach=function(e,t){for(var n=this._head;n;)t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),n=n.next},e.prototype.trimOld=function(e){if(!(e>=this.size))if(0!==e){for(var t=this._head,n=this.size;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(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.removeItem=function(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{var t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0},e.prototype.touch=function(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(1===t||2===t)if(1===t){if(e===this._head)return;var n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e}else if(2===t){if(e===this._tail)return;n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),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,n){e.push([n,t])}),e},e}())},WUwp:function(e,t){},WZeM:function(e,t,n){"use strict";n.d(t,"a",function(){return r}),t.b=function(e){return new r(e)};var i=n("7/Cv"),r=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){i.R(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}()},X3l8:function(e,t,n){var i=n("EuP9"),r=i.Buffer;function o(e,t){for(var n in e)t[n]=e[n]}function s(e,t,n){return r(e,t,n)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?e.exports=i:(o(i,t),t.Buffer=s),s.prototype=Object.create(r.prototype),o(r,s),s.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return r(e,t,n)},s.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var i=r(e);return void 0!==t?"string"==typeof n?i.fill(t,n):i.fill(t):i.fill(0),i},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i.SlowBuffer(e)}},X4X3:function(e,t,n){"use strict";var i=n("oYso").Buffer,r=i.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 o(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&&(i.isEncoding===r||!r(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=u,this.end=c,t=4;break;case"utf8":this.fillLast=a,t=4;break;case"base64":this.text=l,this.end=d,t=3;break;default:return this.write=h,void(this.end=f)}this.lastNeed=0,this.lastTotal=0,this.lastChar=i.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,n=function(e,t,n){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!==n?n: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 u(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var i=n.charCodeAt(n.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function l(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?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-n))}function d(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function h(e){return e.toString(this.encoding)}function f(e){return e&&e.length?this.write(e):""}t.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0)return r>0&&(e.lastNeed=r-1),r;if(--i=0)return r>0&&(e.lastNeed=r-2),r;if(--i=0)return r>0&&(2===r?r=0:e.lastNeed=r-3),r;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var i=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,i),e.toString("utf8",t,i)},o.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}},X6iQ:function(e,t,n){"use strict";function i(e,t){return function e(t,n,i,r,o){if(r<=i)return;var s=i+(r-i)/2|0;e(t,n,i,s,o);e(t,n,s+1,r,o);if(n(t[s],t[s+1])<=0)return;!function(e,t,n,i,r,o){for(var s=n,a=i+1,u=n;u<=r;u++)o[u]=e[u];for(var u=n;u<=r;u++)s>i?e[u]=o[a++]:a>r?e[u]=o[s++]:t(o[a],o[s])<0?e[u]=o[a++]:e[u]=o[s++]}(t,n,i,s,r,o)}(e,t,0,e.length-1,[]),e}function r(e,t){for(var n=0;n0))return o;r=o-1}}return-(i+1)},t.h=function(e,t){var n=0,i=e.length;if(0===i)return 0;for(;n0},t.e=function(e,t){if(!t)return e.filter(function(t,n){return e.indexOf(t)===n});var n=Object.create(null);return e.filter(function(e){var i=t(e);return!n[i]&&(n[i]=!0,!0)})},t.f=function(e){var t=new Set;return e.filter(function(e){return!t.has(e)&&(t.add(e),!0)})},t.j=r,t.i=function(e,t,n){void 0===n&&(n=void 0);var i=r(e,t);return i<0?n:e[i]},t.k=function(e){var t;return(t=[]).concat.apply(t,e)},t.r=function(e,t){var n="number"==typeof t?e:0;"number"==typeof t?n=e:(n=0,t=e);var i=[];if(n<=t)for(var r=n;rt;r--)i.push(r);return i},t.a=function(e,t,n){var i=e.slice(0,t),r=e.slice(t);return i.concat(n,r)},t.q=function(e,t){var n=e.indexOf(t);n>-1&&(e.splice(n,1),e.unshift(t))},t.p=function(e,t){var n=e.indexOf(t);n>-1&&(e.splice(n,1),e.push(t))},t.b=function(e){return Array.isArray(e)?e:[e]}},XTA7:function(e,t){},Y6WZ:function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return s});var i=n("CQAd"),r=function(){return function(e,t){this.index=e,this.remainder=t}}(),o=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(i.b)(e);var n=this.values,r=this.prefixSum,o=t.length;return 0!==o&&(this.values=new Uint32Array(n.length+o),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+o),this.values.set(t,e),e-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.changeValue=function(e,t){return e=Object(i.b)(e),t=Object(i.b)(t),this.values[e]!==t&&(this.values[e]=t,e-1=n.length)return!1;var o=n.length-e;return t>=o&&(t=o),0!==t&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(r.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(i.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 n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];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=0,n=this.values.length-1,i=0,o=0,s=0;t<=n;)if(i=t+(n-t)/2|0,e<(s=(o=this.prefixSum[i])-this.values[i]))n=i-1;else{if(!(e>=o))break;t=i+1}return new r(i,e-s)},e}(),s=function(){function e(e){this._cacheAccumulatedValueStart=0,this._cache=null,this._actual=new o(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&&ta?t=e(t):t.length=this._delta8){var n=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-n,e.length),0===this.pending.length&&(this.pending=null),e=i.join32(e,0,e.length-n,this.endian);for(var r=0;r>>24&255,i[r++]=e>>>16&255,i[r++]=e>>>8&255,i[r++]=255&e}else for(i[r++]=255&e,i[r++]=e>>>8&255,i[r++]=e>>>16&255,i[r++]=e>>>24&255,i[r++]=0,i[r++]=0,i[r++]=0,i[r++]=0,o=8;o0||this.m_modifiedCount>0)&&this.m_changes.push(new i(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,n){void 0===n&&(n=null),this.OriginalSequence=e,this.ModifiedSequence=t,this.ContinueProcessingPredicate=n,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,n,i,r){var o=this.ComputeDiffRecursive(e,t,n,i,[!1]);return r?this.PrettifyChanges(o):o},e.prototype.ComputeDiffRecursive=function(e,t,n,r,s){for(s[0]=!1;e<=t&&n<=r&&this.ElementsAreEqual(e,n);)e++,n++;for(;t>=e&&r>=n&&this.ElementsAreEqual(t,r);)t--,r--;if(e>t||n>r){var a=void 0;return n<=r?(o.Assert(e===t+1,"originalStart should only be one more than originalEnd"),a=[new i(e,0,n,r-n+1)]):e<=t?(o.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),a=[new i(e,t-e+1,n,0)]):(o.Assert(e===t+1,"originalStart should only be one more than originalEnd"),o.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),a=[]),a}var u=[0],c=[0],l=this.ComputeRecursionPoint(e,t,n,r,u,c,s),d=u[0],h=c[0];if(null!==l)return l;if(!s[0]){var f=this.ComputeDiffRecursive(e,d,n,h,s),p=[];return p=s[0]?[new i(d+1,t-(d+1)+1,h+1,r-(h+1)+1)]:this.ComputeDiffRecursive(d+1,t,h+1,r,s),this.ConcatenateChanges(f,p)}return[new i(e,t-e+1,n,r-n+1)]},e.prototype.WALKTRACE=function(e,t,n,r,o,s,u,c,l,d,h,f,p,g,m,v,_,b){var y,w,C=null,S=new a,x=t,L=n,O=p[0]-v[0]-r,k=Number.MIN_VALUE,N=this.m_forwardHistory.length-1;do{(w=O+e)===x||w=0&&(e=(l=this.m_forwardHistory[N])[0],x=1,L=l.length-1)}while(--N>=-1);if(y=S.getReverseChanges(),b[0]){var E=p[0]+1,I=v[0]+1;if(null!==y&&y.length>0){var D=y[y.length-1];E=Math.max(E,D.getOriginalEnd()),I=Math.max(I,D.getModifiedEnd())}C=[new i(E,f-E+1,I,m-I+1)]}else{S=new a,x=s,L=u,O=p[0]-v[0]-c,k=Number.MAX_VALUE,N=_?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{(w=O+o)===x||w=d[w+1]?(g=(h=d[w+1]-1)-O-c,h>k&&S.MarkNextChange(),k=h+1,S.AddOriginalElement(h+1,g+1),O=w+1-o):(g=(h=d[w-1])-O-c,h>k&&S.MarkNextChange(),k=h,S.AddModifiedElement(h+1,g+1),O=w-1-o),N>=0&&(o=(d=this.m_reverseHistory[N])[0],x=1,L=d.length-1)}while(--N>=-1);C=S.getChanges()}return this.ConcatenateChanges(y,C)},e.prototype.ComputeRecursionPoint=function(e,t,n,r,o,a,u){var c,l=0,d=0,h=0,f=0,p=0,g=0;e--,n--,o[0]=0,a[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];var m,v,_=t-e+(r-n),b=_+1,y=new Array(b),w=new Array(b),C=r-n,S=t-e,x=e-n,L=t-r,O=(S-C)%2==0;for(y[C]=e,w[S]=t,u[0]=!1,c=1;c<=_/2+1;c++){var k=0,N=0;for(h=this.ClipDiagonalBound(C-c,c,C,b),f=this.ClipDiagonalBound(C+c,c,C,b),m=h;m<=f;m+=2){for(d=(l=m===h||mk+N&&(k=l,N=d),!O&&Math.abs(m-S)<=c-1&&l>=w[m])return o[0]=l,a[0]=d,v<=w[m]&&c<=1448?this.WALKTRACE(C,h,f,x,S,p,g,L,y,w,l,t,o,d,r,a,O,u):null}var E=(k-e+(N-n)-c)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(k,this.OriginalSequence,E))return u[0]=!0,o[0]=k,a[0]=N,E>0&&c<=1448?this.WALKTRACE(C,h,f,x,S,p,g,L,y,w,l,t,o,d,r,a,O,u):[new i(++e,t-e+1,++n,r-n+1)];for(p=this.ClipDiagonalBound(S-c,c,S,b),g=this.ClipDiagonalBound(S+c,c,S,b),m=p;m<=g;m+=2){for(d=(l=m===p||m=w[m+1]?w[m+1]-1:w[m-1])-(m-S)-L,v=l;l>e&&d>n&&this.ElementsAreEqual(l,d);)l--,d--;if(w[m]=l,O&&Math.abs(m-C)<=c&&l<=y[m])return o[0]=l,a[0]=d,v>=y[m]&&c<=1448?this.WALKTRACE(C,h,f,x,S,p,g,L,y,w,l,t,o,d,r,a,O,u):null}if(c<=1447){var I=new Array(f-h+2);I[0]=C-h+1,s.Copy(y,h,I,1,f-h+1),this.m_forwardHistory.push(I),(I=new Array(g-p+2))[0]=S-p+1,s.Copy(w,p,I,1,g-p+1),this.m_reverseHistory.push(I)}}return this.WALKTRACE(C,h,f,x,S,p,g,L,y,w,l,t,o,d,r,a,O,u)},e.prototype.PrettifyChanges=function(e){for(var t=0;t0,s=n.modifiedLength>0;n.originalStart+n.originalLength=0;t--){n=e[t],i=0,r=0;if(t>0){var u=e[t-1];u.originalLength>0&&(i=u.originalStart+u.originalLength),u.modifiedLength>0&&(r=u.modifiedStart+u.modifiedLength)}o=n.originalLength>0,s=n.modifiedLength>0;for(var c=0,l=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength),d=1;;d++){var h=n.originalStart-d,f=n.modifiedStart-d;if(hl&&(l=p,c=d)}n.originalStart-=c,n.modifiedStart-=c}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 n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))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 n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1},e.prototype._boundaryScore=function(e,t,n,i){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,i)?1:0)},e.prototype.ConcatenateChanges=function(e,t){var n=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){var i=new Array(e.length+t.length-1);return s.Copy(e,0,i,0,e.length-1),i[e.length-1]=n[0],s.Copy(t,1,i,e.length,t.length-1),i}i=new Array(e.length+t.length);return s.Copy(e,0,i,0,e.length),s.Copy(t,0,i,e.length,t.length),i},e.prototype.ChangesOverlap=function(e,t,n){if(o.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),o.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 r=e.originalStart,s=e.originalLength,a=e.modifiedStart,u=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(s=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(u=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new i(r,s,a,u),!0}return n[0]=null,!1},e.prototype.ClipDiagonalBound=function(e,t,n,i){if(e>=0&&et.getLineMinColumn(n)?i.a.isLowSurrogate(t,n,r-2)?r-=2:r-=1:n>1&&(n-=1,r=t.getLineMaxColumn(n)),new s(n,r,0)},e.moveLeft=function(t,n,i,r,o){var s,a;if(i.hasSelection()&&!r)s=i.selection.startLineNumber,a=i.selection.startColumn;else{var u=e.left(t,n,i.position.lineNumber,i.position.column-(o-1));s=u.lineNumber,a=u.column}return i.move(r,s,a,0)},e.right=function(e,t,n,r){return rl?(n=l,u?r=t.getLineMaxColumn(n):(r=Math.min(t.getLineMaxColumn(n),r),i.a.isInsideSurrogatePair(t,n,r)&&(r-=1))):(r=i.a.columnFromVisibleColumn2(e,t,n,c),i.a.isInsideSurrogatePair(t,n,r)&&(r-=1)),o=c-i.a.visibleColumnFromColumn(t.getLineContent(n),r,e.tabSize),new s(n,r,o)},e.moveDown=function(t,n,i,r,o){var s,a;i.hasSelection()&&!r?(s=i.selection.endLineNumber,a=i.selection.endColumn):(s=i.position.lineNumber,a=i.position.column);var u=e.down(t,n,s,a,i.leftoverVisibleColumns,o,!0);return i.move(r,u.lineNumber,u.column,u.leftoverVisibleColumns)},e.translateDown=function(t,n,s){var a=s.selection,u=e.down(t,n,a.selectionStartLineNumber,a.selectionStartColumn,s.selectionStartLeftoverVisibleColumns,1,!1),c=e.down(t,n,a.positionLineNumber,a.positionColumn,s.leftoverVisibleColumns,1,!1);return new i.f(new o.a(u.lineNumber,u.column,u.lineNumber,u.column),u.leftoverVisibleColumns,new r.a(c.lineNumber,c.column),c.leftoverVisibleColumns)},e.up=function(e,t,n,r,o,a,u){var c=i.a.visibleColumnFromColumn(t.getLineContent(n),r,e.tabSize)+o;return(n-=a)<1?(n=1,u?r=t.getLineMinColumn(n):(r=Math.min(t.getLineMaxColumn(n),r),i.a.isInsideSurrogatePair(t,n,r)&&(r-=1))):(r=i.a.columnFromVisibleColumn2(e,t,n,c),i.a.isInsideSurrogatePair(t,n,r)&&(r-=1)),o=c-i.a.visibleColumnFromColumn(t.getLineContent(n),r,e.tabSize),new s(n,r,o)},e.moveUp=function(t,n,i,r,o){var s,a;i.hasSelection()&&!r?(s=i.selection.startLineNumber,a=i.selection.startColumn):(s=i.position.lineNumber,a=i.position.column);var u=e.up(t,n,s,a,i.leftoverVisibleColumns,o,!0);return i.move(r,u.lineNumber,u.column,u.leftoverVisibleColumns)},e.translateUp=function(t,n,s){var a=s.selection,u=e.up(t,n,a.selectionStartLineNumber,a.selectionStartColumn,s.selectionStartLeftoverVisibleColumns,1,!1),c=e.up(t,n,a.positionLineNumber,a.positionColumn,s.leftoverVisibleColumns,1,!1);return new i.f(new o.a(u.lineNumber,u.column,u.lineNumber,u.column),u.leftoverVisibleColumns,new r.a(c.lineNumber,c.column),c.leftoverVisibleColumns)},e.moveToBeginningOfLine=function(e,t,n,i){var r,o=n.position.lineNumber,s=t.getLineMinColumn(o),a=t.getLineFirstNonWhitespaceColumn(o)||s;return r=n.position.column===a?s:a,n.move(i,o,r,0)},e.moveToEndOfLine=function(e,t,n,i){var r=n.position.lineNumber,o=t.getLineMaxColumn(r);return n.move(i,r,o,0)},e.moveToBeginningOfBuffer=function(e,t,n,i){return n.move(i,1,1,0)},e.moveToEndOfBuffer=function(e,t,n,i){var r=t.getLineCount(),o=t.getLineMaxColumn(r);return n.move(i,r,o,0)},e}()},ZWAj:function(e,t,n){"use strict";n.d(t,"b",function(){return s}),n.d(t,"a",function(){return a});var i=n("aL7J"),r=n("artP"),o=n("vTy2"),s=function(){function e(e,t,n,i,r){this.value=e,this.selectionStart=t,this.selectionEnd=n,this.selectionStartPosition=i,this.selectionEndPosition=r}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,n){t.setValue(e,this.value),n&&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 n=this.value.substring(this.selectionStart,e);if(-1===n.indexOf(String.fromCharCode(8230)))return this._finishDeduceEditorPosition(this.selectionStartPosition,n,1);var i=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition(this.selectionEndPosition,i,-1)},e.prototype._finishDeduceEditorPosition=function(e,t,n){for(var i=0,r=-1;-1!==(r=t.indexOf("\n",r+1));)i++;return[e,n*t.length,i]},e.selectedText=function(t){return new e(t,0,t.length,null,null)},e.deduceInput=function(e,t,n,r){if(!e)return{text:"",replaceCharCnt:0};var o=e.value,s=e.selectionStart,a=e.selectionEnd,u=t.value,c=t.selectionStart,l=t.selectionEnd;r&&o.length>0&&s===a&&c===l&&!i.J(u,o)&&i.m(u,o)&&(s=0,a=0);var d=o.substring(a),h=u.substring(l),f=i.c(d,h);u=u.substring(0,u.length-f);var p=(o=o.substring(0,o.length-f)).substring(0,s),g=u.substring(0,c),m=i.b(p,g);if(u=u.substring(m),o=o.substring(m),c-=m,s-=m,l-=m,a-=m,n&&c===l&&o.length>0){var v=null;if(c===u.length?i.J(u,o)&&(v=u.substring(o.length)):i.m(u,o)&&(v=u.substring(0,u.length-o.length)),null!==v&&v.length>0&&(/\uFE0F/.test(v)||i.f(v)))return{text:v,replaceCharCnt:0}}return c===l?o===u&&0===s&&a===o.length&&c===u.length&&-1===u.indexOf("\n")&&i.g(u)?{text:"",replaceCharCnt:0}:{text:u,replaceCharCnt:p.length-m}:{text:u,replaceCharCnt:a-s}},e.EMPTY=new e("",0,0,null,null),e}(),a=function(){function e(){}return e._getPageOfLine=function(t){return Math.floor((t-1)/e._LINES_PER_PAGE)},e._getRangeForPage=function(t){var n=t*e._LINES_PER_PAGE,i=n+1,r=n+e._LINES_PER_PAGE;return new o.a(i,1,r+1,1)},e.fromEditorSelection=function(t,n,i,a){var u,c=e._getPageOfLine(i.startLineNumber),l=e._getRangeForPage(c),d=e._getPageOfLine(i.endLineNumber),h=e._getRangeForPage(d),f=l.intersectRanges(new o.a(1,1,i.startLineNumber,i.startColumn)),p=n.getValueInRange(f,1),g=n.getLineCount(),m=n.getLineMaxColumn(g),v=h.intersectRanges(new o.a(i.endLineNumber,i.endColumn,g,m)),_=n.getValueInRange(v,1);if(c===d||c+1===d)u=n.getValueInRange(i,1);else{var b=l.intersectRanges(i),y=h.intersectRanges(i);u=n.getValueInRange(b,1)+String.fromCharCode(8230)+n.getValueInRange(y,1)}if(a){p.length>500&&(p=p.substring(p.length-500,p.length)),_.length>500&&(_=_.substring(0,500)),u.length>1e3&&(u=u.substring(0,500)+String.fromCharCode(8230)+u.substring(u.length-500,u.length))}return new s(p+u+_,p.length,p.length+u.length,new r.a(i.startLineNumber,i.startColumn),new r.a(i.endLineNumber,i.endColumn))},e._LINES_PER_PAGE=10,e}()},ZYUE:function(e,t,n){"use strict";t.c=function(e){return h(e)||e.authority},t.e=function(e,t,n){void 0===n&&(n=l(e));if(e===t)return!0;if(!e||!t)return!1;if(e.scheme!==t.scheme||!d(e.authority,t.authority))return!1;var i=e.path||"/",r=t.path||"/";return i===r||n&&Object(a.n)(i||"/",r||"/")},t.b=h,t.d=function(e){if(0===e.path.length)return e;if(e.scheme===u.b.file)return s.a.file(o.dirname(f(e)));var t=o.posix.dirname(e.path);e.authority&&t.length&&47!==t.charCodeAt(0)&&(console.error('dirname("'+e.toString+")) resulted in a relative path"),t="/");return e.with({path:t})},t.f=function(e){for(var t,n,i=[],r=1;r1&&e.scheme===u.b.file?"//"+e.authority+n:c.g&&47===n.charCodeAt(0)&&r.b(n.charCodeAt(1))&&58===n.charCodeAt(2)?n.substr(1):n,c.g&&(t=t.replace(/\//g,"\\")),t}!function(e){e.META_DATA_LABEL="label",e.META_DATA_DESCRIPTION="description",e.META_DATA_SIZE="size",e.META_DATA_MIME="mime",e.parseMetaData=function(t){var n=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach(function(e){var t=e.split(":"),i=t[0],r=t[1];i&&r&&n.set(i,r)});var i=t.path.substring(0,t.path.indexOf(";"));return i&&n.set(e.META_DATA_MIME,i),n}}(i||(i={}))},ZfGv:function(e,t,n){"use strict";(function(e,i){n.d(t,"g",function(){return p}),n.d(t,"d",function(){return g}),n.d(t,"c",function(){return m}),n.d(t,"e",function(){return v}),n.d(t,"f",function(){return _}),n.d(t,"b",function(){return b}),t.h=function(t){null===y&&(y=b.setImmediate?b.setImmediate.bind(b):void 0!==e&&"function"==typeof e.nextTick?e.nextTick.bind(e):b.setTimeout.bind(b));return y(t)},n.d(t,"a",function(){return w});var r=!1,o=!1,s=!1,a=!1,u=!1,c=void 0,l=void 0!==e&&void 0!==e.versions&&void 0!==e.versions.electron&&"renderer"===e.type;if("object"!=typeof navigator||l){if("object"==typeof e){r="win32"===e.platform,o="darwin"===e.platform,s="linux"===e.platform,"en","en";var d=Object({NODE_ENV:"production"}).VSCODE_NLS_CONFIG;if(d)try{var h=JSON.parse(d),f=h.availableLanguages["*"];h.locale,f||"en",h._translationsConfigFile}catch(e){}a=!0}}else r=(c=navigator.userAgent).indexOf("Windows")>=0,o=c.indexOf("Macintosh")>=0,s=c.indexOf("Linux")>=0,u=!0,navigator.language;var p=r,g=o,m=s,v=a,_=u,b="object"==typeof self?self:"object"==typeof i?i:{},y=null;var w=o?2:r?1:3}).call(t,n("W2nU"),n("DuR2"))},Zq1s:function(e,t,n){var i=n("EXeW"),r=n("LYGd"),o=n("JaR3"),s=n("2JY6"),a=n("35aj"),u=n("X3l8").Buffer,c=u.alloc(128),l={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function d(e,t,n){var s=function(e){return"rmd160"===e||"ripemd160"===e?function(e){return(new r).update(e).digest()}:"md5"===e?i:function(t){return o(e).update(t).digest()}}(e),a="sha512"===e||"sha384"===e?128:64;t.length>a?t=s(t):t.lengththis._limit&&this._initialize(e.slice(e.length-this._limit))},e.prototype._initialize=function(e){this._history=new Set;for(var t=0,n=e;t=0);return r},o.prototype._randrange=function(e,t){var n=t.sub(e);return e.add(this._randbelow(n))},o.prototype.test=function(e,t,n){var r=e.bitLength(),o=i.mont(e),s=new i(1).toRed(o);t||(t=Math.max(1,r/48|0));for(var a=e.subn(1),u=0;!a.testn(u);u++);for(var c=e.shrn(u),l=a.toRed(o);t>0;t--){var d=this._randrange(new i(2),a);n&&n(d);var h=d.toRed(o).redPow(c);if(0!==h.cmp(s)&&0!==h.cmp(l)){for(var f=1;f0;t--){var l=this._randrange(new i(2),s),d=e.gcd(l);if(0!==d.cmpn(1))return d;var h=l.toRed(r).redPow(u);if(0!==h.cmp(o)&&0!==h.cmp(c)){for(var f=1;f=t.length?e:t[i]})},t.o=function(e){return e.replace(/[<>&]/g,function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}})},t.p=o,t.M=function(e,t){void 0===t&&(t=" ");return a(s(e,t),t)},t.B=s,t.G=a,t.j=function(e){return e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")},t.J=function(e,t){if(e.length0?e.indexOf(t,n)===n:0===n&&e===t},t.k=function(e,t,n){void 0===n&&(n={});if(!e)throw new Error("Cannot create regex from empty string");t||(e=o(e));n.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));var i="";n.global&&(i+="g");n.matchCase||(i+="i");n.multiline&&(i+="m");n.unicode&&(i+="u");return new RegExp(e,i)},t.E=function(e){if("^"===e.source||"^$"===e.source||"$"===e.source||"^\\s*$"===e.source)return!1;return!(!e.exec("")||0!==e.lastIndex)},t.D=function(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")},t.q=function(e){for(var t=0,n=e.length;t=0;n--){var i=e.charCodeAt(n);if(32!==i&&9!==i)return n}return-1},t.d=u,t.e=function(e,t){for(var n=Math.min(e.length,t.length),i=0;it.length?1:0},t.y=c,t.z=l,t.n=function(e,t){var n=e?e.length:0,i=t?t.length:0;if(n!==i)return!1;return h(e,t)},t.K=function(e,t){var n=t.length;if(t.length>e.length)return!1;return h(e,t,n)},t.b=function(e,t){var n,i=Math.min(e.length,t.length);for(n=0;n0&&65279===e.charCodeAt(0))},t.H=function(e){return btoa(encodeURIComponent(e))},t.F=function(e,t){for(var n="",i=0;it?1:0}function c(e){return e>=97&&e<=122}function l(e){return e>=65&&e<=90}function d(e){return c(e)||l(e)}function h(e,t,n){if(void 0===n&&(n=e.length),"string"!=typeof e||"string"!=typeof t)return!1;for(var i=0;i=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}var v=String.fromCharCode(65279)},aQx8:function(e,t,n){"use strict";t.c=function(e){return e.replace(/[\\/]/g,r.posix.sep)},t.a=function(e,t,n,o){void 0===o&&(o=r.sep);if(e===t)return!0;if(!e||!t)return!1;if(t.length>e.length)return!1;if(n){var s=Object(i.K)(e,t);if(!s)return!1;if(t.length===e.length)return!0;var a=t.length;return t.charAt(t.length-1)===o&&a--,e.charAt(a)===o}t.charAt(t.length-1)!==o&&(t+=o);return 0===e.indexOf(t)},t.b=function(e){return e>=65&&e<=90||e>=97&&e<=122};var i=n("aL7J"),r=n("/uRs")},aY2F:function(e,t,n){var i=n("LC74"),r=n("C015"),o=n("CzQx"),s=n("X3l8").Buffer,a=new Array(160);function u(){this.init(),this._w=a,o.call(this,128,112)}i(u,r),u.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},u.prototype._hash=function(){var e=s.allocUnsafe(48);function t(t,n,i){e.writeInt32BE(t,i),e.writeInt32BE(n,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e},e.exports=u},abWm:function(e,t,n){e.exports={decode:n("bkDy"),verify:n("mVLy"),sign:n("uXJe"),JsonWebTokenError:n("bxaG"),NotBeforeError:n("mIf9"),TokenExpiredError:n("Gz1/")}},am7U:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,r=n("hK2W"),o=n("vTy2"),s=n("iHM7"),a=n("/9db"),u=n("03Zz"),c=n("606G"),l=function(){function e(e,t,n){this._editRange=e,this._originalSelection=t,this._text=n}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._editRange,this._text)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new s.a(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new s.a(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)},e}(),d=n("4tuZ"),h=n("eoic"),f=n("Rfe2"),p=n("0ly5"),g=n("odeJ"),m=n("zxiH"),v=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),_=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},b=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},y=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,n){var i=this;this.currentRequest&&this.currentRequest.cancel();var r=this.editor.getSelection(),a=this.editor.getModel();if(a&&r){var u=r;if(u.startLineNumber===u.endLineNumber){var c=new d.a(this.editor,5),h=a.uri;return this.editorWorkerService.canNavigateValueSet(h)?(this.currentRequest=Object(g.f)(function(e){return i.editorWorkerService.navigateValueSet(h,u,n)}),this.currentRequest.then(function(n){if(n&&n.range&&n.value&&c.validate(i.editor)){var r=o.a.lift(n.range),a=n.range,d=n.value.length-(u.endColumn-u.startColumn);a={startLineNumber:a.startLineNumber,startColumn:a.startColumn,endLineNumber:a.endLineNumber,endColumn:a.startColumn+n.value.length},d>1&&(u=new s.a(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn+d-1));var h=new l(r,u,n.value);i.editor.pushUndoStop(),i.editor.executeCommand(t,h),i.editor.pushUndoStop(),i.decorationIds=i.editor.deltaDecorations(i.decorationIds,[{range:a,options:e.DECORATION}]),i.decorationRemover&&i.decorationRemover.cancel(),i.decorationRemover=Object(g.l)(350),i.decorationRemover.then(function(){return i.decorationIds=i.editor.deltaDecorations(i.decorationIds,[])}).catch(m.e)}}).catch(m.e)):Promise.resolve(void 0)}}},e.ID="editor.contrib.inPlaceReplaceController",e.DECORATION=p.a.register({className:"valueSetReplacement"}),e=_([b(1,c.a)],e)}(),w=function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.up",label:r.a("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:a.a.writable,kbOpts:{kbExpr:a.a.editorTextFocus,primary:3154,weight:100}})||this}return v(t,e),t.prototype.run=function(e,t){var n=y.get(t);return n?n.run(this.id,!0):Promise.resolve(void 0)},t}(u.b),C=function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.down",label:r.a("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:a.a.writable,kbOpts:{kbExpr:a.a.editorTextFocus,primary:3156,weight:100}})||this}return v(t,e),t.prototype.run=function(e,t){var n=y.get(t);return n?n.run(this.id,!1):Promise.resolve(void 0)},t}(u.b);Object(u.h)(y),Object(u.f)(w),Object(u.f)(C),Object(h.f)(function(e,t){var n=e.getColor(f.d);n&&t.addRule(".monaco-editor.vs .valueSetReplacement { outline: solid 2px "+n+"; }")})},annC:function(e,t,n){"use strict";var i=n("X3l8").Buffer,r=n("yNY4"),o=128,s=48,a=2;function u(e){if(i.isBuffer(e))return e;if("string"==typeof e)return i.from(e,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function c(e,t,n){for(var i=0;t+i=o&&--i,i}e.exports={derToJose:function(e,t){e=u(e);var n=r(t),c=n+1,l=e.length,d=0;if(e[d++]!==s)throw new Error('Could not find expected "seq"');var h=e[d++];if(h===(1|o)&&(h=e[d++]),l-d15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},h.prototype.flush=function(){for(var e=16-this.cache.length,t=o.allocUnsafe(e),n=-1;++n=0&&m0&&r){var N=function(e){r(e),e.children.forEach(N)};y.forEach(N)}var E=C.d.map(C.d.fromArray(y),L);return this._onDidSplice.fire({insertedNodes:v,deletedNodes:y}),E},e.prototype.rerender=function(e){if(0===e.length)throw new Error("Invalid tree location");var t=this.getTreeNodeWithListIndex(e),n=t.node,i=t.listIndex;t.revealed&&this.list.splice(i,1,[n])},e.prototype.getListIndex=function(e){var t=this.getTreeNodeWithListIndex(e),n=t.listIndex,i=t.visible,r=t.revealed;return i&&r?n:-1},e.prototype.getListRenderCount=function(e){return this.getTreeNode(e).renderNodeCount},e.prototype.isCollapsed=function(e){return this.getTreeNode(e).collapsed},e.prototype.setCollapsed=function(e,t,n){var i=this,r=this.getTreeNode(e);return void 0===t&&(t=!r.collapsed),this.eventBufferer.bufferEvents(function(){return i._setCollapsed(e,t,n)})},e.prototype._setCollapsed=function(e,t,n){var i=this.getTreeNodeWithListIndex(e),r=i.node,o=i.listIndex,s=i.revealed,a=this._setListNodeCollapsed(r,o,s,t,n||!1);if(r!==this.root&&this.autoExpandSingleChildren&&!t&&!n){for(var u=-1,c=0;c-1){u=-1;break}u=c}}u>-1&&this._setCollapsed(e.concat([u]),!1,!1)}return a},e.prototype._setListNodeCollapsed=function(e,t,n,i,r){var o=this._setNodeCollapsed(e,i,r,!1);if(!n||!e.visible)return o;var s=e.renderNodeCount,a=this.updateNodeAfterCollapseChange(e),u=s-(-1===t?0:1);return this.list.splice(t+1,u,a.slice(1)),o},e.prototype._setNodeCollapsed=function(e,t,n,i){var r=e.collapsible&&e.collapsed!==t;if(e.collapsible&&(e.collapsed=t,r&&this._onDidChangeCollapseState.fire({node:e,deep:i})),n)for(var o=0,s=e.children;o0,a.visibleChildrenCount=h,a.visible=2===u?h>0:1===u,a.visible?a.collapsed||(a.renderNodeCount=f):(a.renderNodeCount=0,i&&r.pop()),o&&o(a),a},e.prototype.updateNodeAfterCollapseChange=function(e){var t=e.renderNodeCount,n=[];return this._updateNodeAfterCollapseChange(e,n),this._updateAncestorsRenderNodeCount(e.parent,n.length-t),n},e.prototype._updateNodeAfterCollapseChange=function(e,t){if(!1===e.visible)return 0;if(t.push(e),e.renderNodeCount=1,!e.collapsed)for(var n=0,i=e.children;nt.children.length)throw new Error("Invalid tree location");return this.getTreeNode(i,t.children[n])},e.prototype.getTreeNodeWithListIndex=function(e){if(0===e.length)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};var t=this.getParentNodeWithListIndex(e),n=t.parentNode,i=t.listIndex,r=t.revealed,o=t.visible,s=e[e.length-1];if(s<0||s>n.children.length)throw new Error("Invalid tree location");var a=n.children[s];return{node:a,listIndex:i,revealed:r,visible:o&&a.visible}},e.prototype.getParentNodeWithListIndex=function(e,t,n,i,r){void 0===t&&(t=this.root),void 0===n&&(n=0),void 0===i&&(i=!0),void 0===r&&(r=!0);var o=e[0],s=e.slice(1);if(o<0||o>t.children.length)throw new Error("Invalid tree location");for(var a=0;a0&&!e.collapsed?n.add(e):e.parent&&n.add(e.parent)}),this.activeIndentNodes.forEach(function(e){n.has(e)||t.renderedIndentGuides.forEach(e,function(e){return Object(i.I)(e,"active")})}),n.forEach(function(e){t.activeIndentNodes.has(e)||t.renderedIndentGuides.forEach(e,function(e){return Object(i.f)(e,"active")})}),this.activeIndentNodes=n}},e.prototype.dispose=function(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),this.disposables=Object(o.f)(this.disposables)},e.DefaultIndent=8,e}(),V=function(){function e(e,t,n){this.tree=e,this.keyboardNavigationLabelProvider=t,this._filter=n,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=[],e.onWillRefilter(this.reset,this,this.disposables)}return Object.defineProperty(e.prototype,"totalCount",{get:function(){return this._totalCount},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"matchCount",{get:function(){return this._matchCount},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pattern",{set:function(e){this._pattern=e,this._lowercasePattern=e.toLowerCase()},enumerable:!0,configurable:!0}),e.prototype.filter=function(e,t){if(this._filter){var n=this._filter.filter(e,t);if(this.tree.options.simpleKeyboardNavigation)return n;if(0===("boolean"==typeof n?n?1:0:S(n)?x(n.visibility):n))return!1}if(this._totalCount++,this.tree.options.simpleKeyboardNavigation||!this._pattern)return this._matchCount++,{data:w.a.Default,visibility:!0};var i=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e),r=i&&i.toString();if(void 0===r)return{data:w.a.Default,visibility:!0};var o=Object(w.d)(this._pattern,this._lowercasePattern,0,r,r.toLowerCase(),0,!0);return o?(this._matchCount++,{data:o,visibility:!0}):this.tree.options.filterOnType?2:{data:w.a.Default,visibility:!0}},e.prototype.reset=function(){this._totalCount=0,this._matchCount=0},e.prototype.dispose=function(){this.disposables=Object(o.f)(this.disposables)},e}(),H=function(){function e(e,t,n,r,o){this.tree=e,this.view=n,this.filter=r,this.keyboardNavigationLabelProvider=o,this._enabled=!1,this._pattern="",this._empty=!1,this._onDidChangeEmptyState=new g.a,this.positionClassName="ne",this.automaticKeyboardNavigation=!0,this.triggered=!1,this._onDidChangePattern=new g.a,this.enabledDisposables=[],this.disposables=[],this.domNode=Object(i.a)(".monaco-list-type-filter."+this.positionClassName),this.domNode.draggable=!0,Object(y.a)(this.domNode,"dragstart")(this.onDragStart,this,this.disposables),this.messageDomNode=Object(i.m)(n.getHTMLElement(),Object(i.a)(".monaco-list-type-filter-message")),this.labelDomNode=Object(i.m)(this.domNode,Object(i.a)("span.label"));var a=Object(i.m)(this.domNode,Object(i.a)(".controls"));this._filterOnType=!!e.options.filterOnType,this.filterOnTypeDomNode=Object(i.m)(a,Object(i.a)("input.filter")),this.filterOnTypeDomNode.type="checkbox",this.filterOnTypeDomNode.checked=this._filterOnType,this.filterOnTypeDomNode.tabIndex=-1,this.updateFilterOnTypeTitle(),Object(y.a)(this.filterOnTypeDomNode,"input")(this.onDidChangeFilterOnType,this,this.disposables),this.clearDomNode=Object(i.m)(a,Object(i.a)("button.clear")),this.clearDomNode.tabIndex=-1,this.clearDomNode.title=Object(s.a)("clear","Clear"),this.keyboardNavigationEventFilter=e.options.keyboardNavigationEventFilter,t.onDidSplice(this.onDidSpliceModel,this,this.disposables),this.updateOptions(e.options)}return Object.defineProperty(e.prototype,"enabled",{get:function(){return this._enabled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pattern",{get:function(){return this._pattern},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"filterOnType",{get:function(){return this._filterOnType},enumerable:!0,configurable:!0}),e.prototype.updateOptions=function(e){e.simpleKeyboardNavigation?this.disable():this.enable(),void 0!==e.filterOnType&&(this._filterOnType=!!e.filterOnType,this.filterOnTypeDomNode.checked=this._filterOnType),void 0!==e.automaticKeyboardNavigation&&(this.automaticKeyboardNavigation=e.automaticKeyboardNavigation),this.tree.refilter(),this.render(),this.automaticKeyboardNavigation||this.onEventOrInput("")},e.prototype.enable=function(){var e=this;if(!this._enabled){var t=this.keyboardNavigationLabelProvider.mightProducePrintableCharacter?function(t){return e.keyboardNavigationLabelProvider.mightProducePrintableCharacter(t)}:function(e){return Object(r.f)(e)},n=g.b.chain(Object(y.a)(this.view.getHTMLElement(),"keydown")).filter(function(t){return!z(t.target)||t.target===e.filterOnTypeDomNode}).map(function(e){return new m.a(e)}).filter(this.keyboardNavigationEventFilter||function(){return!0}).filter(function(){return e.automaticKeyboardNavigation||e.triggered}).filter(function(n){return t(n)||(e.pattern.length>0||e.triggered)&&(9===n.keyCode||1===n.keyCode)&&!n.altKey&&!n.ctrlKey&&!n.metaKey||1===n.keyCode&&(E.d?n.altKey&&!n.metaKey:n.ctrlKey)&&!n.shiftKey}).forEach(function(e){e.stopPropagation(),e.preventDefault()}).event,i=Object(y.a)(this.clearDomNode,"click");g.b.chain(g.b.any(n,i)).event(this.onEventOrInput,this,this.enabledDisposables),this.filter.pattern="",this.tree.refilter(),this.render(),this._enabled=!0,this.triggered=!1}},e.prototype.disable=function(){this._enabled&&(this.domNode.remove(),this.enabledDisposables=Object(o.f)(this.enabledDisposables),this.tree.refilter(),this.render(),this._enabled=!1,this.triggered=!1)},e.prototype.onEventOrInput=function(e){"string"==typeof e?this.onInput(e):e instanceof MouseEvent||9===e.keyCode||1===e.keyCode&&(E.d?e.altKey:e.ctrlKey)?this.onInput(""):1===e.keyCode?this.onInput(0===this.pattern.length?"":this.pattern.substr(0,this.pattern.length-1)):this.onInput(this.pattern+e.browserEvent.key)},e.prototype.onInput=function(e){var t=this.view.getHTMLElement();e&&!this.domNode.parentElement?t.append(this.domNode):!e&&this.domNode.parentElement&&(this.domNode.remove(),this.tree.domFocus()),this._pattern=e,this._onDidChangePattern.fire(e),this.filter.pattern=e,this.tree.refilter(),e&&this.tree.focusNext(0,!0,void 0,function(e){return!w.a.isDefault(e.filterData)});var n=this.tree.getFocus();if(n.length>0){var i=n[0];null===this.tree.getRelativeTop(i)&&this.tree.reveal(i,.5)}this.render(),e||(this.triggered=!1)},e.prototype.onDragStart=function(){var e=this,t=this.view.getHTMLElement(),n=Object(i.x)(t).left,r=t.clientWidth,s=r/2,a=this.domNode.clientWidth,u=[],c=this.positionClassName,l=function(){switch(c){case"nw":e.domNode.style.top="4px",e.domNode.style.left="4px";break;case"ne":e.domNode.style.top="4px",e.domNode.style.left=r-a-6+"px"}};l(),Object(i.I)(this.domNode,c),Object(i.f)(this.domNode,"dragging"),u.push(Object(o.h)(function(){return Object(i.I)(e.domNode,"dragging")})),Object(y.a)(document,"dragover")(function(e){e.preventDefault();var t=e.screenX-n;e.dataTransfer&&(e.dataTransfer.dropEffect="none"),c=t0&&0===this.filter.matchCount;this.pattern&&this.tree.options.filterOnType&&e?(this.messageDomNode.textContent=Object(s.a)("empty","No elements found"),this._empty=!0):(this.messageDomNode.innerHTML="",this._empty=!1),Object(i.R)(this.domNode,"no-matches",e),this.domNode.title=Object(s.a)("found","Matched {0} out of {1} elements",this.filter.matchCount,this.filter.totalCount),this.labelDomNode.textContent=this.pattern.length>16?"…"+this.pattern.substr(this.pattern.length-16):this.pattern,this._onDidChangeEmptyState.fire(this._empty)},e.prototype.shouldAllowFocus=function(e){return!(this.enabled&&this.pattern&&!this.filterOnType)||(this.filter.totalCount>0&&this.filter.matchCount<=1||!w.a.isDefault(e.filterData))},e.prototype.dispose=function(){this.disable(),this._onDidChangePattern.dispose(),this.disposables=Object(o.f)(this.disposables)},e}();function z(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}function U(e){return{elements:e.elements.map(function(e){return e.element}),browserEvent:e.browserEvent}}function K(e,t){t(e),e.children.forEach(function(e){return K(e,t)})}var q=function(){function e(e){this.identityProvider=e,this.nodes=[],this._onDidChange=new g.a,this.onDidChange=this._onDidChange.event}return Object.defineProperty(e.prototype,"nodeSet",{get:function(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet},enumerable:!0,configurable:!0}),e.prototype.set=function(e,t){Object(_.g)(this.nodes,e)||this._set(e,!1,t)},e.prototype._set=function(e,t,n){if(this.nodes=e.slice(),this.elements=void 0,this._nodeSet=void 0,!t){var i=this;this._onDidChange.fire({get elements(){return i.get()},browserEvent:n})}},e.prototype.get=function(){return this.elements||(this.elements=this.nodes.map(function(e){return e.element})),this.elements.slice()},e.prototype.getNodes=function(){return this.nodes},e.prototype.has=function(e){return this.nodeSet.has(e)},e.prototype.onDidModelSplice=function(e){var t=this,n=e.insertedNodes,i=e.deletedNodes;if(!this.identityProvider){var r=this.createNodeSet(),o=function(e){return r.delete(e)};return i.forEach(function(e){return K(e,o)}),void this.set(Object(I.e)(r))}var s=new Set,a=function(e){return s.add(t.identityProvider.getId(e.element).toString())};i.forEach(function(e){return K(e,a)});var u=new Map,c=function(e){return u.set(t.identityProvider.getId(e.element).toString(),e)};n.forEach(function(e){return K(e,c)});for(var l=[],d=!0,h=0,f=this.nodes;h0&&e.prototype.setFocus.call(this,Object(_.f)(e.prototype.getFocus.call(this).concat(o))),s.length>0&&e.prototype.setSelection.call(this,Object(_.f)(e.prototype.getSelection.call(this).concat(s)))}},t.prototype.setFocus=function(t,n,i){var r=this;void 0===i&&(i=!1),e.prototype.setFocus.call(this,t,n),i||this.focusTrait.set(t.map(function(e){return r.element(e)}),n)},t.prototype.setSelection=function(t,n,i){var r=this;void 0===i&&(i=!1),e.prototype.setSelection.call(this,t,n),i||this.selectionTrait.set(t.map(function(e){return r.element(e)}),n)},t}(r.b),Y=function(){function e(e,t,n,r){var o,s=this;void 0===r&&(r={}),this._options=r,this.eventBufferer=new g.c,this.disposables=[],this._onWillRefilter=new g.a,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new g.a;var a,u,c,l=new j(t),d=new g.f,h=new g.f,f=new W(h.event);if(this.disposables.push(f),this.renderers=n.map(function(e){return new B(e,d.event,f,r)}),(o=this.disposables).push.apply(o,this.renderers),r.keyboardNavigationLabelProvider&&(a=new V(this,r.keyboardNavigationLabelProvider,r.filter),r=P({},r,{filter:a}),this.disposables.push(a)),this.focus=new q(r.identityProvider),this.selection=new q(r.identityProvider),this.view=new Z(e,l,this.renderers,this.focus,this.selection,P({},(u=function(){return s.model},(c=r)&&P({},c,{identityProvider:c.identityProvider&&{getId:function(e){return c.identityProvider.getId(e.element)}},dnd:c.dnd&&new R(u,c.dnd),multipleSelectionController:c.multipleSelectionController&&{isSelectionSingleChangeEvent:function(e){return c.multipleSelectionController.isSelectionSingleChangeEvent(P({},e,{element:e.element}))},isSelectionRangeChangeEvent:function(e){return c.multipleSelectionController.isSelectionRangeChangeEvent(P({},e,{element:e.element}))}},accessibilityProvider:c.accessibilityProvider&&{getAriaLabel:function(e){return c.accessibilityProvider.getAriaLabel(e.element)},getAriaLevel:function(e){return e.depth}},keyboardNavigationLabelProvider:c.keyboardNavigationLabelProvider&&P({},c.keyboardNavigationLabelProvider,{getKeyboardNavigationLabel:function(e){return c.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element)}}),enableKeyboardNavigation:c.simpleKeyboardNavigation,ariaProvider:{getSetSize:function(e){return e.parent.visibleChildrenCount},getPosInSet:function(e){return e.visibleChildIndex+1}}})),{tree:this})),this.model=this.createModel(this.view,r),d.input=this.model.onDidChangeCollapseState,this.model.onDidSplice(function(e){s.focus.onDidModelSplice(e),s.selection.onDidModelSplice(e)},null,this.disposables),h.input=g.b.map(g.b.any(this.focus.onDidChange,this.selection.onDidChange,this.model.onDidSplice),function(){return s.focus.getNodes().concat(s.selection.getNodes())}),!1!==r.keyboardSupport){var p=g.b.chain(this.view.onKeyDown).filter(function(e){return!z(e.target)}).map(function(e){return new m.a(e)});p.filter(function(e){return 15===e.keyCode}).on(this.onLeftArrow,this,this.disposables),p.filter(function(e){return 17===e.keyCode}).on(this.onRightArrow,this,this.disposables),p.filter(function(e){return 10===e.keyCode}).on(this.onSpace,this,this.disposables)}r.keyboardNavigationLabelProvider&&(this.typeFilterController=new H(this,this.model,this.view,a,r.keyboardNavigationLabelProvider),this.focusNavigationFilter=function(e){return s.typeFilterController.shouldAllowFocus(e)},this.disposables.push(this.typeFilterController)),this.styleElement=Object(i.s)(this.view.getHTMLElement()),Object(i.R)(this.getHTMLElement(),"always",this._options.renderIndentGuides===F.Always)}return Object.defineProperty(e.prototype,"onDidChangeFocus",{get:function(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidChangeSelection",{get:function(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidOpen",{get:function(){return g.b.map(this.view.onDidOpen,U)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidFocus",{get:function(){return this.view.onDidFocus},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidChangeCollapseState",{get:function(){return this.model.onDidChangeCollapseState},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"openOnSingleClick",{get:function(){return void 0===this._options.openOnSingleClick||this._options.openOnSingleClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"expandOnlyOnTwistieClick",{get:function(){return void 0!==this._options.expandOnlyOnTwistieClick&&this._options.expandOnlyOnTwistieClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidDispose",{get:function(){return this.view.onDidDispose},enumerable:!0,configurable:!0}),e.prototype.updateOptions=function(e){void 0===e&&(e={}),this._options=P({},this._options,e);for(var t=0,n=this.renderers;t .indent-guide, .monaco-list"+t+".always .monaco-tl-indent > .indent-guide { border-color: "+e.treeIndentGuidesStroke.transparent(.4)+"; }"),n.push(".monaco-list"+t+" .monaco-tl-indent > .indent-guide.active { border-color: "+e.treeIndentGuidesStroke+"; }"));var i=n.join("\n");i!==this.styleElement.innerHTML&&(this.styleElement.innerHTML=i),this.view.style(e)},e.prototype.getNode=function(e){return this.model.getNode(e)},e.prototype.collapse=function(e,t){return void 0===t&&(t=!1),this.model.setCollapsed(e,!0,t)},e.prototype.expand=function(e,t){return void 0===t&&(t=!1),this.model.setCollapsed(e,!1,t)},e.prototype.isCollapsed=function(e){return this.model.isCollapsed(e)},e.prototype.refilter=function(){this._onWillRefilter.fire(void 0),this.model.refilter()},e.prototype.setSelection=function(e,t){var n=this,i=e.map(function(e){return n.model.getNode(e)});this.selection.set(i,t);var r=e.map(function(e){return n.model.getListIndex(e)}).filter(function(e){return e>-1});this.view.setSelection(r,t,!0)},e.prototype.getSelection=function(){return this.selection.get()},e.prototype.setFocus=function(e,t){var n=this,i=e.map(function(e){return n.model.getNode(e)});this.focus.set(i,t);var r=e.map(function(e){return n.model.getListIndex(e)}).filter(function(e){return e>-1});this.view.setFocus(r,t,!0)},e.prototype.focusNext=function(e,t,n,i){void 0===e&&(e=1),void 0===t&&(t=!1),void 0===i&&(i=this.focusNavigationFilter),this.view.focusNext(e,t,n,i)},e.prototype.getFocus=function(){return this.focus.get()},e.prototype.reveal=function(e,t){this.model.expandTo(e);var n=this.model.getListIndex(e);-1!==n&&this.view.reveal(n,t)},e.prototype.getRelativeTop=function(e){var t=this.model.getListIndex(e);return-1===t?null:this.view.getRelativeTop(t)},e.prototype.onLeftArrow=function(e){e.preventDefault(),e.stopPropagation();var t=this.view.getFocusedElements();if(0!==t.length){var n=t[0],i=this.model.getNodeLocation(n);if(!this.model.setCollapsed(i,!0)){var r=this.model.getParentNodeLocation(i);if(null===r)return;var o=this.model.getListIndex(r);this.view.reveal(o),this.view.setFocus([o])}}},e.prototype.onRightArrow=function(e){e.preventDefault(),e.stopPropagation();var t=this.view.getFocusedElements();if(0!==t.length){var n=t[0],i=this.model.getNodeLocation(n);if(!this.model.setCollapsed(i,!1)){if(!n.children.some(function(e){return e.visible}))return;var r=this.view.getFocus()[0]+1;this.view.reveal(r),this.view.setFocus([r])}}},e.prototype.onSpace=function(e){e.preventDefault(),e.stopPropagation();var t=this.view.getFocusedElements();if(0!==t.length){var n=t[0],i=this.model.getNodeLocation(n),r=e.browserEvent.altKey;this.model.setCollapsed(i,void 0,r)}},e.prototype.dispose=function(){this.disposables=Object(o.f)(this.disposables),this.view.dispose()},e}(),X=this&&this.__assign||function(){return(X=Object.assign||function(e){for(var t,n=1,i=arguments.length;n0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]-1&&i.focus.push(h),i&&i.viewState.selection&&i.viewState.selection.indexOf(c)>-1&&i.selection.push(h),i&&i.viewState.expanded&&i.viewState.expanded.indexOf(c)>-1?d.push(h):r&&o.collapseByDefault&&!o.collapseByDefault(t)&&(h.collapsedByDefault=!1,d.push(h)),h}),f=0,p=Object(I.e)(s);f-1)&&t.collapsedByDefault,t.collapsedByDefault=void 0,{element:t,children:t.hasChildren?C.d.map(C.d.fromArray(t.children),function(t){return e(t,n)}):[],collapsible:t.hasChildren,collapsed:i}}(e,t)});this.tree.setChildren(e===this.root?null:e,n),this._onDidRender.fire()},e.prototype.dispose=function(){Object(o.f)(this.disposables)},e}(),pe=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ge=function(e){function t(t,n,i,r,o){void 0===o&&(o={});var s=e.call(this,t,n,i,o)||this;return s.dataSource=r,s.identityProvider=o.identityProvider,s}return pe(t,e),t.prototype.createModel=function(e,t){return new $(e,t)},t}(Y),me=n("xJaW");n.d(t,"a",function(){return Ce}),n.d(t,"b",function(){return Se}),n.d(t,"c",function(){return Ke});var ve,_e=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),be=this&&this.__assign||function(){return(be=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},we=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Ce=Object(l.c)("listService"),Se=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 n=this;if(this.lists.some(function(t){return t.widget===e}))throw new Error("Cannot register the same widget multiple times");var i={widget:e,extraContextKeys:t};return this.lists.push(i),e.getHTMLElement()===document.activeElement&&(this._lastFocusedWidget=e),Object(o.e)(e.onDidFocus(function(){return n._lastFocusedWidget=e}),Object(o.h)(function(){return n.lists.splice(n.lists.indexOf(i),1)}),e.onDidDispose(function(){n.lists=n.lists.filter(function(e){return e!==i}),n._lastFocusedWidget===e&&(n._lastFocusedWidget=void 0)}))},e=ye([we(0,c.c)],e)}(),xe=new c.d("listFocus",!0),Le=new c.d("listSupportsMultiselect",!0),Oe=new c.d("listHasSelectionOrFocus",!1),ke=new c.d("listDoubleSelection",!1),Ne=new c.d("listMultiSelection",!1),Ee=new c.d("listSupportsKeyboardNavigation",!0),Ie="listAutomaticKeyboardNavigation",De=new c.d(Ie,!0),Me=!1;var Te="workbench.list.multiSelectModifier",Pe="workbench.list.openMode",Ae="workbench.list.horizontalScrolling",Re="workbench.list.keyboardNavigation",Fe="workbench.list.automaticKeyboardNavigation",je="workbench.tree.indent",We="workbench.tree.renderIndentGuides";function Be(e){return"alt"===e.getValue(Te)}function Ve(e){return"doubleClick"!==e.getValue(Pe)}var He,ze=function(e){function t(t){var n=e.call(this)||this;return n.configurationService=t,n.useAltAsMultipleSelectionModifier=Be(t),n.registerListeners(),n}return _e(t,e),t.prototype.registerListeners=function(){var e=this;this._register(this.configurationService.onDidChangeConfiguration(function(t){t.affectsConfiguration(Te)&&(e.useAltAsMultipleSelectionModifier=Be(e.configurationService))}))},t.prototype.isSelectionSingleChangeEvent=function(e){return this.useAltAsMultipleSelectionModifier?e.browserEvent.altKey:Object(r.e)(e)},t.prototype.isSelectionRangeChangeEvent=function(e){return Object(r.d)(e)},t}(o.a),Ue=function(e){function t(t,n){var i=e.call(this)||this;return i.configurationService=t,i.existingOpenController=n,i.openOnSingleClick=Ve(t),i.registerListeners(),i}return _e(t,e),t.prototype.registerListeners=function(){var e=this;this._register(this.configurationService.onDidChangeConfiguration(function(t){t.affectsConfiguration(Pe)&&(e.openOnSingleClick=Ve(e.configurationService))}))},t.prototype.shouldOpen=function(e){if(e instanceof MouseEvent){var t=0===e.button,n=2===e.detail;return!(t&&!this.openOnSingleClick&&!n)&&(!(!t&&1!==e.button)&&(!this.existingOpenController||this.existingOpenController.shouldOpen(e)))}return!this.existingOpenController||this.existingOpenController.shouldOpen(e)},t}(o.a);(function(e){function t(t,n,i,r,o,s,a,u,c,l){var d=this,h=qe(t,r,o,a,u,c,l),f=h.options,p=h.getAutomaticKeyboardNavigation,g=h.disposable;return(d=e.call(this,t,n,i,f)||this).disposables.push(g),d.internals=new Ge(d,f,p,o,s,a,u,l),d.disposables.push(d.internals),d}_e(t,e),t=ye([we(4,c.c),we(5,Ce),we(6,p.c),we(7,a.a),we(8,d.a),we(9,me.b)],t)})(Q),function(e){function t(t,n,i,r,o,s,a,u,c,l,d){var h=this,f=qe(t,o,s,u,c,l,d),p=f.options,g=f.getAutomaticKeyboardNavigation,m=f.disposable;return(h=e.call(this,t,n,i,r,p)||this).disposables.push(m),h.internals=new Ge(h,p,g,s,a,u,c,d),h.disposables.push(h.internals),h}_e(t,e),t=ye([we(5,c.c),we(6,Ce),we(7,p.c),we(8,a.a),we(9,d.a),we(10,me.b)],t)}(ge);var Ke=function(e){function t(t,n,i,r,o,s,a,u,c,l,d){var h=this,f=qe(t,o,s,u,c,l,d),p=f.options,g=f.getAutomaticKeyboardNavigation,m=f.disposable;return(h=e.call(this,t,n,i,r,p)||this).disposables.push(m),h.internals=new Ge(h,p,g,s,a,u,c,d),h.disposables.push(h.internals),h}return _e(t,e),Object.defineProperty(t.prototype,"contextKeyService",{get:function(){return this.internals.contextKeyService},enumerable:!0,configurable:!0}),t=ye([we(5,c.c),we(6,Ce),we(7,p.c),we(8,a.a),we(9,d.a),we(10,me.b)],t)}(fe);function qe(e,t,n,s,u,c,l){Ee.bindTo(n),Me||(De.bindTo(n),Me=!0);var d=function(){var e=n.getContextKeyValue(Ie);return e&&(e=u.getValue(Fe)),e},h=2===l.getAccessibilitySupport()?"simple":u.getValue(Re),p=void 0!==t.horizontalScrolling?t.horizontalScrolling:function(e){return Object(a.f)(e,Ae,"workbench.tree.horizontalScrolling")}(u),g=Ve(u),m=function(e,t,n){var i=new o.b,r=be({},e);if(!1!==e.multipleSelectionSupport&&!e.multipleSelectionController){var s=new ze(t);r.multipleSelectionController=s,i.add(s)}var a=new Ue(t,e.openController);if(r.openController=a,i.add(a),e.keyboardNavigationLabelProvider){var u=e.keyboardNavigationLabelProvider;r.keyboardNavigationLabelProvider={getKeyboardNavigationLabel:function(e){return u.getKeyboardNavigationLabel(e)},mightProducePrintableCharacter:function(e){return n.mightProducePrintableCharacter(e)}}}return[r,i]}(t,u,c),v=m[0],_=m[1],b=t.additionalScrollHeight;return{getAutomaticKeyboardNavigation:d,disposable:_,options:be({keyboardSupport:!1,styleController:new r.a((He||(He=Object(i.s)()),He))},Object(f.e)(s.getTheme(),f.f),v,{indent:u.getValue(je),renderIndentGuides:u.getValue(We),automaticKeyboardNavigation:d(),simpleKeyboardNavigation:"simple"===h,filterOnType:"filter"===h,horizontalScrolling:p,openOnSingleClick:g,keyboardNavigationEventFilter:function(e,t){var n=!1;return function(i){if(n)return n=!1,!1;var r=t.softDispatch(i,e);return r&&r.enterChord?(n=!0,!1):(n=!1,!0)}}(e,c),additionalScrollHeight:b})}}var Ge=function(){function e(e,t,n,i,r,o,s,a){var u=this;this.disposables=[],this.contextKeyService=function(e,t){var n=e.createScoped(t.getHTMLElement());return xe.bindTo(n),n}(i,e),Le.bindTo(this.contextKeyService).set(!(!1===t.multipleSelectionSupport)),this.hasSelectionOrFocus=Oe.bindTo(this.contextKeyService),this.hasDoubleSelection=ke.bindTo(this.contextKeyService),this.hasMultiSelection=Ne.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=Be(s);var c=new Set;c.add(Ie);var l=function(){var t=2===a.getAccessibilitySupport()?"simple":s.getValue(Re);e.updateOptions({simpleKeyboardNavigation:"simple"===t,filterOnType:"filter"===t})};this.disposables.push(this.contextKeyService,r.register(e),Object(f.b)(e,o),e.onDidChangeSelection(function(){var t=e.getSelection(),n=e.getFocus();u.hasSelectionOrFocus.set(t.length>0||n.length>0),u.hasMultiSelection.set(t.length>1),u.hasDoubleSelection.set(2===t.length)}),e.onDidChangeFocus(function(){var t=e.getSelection(),n=e.getFocus();u.hasSelectionOrFocus.set(t.length>0||n.length>0)}),s.onDidChangeConfiguration(function(t){if(t.affectsConfiguration(Pe)&&e.updateOptions({openOnSingleClick:Ve(s)}),t.affectsConfiguration(Te)&&(u._useAltAsMultipleSelectionModifier=Be(s)),t.affectsConfiguration(je)){var i=s.getValue(je);e.updateOptions({indent:i})}if(t.affectsConfiguration(We)){var r=s.getValue(We);e.updateOptions({renderIndentGuides:r})}t.affectsConfiguration(Re)&&l(),t.affectsConfiguration(Fe)&&e.updateOptions({automaticKeyboardNavigation:n()})}),this.contextKeyService.onDidChangeContext(function(t){t.affectsSome(c)&&e.updateOptions({automaticKeyboardNavigation:n()})}),a.onDidChangeAccessibilitySupport(function(){return l()}))}return e.prototype.dispose=function(){this.disposables=Object(o.f)(this.disposables)},e=ye([we(3,c.c),we(4,Ce),we(5,p.c),we(6,a.a),we(7,me.b)],e)}();h.a.as(u.a.Configuration).registerConfiguration({id:"workbench",order:7,title:Object(s.a)("workbenchConfigurationTitle","Workbench"),type:"object",properties:(ve={},ve[Te]={type:"string",enum:["ctrlCmd","alt"],enumDescriptions:[Object(s.a)("multiSelectModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),Object(s.a)("multiSelectModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:Object(s.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.")},ve[Pe]={type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:Object(s.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. ")},ve[Ae]={type:"boolean",default:!1,description:Object(s.a)("horizontalScrolling setting","Controls whether lists and trees support horizontal scrolling in the workbench.")},ve["workbench.tree.horizontalScrolling"]={type:"boolean",default:!1,description:Object(s.a)("tree horizontalScrolling setting","Controls whether trees support horizontal scrolling in the workbench."),deprecationMessage:Object(s.a)("deprecated","This setting is deprecated, please use '{0}' instead.",Ae)},ve[je]={type:"number",default:8,minimum:0,maximum:40,description:Object(s.a)("tree indent setting","Controls tree indentation in pixels.")},ve[We]={type:"string",enum:["none","onHover","always"],default:"onHover",description:Object(s.a)("render tree indent guides","Controls whether the tree should render indent guides.")},ve[Re]={type:"string",enum:["simple","highlight","filter"],enumDescriptions:[Object(s.a)("keyboardNavigationSettingKey.simple","Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),Object(s.a)("keyboardNavigationSettingKey.highlight","Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),Object(s.a)("keyboardNavigationSettingKey.filter","Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:Object(s.a)("keyboardNavigationSettingKey","Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter.")},ve[Fe]={type:"boolean",default:!0,markdownDescription:Object(s.a)("automatic keyboard navigation setting","Controls whether keyboard navigation in lists and trees is automatically triggered simply by typing. If set to `false`, keyboard navigation is only triggered when executing the `list.toggleKeyboardNavigation` command, for which you can assign a keyboard shortcut.")},ve)})},bkDy:function(e,t,n){var i=n("dTr8");e.exports=function(e,t){t=t||{};var n=i.decode(e,t);if(!n)return null;var r=n.payload;if("string"==typeof r)try{var o=JSON.parse(r);null!==o&&"object"==typeof o&&(r=o)}catch(e){}return!0===t.complete?{header:n.header,payload:r,signature:n.signature}:r}},bxaG:function(e,t){var n=function(e,t){Error.call(this,e),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="JsonWebTokenError",this.message=e,t&&(this.inner=t)};(n.prototype=Object.create(Error.prototype)).constructor=n,e.exports=n},"c/Tr":function(e,t,n){e.exports={default:n("5zde"),__esModule:!0}},"c/Wp":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,r=n("hK2W"),o=n("aL7J"),s=n("03Zz"),a=n("Ao9X"),u=n("artP"),c=n("vTy2"),l=n("/9db"),d=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),h=function(e){function t(){return e.call(this,{id:"editor.action.transposeLetters",label:r.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 d(t,e),t.prototype.positionLeftOf=function(e,t){var n=e.column,i=e.lineNumber;return n>t.getLineMinColumn(i)?Object(o.x)(t.getLineContent(i).charCodeAt(n-2))?n-=2:n-=1:i>1&&(i-=1,n=t.getLineMaxColumn(i)),new u.a(i,n)},t.prototype.positionRightOf=function(e,t){var n=e.column,i=e.lineNumber;return n0&&(t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop())}},t}(s.b);Object(s.f)(h)},c6Qy:function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"b",function(){return r}),n.d(t,"c",function(){return o});var i=function(){function e(e,t,n){this.offset=0|e,this.type=t,this.language=n}return e.prototype.toString=function(){return"("+this.offset+", "+this.type+")"},e}(),r=function(){return function(e,t){this.tokens=e,this.endState=t}}(),o=function(){return function(e,t){this.tokens=e,this.endState=t}}()},c7fK:function(e,t,n){self.MonacoEnvironment=function(e){return{getWorkerUrl:function(t,n){var i="string"==typeof window.__webpack_public_path__?window.__webpack_public_path__:"/";return(i?i.replace(/\/$/,"")+"/":"")+e[n]}}}({editorWorkerService:"static/editor.worker.js",json:"static/json.worker.js"}),n("kQWG"),n("8VcP"),n("mcra"),n("4JIo"),n("G7Ib"),n("6jTg"),n("MfmB"),n("LA/v"),n("xteI"),n("HZsc"),n("d3wY"),n("NjkW"),n("T1Qz"),n("gpb6"),n("y3Fb"),n("ygb1"),n("QfwU"),n("oqRo"),n("MOjS"),n("GV5w"),n("l6RD"),n("am7U"),n("O8j7"),n("pvVJ"),n("QgSF"),n("ia1G"),n("2LSJ"),n("qqhx"),n("+u1c"),n("QM8g"),n("nY9q"),n("RzWM"),n("qBq4"),n("6Hge"),n("Bzq0"),n("7YfR"),n("qEZG"),n("0bce"),n("c/Wp"),n("2jYl"),n("I8T6"),n("EfRI"),e.exports=n("Ny4g"),n("Ye2W"),n("tTCp")},cLaT:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("PCC9"),r=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,n){if(this._text!==e._text)return!1;if(this._tokensCount!==e._tokensCount)return!1;for(var i=t<<1,r=i+(n<<1),o=i;o0?this._tokens[e-1<<1]:0},e.prototype.getLanguageId=function(e){var t=this._tokens[1+(e<<1)];return i.x.getLanguageId(t)},e.prototype.getStandardTokenType=function(e){var t=this._tokens[1+(e<<1)];return i.x.getTokenType(t)},e.prototype.getForeground=function(e){var t=this._tokens[1+(e<<1)];return i.x.getForeground(t)},e.prototype.getClassName=function(e){var t=this._tokens[1+(e<<1)];return i.x.getClassNameFromMetadata(t)},e.prototype.getInlineStyle=function(e,t){var n=this._tokens[1+(e<<1)];return i.x.getInlineStyleFromMetadata(n,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,n){return new o(this,e,t,n)},e.convertToEndOffset=function(e,t){for(var n=(e.length>>>1)-1,i=0;i>>1)-1;nt&&(i=r)}return n},e}(),o=function(){function e(e,t,n,i){this._source=e,this._startOffset=t,this._endOffset=n,this._deltaOffset=i,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this._tokensCount=0;for(var r=this._firstTokenIndex,o=e.getCount();r=n)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}()},cSWu:function(e,t,n){(t=e.exports=n("Rt1F")).Stream=t,t.Readable=t,t.Writable=n("7dSG"),t.Duplex=n("DsFX"),t.Transform=n("D1Va"),t.PassThrough=n("f48b")},czDl:function(e,t){},d3wY:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"CursorUndoController",function(){return l}),n.d(t,"CursorUndo",function(){return d});var i,r=n("hK2W"),o=n("tqet"),s=n("03Zz"),a=n("/9db"),u=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),c=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 n=0;n50&&n._undoStack.shift()),n._prevState=n._readState()})),n}return u(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype._readState=function(){return this._editor.hasModel()?new c(this._editor.getSelections()):null},t.prototype.getId=function(){return t.ID},t.prototype.cursorUndo=function(){if(this._editor.hasModel())for(var e=new c(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}(o.a),d=function(e){function t(){return e.call(this,{id:"cursorUndo",label:r.a("cursor.undo","Soft Undo"),alias:"Soft Undo",precondition:void 0,kbOpts:{kbExpr:a.a.textInputFocus,primary:2099,weight:100}})||this}return u(t,e),t.prototype.run=function(e,t,n){l.get(t).cursorUndo()},t}(s.b);Object(s.h)(l),Object(s.f)(d)},dTr8:function(e,t,n){var i=n("h+nx"),r=n("9Io0");t.ALGORITHMS=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"],t.sign=i.sign,t.verify=r.verify,t.decode=r.decode,t.isValid=r.isValid,t.createSign=function(e){return new i(e)},t.createVerify=function(e){return new r(e)}},dwjm:function(e,t,n){"use strict";t.a=function(e){var t,n=this,i=!1;return function(){return i?t:(i=!0,t=e.apply(n,arguments))}}},e15g:function(e,t,n){"use strict";n.d(t,"b",function(){return v}),n.d(t,"a",function(){return b}),t.c=function(){return i},t.e=y,t.d=S,t.f=function(e,t){setTimeout(function(){var n;(n=x.onlyOnceSuggestions).push.apply(n,t),e.getContribution("editor.contrib.suggestController").triggerSuggest((new Set).add(x))},0)};var i,r=n("odeJ"),o=n("TU7t"),s=n("zxiH"),a=n("03Zz"),u=n("PCC9"),c=n("7g0X"),l=n("80kS"),d=n("vTy2"),h=n("GYOr"),f=n("tqet"),p=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},g=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]0)||n.providerFilter.has(r))return Promise.resolve(r.provideCompletionItems(e,t,o,a)).then(function(o){var s=g.length;if(o){for(var a=0,u=o.suggestions||[];at.sortTextLow)return 1}return e.completion.labelt.completion.label?1:e.completion.kind-t.completion.kind}var C=new Map;function S(e){return C.get(e)}C.set(0,function(e,t){if(e.completion.kind!==t.completion.kind){if(25===e.completion.kind)return-1;if(25===t.completion.kind)return 1}return w(e,t)}),C.set(2,function(e,t){if(e.completion.kind!==t.completion.kind){if(25===e.completion.kind)return 1;if(25===t.completion.kind)return-1}return w(e,t)}),C.set(1,w),Object(a.e)("_executeCompletionItemProvider",function(e,t,n){return p(m,void 0,void 0,function(){var i,r,o,s,a,u,c,d;return g(this,function(h){switch(h.label){case 0:return i={incomplete:!1,suggestions:[]},r=new f.b,o=[],s=n.maxItemsToResolve||0,[4,y(e,t)];case 1:for(a=h.sent(),u=0,c=a;u>>32-t}function c(e,t,n,i,r,o,s){return u(e+(t&n|~t&i)+r+o|0,s)+t|0}function l(e,t,n,i,r,o,s){return u(e+(t&i|n&~i)+r+o|0,s)+t|0}function d(e,t,n,i,r,o,s){return u(e+(t^n^i)+r+o|0,s)+t|0}function h(e,t,n,i,r,o,s){return u(e+(n^(t|~i))+r+o|0,s)+t|0}i(a,r),a.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var n=this._a,i=this._b,r=this._c,o=this._d;i=h(i=h(i=h(i=h(i=d(i=d(i=d(i=d(i=l(i=l(i=l(i=l(i=c(i=c(i=c(i=c(i,r=c(r,o=c(o,n=c(n,i,r,o,e[0],3614090360,7),i,r,e[1],3905402710,12),n,i,e[2],606105819,17),o,n,e[3],3250441966,22),r=c(r,o=c(o,n=c(n,i,r,o,e[4],4118548399,7),i,r,e[5],1200080426,12),n,i,e[6],2821735955,17),o,n,e[7],4249261313,22),r=c(r,o=c(o,n=c(n,i,r,o,e[8],1770035416,7),i,r,e[9],2336552879,12),n,i,e[10],4294925233,17),o,n,e[11],2304563134,22),r=c(r,o=c(o,n=c(n,i,r,o,e[12],1804603682,7),i,r,e[13],4254626195,12),n,i,e[14],2792965006,17),o,n,e[15],1236535329,22),r=l(r,o=l(o,n=l(n,i,r,o,e[1],4129170786,5),i,r,e[6],3225465664,9),n,i,e[11],643717713,14),o,n,e[0],3921069994,20),r=l(r,o=l(o,n=l(n,i,r,o,e[5],3593408605,5),i,r,e[10],38016083,9),n,i,e[15],3634488961,14),o,n,e[4],3889429448,20),r=l(r,o=l(o,n=l(n,i,r,o,e[9],568446438,5),i,r,e[14],3275163606,9),n,i,e[3],4107603335,14),o,n,e[8],1163531501,20),r=l(r,o=l(o,n=l(n,i,r,o,e[13],2850285829,5),i,r,e[2],4243563512,9),n,i,e[7],1735328473,14),o,n,e[12],2368359562,20),r=d(r,o=d(o,n=d(n,i,r,o,e[5],4294588738,4),i,r,e[8],2272392833,11),n,i,e[11],1839030562,16),o,n,e[14],4259657740,23),r=d(r,o=d(o,n=d(n,i,r,o,e[1],2763975236,4),i,r,e[4],1272893353,11),n,i,e[7],4139469664,16),o,n,e[10],3200236656,23),r=d(r,o=d(o,n=d(n,i,r,o,e[13],681279174,4),i,r,e[0],3936430074,11),n,i,e[3],3572445317,16),o,n,e[6],76029189,23),r=d(r,o=d(o,n=d(n,i,r,o,e[9],3654602809,4),i,r,e[12],3873151461,11),n,i,e[15],530742520,16),o,n,e[2],3299628645,23),r=h(r,o=h(o,n=h(n,i,r,o,e[0],4096336452,6),i,r,e[7],1126891415,10),n,i,e[14],2878612391,15),o,n,e[5],4237533241,21),r=h(r,o=h(o,n=h(n,i,r,o,e[12],1700485571,6),i,r,e[3],2399980690,10),n,i,e[10],4293915773,15),o,n,e[1],2240044497,21),r=h(r,o=h(o,n=h(n,i,r,o,e[8],1873313359,6),i,r,e[15],4264355552,10),n,i,e[6],2734768916,15),o,n,e[13],1309151649,21),r=h(r,o=h(o,n=h(n,i,r,o,e[4],4149444226,6),i,r,e[11],3174756917,10),n,i,e[2],718787259,15),o,n,e[9],3951481745,21),this._a=this._a+n|0,this._b=this._b+i|0,this._c=this._c+r|0,this._d=this._d+o|0},a.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=o.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},e.exports=a},ejIc:function(e,t){e.exports={sha224WithRSAEncryption:{sign:"rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},"RSA-SHA224":{sign:"ecdsa/rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},sha256WithRSAEncryption:{sign:"rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},"RSA-SHA256":{sign:"ecdsa/rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},sha384WithRSAEncryption:{sign:"rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},"RSA-SHA384":{sign:"ecdsa/rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},sha512WithRSAEncryption:{sign:"rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA512":{sign:"ecdsa/rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA1":{sign:"rsa",hash:"sha1",id:"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{sign:"ecdsa",hash:"sha1",id:""},sha256:{sign:"ecdsa",hash:"sha256",id:""},sha224:{sign:"ecdsa",hash:"sha224",id:""},sha384:{sign:"ecdsa",hash:"sha384",id:""},sha512:{sign:"ecdsa",hash:"sha512",id:""},"DSA-SHA":{sign:"dsa",hash:"sha1",id:""},"DSA-SHA1":{sign:"dsa",hash:"sha1",id:""},DSA:{sign:"dsa",hash:"sha1",id:""},"DSA-WITH-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-WITH-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-WITH-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-WITH-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-RIPEMD160":{sign:"dsa",hash:"rmd160",id:""},ripemd160WithRSA:{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},"RSA-RIPEMD160":{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},md5WithRSAEncryption:{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"},"RSA-MD5":{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"}}},eoic:function(e,t,n){"use strict";n.d(t,"c",function(){return a}),t.g=function(e){return{id:e}},n.d(t,"d",function(){return c}),n.d(t,"b",function(){return l}),t.e=function(e){switch(e){case u:return"vs-dark";case l:return"hc-black";default:return"vs"}},n.d(t,"a",function(){return d}),t.f=function(e){return h.onThemeChange(e)};var i=n("JVO/"),r=n("tqet"),o=n("RWr8"),s=n("Kp7x"),a=Object(i.c)("themeService");var u="dark",c="light",l="hc";var d={ThemingContribution:"base.contributions.theming"},h=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(r.h)(function(){var n=t.themingParticipants.indexOf(e);t.themingParticipants.splice(n,1)})},e.prototype.getThemingParticipants=function(){return this.themingParticipants},e}());o.a.add(d.ThemingContribution,h)},f48b:function(e,t,n){"use strict";e.exports=o;var i=n("D1Va"),r=n("jOgh");function o(e){if(!(this instanceof o))return new o(e);i.call(this,e)}r.inherits=n("LC74"),r.inherits(o,i),o.prototype._transform=function(e,t,n){n(null,e)}},fAkY:function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return s});var i=n("Nr0y"),r=n("JVO/"),o=(i.a,Object(r.c)("notificationService")),s=function(){return function(){}}()},fBQ2:function(e,t,n){"use strict";var i=n("evD5"),r=n("X8DO");e.exports=function(e,t,n){t in e?i.f(e,t,r(0,n)):e[t]=n}},fC4T:function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},fWB8:function(e,t,n){"use strict";var i=n("1lLf"),r=n("Q48P");function o(){if(!(this instanceof o))return new o;r.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}i.inherits(o,r),e.exports=o,o.blockSize=512,o.outSize=224,o.hmacStrength=192,o.padLength=64,o.prototype._digest=function(e){return"hex"===e?i.toHex32(this.h.slice(0,7),"big"):i.split32(this.h.slice(0,7),"big")}},ftXN:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var i,r=n("aL7J");i="undefined"!=typeof TextDecoder?function(e){return new o(e)}:function(e){return new s};var o=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||r.w(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 n=0;n0&&0===e.minimapLeft?e.minimapWidth:0},e.prototype._onViewZoneTop=function(e){this.domNode.style.top=e+"px"},e.prototype._onViewZoneHeight=function(e){if(this.domNode.style.height=e+"px",this.container){var t=e-this._decoratingElementsHeight();this.container.style.height=t+"px";var n=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(n))}this._resizeSash&&this._resizeSash.layout()},Object.defineProperty(e.prototype,"position",{get:function(){var e=this._positionMarkerId[0];if(e){var t=this.editor.getModel();if(t){var n=t.getDecorationRange(e);if(n)return n.getStartPosition()}}},enumerable:!0,configurable:!0}),e.prototype.show=function(e,t){var n=g.a.isIRange(e)?e:new g.a(e.lineNumber,e.column,e.lineNumber,e.column);this._isShowing=!0,this._showImpl(n,t),this._isShowing=!1,this._positionMarkerId=this.editor.deltaDecorations(this._positionMarkerId,[{range:n,options:m.a.EMPTY}])},e.prototype.hide=function(){var e=this;this._viewZone&&(this.editor.changeViewZones(function(t){e._viewZone&&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 n=this,i={lineNumber:e.startLineNumber,column:e.startColumn},r=this.editor.getLayoutInfo(),o=this._getWidth(r);this.domNode.style.width=o+"px",this.domNode.style.left=this._getLeft(r)+"px";var s=document.createElement("div");s.style.overflow="hidden";var a=this.editor.getConfiguration().lineHeight,u=this.editor.getLayoutInfo().height/a*.8;t>=u&&(t=u);var c=0,l=0;if(this._arrow&&this.options.showArrow&&(c=Math.round(a/3),this._arrow.height=c,this._arrow.show(i)),this.options.showFrame&&(l=Math.round(a/9)),this.editor.changeViewZones(function(e){n._viewZone&&e.removeZone(n._viewZone.id),n._overlayWidget&&(n.editor.removeOverlayWidget(n._overlayWidget),n._overlayWidget=null),n.domNode.style.top="-1000px",n._viewZone=new b(s,i.lineNumber,i.column,t,function(e){return n._onViewZoneTop(e)},function(e){return n._onViewZoneHeight(e)}),n._viewZone.id=e.addZone(n._viewZone),n._overlayWidget=new y("vs.editor.contrib.zoneWidget"+n._viewZone.id,n.domNode),n.editor.addOverlayWidget(n._overlayWidget)}),this.container&&this.options.showFrame){var d=this.options.frameWidth?this.options.frameWidth:l;this.container.style.borderTopWidth=d+"px",this.container.style.borderBottomWidth=d+"px"}var h=t*a-this._decoratingElementsHeight();this.container&&(this.container.style.top=c+"px",this.container.style.height=h+"px",this.container.style.overflow="hidden"),this._doLayout(h,o),this.options.keepEditorSelection||this.editor.setSelection(e);var f=this.editor.getModel();if(f){var p=Math.min(f.getLineCount(),Math.max(1,e.endLineNumber+1));this.revealLine(p)}},e.prototype.revealLine=function(e){this.editor.revealLine(e,0)},e.prototype.setCssClass=function(e,t){this.container&&(t&&this.container.classList.remove(t),i.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&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones(function(n){t._viewZone&&(t._viewZone.heightInLines=e,n.layoutZone(t._viewZone.id))})},e.prototype._initSash=function(){var e,t=this;this._resizeSash||(this._resizeSash=this._disposables.add(new h.a(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.hide(),this._resizeSash.state=0),this._disposables.add(this._resizeSash.onDidStart(function(n){t._viewZone&&(e={startY:n.startY,heightInLines:t._viewZone.heightInLines})})),this._disposables.add(this._resizeSash.onDidEnd(function(){e=void 0})),this._disposables.add(this._resizeSash.onDidChange(function(n){if(e){var i=(n.currentY-e.startY)/t.editor.getConfiguration().lineHeight,r=i<0?Math.ceil(i):Math.floor(i),o=e.heightInLines+r;o>5&&o<35&&t._relayout(o)}})))},e.prototype.getHorizontalSashLeft=function(){return 0},e.prototype.getHorizontalSashTop=function(){return(null===this.domNode.style.height?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2},e.prototype.getHorizontalSashWidth=function(){var e=this.editor.getLayoutInfo();return e.width-e.minimapWidth},e}(),S=n("hK2W"),x=n("7g0X"),L=n("JVO/"),O=n("8xpx");n.d(t,"a",function(){return D}),n.d(t,"b",function(){return N}),t.d=function(e){var t=e.get(l.a).getFocusedCodeEditor();if(t instanceof d.a)return t.getParentEditor();return t},n.d(t,"c",function(){return T});var k,N,E,I=this&&this.__extends||(k=function(e,t){return(k=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}k(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),D=Object(L.c)("IPeekViewService");Object(O.b)(D,function(){function e(){this._widgets=new Map}return e.prototype.addExclusiveWidget=function(e,t){var n=this,i=this._widgets.get(e);i&&(i.listener.dispose(),i.widget.dispose());this._widgets.set(e,{widget:t,listener:t.onDidClose(function(){var i=n._widgets.get(e);i&&i.widget===t&&(i.listener.dispose(),n._widgets.delete(e))})})},e}()),(E=N||(N={})).inPeekEditor=new x.d("inReferenceSearchEditor",!0),E.notInPeekEditor=E.inPeekEditor.toNegated();var M={headerBackgroundColor:s.a.white,primaryHeadingColor:s.a.fromHex("#333333"),secondaryHeadingColor:s.a.fromHex("#6c6c6cb3")},T=function(e){function t(t,n){void 0===n&&(n={});var i=e.call(this,t,n)||this;return i._onDidClose=new a.a,u.g(i.options,M,!1),i}return I(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 n=this.options;t.headerBackgroundColor&&(n.headerBackgroundColor=t.headerBackgroundColor),t.primaryHeadingColor&&(n.primaryHeadingColor=t.primaryHeadingColor),t.secondaryHeadingColor&&(n.secondaryHeadingColor=t.secondaryHeadingColor),e.prototype.style.call(this,t)},t.prototype._applyStyles=function(){e.prototype._applyStyles.call(this);var t=this.options;this._headElement&&t.headerBackgroundColor&&(this._headElement.style.backgroundColor=t.headerBackgroundColor.toString()),this._primaryHeading&&t.primaryHeadingColor&&(this._primaryHeading.style.color=t.primaryHeadingColor.toString()),this._secondaryHeading&&t.secondaryHeadingColor&&(this._secondaryHeading.style.color=t.secondaryHeadingColor.toString()),this._bodyElement&&t.frameColor&&(this._bodyElement.style.borderColor=t.frameColor.toString())},t.prototype._fillContainer=function(e){this.setCssClass("peekview-widget"),this._headElement=i.a(".head"),this._bodyElement=i.a(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)},t.prototype._fillHead=function(e){var t=this,n=i.a(".peekview-title");i.m(this._headElement,n),i.k(n,"click",function(e){return t._onTitleClick(e)}),this._fillTitleIcon(n),this._primaryHeading=i.a("span.filename"),this._secondaryHeading=i.a("span.dirname"),this._metaHeading=i.a("span.meta"),i.m(n,this._primaryHeading,this._secondaryHeading,this._metaHeading);var s=i.a(".peekview-actions");i.m(this._headElement,s);var a=this._getActionBarOptions();this._actionbarWidget=new r.a(s,a),this._disposables.add(this._actionbarWidget),this._actionbarWidget.push(new o.a("peekview.close",S.a("label.close","Close"),"close-peekview-action",!0,function(){return t.dispose(),Promise.resolve()}),{label:!1,icon:!0})},t.prototype._fillTitleIcon=function(e){},t.prototype._getActionBarOptions=function(){return{}},t.prototype._onTitleClick=function(e){},t.prototype.setTitle=function(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerHTML=c.o(e),this._primaryHeading.setAttribute("aria-label",e),t?this._secondaryHeading.innerHTML=c.o(t):i.p(this._secondaryHeading))},t.prototype.setMetaTitle=function(e){this._metaHeading&&(e?this._metaHeading.innerHTML=c.o(e):i.p(this._metaHeading))},t.prototype._doLayout=function(e,t){if(!this._isShowing&&e<0)this.dispose();else{var n=Math.ceil(1.2*this.editor.getConfiguration().lineHeight),i=e-(n+2);this._doLayoutHead(n,t),this._doLayoutBody(i,t)}},t.prototype._doLayoutHead=function(e,t){this._headElement&&(this._headElement.style.height=e+"px",this._headElement.style.lineHeight=this._headElement.style.height)},t.prototype._doLayoutBody=function(e,t){this._bodyElement&&(this._bodyElement.style.height=e+"px")},t}(C)},fxuI:function(e,t,n){var i=n("jkjm"),r=n("Cua8"),o=n("zOO0"),s=n("geuY"),a=n("jSRM"),u=n("BVsN"),c=n("5QAX"),l=n("X3l8").Buffer;e.exports=function(e,t,n){var d;d=e.padding?e.padding:n?1:4;var h,f=i(e),p=f.modulus.byteLength();if(t.length>p||new s(t).cmp(f.modulus)>=0)throw new Error("decryption error");h=n?c(new s(t),f):a(t,f);var g=l.alloc(p-h.length);if(h=l.concat([g,h],p),4===d)return function(e,t){var n=e.modulus.byteLength(),i=u("sha1").update(l.alloc(0)).digest(),s=i.length;if(0!==t[0])throw new Error("decryption error");var a=t.slice(1,s+1),c=t.slice(s+1),d=o(a,r(c,s)),h=o(c,r(d,n-s-1));if(function(e,t){e=l.from(e),t=l.from(t);var n=0,i=e.length;e.length!==t.length&&(n++,i=Math.min(e.length,t.length));var r=-1;for(;++r=t.length){o++;break}var s=t.slice(2,r-1);("0002"!==i.toString("hex")&&!n||"0001"!==i.toString("hex")&&n)&&o++;s.length<8&&o++;if(o)throw new Error("decryption error");return t.slice(r)}(0,h,n);if(3===d)return h;throw new Error("unknown padding")}},fyvs:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var i,r=n("Kp7x"),o=n("tqet"),s=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=function(){function e(e,t,n,i,r,o){t|=0,n|=0,i|=0,r|=0,o|=0,(e|=0)<0&&(e=0),n+e>t&&(n=t-e),n<0&&(n=0),i<0&&(i=0),o+i>r&&(o=r-i),o<0&&(o=0),this.width=e,this.scrollWidth=t,this.scrollLeft=n,this.height=i,this.scrollHeight=r,this.scrollTop=o}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,n=this.scrollWidth!==e.scrollWidth,i=this.scrollLeft!==e.scrollLeft,r=this.height!==e.height,o=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:n,scrollLeftChanged:i,heightChanged:r,scrollHeightChanged:o,scrollTopChanged:s}},e}(),u=function(e){function t(t,n){var i=e.call(this)||this;return i._onScroll=i._register(new r.a),i.onScroll=i._onScroll.event,i._smoothScrollDuration=t,i._scheduleAtNextAnimationFrame=n,i._state=new a(0,0,0,0,0,0),i._smoothScrolling=null,i}return s(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 n=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===n.scrollLeft&&this._smoothScrolling.to.scrollTop===n.scrollTop)return;var i=this._smoothScrolling.combine(this._state,n,this._smoothScrollDuration);this._smoothScrolling.dispose(),this._smoothScrolling=i}else{n=this._state.withScrollPosition(e);this._smoothScrolling=d.start(this._state,n,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(function(){t._smoothScrolling&&(t._smoothScrolling.animationFrameDisposable=null,t._performSmoothScrolling())})},t.prototype._performSmoothScrolling=function(){var e=this;if(this._smoothScrolling){var t=this._smoothScrolling.tick(),n=this._state.withScrollPosition(t);if(this._setState(n),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}(o.a),c=function(){return function(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}}();function l(e,t){var n=t-e;return function(t){return e+n*(1-function(e){return Math.pow(e,3)}(1-t))}}var d=function(){function e(e,t,n,i){this.from=e,this.to=t,this.duration=i,this._startTime=n,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,n){var i,r,o;if(Math.abs(e-t)>2.5*n){var s=void 0,a=void 0;return e=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return i}function u(e,t,n,i){for(var r=0,o=Math.min(e.length,n),s=t;s=49?a-49+10:a>=17?a-17+10:a}return r}o.isBN=function(e){return e instanceof o||null!==e&&"object"==typeof e&&e.constructor.wordSize===o.wordSize&&Array.isArray(e.words)},o.max=function(e,t){return e.cmp(t)>0?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),i(t===(0|t)&&t>=2&&t<=36);var r=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&r++,16===t?this._parseHex(e,r):this._parseBase(e,t,r),"-"===e[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initNumber=function(e,t,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(i(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initArray=function(e,t,n){if(i("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var r=0;r=0;r-=3)s=e[r]|e[r-1]<<8|e[r-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===n)for(r=0,o=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n=t;n-=6)r=a(e,n,n+6),this.words[i]|=r<>>26-o&4194303,(o+=24)>=26&&(o-=26,i++);n+6!==t&&(r=a(e,t,n+6),this.words[i]|=r<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var i=0,r=1;r<=67108863;r*=t)i++;i--,r=r/t|0;for(var o=e.length-n,s=o%i,a=Math.min(o,o-s)+n,c=0,l=n;l1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function h(e,t,n){n.negative=t.negative^e.negative;var i=e.length+t.length|0;n.length=i,i=i-1|0;var r=0|e.words[0],o=0|t.words[0],s=r*o,a=67108863&s,u=s/67108864|0;n.words[0]=a;for(var c=1;c>>26,d=67108863&u,h=Math.min(c,t.length-1),f=Math.max(0,c-e.length+1);f<=h;f++){var p=c-f|0;l+=(s=(r=0|e.words[p])*(o=0|t.words[f])+d)/67108864|0,d=67108863&s}n.words[c]=0|d,u=0|l}return 0!==u?n.words[c]=0|u:n.length--,n.strip()}o.prototype.toString=function(e,t){var n;if(e=e||10,t=0|t||1,16===e||"hex"===e){n="";for(var r=0,o=0,s=0;s>>24-r&16777215)||s!==this.length-1?c[6-u.length]+u+n:u+n,(r+=2)>=26&&(r-=26,s--)}for(0!==o&&(n=o.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var h=l[e],f=d[e];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(f).toString(e);n=(p=p.idivn(f)).isZero()?g+n:c[h-g.length]+g+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}i(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(e,t){return i(void 0!==s),this.toArrayLike(s,e,t)},o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},o.prototype.toArrayLike=function(e,t,n){var r=this.byteLength(),o=n||Math.max(1,r);i(r<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===t,c=new e(o),l=this.clone();if(u){for(a=0;!l.isZero();a++)s=l.andln(255),l.iushrn(8),c[a]=s;for(;a=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;ne.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var i=0;ie.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){i("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-n),this.strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){i("number"==typeof e&&e>=0);var n=e/26|0,r=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(n=this,i=e):(n=e,i=this);for(var r=0,o=0;o>>26;for(;0!==r&&o>>26;if(this.length=n.length,0!==r)this.words[this.length]=r,this.length++;else if(n!==this)for(;oe.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,i,r=this.cmp(e);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(n=this,i=e):(n=e,i=this);for(var o=0,s=0;s>26,this.words[s]=67108863&t;for(;0!==o&&s>26,this.words[s]=67108863&t;if(0===o&&s>>13,f=0|s[1],p=8191&f,g=f>>>13,m=0|s[2],v=8191&m,_=m>>>13,b=0|s[3],y=8191&b,w=b>>>13,C=0|s[4],S=8191&C,x=C>>>13,L=0|s[5],O=8191&L,k=L>>>13,N=0|s[6],E=8191&N,I=N>>>13,D=0|s[7],M=8191&D,T=D>>>13,P=0|s[8],A=8191&P,R=P>>>13,F=0|s[9],j=8191&F,W=F>>>13,B=0|a[0],V=8191&B,H=B>>>13,z=0|a[1],U=8191&z,K=z>>>13,q=0|a[2],G=8191&q,Z=q>>>13,Y=0|a[3],X=8191&Y,$=Y>>>13,J=0|a[4],Q=8191&J,ee=J>>>13,te=0|a[5],ne=8191&te,ie=te>>>13,re=0|a[6],oe=8191&re,se=re>>>13,ae=0|a[7],ue=8191&ae,ce=ae>>>13,le=0|a[8],de=8191&le,he=le>>>13,fe=0|a[9],pe=8191&fe,ge=fe>>>13;n.negative=e.negative^t.negative,n.length=19;var me=(c+(i=Math.imul(d,V))|0)+((8191&(r=(r=Math.imul(d,H))+Math.imul(h,V)|0))<<13)|0;c=((o=Math.imul(h,H))+(r>>>13)|0)+(me>>>26)|0,me&=67108863,i=Math.imul(p,V),r=(r=Math.imul(p,H))+Math.imul(g,V)|0,o=Math.imul(g,H);var ve=(c+(i=i+Math.imul(d,U)|0)|0)+((8191&(r=(r=r+Math.imul(d,K)|0)+Math.imul(h,U)|0))<<13)|0;c=((o=o+Math.imul(h,K)|0)+(r>>>13)|0)+(ve>>>26)|0,ve&=67108863,i=Math.imul(v,V),r=(r=Math.imul(v,H))+Math.imul(_,V)|0,o=Math.imul(_,H),i=i+Math.imul(p,U)|0,r=(r=r+Math.imul(p,K)|0)+Math.imul(g,U)|0,o=o+Math.imul(g,K)|0;var _e=(c+(i=i+Math.imul(d,G)|0)|0)+((8191&(r=(r=r+Math.imul(d,Z)|0)+Math.imul(h,G)|0))<<13)|0;c=((o=o+Math.imul(h,Z)|0)+(r>>>13)|0)+(_e>>>26)|0,_e&=67108863,i=Math.imul(y,V),r=(r=Math.imul(y,H))+Math.imul(w,V)|0,o=Math.imul(w,H),i=i+Math.imul(v,U)|0,r=(r=r+Math.imul(v,K)|0)+Math.imul(_,U)|0,o=o+Math.imul(_,K)|0,i=i+Math.imul(p,G)|0,r=(r=r+Math.imul(p,Z)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,Z)|0;var be=(c+(i=i+Math.imul(d,X)|0)|0)+((8191&(r=(r=r+Math.imul(d,$)|0)+Math.imul(h,X)|0))<<13)|0;c=((o=o+Math.imul(h,$)|0)+(r>>>13)|0)+(be>>>26)|0,be&=67108863,i=Math.imul(S,V),r=(r=Math.imul(S,H))+Math.imul(x,V)|0,o=Math.imul(x,H),i=i+Math.imul(y,U)|0,r=(r=r+Math.imul(y,K)|0)+Math.imul(w,U)|0,o=o+Math.imul(w,K)|0,i=i+Math.imul(v,G)|0,r=(r=r+Math.imul(v,Z)|0)+Math.imul(_,G)|0,o=o+Math.imul(_,Z)|0,i=i+Math.imul(p,X)|0,r=(r=r+Math.imul(p,$)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,$)|0;var ye=(c+(i=i+Math.imul(d,Q)|0)|0)+((8191&(r=(r=r+Math.imul(d,ee)|0)+Math.imul(h,Q)|0))<<13)|0;c=((o=o+Math.imul(h,ee)|0)+(r>>>13)|0)+(ye>>>26)|0,ye&=67108863,i=Math.imul(O,V),r=(r=Math.imul(O,H))+Math.imul(k,V)|0,o=Math.imul(k,H),i=i+Math.imul(S,U)|0,r=(r=r+Math.imul(S,K)|0)+Math.imul(x,U)|0,o=o+Math.imul(x,K)|0,i=i+Math.imul(y,G)|0,r=(r=r+Math.imul(y,Z)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,Z)|0,i=i+Math.imul(v,X)|0,r=(r=r+Math.imul(v,$)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,$)|0,i=i+Math.imul(p,Q)|0,r=(r=r+Math.imul(p,ee)|0)+Math.imul(g,Q)|0,o=o+Math.imul(g,ee)|0;var we=(c+(i=i+Math.imul(d,ne)|0)|0)+((8191&(r=(r=r+Math.imul(d,ie)|0)+Math.imul(h,ne)|0))<<13)|0;c=((o=o+Math.imul(h,ie)|0)+(r>>>13)|0)+(we>>>26)|0,we&=67108863,i=Math.imul(E,V),r=(r=Math.imul(E,H))+Math.imul(I,V)|0,o=Math.imul(I,H),i=i+Math.imul(O,U)|0,r=(r=r+Math.imul(O,K)|0)+Math.imul(k,U)|0,o=o+Math.imul(k,K)|0,i=i+Math.imul(S,G)|0,r=(r=r+Math.imul(S,Z)|0)+Math.imul(x,G)|0,o=o+Math.imul(x,Z)|0,i=i+Math.imul(y,X)|0,r=(r=r+Math.imul(y,$)|0)+Math.imul(w,X)|0,o=o+Math.imul(w,$)|0,i=i+Math.imul(v,Q)|0,r=(r=r+Math.imul(v,ee)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,ee)|0,i=i+Math.imul(p,ne)|0,r=(r=r+Math.imul(p,ie)|0)+Math.imul(g,ne)|0,o=o+Math.imul(g,ie)|0;var Ce=(c+(i=i+Math.imul(d,oe)|0)|0)+((8191&(r=(r=r+Math.imul(d,se)|0)+Math.imul(h,oe)|0))<<13)|0;c=((o=o+Math.imul(h,se)|0)+(r>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,i=Math.imul(M,V),r=(r=Math.imul(M,H))+Math.imul(T,V)|0,o=Math.imul(T,H),i=i+Math.imul(E,U)|0,r=(r=r+Math.imul(E,K)|0)+Math.imul(I,U)|0,o=o+Math.imul(I,K)|0,i=i+Math.imul(O,G)|0,r=(r=r+Math.imul(O,Z)|0)+Math.imul(k,G)|0,o=o+Math.imul(k,Z)|0,i=i+Math.imul(S,X)|0,r=(r=r+Math.imul(S,$)|0)+Math.imul(x,X)|0,o=o+Math.imul(x,$)|0,i=i+Math.imul(y,Q)|0,r=(r=r+Math.imul(y,ee)|0)+Math.imul(w,Q)|0,o=o+Math.imul(w,ee)|0,i=i+Math.imul(v,ne)|0,r=(r=r+Math.imul(v,ie)|0)+Math.imul(_,ne)|0,o=o+Math.imul(_,ie)|0,i=i+Math.imul(p,oe)|0,r=(r=r+Math.imul(p,se)|0)+Math.imul(g,oe)|0,o=o+Math.imul(g,se)|0;var Se=(c+(i=i+Math.imul(d,ue)|0)|0)+((8191&(r=(r=r+Math.imul(d,ce)|0)+Math.imul(h,ue)|0))<<13)|0;c=((o=o+Math.imul(h,ce)|0)+(r>>>13)|0)+(Se>>>26)|0,Se&=67108863,i=Math.imul(A,V),r=(r=Math.imul(A,H))+Math.imul(R,V)|0,o=Math.imul(R,H),i=i+Math.imul(M,U)|0,r=(r=r+Math.imul(M,K)|0)+Math.imul(T,U)|0,o=o+Math.imul(T,K)|0,i=i+Math.imul(E,G)|0,r=(r=r+Math.imul(E,Z)|0)+Math.imul(I,G)|0,o=o+Math.imul(I,Z)|0,i=i+Math.imul(O,X)|0,r=(r=r+Math.imul(O,$)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,$)|0,i=i+Math.imul(S,Q)|0,r=(r=r+Math.imul(S,ee)|0)+Math.imul(x,Q)|0,o=o+Math.imul(x,ee)|0,i=i+Math.imul(y,ne)|0,r=(r=r+Math.imul(y,ie)|0)+Math.imul(w,ne)|0,o=o+Math.imul(w,ie)|0,i=i+Math.imul(v,oe)|0,r=(r=r+Math.imul(v,se)|0)+Math.imul(_,oe)|0,o=o+Math.imul(_,se)|0,i=i+Math.imul(p,ue)|0,r=(r=r+Math.imul(p,ce)|0)+Math.imul(g,ue)|0,o=o+Math.imul(g,ce)|0;var xe=(c+(i=i+Math.imul(d,de)|0)|0)+((8191&(r=(r=r+Math.imul(d,he)|0)+Math.imul(h,de)|0))<<13)|0;c=((o=o+Math.imul(h,he)|0)+(r>>>13)|0)+(xe>>>26)|0,xe&=67108863,i=Math.imul(j,V),r=(r=Math.imul(j,H))+Math.imul(W,V)|0,o=Math.imul(W,H),i=i+Math.imul(A,U)|0,r=(r=r+Math.imul(A,K)|0)+Math.imul(R,U)|0,o=o+Math.imul(R,K)|0,i=i+Math.imul(M,G)|0,r=(r=r+Math.imul(M,Z)|0)+Math.imul(T,G)|0,o=o+Math.imul(T,Z)|0,i=i+Math.imul(E,X)|0,r=(r=r+Math.imul(E,$)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,$)|0,i=i+Math.imul(O,Q)|0,r=(r=r+Math.imul(O,ee)|0)+Math.imul(k,Q)|0,o=o+Math.imul(k,ee)|0,i=i+Math.imul(S,ne)|0,r=(r=r+Math.imul(S,ie)|0)+Math.imul(x,ne)|0,o=o+Math.imul(x,ie)|0,i=i+Math.imul(y,oe)|0,r=(r=r+Math.imul(y,se)|0)+Math.imul(w,oe)|0,o=o+Math.imul(w,se)|0,i=i+Math.imul(v,ue)|0,r=(r=r+Math.imul(v,ce)|0)+Math.imul(_,ue)|0,o=o+Math.imul(_,ce)|0,i=i+Math.imul(p,de)|0,r=(r=r+Math.imul(p,he)|0)+Math.imul(g,de)|0,o=o+Math.imul(g,he)|0;var Le=(c+(i=i+Math.imul(d,pe)|0)|0)+((8191&(r=(r=r+Math.imul(d,ge)|0)+Math.imul(h,pe)|0))<<13)|0;c=((o=o+Math.imul(h,ge)|0)+(r>>>13)|0)+(Le>>>26)|0,Le&=67108863,i=Math.imul(j,U),r=(r=Math.imul(j,K))+Math.imul(W,U)|0,o=Math.imul(W,K),i=i+Math.imul(A,G)|0,r=(r=r+Math.imul(A,Z)|0)+Math.imul(R,G)|0,o=o+Math.imul(R,Z)|0,i=i+Math.imul(M,X)|0,r=(r=r+Math.imul(M,$)|0)+Math.imul(T,X)|0,o=o+Math.imul(T,$)|0,i=i+Math.imul(E,Q)|0,r=(r=r+Math.imul(E,ee)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,ee)|0,i=i+Math.imul(O,ne)|0,r=(r=r+Math.imul(O,ie)|0)+Math.imul(k,ne)|0,o=o+Math.imul(k,ie)|0,i=i+Math.imul(S,oe)|0,r=(r=r+Math.imul(S,se)|0)+Math.imul(x,oe)|0,o=o+Math.imul(x,se)|0,i=i+Math.imul(y,ue)|0,r=(r=r+Math.imul(y,ce)|0)+Math.imul(w,ue)|0,o=o+Math.imul(w,ce)|0,i=i+Math.imul(v,de)|0,r=(r=r+Math.imul(v,he)|0)+Math.imul(_,de)|0,o=o+Math.imul(_,he)|0;var Oe=(c+(i=i+Math.imul(p,pe)|0)|0)+((8191&(r=(r=r+Math.imul(p,ge)|0)+Math.imul(g,pe)|0))<<13)|0;c=((o=o+Math.imul(g,ge)|0)+(r>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,i=Math.imul(j,G),r=(r=Math.imul(j,Z))+Math.imul(W,G)|0,o=Math.imul(W,Z),i=i+Math.imul(A,X)|0,r=(r=r+Math.imul(A,$)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,$)|0,i=i+Math.imul(M,Q)|0,r=(r=r+Math.imul(M,ee)|0)+Math.imul(T,Q)|0,o=o+Math.imul(T,ee)|0,i=i+Math.imul(E,ne)|0,r=(r=r+Math.imul(E,ie)|0)+Math.imul(I,ne)|0,o=o+Math.imul(I,ie)|0,i=i+Math.imul(O,oe)|0,r=(r=r+Math.imul(O,se)|0)+Math.imul(k,oe)|0,o=o+Math.imul(k,se)|0,i=i+Math.imul(S,ue)|0,r=(r=r+Math.imul(S,ce)|0)+Math.imul(x,ue)|0,o=o+Math.imul(x,ce)|0,i=i+Math.imul(y,de)|0,r=(r=r+Math.imul(y,he)|0)+Math.imul(w,de)|0,o=o+Math.imul(w,he)|0;var ke=(c+(i=i+Math.imul(v,pe)|0)|0)+((8191&(r=(r=r+Math.imul(v,ge)|0)+Math.imul(_,pe)|0))<<13)|0;c=((o=o+Math.imul(_,ge)|0)+(r>>>13)|0)+(ke>>>26)|0,ke&=67108863,i=Math.imul(j,X),r=(r=Math.imul(j,$))+Math.imul(W,X)|0,o=Math.imul(W,$),i=i+Math.imul(A,Q)|0,r=(r=r+Math.imul(A,ee)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,ee)|0,i=i+Math.imul(M,ne)|0,r=(r=r+Math.imul(M,ie)|0)+Math.imul(T,ne)|0,o=o+Math.imul(T,ie)|0,i=i+Math.imul(E,oe)|0,r=(r=r+Math.imul(E,se)|0)+Math.imul(I,oe)|0,o=o+Math.imul(I,se)|0,i=i+Math.imul(O,ue)|0,r=(r=r+Math.imul(O,ce)|0)+Math.imul(k,ue)|0,o=o+Math.imul(k,ce)|0,i=i+Math.imul(S,de)|0,r=(r=r+Math.imul(S,he)|0)+Math.imul(x,de)|0,o=o+Math.imul(x,he)|0;var Ne=(c+(i=i+Math.imul(y,pe)|0)|0)+((8191&(r=(r=r+Math.imul(y,ge)|0)+Math.imul(w,pe)|0))<<13)|0;c=((o=o+Math.imul(w,ge)|0)+(r>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,i=Math.imul(j,Q),r=(r=Math.imul(j,ee))+Math.imul(W,Q)|0,o=Math.imul(W,ee),i=i+Math.imul(A,ne)|0,r=(r=r+Math.imul(A,ie)|0)+Math.imul(R,ne)|0,o=o+Math.imul(R,ie)|0,i=i+Math.imul(M,oe)|0,r=(r=r+Math.imul(M,se)|0)+Math.imul(T,oe)|0,o=o+Math.imul(T,se)|0,i=i+Math.imul(E,ue)|0,r=(r=r+Math.imul(E,ce)|0)+Math.imul(I,ue)|0,o=o+Math.imul(I,ce)|0,i=i+Math.imul(O,de)|0,r=(r=r+Math.imul(O,he)|0)+Math.imul(k,de)|0,o=o+Math.imul(k,he)|0;var Ee=(c+(i=i+Math.imul(S,pe)|0)|0)+((8191&(r=(r=r+Math.imul(S,ge)|0)+Math.imul(x,pe)|0))<<13)|0;c=((o=o+Math.imul(x,ge)|0)+(r>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,i=Math.imul(j,ne),r=(r=Math.imul(j,ie))+Math.imul(W,ne)|0,o=Math.imul(W,ie),i=i+Math.imul(A,oe)|0,r=(r=r+Math.imul(A,se)|0)+Math.imul(R,oe)|0,o=o+Math.imul(R,se)|0,i=i+Math.imul(M,ue)|0,r=(r=r+Math.imul(M,ce)|0)+Math.imul(T,ue)|0,o=o+Math.imul(T,ce)|0,i=i+Math.imul(E,de)|0,r=(r=r+Math.imul(E,he)|0)+Math.imul(I,de)|0,o=o+Math.imul(I,he)|0;var Ie=(c+(i=i+Math.imul(O,pe)|0)|0)+((8191&(r=(r=r+Math.imul(O,ge)|0)+Math.imul(k,pe)|0))<<13)|0;c=((o=o+Math.imul(k,ge)|0)+(r>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,i=Math.imul(j,oe),r=(r=Math.imul(j,se))+Math.imul(W,oe)|0,o=Math.imul(W,se),i=i+Math.imul(A,ue)|0,r=(r=r+Math.imul(A,ce)|0)+Math.imul(R,ue)|0,o=o+Math.imul(R,ce)|0,i=i+Math.imul(M,de)|0,r=(r=r+Math.imul(M,he)|0)+Math.imul(T,de)|0,o=o+Math.imul(T,he)|0;var De=(c+(i=i+Math.imul(E,pe)|0)|0)+((8191&(r=(r=r+Math.imul(E,ge)|0)+Math.imul(I,pe)|0))<<13)|0;c=((o=o+Math.imul(I,ge)|0)+(r>>>13)|0)+(De>>>26)|0,De&=67108863,i=Math.imul(j,ue),r=(r=Math.imul(j,ce))+Math.imul(W,ue)|0,o=Math.imul(W,ce),i=i+Math.imul(A,de)|0,r=(r=r+Math.imul(A,he)|0)+Math.imul(R,de)|0,o=o+Math.imul(R,he)|0;var Me=(c+(i=i+Math.imul(M,pe)|0)|0)+((8191&(r=(r=r+Math.imul(M,ge)|0)+Math.imul(T,pe)|0))<<13)|0;c=((o=o+Math.imul(T,ge)|0)+(r>>>13)|0)+(Me>>>26)|0,Me&=67108863,i=Math.imul(j,de),r=(r=Math.imul(j,he))+Math.imul(W,de)|0,o=Math.imul(W,he);var Te=(c+(i=i+Math.imul(A,pe)|0)|0)+((8191&(r=(r=r+Math.imul(A,ge)|0)+Math.imul(R,pe)|0))<<13)|0;c=((o=o+Math.imul(R,ge)|0)+(r>>>13)|0)+(Te>>>26)|0,Te&=67108863;var Pe=(c+(i=Math.imul(j,pe))|0)+((8191&(r=(r=Math.imul(j,ge))+Math.imul(W,pe)|0))<<13)|0;return c=((o=Math.imul(W,ge))+(r>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,u[0]=me,u[1]=ve,u[2]=_e,u[3]=be,u[4]=ye,u[5]=we,u[6]=Ce,u[7]=Se,u[8]=xe,u[9]=Le,u[10]=Oe,u[11]=ke,u[12]=Ne,u[13]=Ee,u[14]=Ie,u[15]=De,u[16]=Me,u[17]=Te,u[18]=Pe,0!==c&&(u[19]=c,n.length++),n};function p(e,t,n){return(new g).mulp(e,t,n)}function g(e,t){this.x=e,this.y=t}Math.imul||(f=h),o.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?f(this,e,t):n<63?h(this,e,t):n<1024?function(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var i=0,r=0,o=0;o>>26)|0)>>>26,s&=67108863}n.words[o]=a,i=s,s=r}return 0!==i?n.words[o]=i:n.length--,n.strip()}(this,e,t):p(this,e,t)},g.prototype.makeRBT=function(e){for(var t=new Array(e),n=o.prototype._countBits(e)-1,i=0;i>=1;return i},g.prototype.permute=function(e,t,n,i,r,o){for(var s=0;s>>=1)r++;return 1<>>=13,n[2*s+1]=8191&o,o>>>=13;for(s=2*t;s>=26,t+=r/67108864|0,t+=o>>>26,this.words[n]=67108863&o}return 0!==t&&(this.words[n]=t,this.length++),this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n>>r}return t}(e);if(0===t.length)return new o(1);for(var n=this,i=0;i=0);var t,n=e%26,r=(e-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(t=0;t>>26-n}s&&(this.words[t]=s,this.length++)}if(0!==r){for(t=this.length-1;t>=0;t--)this.words[t+r]=this.words[t];for(t=0;t=0),r=t?(t-t%26)/26:0;var o=e%26,s=Math.min((e-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==l||c>=r);c--){var d=0|this.words[c];this.words[c]=l<<26-o|d>>>o,l=d&a}return u&&0!==l&&(u.words[u.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(e,t,n){return i(0===this.negative),this.iushrn(e,t,n)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){i("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,r=1<=0);var t=e%26,n=(e-t)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var r=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(i("number"==typeof e),i(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[r+n]=67108863&o}for(;r>26,this.words[r+n]=67108863&o;if(0===a)return this.strip();for(i(-1===a),a=0,r=0;r>26,this.words[r]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(e,t){var n=(this.length,e.length),i=this.clone(),r=e,s=0|r.words[r.length-1];0!==(n=26-this._countBits(s))&&(r=r.ushln(n),i.iushln(n),s=0|r.words[r.length-1]);var a,u=i.length-r.length;if("mod"!==t){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;d--){var h=67108864*(0|i.words[r.length+d])+(0|i.words[r.length+d-1]);for(h=Math.min(h/s|0,67108863),i._ishlnsubmul(r,h,d);0!==i.negative;)h--,i.negative=0,i._ishlnsubmul(r,1,d),i.isZero()||(i.negative^=1);a&&(a.words[d]=h)}return a&&a.strip(),i.strip(),"div"!==t&&0!==n&&i.iushrn(n),{div:a||null,mod:i}},o.prototype.divmod=function(e,t,n){return i(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(a=this.neg().divmod(e,t),"mod"!==t&&(r=a.div.neg()),"div"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(e)),{div:r,mod:s}):0===this.negative&&0!==e.negative?(a=this.divmod(e.neg(),t),"mod"!==t&&(r=a.div.neg()),{div:r,mod:a.mod}):0!=(this.negative&e.negative)?(a=this.neg().divmod(e.neg(),t),"div"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(e)),{div:a.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modn(e.words[0]))}:this._wordDiv(e,t);var r,s,a},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,i=e.ushrn(1),r=e.andln(1),o=n.cmp(i);return o<0||1===r&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modn=function(e){i(e<=67108863);for(var t=(1<<26)%e,n=0,r=this.length-1;r>=0;r--)n=(t*n+(0|this.words[r]))%e;return n},o.prototype.idivn=function(e){i(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var r=(0|this.words[n])+67108864*t;this.words[n]=r/e|0,t=r%e}return this.strip()},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){i(0===e.negative),i(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++c;for(var l=n.clone(),d=t.clone();!t.isZero();){for(var h=0,f=1;0==(t.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(t.iushrn(h);h-- >0;)(r.isOdd()||s.isOdd())&&(r.iadd(l),s.isub(d)),r.iushrn(1),s.iushrn(1);for(var p=0,g=1;0==(n.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(l),u.isub(d)),a.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),r.isub(a),s.isub(u)):(n.isub(t),a.isub(r),u.isub(s))}return{a:a,b:u,gcd:n.iushln(c)}},o.prototype._invmp=function(e){i(0===e.negative),i(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r,s=new o(1),a=new o(0),u=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,l=1;0==(t.words[0]&l)&&c<26;++c,l<<=1);if(c>0)for(t.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var d=0,h=1;0==(n.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(n.iushrn(d);d-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);t.cmp(n)>=0?(t.isub(n),s.isub(a)):(n.isub(t),a.isub(s))}return(r=0===t.cmpn(1)?s:a).cmpn(0)<0&&r.iadd(e),r},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var i=0;t.isEven()&&n.isEven();i++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var r=t.cmp(n);if(r<0){var o=t;t=n,n=o}else if(0===r||0===n.cmpn(1))break;t.isub(n)}return n.iushln(i)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){i("number"==typeof e);var t=e%26,n=(e-t)/26,r=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),i(e<=67108863,"Number is too big");var r=0|this.words[0];t=r===e?0:re.length)return 1;if(this.length=0;n--){var i=0|this.words[n],r=0|e.words[n];if(i!==r){ir&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new C(e)},o.prototype.toRed=function(e){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return i(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return i(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function v(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function y(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function C(e){if("string"==typeof e){var t=o._prime(e);this.m=t.p,this.prime=t}else i(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function S(e){C.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},v.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var i=t0?n.isub(this.p):n.strip(),n},v.prototype.split=function(e,t){e.iushrn(this.n,0,t)},v.prototype.imulK=function(e){return e.imul(this.k)},r(_,v),_.prototype.split=function(e,t){for(var n=Math.min(e.length,9),i=0;i>>22,r=o}r>>>=22,e.words[i-10]=r,0===r&&e.length>10?e.length-=10:e.length-=9},_.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n>>=26,e.words[n]=r,t=i}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(m[e])return m[e];var t;if("k256"===e)t=new _;else if("p224"===e)t=new b;else if("p192"===e)t=new y;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new w}return m[e]=t,t},C.prototype._verify1=function(e){i(0===e.negative,"red works only with positives"),i(e.red,"red works only with red numbers")},C.prototype._verify2=function(e,t){i(0==(e.negative|t.negative),"red works only with positives"),i(e.red&&e.red===t.red,"red works only with red numbers")},C.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},C.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},C.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},C.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},C.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},C.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},C.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},C.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},C.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},C.prototype.isqr=function(e){return this.imul(e,e.clone())},C.prototype.sqr=function(e){return this.mul(e,e)},C.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(i(t%2==1),3===t){var n=this.m.add(new o(1)).iushrn(2);return this.pow(e,n)}for(var r=this.m.subn(1),s=0;!r.isZero()&&0===r.andln(1);)s++,r.iushrn(1);i(!r.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new o(2*l*l).toRed(this);0!==this.pow(l,c).cmp(u);)l.redIAdd(u);for(var d=this.pow(l,r),h=this.pow(e,r.addn(1).iushrn(1)),f=this.pow(e,r),p=s;0!==f.cmp(a);){for(var g=f,m=0;0!==g.cmp(a);m++)g=g.redSqr();i(m=0;i--){for(var c=t.words[i],l=u-1;l>=0;l--){var d=c>>l&1;r!==n[0]&&(r=this.sqr(r)),0!==d||0!==s?(s<<=1,s|=d,(4===++a||0===i&&0===l)&&(r=this.mul(r,n[s]),a=0,s=0)):a=0}u=26}return r},C.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},C.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new S(e)},r(S,C),S.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},S.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},S.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),i=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(i).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var n=e.mul(t),i=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(i).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)}).call(t,n("3IRH")(e))},gpb6:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n("Vcj/");var i=n("hK2W"),r=n("KIxu"),o=n("aL7J"),s=n("odeJ"),a=n("uNfg"),u=n("tqet"),c=n("03Zz"),l=n("Kp7x"),d=65535,h=function(){function e(e,t,n){if(e.length!==t.length||e.length>d)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=n,this._parentsComputed=!1}return e.prototype.ensureParentIndices=function(){var e=this;if(!this._parentsComputed){this._parentsComputed=!0;for(var t=[],n=function(n,i){var r=t[t.length-1];return e.getStartLineNumber(r)<=n&&e.getEndLineNumber(r)>=i},i=0,r=this._startIndexes.length;i16777215||s>16777215)throw new Error("startLineNumber or endLineNumber must not exceed 16777215");for(;t.length>0&&!n(o,s);)t.pop();var a=t.length>0?t[t.length-1]:-1;t.push(i),this._startIndexes[i]=o+((255&a)<<24),this._endIndexes[i]=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,n=e%32;return 0!=(this._collapseStates[t]&1<>>24)+((4278190080&this._endIndexes[e])>>>16);return t===d?-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,n=this._startIndexes.length;if(0===n)return-1;for(;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.endLineNumber},e.prototype.containsLine=function(e){return this.startLineNumber<=e&&e<=this.endLineNumber},e}(),p=function(){function e(e,t){this._updateEventEmitter=new l.a,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new h(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,"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 n={};this._decorationProvider.changeDecorations(function(i){for(var r=0,o=e;r=d))break;r(a,l===d),a++}}u=s()}for(;a0)return e},e.prototype.applyMemento=function(e){if(Array.isArray(e)){for(var t=[],n=0,i=e;n=0;){var o=this._regions.toRegion(i);t&&!t(o,r)||n.push(o),r++,i=o.parentIndex}return n},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){var n=[],i=e?e.regionIndex+1:0,r=e?e.endLineNumber:Number.MAX_VALUE;if(t&&2===t.length)for(var o=[],s=i,a=this._regions.length;s0&&!u.containedBy(o[o.length-1]);)o.pop();o.push(u),t(u,o.length)&&n.push(u)}else for(s=i,a=this._regions.length;s0)for(var o=0,s=i;o1)){var c=e.getRegionsInside(u,function(e,i){return e.isCollapsed!==t&&i=0;s--)if(n!==r.isCollapsed(s)){var a=r.getStartLineNumber(s);t.test(i.getLineContent(a))&&o.push(r.toRegion(s))}e.toggleCollapseState(o)}function _(e,t,n){for(var i=e.regions,r=[],o=i.length-1;o>=0;o--)n!==i.isCollapsed(o)&&t===i.getType(o)&&r.push(i.toRegion(o));e.toggleCollapseState(r)}var b=n("0ly5"),y=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=b.a.register({stickiness:1,afterContentClassName:"inline-folded",linesDecorationsClassName:"folding collapsed"}),e.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=b.a.register({stickiness:1,linesDecorationsClassName:"folding"}),e.EXPANDED_VISUAL_DECORATION=b.a.register({stickiness:1,linesDecorationsClassName:"folding alwaysShowFoldIcons"}),e}(),w=n("/9db"),C=n("vTy2"),S=n("X6iQ"),x=function(){function e(e){var t=this;this._updateEventEmitter=new l.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=[],n=0,i=0,r=Number.MAX_VALUE,o=-1,s=this._foldingModel.regions;n0},e.prototype.isHidden=function(e){return null!==L(this._hiddenRanges,e)},e.prototype.adjustSelections=function(e){for(var t=this,n=!1,i=this._foldingModel.textModel,r=null,o=function(e){return r&&function(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}(e,r)||(r=L(t._hiddenRanges,e)),r?r.startLineNumber-1:null},s=0,a=e.length;s0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)},e}();function L(e,t){var n=Object(S.h)(e,function(e){return t=0&&e[n].endLineNumber>=t?e[n]:null}var O=n("Fllr"),k=5e3,N="indent",E=function(){function e(e){this.editorModel=e,this.id=N}return e.prototype.dispose=function(){},e.prototype.compute=function(e){var t=O.a.getFoldingRules(this.editorModel.getLanguageIdentifier().id),n=t&&!!t.offSide,i=t&&t.markers;return Promise.resolve(function(e,t,n,i){void 0===i&&(i=k);var r=e.getOptions().tabSize,o=new I(i),s=void 0;n&&(s=new RegExp("("+n.start.source+")|(?:"+n.end.source+")"));var a=[],u=e.getLineCount()+1;a.push({indent:-1,endAbove:u,line:u});for(var c=e.getLineCount();c>0;c--){var l=e.getLineContent(c),d=b.b.computeIndentLevel(l,r),h=a[a.length-1];if(-1!==d){var f=void 0;if(s&&(f=l.match(s))){if(!f[1]){a.push({indent:-2,endAbove:c,line:c});continue}for(var p=a.length-1;p>0&&-2!==a[p].indent;)p--;if(p>0){a.length=p+1,h=a[p],o.insertFirst(c,h.line,d),h.line=c,h.indent=d,h.endAbove=c;continue}}if(h.indent>d){do{a.pop(),h=a[a.length-1]}while(h.indent>d);var g=h.endAbove-1;g-c>=1&&o.insertFirst(c,g,d)}h.indent===d?h.endAbove=c:a.push({indent:d,endAbove:c,line:c})}else t&&(h.endAbove=c)}return o.toIndentRanges(e)}(this.editorModel,n,i))},e}(),I=function(){function e(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}return e.prototype.insertFirst=function(e,t,n){if(!(e>16777215||t>16777215)){var i=this._length;this._startIndexes[i]=e,this._endIndexes[i]=t,this._length++,n<1e3&&(this._indentOccurrences[n]=(this._indentOccurrences[n]||0)+1)}},e.prototype.toIndentRanges=function(e){if(this._length<=this._foldingRangesLimit){for(var t=new Uint32Array(this._length),n=new Uint32Array(this._length),i=this._length-1,r=0;i>=0;i--,r++)t[r]=this._startIndexes[i],n[r]=this._endIndexes[i];return new h(t,n)}var o=0,s=this._indentOccurrences.length;for(i=0;ithis._foldingRangesLimit){s=i;break}o+=a}}var u=e.getOptions().tabSize;for(t=new Uint32Array(this._foldingRangesLimit),n=new Uint32Array(this._foldingRangesLimit),i=this._length-1,r=0;i>=0;i--){var c=this._startIndexes[i],l=e.getLineContent(c),d=b.b.computeIndentLevel(l,u);(d0&&u.end>u.start&&u.end<=o&&i.push({start:u.start,end:u.end,rank:r,kind:u.kind})}}},M.f)});return Promise.all(r).then(function(e){return i})}(this.providers,this.editorModel,e).then(function(e){return e?j(e,t.limit):null})},e.prototype.dispose=function(){},e}();var F=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,n,i){if(!(e>16777215||t>16777215)){var r=this._length;this._startIndexes[r]=e,this._endIndexes[r]=t,this._nestingLevels[r]=i,this._types[r]=n,this._length++,i<30&&(this._nestingLevelCounts[i]=(this._nestingLevelCounts[i]||0)+1)}},e.prototype.toIndentRanges=function(){if(this._length<=this._foldingRangesLimit){for(var e=new Uint32Array(this._length),t=new Uint32Array(this._length),n=0;nthis._foldingRangesLimit){r=n;break}i+=o}}e=new Uint32Array(this._foldingRangesLimit),t=new Uint32Array(this._foldingRangesLimit);for(var s=[],a=(n=0,0);nr.start)if(u.end<=r.end)o.push(r),r=u,i.add(u.start,u.end,u.kind&&u.kind.value,o.length);else{if(u.start>r.end){do{r=o.pop()}while(r&&u.start>r.end);r&&o.push(r),r=u}i.add(u.start,u.end,u.kind&&u.kind.value,o.length)}}else r=u,i.add(u.start,u.end,u.kind&&u.kind.value,o.length)}return i.toIndentRanges()}var W="init",B=function(){function e(e,t,n,i){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:1}}})),this.timeout=setTimeout(n,i)}}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 n=0,i=this.decorationIds;n=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},K=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},q=new V.d("foldingEnabled",!1),G="editor.contrib.folding",Z=function(e){function t(t,n){var i=e.call(this)||this;return i.contextKeyService=n,i.localToDispose=i._register(new u.b),i.editor=t,i._isEnabled=i.editor.getConfiguration().contribInfo.folding,i._autoHideFoldingControls="mouseover"===i.editor.getConfiguration().contribInfo.showFoldingControls,i._useFoldingProviders="indentation"!==i.editor.getConfiguration().contribInfo.foldingStrategy,i.foldingModel=null,i.hiddenRangeModel=null,i.rangeProvider=null,i.foldingRegionPromise=null,i.foldingStateMemento=null,i.foldingModelPromise=null,i.updateScheduler=null,i.cursorChangedScheduler=null,i.mouseDownInfo=null,i.foldingDecorationProvider=new y(t),i.foldingDecorationProvider.autoHideFoldingControls=i._autoHideFoldingControls,i.foldingEnabled=q.bindTo(i.contextKeyService),i.foldingEnabled.set(i._isEnabled),i._register(i.editor.onDidChangeModel(function(){return i.onModelChanged()})),i._register(i.editor.onDidChangeConfiguration(function(e){if(e.contribInfo){var t=i._isEnabled;i._isEnabled=i.editor.getConfiguration().contribInfo.folding,i.foldingEnabled.set(i._isEnabled),t!==i._isEnabled&&i.onModelChanged();var n=i._autoHideFoldingControls;i._autoHideFoldingControls="mouseover"===i.editor.getConfiguration().contribInfo.showFoldingControls,n!==i._autoHideFoldingControls&&(i.foldingDecorationProvider.autoHideFoldingControls=i._autoHideFoldingControls,i.onModelContentChanged());var r=i._useFoldingProviders;i._useFoldingProviders="indentation"!==i.editor.getConfiguration().contribInfo.foldingStrategy,r!==i._useFoldingProviders&&i.onFoldingStrategyChanged()}})),i.onModelChanged(),i}return z(t,e),t.get=function(e){return e.getContribution(G)},t.prototype.getId=function(){return G},t.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(),n=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:n}}},t.prototype.restoreViewState=function(e){var t=this.editor.getModel();if(t&&this._isEnabled&&!t.isTooLargeForTokenization()&&this.hiddenRangeModel&&e&&e.collapsedRegions&&e.lineCount===t.getLineCount()){e.provider!==A&&e.provider!==W||(this.foldingStateMemento=e);var n=e.collapsedRegions;if(this.hiddenRangeModel.applyMemento(n)){var i=this.getFoldingModel();i&&i.then(function(e){e&&e.applyMemento(n)}).then(void 0,M.e)}}},t.prototype.onModelChanged=function(){var e=this;this.localToDispose.clear();var t=this.editor.getModel();this._isEnabled&&t&&!t.isTooLargeForTokenization()&&(this.foldingModel=new p(t,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new x(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(function(t){return e.onHiddenRangesChanges(t)})),this.updateScheduler=new s.a(200),this.cursorChangedScheduler=new s.d(function(){return e.revealCursor()},200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(D.m.onDidChange(function(){return e.onFoldingStrategyChanged()})),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(function(){return e.onFoldingStrategyChanged()})),this.localToDispose.add(this.editor.onDidChangeModelContent(function(){return e.onModelContentChanged()})),this.localToDispose.add(this.editor.onDidChangeCursorPosition(function(){return e.onCursorPositionChanged()})),this.localToDispose.add(this.editor.onMouseDown(function(t){return e.onEditorMouseDown(t)})),this.localToDispose.add(this.editor.onMouseUp(function(t){return e.onEditorMouseUp(t)})),this.localToDispose.add({dispose:function(){e.foldingRegionPromise&&(e.foldingRegionPromise.cancel(),e.foldingRegionPromise=null),e.updateScheduler&&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())},t.prototype.onFoldingStrategyChanged=function(){this.rangeProvider&&this.rangeProvider.dispose(),this.rangeProvider=null,this.onModelContentChanged()},t.prototype.getRangeProvider=function(e){var t=this;if(this.rangeProvider)return this.rangeProvider;if(this.rangeProvider=new E(e),this._useFoldingProviders&&this.foldingModel){var n=D.m.ordered(this.foldingModel.textModel);if(0===n.length&&this.foldingStateMemento&&this.foldingStateMemento.collapsedRegions)return this.rangeProvider=new B(e,this.foldingStateMemento.collapsedRegions,function(){t.foldingStateMemento=null,t.onFoldingStrategyChanged()},3e4);n.length>0&&(this.rangeProvider=new R(e,n))}return this.foldingStateMemento=null,this.rangeProvider},t.prototype.getFoldingModel=function(){return this.foldingModelPromise},t.prototype.onModelContentChanged=function(){var e=this;this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(function(){var t=e.foldingModel;if(!t)return null;var n=e.foldingRegionPromise=Object(s.f)(function(n){return e.getRangeProvider(t.textModel).compute(n)});return n.then(function(i){if(i&&n===e.foldingRegionPromise){var r=e.editor.getSelections(),o=r?r.map(function(e){return e.startLineNumber}):[];t.update(i,o)}return t})}).then(void 0,function(e){return Object(M.e)(e),null}))},t.prototype.onHiddenRangesChanges=function(e){if(this.hiddenRangeModel&&e.length){var t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e)},t.prototype.onCursorPositionChanged=function(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()},t.prototype.revealCursor=function(){var e=this,t=this.getFoldingModel();t&&t.then(function(t){if(t){var n=e.editor.getSelections();if(n&&n.length>0){for(var i=[],r=function(n){var r=n.selectionStartLineNumber;e.hiddenRangeModel&&e.hiddenRangeModel.isHidden(r)&&i.push.apply(i,t.getAllRegionsAtLine(r,function(e){return e.isCollapsed&&r>e.startLineNumber}))},o=0,s=n;o "+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?0:1},t.prototype.setEndPosition=function(e,n){return 0===this.getDirection()?new t(this.startLineNumber,this.startColumn,e,n):new t(e,n,this.startLineNumber,this.startColumn)},t.prototype.getPosition=function(){return new r.a(this.positionLineNumber,this.positionColumn)},t.prototype.setStartPosition=function(e,n){return 0===this.getDirection()?new t(e,n,this.endLineNumber,this.endColumn):new t(this.endLineNumber,this.endColumn,e,n)},t.fromPositions=function(e,n){return void 0===n&&(n=e),new t(e.lineNumber,e.column,n.lineNumber,n.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 n=0,i=e.length;n>>0},t.writeUInt32BE=function(e,t,n){e[0+n]=t>>>24,e[1+n]=t>>>16&255,e[2+n]=t>>>8&255,e[3+n]=255&t},t.ip=function(e,t,n,i){for(var r=0,o=0,s=6;s>=0;s-=2){for(var a=0;a<=24;a+=8)r<<=1,r|=t>>>a+s&1;for(a=0;a<=24;a+=8)r<<=1,r|=e>>>a+s&1}for(s=6;s>=0;s-=2){for(a=1;a<=25;a+=8)o<<=1,o|=t>>>a+s&1;for(a=1;a<=25;a+=8)o<<=1,o|=e>>>a+s&1}n[i+0]=r>>>0,n[i+1]=o>>>0},t.rip=function(e,t,n,i){for(var r=0,o=0,s=0;s<4;s++)for(var a=24;a>=0;a-=8)r<<=1,r|=t>>>a+s&1,r<<=1,r|=e>>>a+s&1;for(s=4;s<8;s++)for(a=24;a>=0;a-=8)o<<=1,o|=t>>>a+s&1,o<<=1,o|=e>>>a+s&1;n[i+0]=r>>>0,n[i+1]=o>>>0},t.pc1=function(e,t,n,i){for(var r=0,o=0,s=7;s>=5;s--){for(var a=0;a<=24;a+=8)r<<=1,r|=t>>a+s&1;for(a=0;a<=24;a+=8)r<<=1,r|=e>>a+s&1}for(a=0;a<=24;a+=8)r<<=1,r|=t>>a+s&1;for(s=1;s<=3;s++){for(a=0;a<=24;a+=8)o<<=1,o|=t>>a+s&1;for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1}for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1;n[i+0]=r>>>0,n[i+1]=o>>>0},t.r28shl=function(e,t){return e<>>28-t};var i=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];t.pc2=function(e,t,n,r){for(var o=0,s=0,a=i.length>>>1,u=0;u>>i[u]&1;for(u=a;u>>i[u]&1;n[r+0]=o>>>0,n[r+1]=s>>>0},t.expand=function(e,t,n){var i=0,r=0;i=(1&e)<<5|e>>>27;for(var o=23;o>=15;o-=4)i<<=6,i|=e>>>o&63;for(o=11;o>=3;o-=4)r|=e>>>o&63,r<<=6;r|=(31&e)<<1|e>>>31,t[n+0]=i>>>0,t[n+1]=r>>>0};var r=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];t.substitute=function(e,t){for(var n=0,i=0;i<4;i++){n<<=4,n|=r[64*i+(e>>>18-6*i&63)]}for(i=0;i<4;i++){n<<=4,n|=r[256+64*i+(t>>>18-6*i&63)]}return n>>>0};var o=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];t.permute=function(e){for(var t=0,n=0;n>>o[n]&1;return t>>>0},t.padSplit=function(e,t,n){for(var i=e.toString(2);i.length=0;n--)t+=e.charAt(n);return t}(e=n)),t}}(),g=function(){function e(){}return e._findPrevBracketInText=function(e,t,n,i){var o=n.match(e);if(!o)return null;var s=n.length-(o.index||0),a=o[0].length,u=i+s;return new r.a(t,u-a+1,t,u+1)},e.findPrevBracketInToken=function(e,t,n,i,r){var o=p(n).substring(n.length-r,n.length-i);return this._findPrevBracketInText(e,t,o,i)},e.findNextBracketInText=function(e,t,n,i){var o=n.match(e);if(!o)return null;var s=o.index||0,a=o[0].length;if(0===a)return null;var u=i+s;return new r.a(t,u+1,t,u+1+a)},e.findNextBracketInToken=function(e,t,n,i,r){var o=n.substring(i,r);return this.findNextBracketInText(e,t,o,i)},e}()},iP15:function(e,t,n){(function(t){function n(e){try{if(!t.localStorage)return!1}catch(e){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=function(e,t){if(n("noDeprecation"))return e;var i=!1;return function(){if(!i){if(n("throwDeprecation"))throw new Error(t);n("traceDeprecation")?console.trace(t):console.warn(t),i=!0}return e.apply(this,arguments)}}}).call(t,n("DuR2"))},iTY7:function(e,t,n){var i=n("LC74"),r=n("3UtB").Reporter,o=n("EuP9").Buffer;function s(e,t){r.call(this,t),o.isBuffer(e)?(this.base=e,this.offset=0,this.length=e.length):this.error("Input not Buffer")}function a(e,t){if(Array.isArray(e))this.length=0,this.value=e.map(function(e){return e instanceof a||(e=new a(e,t)),this.length+=e.length,e},this);else if("number"==typeof e){if(!(0<=e&&e<=255))return t.error("non-byte EncoderBuffer value");this.value=e,this.length=1}else if("string"==typeof e)this.value=e,this.length=o.byteLength(e);else{if(!o.isBuffer(e))return t.error("Unsupported type: "+typeof e);this.value=e,this.length=e.length}}i(s,r),t.DecoderBuffer=s,s.prototype.save=function(){return{offset:this.offset,reporter:r.prototype.save.call(this)}},s.prototype.restore=function(e){var t=new s(this.base);return t.offset=e.offset,t.length=this.offset,this.offset=e.offset,r.prototype.restore.call(this,e.reporter),t},s.prototype.isEmpty=function(){return this.offset===this.length},s.prototype.readUInt8=function(e){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(e||"DecoderBuffer overrun")},s.prototype.skip=function(e,t){if(!(this.offset+e<=this.length))return this.error(t||"DecoderBuffer overrun");var n=new s(this.base);return n._reporterState=this._reporterState,n.offset=this.offset,n.length=this.offset+e,this.offset+=e,n},s.prototype.raw=function(e){return this.base.slice(e?e.offset:this.offset,this.length)},t.EncoderBuffer=a,a.prototype.join=function(e,t){return e||(e=new o(this.length)),t||(t=0),0===this.length?e:(Array.isArray(this.value)?this.value.forEach(function(n){n.join(e,t),t+=n.length}):("number"==typeof this.value?e[t]=this.value:"string"==typeof this.value?e.write(this.value,t):o.isBuffer(this.value)&&this.value.copy(e,t),t+=this.length),e)}},iXRW:function(e,t,n){"use strict";t.h=function(e){if(1===e)return"blink";if(4===e)return"expand";if(3===e)return"phase";if(2===e)return"smooth";if(5===e)return"solid";throw new Error("blinkingStyleToString: Unknown blinkingStyle")},n.d(t,"g",function(){return i}),t.i=function(e){if(e===i.Line)return"line";if(e===i.Block)return"block";if(e===i.Underline)return"underline";if(e===i.LineThin)return"line-thin";if(e===i.BlockOutline)return"block-outline";if(e===i.UnderlineThin)return"underline-thin";throw new Error("cursorStyleToString: Unknown cursorStyle")},n.d(t,"e",function(){return d}),n.d(t,"d",function(){return _}),n.d(t,"f",function(){return b}),n.d(t,"b",function(){return w}),n.d(t,"c",function(){return C}),n.d(t,"a",function(){return S});var i,r=n("hK2W"),o=n("X6iQ"),s=n("TU7t"),a=n("ZfGv"),u=n("+jct"),c=n("KIxu"),l=this&&this.__assign||function(){return(l=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=2?(S=v?2:4,M=2/b):(S=v?1:3,M=1/b),(L=Math.max(0,Math.floor((D-d-2)*M/(c+M))))/M>_&&(L=Math.floor(_*M)),O=D-L,"left"===m?(x=0,k+=L,N+=L,E+=L,I+=L):x=t-L-d}else x=0,L=0,S=0,O=D;var T=Math.max(1,Math.floor((O-d-2)/c)),P=h?f:0;return{width:t,height:n,glyphMarginLeft:k,glyphMarginWidth:C,glyphMarginHeight:n,lineNumbersLeft:N,lineNumbersWidth:y,lineNumbersHeight:n,decorationsLeft:E,decorationsWidth:u,decorationsHeight:n,contentLeft:I,contentWidth:O,contentHeight:n,renderMinimap:S,minimapLeft:x,minimapWidth:L,viewportColumn:T,verticalScrollbarWidth:d,horizontalScrollbarHeight:p,overviewRuler:{top:P,width:d,height:n-2*P,right:0}}},e}(),w={fontFamily:a.d?"Menlo, Monaco, 'Courier New', monospace":a.c?"'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:a.d?12:14,lineHeight:0,letterSpacing:0},C={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0},S={inDiffEditor:!1,wordSeparators:u.b,lineNumbersMinChars:5,lineDecorationsWidth:10,readOnly:!1,mouseStyle:"text",disableLayerHinting:!1,automaticLayout:!1,wordWrap:"off",wordWrapColumn:80,wordWrapMinified:!0,wrappingIndent:1,wordWrapBreakBeforeCharacters:"([{‘“〈《「『【〔([{「£¥$£¥++",wordWrapBreakAfterCharacters:" \t})]?|/&,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」",wordWrapBreakObtrusiveCharacters:".",autoClosingBrackets:"languageDefined",autoClosingQuotes:"languageDefined",autoClosingOvertype:"auto",autoSurround:"languageDefined",autoIndent:!0,dragAndDrop:!0,emptySelectionClipboard:!0,copyWithSyntaxHighlighting:!0,useTabStops:!0,multiCursorModifier:"altKey",multiCursorMergeOverlapping:!0,accessibilitySupport:"auto",showUnused:!0,viewInfo:{extraEditorClassName:"",disableMonospaceOptimizations:!1,rulers:[],ariaLabel:r.a("editorViewAccessibleLabel","Editor content"),renderLineNumbers:1,renderCustomLineNumbers:null,cursorSurroundingLines:0,renderFinalNewline:!0,selectOnLineNumbers:!0,glyphMargin:!0,revealHorizontalRightPadding:30,roundedSelection:!0,overviewRulerLanes:2,overviewRulerBorder:!0,cursorBlinking:1,mouseWheelZoom:!1,cursorSmoothCaretAnimation:!1,cursorStyle:i.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:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:10,horizontalSliderSize:10,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,mouseWheelScrollSensitivity:1,fastScrollSensitivity:5},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:{enabled:!0,cycle:!1},formatOnType:!1,formatOnPaste:!1,suggestOnTriggerCharacters:!0,acceptSuggestionOnEnter:"on",acceptSuggestionOnCommitCharacter:!0,wordBasedSuggestions:!0,suggestSelection:"recentlyUsed",suggestFontSize:0,suggestLineHeight:0,tabCompletion:"off",suggest:{filterGraceful:!0,snippets:"inline",snippetsPreventQuickSuggestions:!0,localityBonus:!1,shareSuggestSelections:!1,showIcons:!0,maxVisibleSuggestions:12,filteredTypes:Object.create(null)},gotoLocation:{multiple:"peek"},selectionHighlight:!0,occurrencesHighlight:!0,codeLens:!0,folding:!0,foldingStrategy:"auto",showFoldingControls:"mouseover",matchBrackets:!0,find:{seedSearchStringFromSelection:!0,autoFindInSelection:!1,globalFindClipboard:!1,addExtraSpaceOnTop:!0},colorDecorators:!0,lightbulbEnabled:!0,codeActionsOnSave:{},codeActionsOnSaveTimeout:750}}},ia1G:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n("Q+ux");var i,r=n("hK2W"),o=n("odeJ"),s=n("80kS"),a=n("zxiH"),u=n("3uSZ"),c=n("tqet"),l=n("ZfGv"),d=n("03Zz"),h=n("0ly5"),f=n("PCC9"),p=n("qzX+"),g=n("mrx5"),m=n("vTy2"),v=n("jIdl"),_=n("ItKl"),b=n("X6iQ"),y=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),w=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},C=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},P=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},A=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},R=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0||!n.umod(e.prime1)||!n.umod(e.prime2);)n=new i(r(t));return n}e.exports=o,o.getr=s}).call(t,n("EuP9").Buffer)},jUH2:function(e,t,n){"use strict";n.d(t,"c",function(){return o}),n.d(t,"b",function(){return s}),n.d(t,"a",function(){return a}),t.d=function(e,t,n,r){return new i.b([new i.a(r,"",e)],n)},t.e=function(e,t,n,r){var s=new Uint32Array(2);return s[0]=r,s[1]=(16384|e<<0|2<<23)>>>0,new i.c(s,null===n?o:n)};var i=n("c6Qy"),r=n("PCC9"),o=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 r.p(s,0)},jkjm:function(e,t,n){var i=n("19bf"),r=n("8YCc"),o=n("7VT+"),s=n("tXf9"),a=n("/vd3"),u=n("X3l8").Buffer;function c(e){var t;"object"!=typeof e||u.isBuffer(e)||(t=e.passphrase,e=e.key),"string"==typeof e&&(e=u.from(e));var n,c,l=o(e,t),d=l.tag,h=l.data;switch(d){case"CERTIFICATE":c=i.certificate.decode(h,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(c||(c=i.PublicKey.decode(h,"der")),n=c.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return i.RSAPublicKey.decode(c.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return c.subjectPrivateKey=c.subjectPublicKey,{type:"ec",data:c};case"1.2.840.10040.4.1":return c.algorithm.params.pub_key=i.DSAparam.decode(c.subjectPublicKey.data,"der"),{type:"dsa",data:c.algorithm.params};default:throw new Error("unknown key id "+n)}throw new Error("unknown key type "+d);case"ENCRYPTED PRIVATE KEY":h=function(e,t){var n=e.algorithm.decrypt.kde.kdeparams.salt,i=parseInt(e.algorithm.decrypt.kde.kdeparams.iters.toString(),10),o=r[e.algorithm.decrypt.cipher.algo.join(".")],c=e.algorithm.decrypt.cipher.iv,l=e.subjectPrivateKey,d=parseInt(o.split("-")[1],10)/8,h=a.pbkdf2Sync(t,n,i,d,"sha1"),f=s.createDecipheriv(o,h,c),p=[];return p.push(f.update(l)),p.push(f.final()),u.concat(p)}(h=i.EncryptedPrivateKey.decode(h,"der"),t);case"PRIVATE KEY":switch(n=(c=i.PrivateKey.decode(h,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return i.RSAPrivateKey.decode(c.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:c.algorithm.curve,privateKey:i.ECPrivateKey.decode(c.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return c.algorithm.params.priv_key=i.DSAparam.decode(c.subjectPrivateKey,"der"),{type:"dsa",params:c.algorithm.params};default:throw new Error("unknown key id "+n)}throw new Error("unknown key type "+d);case"RSA PUBLIC KEY":return i.RSAPublicKey.decode(h,"der");case"RSA PRIVATE KEY":return i.RSAPrivateKey.decode(h,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:i.DSAPrivateKey.decode(h,"der")};case"EC PRIVATE KEY":return{curve:(h=i.ECPrivateKey.decode(h,"der")).parameters.value,privateKey:h.privateKey};default:throw new Error("unknown key type "+d)}}e.exports=c,c.signature=i.signature},k2Sm:function(e,t,n){var i=n("X3l8").Buffer;function r(e,t,n){for(var i,r,s,a=-1,u=0;++a<8;)i=e._cipher.encryptBlock(e._prev),r=t&1<<7-a?128:0,u+=(128&(s=i[0]^r))>>a%8,e._prev=o(e._prev,n?r:s);return u}function o(e,t){var n=e.length,r=-1,o=i.allocUnsafe(e.length);for(e=i.concat([e,i.from([t])]);++r>7;return o}t.encrypt=function(e,t,n){for(var o=t.length,s=i.allocUnsafe(o),a=-1;++a=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},k=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},N=new _.d("accessibilityHelpWidgetVisible",!1),E=function(e){function t(t,n){var i=e.call(this)||this;return i._editor=t,i._widget=i._register(n.createInstance(I,i._editor)),i}return L(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=O([k(1,b.a)],t)}(d.a);var I=function(e){function t(t,n,i,r){var o=e.call(this)||this;return o._contextKeyService=n,o._keybindingService=i,o._openerService=r,o._editor=t,o._isVisibleKey=N.bindTo(o._contextKeyService),o._domNode=Object(a.b)(document.createElement("div")),o._domNode.setClassName("accessibilityHelpWidget"),o._domNode.setDisplay("none"),o._domNode.setAttribute("role","dialog"),o._domNode.setAttribute("aria-hidden","true"),o._contentDomNode=Object(a.b)(document.createElement("div")),o._contentDomNode.setAttribute("role","document"),o._domNode.appendChild(o._contentDomNode),o._isVisible=!1,o._register(o._editor.onDidLayoutChange(function(){o._isVisible&&o._layout()})),o._register(s.k(o._contentDomNode.domNode,"keydown",function(e){if(o._isVisible&&(e.equals(2083)&&(Object(c.a)(x.a.emergencyConfOn),o._editor.updateOptions({accessibilitySupport:"on"}),s.p(o._contentDomNode.domNode),o._buildContent(),o._contentDomNode.domNode.focus(),e.preventDefault(),e.stopPropagation()),e.equals(2086))){Object(c.a)(x.a.openingDocs);var t=o._editor.getRawConfiguration().accessibilityHelpUrl;void 0===t&&(t="https://go.microsoft.com/fwlink/?linkid=852450"),o._openerService.open(p.a.parse(t)),e.preventDefault(),e.stopPropagation()}})),o.onblur(o._contentDomNode.domNode,function(){o.hide()}),o._editor.addOverlayWidget(o),o}return L(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,n){var i=this._keybindingService.lookupKeybinding(e);return i?f.r(t,i.getAriaLabel()):f.r(n,e)},t.prototype._buildContent=function(){var e=this._editor.getConfiguration(),t=this._editor.getSelections(),n=0;if(t){var i=this._editor.getModel();i&&t.forEach(function(e){n+=i.getValueLengthInRange(e)})}var r=function(e,t){return e&&0!==e.length?1===e.length?t?f.r(x.a.singleSelectionRange,e[0].positionLineNumber,e[0].positionColumn,t):f.r(x.a.singleSelection,e[0].positionLineNumber,e[0].positionColumn):t?f.r(x.a.multiSelectionRange,e.length,t):e.length>0?f.r(x.a.multiSelection,e.length):"":x.a.noSelection}(t,n);e.wrappingInfo.inDiffEditor?e.readOnly?r+=x.a.readonlyDiffEditor:r+=x.a.editableDiffEditor:e.readOnly?r+=x.a.readonlyEditor:r+=x.a.editableEditor;var o=h.d?x.a.changeConfigToOnMac:x.a.changeConfigToOnWinLinux;switch(e.accessibilitySupport){case 0:r+="\n\n - "+o;break;case 2:r+="\n\n - "+x.a.auto_on;break;case 1:r+="\n\n - "+x.a.auto_off,r+=" "+o}e.tabFocusMode?r+="\n\n - "+this._descriptionForCommand(v.ToggleTabFocusModeAction.ID,x.a.tabFocusModeOnMsg,x.a.tabFocusModeOnMsgNoKb):r+="\n\n - "+this._descriptionForCommand(v.ToggleTabFocusModeAction.ID,x.a.tabFocusModeOffMsg,x.a.tabFocusModeOffMsgNoKb),r+="\n\n - "+(h.d?x.a.openDocMac:x.a.openDocWinLinux),r+="\n\n"+x.a.outroMsg,this._contentDomNode.domNode.appendChild(Object(u.b)(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,s.p(this._contentDomNode.domNode),this._editor.focus())},t.prototype._layout=function(){var e=this._editor.getLayoutInfo(),n=Math.max(5,Math.min(t.WIDTH,e.width-40)),i=Math.max(5,Math.min(t.HEIGHT,e.height-40));this._domNode.setWidth(n),this._domNode.setHeight(i);var r=Math.round((e.height-i)/2);this._domNode.setTop(r);var o=Math.round((e.width-n)/2);this._domNode.setLeft(o)},t.ID="editor.contrib.accessibilityHelpWidget",t.WIDTH=500,t.HEIGHT=300,t=O([k(1,_.c),k(2,y.a),k(3,w.a)],t)}(l.a),D=function(e){function t(){return e.call(this,{id:"editor.action.showAccessibilityHelp",label:x.a.showAccessibilityHelpAction,alias:"Show Accessibility Help",precondition:void 0,kbOpts:{kbExpr:m.a.focus,primary:o.j?2107:571,weight:100}})||this}return L(t,e),t.prototype.run=function(e,t){var n=E.get(t);n&&n.show()},t}(g.b);Object(g.h)(E),Object(g.f)(D);var M=g.c.bindToContribution(E.get);Object(g.g)(new M({id:"closeAccessibilityHelp",precondition:N,handler:function(e){return e.hide()},kbOpts:{weight:200,kbExpr:m.a.focus,primary:9,secondary:[1033]}})),Object(S.f)(function(e,t){var n=e.getColor(C.N);n&&t.addRule(".monaco-editor .accessibilityHelpWidget { background-color: "+n+"; }");var i=e.getColor(C.P);i&&t.addRule(".monaco-editor .accessibilityHelpWidget { color: "+i+"; }");var r=e.getColor(C._48);r&&t.addRule(".monaco-editor .accessibilityHelpWidget { box-shadow: 0 2px 8px "+r+"; }");var o=e.getColor(C.e);o&&t.addRule(".monaco-editor .accessibilityHelpWidget { border: 2px solid "+o+"; }")})},kkc6:function(e,t,n){var i=n("EuP9"),r=i.Buffer;function o(e,t){for(var n in e)t[n]=e[n]}function s(e,t,n){return r(e,t,n)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?e.exports=i:(o(i,t),t.Buffer=s),o(r,s),s.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return r(e,t,n)},s.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var i=r(e);return void 0!==t?"string"==typeof n?i.fill(t,n):i.fill(t):i.fill(0),i},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i.SlowBuffer(e)}},l6RD:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n("o37+");var i,r=n("hK2W"),o=n("uNfg"),s=n("tqet"),a=n("03Zz"),u=n("vTy2"),c=n("/9db"),l=n("6TMp"),d=n("7/Cv"),h=n("80kS"),f=n("TNPA"),p=n("3uSZ"),g=n("artP"),m=n("0ly5"),v=n("PCC9"),_=n("pWM+"),b=n("MfmB"),y=n("Kp7x"),w=function(){function e(e,t,n){this.presentationIndex=n,this._onColorFlushed=new y.a,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new y.a,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new y.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 n=0;n0,n&&i)?e:void 0;var t,n,i},function(e){Object(F.f)(e)})});return Promise.all(i).then(R.d)}Object(a.e)("_executeHoverProvider",function(e,t){return j(e,t,h.a.None)});var W=n("odeJ"),B=function(){function e(e,t,n,i,r){var o=this;this._computer=e,this._state=0,this._hoverTime=r,this._firstWaitScheduler=new W.d(function(){return o._triggerAsyncComputation()},0),this._secondWaitScheduler=new W.d(function(){return o._triggerSyncComputation()},0),this._loadingMessageScheduler=new W.d(function(){return o._showLoadingMessage()},0),this._asyncComputationPromise=null,this._asyncComputationPromiseDone=!1,this._completeCallback=t,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(W.f)(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}(),V=n("qecS"),H=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),z=function(e){function t(t,n){var i=e.call(this)||this;return i.allowEditorOverflow=!0,i._id=t,i._editor=n,i._isVisible=!1,i._stoleFocus=!1,i._containerDomNode=document.createElement("div"),i._containerDomNode.className="monaco-editor-hover hidden",i._containerDomNode.tabIndex=0,i._domNode=document.createElement("div"),i._domNode.className="monaco-editor-hover-content",i.scrollbar=new V.a(i._domNode,{}),i._register(i.scrollbar),i._containerDomNode.appendChild(i.scrollbar.getDomNode()),i.onkeydown(i._containerDomNode,function(e){e.equals(9)&&i.hide()}),i._register(i._editor.onDidChangeConfiguration(function(e){e.fontInfo&&i.updateFont()})),i._editor.onDidLayoutChange(function(e){return i.layout()}),i.layout(),i._editor.addContentWidget(i),i._showAtPosition=null,i._showAtRange=null,i._stoleFocus=!1,i}return H(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,Object(d.R)(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,n){this._showAtPosition=e,this._showAtRange=t,this.isVisible=!0,this._editor.layoutContentWidget(this),this._editor.render(),this._stoleFocus=n,n&&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,range:this._showAtRange,preference:[1,2]}:null},t.prototype.dispose=function(){this._editor.removeContentWidget(this),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.layout=function(){var e=Math.max(this._editor.getLayoutInfo().height/4,250),t=this._editor.getConfiguration().fontInfo,n=t.fontSize,i=t.lineHeight;this._domNode.style.fontSize=n+"px",this._domNode.style.lineHeight=i+"px",this._domNode.style.maxHeight=e+"px",this._domNode.style.maxWidth=Math.max(.66*this._editor.getLayoutInfo().width,500)+"px"},t}(x.a),U=function(e){function t(t,n){var i=e.call(this)||this;return i._id=t,i._editor=n,i._isVisible=!1,i._domNode=document.createElement("div"),i._domNode.className="monaco-editor-hover hidden",i._domNode.setAttribute("aria-hidden","true"),i._domNode.setAttribute("role","presentation"),i._showAtLineNumber=-1,i._register(i._editor.onDidChangeConfiguration(function(e){e.fontInfo&&i.updateFont()})),i._editor.addOverlayWidget(i),i}return H(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,Object(d.R)(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(),n=this._editor.getTopForLineNumber(this._showAtLineNumber),i=this._editor.getScrollTop(),r=this._editor.getConfiguration().lineHeight,o=n-i-(this._domNode.clientHeight-r)/2;this._domNode.style.left=t.glyphMarginLeft+t.glyphMarginWidth+"px",this._domNode.style.top=Math.max(Math.round(o),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")),n=Array.prototype.slice.call(this._domNode.getElementsByClassName("code"));t.concat(n).forEach(function(t){return e._editor.applyFontInfo(t)})},t.prototype.updateContents=function(e){this._domNode.textContent="",this._domNode.appendChild(e),this.updateFont()},t}(x.a),K=n("VBCr"),q=n("OHx0"),G=n("ZYUE"),Z=n("GsV8"),Y=n("MOjS"),X=n("OBuU"),$=n("0Td8"),J=n("mhQ0"),Q=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ee=d.a,te=function(){return function(e,t,n){this.range=e,this.color=t,this.provider=n}}(),ne=function(){return function(e,t){this.range=e,this.marker=t}}(),ie=function(){function e(e,t){this._markerDecorationsService=t,this._editor=e,this._result=[]}return e.prototype.setRange=function(e){this._range=e,this._result=[]},e.prototype.clearResult=function(){this._result=[]},e.prototype.computeAsync=function(e){if(!this._editor.hasModel()||!this._range)return Promise.resolve([]);var t=this._editor.getModel();return v.n.has(t)?j(t,new g.a(this._range.startLineNumber,this._range.startColumn),e):Promise.resolve([])},e.prototype.computeSync=function(){var e=this;if(!this._editor.hasModel()||!this._range)return[];var t=this._editor.getModel(),n=this._range.startLineNumber;if(n>this._editor.getModel().getLineCount())return[];var i=b.ColorDetector.get(this._editor),r=t.getLineMaxColumn(n),o=this._editor.getLineDecorations(n),s=!1,a=this._range,c=o.map(function(o){var c=o.range.startLineNumber===n?o.range.startColumn:1,l=o.range.endLineNumber===n?o.range.endColumn:r;if(c>a.startColumn||a.endColumn>l)return null;var d=new u.a(a.startLineNumber,c,a.startLineNumber,l),h=e._markerDecorationsService.getMarker(t,o);if(h)return new ne(d,h);var f=i.getColorData(o.range.getStartPosition());if(!s&&f){s=!0;var g=f.colorInfo,m=g.color,v=g.range;return new te(v,m,f.provider)}return Object(p.b)(o.options.hoverMessage)?null:{contents:o.options.hoverMessage?Object(R.b)(o.options.hoverMessage):[],range:d}});return Object(R.d)(c)},e.prototype.onResult=function(e,t){this._result=t?e.concat(this._result.sort(function(e,t){return e instanceof te?-1:t instanceof te?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 p.a).appendText(r.a("modesContentHover.loading","Loading..."))]}},e}(),re=function(e){function t(n,i,r,o,a,u){void 0===u&&(u=Z.b);var c=e.call(this,t.ID,n)||this;return c._themeService=r,c._keybindingService=o,c._modeService=a,c._openerService=u,c.renderDisposable=c._register(new s.d),c._messages=[],c._lastRange=null,c._computer=new ie(c._editor,i),c._highlightDecorations=[],c._isChangingDecorations=!1,c._shouldFocus=!1,c._colorPicker=null,c._hoverOperation=new B(c._computer,function(e){return c._withResult(e,!0)},null,function(e){return c._withResult(e,!1)},c._editor.getConfiguration().contribInfo.hover.delay),c._register(d.k(c.getDomNode(),d.d.FOCUS,function(){c._colorPicker&&d.f(c.getDomNode(),"colorpicker-hover")})),c._register(d.k(c.getDomNode(),d.d.BLUR,function(){d.I(c.getDomNode(),"colorpicker-hover")})),c._register(n.onDidChangeConfiguration(function(e){c._hoverOperation.setHoverTime(c._editor.getConfiguration().contribInfo.hover.delay)})),c}return Q(t,e),t.prototype.dispose=function(){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,n){if(!this._lastRange||!this._lastRange.equalsRange(e)){if(this._hoverOperation.cancel(),this.isVisible)if(this._showAtPosition&&this._showAtPosition.lineNumber===e.startLineNumber){for(var i=[],r=0,o=this._messages.length;r=e.endColumn&&i.push(s)}if(i.length>0){if(function(e,t){if(!e&&t||e&&!t||e.length!==t.length)return!1;for(var n=0;n0?this._renderMessages(this._lastRange,this._messages):t&&this.hide()},t.prototype._renderMessages=function(e,n){var i=this;this.renderDisposable.dispose(),this._colorPicker=null;var r=Number.MAX_VALUE,o=n[0].range?u.a.lift(n[0].range):null,a=document.createDocumentFragment(),c=!0,l=!1,m=new s.b,v=[];if(n.forEach(function(e){if(e.range)if(r=Math.min(r,e.range.startColumn),o=o?u.a.plusRange(o,e.range):u.a.lift(e.range),e instanceof te){l=!0;var t=e.color,n=t.red,g=t.green,b=t.blue,y=t.alpha,C=new f.c(255*n,255*g,255*b,y),S=new f.a(C);if(!i._editor.hasModel())return;var x=i._editor.getModel(),L=new u.a(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn),O={range:e.range,color:e.color},k=new w(S,[],0),N=new A(a,k,i._editor.getConfiguration().pixelRatio,i._themeService);Object(_.a)(x,O,e.provider,h.a.None).then(function(t){if(k.colorPresentations=t||[],i._editor.hasModel()){var n=i._editor.getModel().getValueInRange(e.range);k.guessColorPresentation(S,n);var r=function(){var e,t;k.presentation.textEdit?(e=[k.presentation.textEdit],t=(t=new u.a(k.presentation.textEdit.range.startLineNumber,k.presentation.textEdit.range.startColumn,k.presentation.textEdit.range.endLineNumber,k.presentation.textEdit.range.endColumn)).setEndPosition(t.endLineNumber,t.startColumn+k.presentation.textEdit.text.length)):(e=[{identifier:null,range:L,text:k.presentation.label,forceMoveMarkers:!1}],t=L.setEndPosition(L.endLineNumber,L.startColumn+k.presentation.label.length)),i._editor.pushUndoStop(),i._editor.executeEdits("colorpicker",e),k.presentation.additionalTextEdits&&(e=k.presentation.additionalTextEdits.slice(),i._editor.executeEdits("colorpicker",e),i.hide()),i._editor.pushUndoStop(),L=t},o=function(t){return Object(_.a)(x,{range:L,color:{red:t.rgba.r/255,green:t.rgba.g/255,blue:t.rgba.b/255,alpha:t.rgba.a}},e.provider,h.a.None).then(function(e){k.colorPresentations=e||[]})},c=k.onColorFlushed(function(e){o(e).then(r)}),l=k.onDidChangeColor(o);i._colorPicker=N,i.showAt(L.getStartPosition(),L,i._shouldFocus),i.updateContents(a),i._colorPicker.layout(),i.renderDisposable.value=Object(s.e)(c,l,N,m)}})}else e instanceof ne?(v.push(e),c=!1):e.contents.filter(function(e){return!Object(p.b)(e)}).forEach(function(e){var t=ee("div.hover-row.markdown-hover"),n=d.m(t,ee("div.hover-contents")),r=m.add(new K.a(i._editor,i._modeService,i._openerService));m.add(r.onDidRenderCodeBlock(function(){n.className="hover-contents code-hover-contents",i.onContentsChange()}));var o=m.add(r.render(e));n.appendChild(o.element),a.appendChild(t),c=!1})}),v.length){v.forEach(function(e){return a.appendChild(i.renderMarkerHover(e))});var b=1===v.length?v[0]:v.sort(function(e,t){return q.c.compare(e.marker.severity,t.marker.severity)})[0];a.appendChild(this.renderMarkerStatusbar(b))}l||c||(this.showAt(new g.a(e.startLineNumber,r),o,this._shouldFocus),this.updateContents(a)),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,o?[{range:o,options:t._DECORATION_OPTIONS}]:[]),this._isChangingDecorations=!1},t.prototype.renderMarkerHover=function(e){var t=this,n=ee("div.hover-row"),i=d.m(n,ee("div.marker.hover-contents")),r=e.marker,o=r.source,s=r.message,a=r.code,u=r.relatedInformation;this._editor.applyFontInfo(i);var c=d.m(i,ee("span"));if(c.style.whiteSpace="pre-wrap",c.innerText=s,o||a){var l=d.m(i,ee("span"));l.style.opacity="0.6",l.style.paddingLeft="6px",l.innerText=o&&a?o+"("+a+")":o||"("+a+")"}if(Object(R.n)(u))for(var h=function(e,n,r,o){var s=d.m(i,ee("div"));s.style.marginTop="8px";var a=d.m(s,ee("a"));a.innerText=Object(G.b)(n)+"("+r+", "+o+"): ",a.style.cursor="pointer",a.onclick=function(e){e.stopPropagation(),e.preventDefault(),t._openerService&&t._openerService.open(n.with({fragment:r+","+o})).catch(F.e)};var u=d.m(s,ee("span"));u.innerText=e,f._editor.applyFontInfo(u)},f=this,p=0,g=u;p0?this._renderMessages(this._lastLineNumber,this._messages):this.hide()},t.prototype._renderMessages=function(e,t){this._renderDisposeables.clear();for(var n=document.createDocumentFragment(),i=0,r=t;i=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},he=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},fe=function(){function e(e,t,n,i,r,o){var a=this;this._editor=e,this._openerService=t,this._modeService=n,this._markerDecorationsService=i,this._keybindingService=r,this._themeService=o,this._toUnhook=new s.b,this._isMouseDown=!1,this._hoverClicked=!1,this._contentWidget=null,this._glyphWidget=null,this._hookEvents(),this._didChangeConfigurationHandler=this._editor.onDidChangeConfiguration(function(e){e.contribInfo&&(a._hideWidgets(),a._unhookEvents(),a._hookEvents())})}return Object.defineProperty(e.prototype,"contentWidget",{get:function(){return this._contentWidget||this._createHoverWidgets(),this._contentWidget},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"glyphWidget",{get:function(){return this._glyphWidget||this._createHoverWidgets(),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()},n=this._editor.getConfiguration().contribInfo.hover;this._isHoverEnabled=n.enabled,this._isHoverSticky=n.sticky,this._isHoverEnabled?(this._toUnhook.add(this._editor.onMouseDown(function(t){return e._onEditorMouseDown(t)})),this._toUnhook.add(this._editor.onMouseUp(function(t){return e._onEditorMouseUp(t)})),this._toUnhook.add(this._editor.onMouseMove(function(t){return e._onEditorMouseMove(t)})),this._toUnhook.add(this._editor.onKeyDown(function(t){return e._onKeyDown(t)})),this._toUnhook.add(this._editor.onDidChangeModelDecorations(function(){return e._onModelDecorationsChanged()}))):this._toUnhook.add(this._editor.onMouseMove(t)),this._toUnhook.add(this._editor.onMouseLeave(t)),this._toUnhook.add(this._editor.onDidChangeModel(t)),this._toUnhook.add(this._editor.onDidScrollChange(function(t){return e._onEditorScrollChanged(t)}))},e.prototype._unhookEvents=function(){this._toUnhook.clear()},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;9!==t||e.target.detail!==re.ID?12===t&&e.target.detail===ae.ID||(12!==t&&e.target.detail!==ae.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;if(!(this._isMouseDown&&this._hoverClicked&&this.contentWidget.isColorPickerVisible()||this._isHoverSticky&&9===t&&e.target.detail===re.ID||this._isHoverSticky&&12===t&&e.target.detail===ae.ID)){if(7===t){var n=this._editor.getConfiguration().fontInfo.typicalHalfwidthCharacterWidth/2,i=e.target.detail;i&&!i.isAfterLines&&"number"==typeof i.horizontalDistanceToText&&i.horizontalDistanceToText=12&&t<=16)return!1}return!0};var i=n("Kp7x"),r=function(){function e(){this._zoomLevel=0,this._lastZoomLevelChangeTime=0,this._onDidChangeZoomLevel=new i.a,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.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.INSTANCE=new e,e}();var o=navigator.userAgent,s=o.indexOf("Trident")>=0,a=o.indexOf("Edge/")>=0,u=s||a,c=o.indexOf("Firefox")>=0,l=o.indexOf("AppleWebKit")>=0,d=o.indexOf("Chrome")>=0,h=!d&&o.indexOf("Safari")>=0,f=!d&&!h&&l,p=o.indexOf("iPad")>=0,g=a&&o.indexOf("WebView/")>=0},lQBd:function(e,t,n){"use strict";var i=n("KDHK"),r=i.define("Time",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),o=i.define("AttributeTypeValue",function(){this.seq().obj(this.key("type").objid(),this.key("value").any())}),s=i.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())}),a=i.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())}),u=i.define("RelativeDistinguishedName",function(){this.setof(o)}),c=i.define("RDNSequence",function(){this.seqof(u)}),l=i.define("Name",function(){this.choice({rdnSequence:this.use(c)})}),d=i.define("Validity",function(){this.seq().obj(this.key("notBefore").use(r),this.key("notAfter").use(r))}),h=i.define("Extension",function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())}),f=i.define("TBSCertificate",function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(s),this.key("issuer").use(l),this.key("validity").use(d),this.key("subject").use(l),this.key("subjectPublicKeyInfo").use(a),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(h).optional())}),p=i.define("X509Certificate",function(){this.seq().obj(this.key("tbsCertificate").use(f),this.key("signatureAlgorithm").use(s),this.key("signatureValue").bitstr())});e.exports=p},lUSU:function(e,t,n){var i=n("H2Pp");t.encrypt=function(e,t){var n=i(t,e._prev);return e._prev=e._cipher.encryptBlock(n),e._prev},t.decrypt=function(e,t){var n=e._prev;e._prev=t;var r=e._cipher.decryptBlock(t);return i(r,n)}},lWLP:function(e,t,n){"use strict";n.d(t,"b",function(){return o}),n.d(t,"a",function(){return s});var i=n("hK2W"),r=function(){function e(e,t,n){void 0===n&&(n=t),this.modifierLabels=[null],this.modifierLabels[2]=e,this.modifierLabels[1]=t,this.modifierLabels[3]=n}return e.prototype.toLabel=function(e,t,n){if(0===t.length)return null;for(var i=[],r=0,o=t.length;r1)if(r.a.visibleColumnFromColumn(_,b+1,d)%h!=0&&t.isCheapToTokenize(v-1)){var y=a.a.getRawEnterActionAtPosition(t,v-1,t.getLineMaxColumn(v-1));if(y){if(m=g,y.appendText)for(var w=0,C=y.appendText.length;wp+(n.clockTolerance||0))return f(new r("jwt not active",new Date(1e3*b.nbf)))}if(void 0!==b.exp&&!n.ignoreExpiration){if("number"!=typeof b.exp)return f(new i("invalid exp value"));if(p>=b.exp+(n.clockTolerance||0))return f(new o("jwt expired",new Date(1e3*b.exp)))}if(n.audience){var y=Array.isArray(n.audience)?n.audience:[n.audience];if(!(Array.isArray(b.aud)?b.aud:[b.aud]).some(function(e){return y.some(function(t){return t instanceof RegExp?t.test(e):t===e})}))return f(new i("jwt audience invalid. expected: "+y.join(" or ")))}if(n.issuer&&("string"==typeof n.issuer&&b.iss!==n.issuer||Array.isArray(n.issuer)&&-1===n.issuer.indexOf(b.iss)))return f(new i("jwt issuer invalid. expected: "+n.issuer));if(n.subject&&b.sub!==n.subject)return f(new i("jwt subject invalid. expected: "+n.subject));if(n.jwtid&&b.jti!==n.jwtid)return f(new i("jwt jwtid invalid. expected: "+n.jwtid));if(n.nonce&&b.nonce!==n.nonce)return f(new i("jwt nonce invalid. expected: "+n.nonce));if(n.maxAge){if("number"!=typeof b.iat)return f(new i("iat required when maxAge is specified"));var w=a(n.maxAge,b.iat);if(void 0===w)return f(new i('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));if(p>=w+(n.clockTolerance||0))return f(new o("maxAge exceeded",new Date(1e3*w)))}if(!0===n.complete){var C=g.signature;return f(null,{header:_,payload:b,signature:C})}return f(null,b)})}},mcra:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,r=n("hK2W"),o=n("03Zz"),s=n("/9db"),a=n("vTy2"),u=function(){function e(e,t){this._selection=e,this._isMovingLeft=t,this._cutStartIndex=-1,this._cutEndIndex=-1,this._moved=!1,this._selectionId=null}return e.prototype.getEditOperations=function(e,t){var n=this._selection;if(this._selectionId=t.trackSelection(n),n.startLineNumber===n.endLineNumber&&(!this._isMovingLeft||0!==n.startColumn)&&(this._isMovingLeft||n.endColumn!==e.getLineMaxColumn(n.startLineNumber))){var i,r,o,s=n.selectionStartLineNumber,u=e.getLineContent(s);this._isMovingLeft?(i=u.substring(0,n.startColumn-2),r=u.substring(n.startColumn-1,n.endColumn-1),o=u.substring(n.startColumn-2,n.startColumn-1)+u.substring(n.endColumn-1)):(i=u.substring(0,n.startColumn-1)+u.substring(n.endColumn-1,n.endColumn),r=u.substring(n.startColumn-1,n.endColumn-1),o=u.substring(n.endColumn));var c=i+r+o;t.addEditOperation(new a.a(s,1,s,e.getLineMaxColumn(s)),null),t.addEditOperation(new a.a(s,1,s,1),c),this._cutStartIndex=n.startColumn+(this._isMovingLeft?-1:1),this._cutEndIndex=this._cutStartIndex+n.endColumn-n.startColumn,this._moved=!0}},e.prototype.computeCursorState=function(e,t){var n=t.getTrackedSelection(this._selectionId);return this._moved&&(n=(n=n.setStartPosition(n.startLineNumber,this._cutStartIndex)).setEndPosition(n.startLineNumber,this._cutEndIndex)),n},e}(),c=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=function(e){function t(t,n){var i=e.call(this,n)||this;return i.left=t,i}return c(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=[],i=0,r=t.getSelections();i=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o)-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),void 0!==n&&(n+=e.charAt(r));else{void 0===n&&(n=e.substr(0,r));var s=v[o];void 0!==s?(-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),n+=s):-1===i&&(i=r)}}return-1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function b(e){for(var t=void 0,n=0;n1&&"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,o.g&&(t=t.replace(/\//g,"\\")),t}function w(e,t){var n=t?b:_,i="",r=e.scheme,o=e.authority,s=e.path,a=e.query,u=e.fragment;if(r&&(i+=r,i+=":"),(o||"file"===r)&&(i+=h,i+=h),o){var c=o.indexOf("@");if(-1!==c){var l=o.substr(0,c);o=o.substr(c+1),-1===(c=l.indexOf(":"))?i+=n(l,!1):(i+=n(l.substr(0,c),!1),i+=":",i+=n(l.substr(c+1),!1)),i+="@"}-1===(c=(o=o.toLowerCase()).indexOf(":"))?i+=n(o,!1):(i+=n(o.substr(0,c),!1),i+=o.substr(c))}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))}i+=n(s,!0)}return a&&(i+="?",i+=n(a,!1)),u&&(i+="#",i+=t?u:_(u,!1)),i}},mtgd:function(e,t,n){"use strict";var i=n("TU7t"),r=n("aL7J");function o(e){return Object(r.o)(e)}n.d(t,"a",function(){return s});var s=function(){function e(e,t){this.supportOcticons=t,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,n,r,o){void 0===n&&(n=[]),void 0===r&&(r=""),t||(t=""),o&&(t=e.escapeNewLines(t,n)),this.didEverRender&&this.text===t&&this.title===r&&i.e(this.highlights,n)||(Array.isArray(n)||(n=[]),this.text=t,this.title=r,this.highlights=n,this.render())},e.prototype.render=function(){for(var e="",t=0,n=0,i=this.highlights;n";var a=this.text.substring(t,s.start);e+=this.supportOcticons?o(a):Object(r.o)(a),e+="",t=s.end}e+='';var u=this.text.substring(s.start,s.end);e+=this.supportOcticons?o(u):Object(r.o)(u),e+="",t=s.end}}if(t";u=this.text.substring(t);e+=this.supportOcticons?o(u):Object(r.o)(u),e+=""}this.domNode.innerHTML=e,this.domNode.title=this.title,this.didEverRender=!0},e.escapeNewLines=function(e,t){var n=0,i=0;return e.replace(/\r\n|\r|\n/g,function(e,r){i="\r\n"===e?-1:0,r+=n;for(var o=0,s=t;o=r&&(a.start+=i),a.end>=r&&(a.end+=i))}return n+=i,"⏎"})},e}()},nLHh:function(e,t){},nOGB:function(e,t,n){var i=n("EuP9").Buffer;e.exports=function(e){return"string"==typeof e?e:"number"==typeof e||i.isBuffer(e)?e.toString():JSON.stringify(e)}},nY9q:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"defaultReferenceSearchOptions",function(){return E}),n.d(t,"ReferenceController",function(){return I}),n.d(t,"ReferenceAction",function(){return D}),t.provideReferences=P;var i,r=n("hK2W"),o=n("7g0X"),s=n("Kx4b"),a=n("artP"),u=n("03Zz"),c=n("PCC9"),l=n("vTy2"),d=n("fw2Z"),h=n("Pb27"),f=n("9uVW"),p=n("odeJ"),g=n("zxiH"),m=n("/9db"),v=n("IrTV"),_=n("P1SM"),b=n("bhIx"),y=n("ni2T"),w=n("ItKl"),C=n("mrx5"),S=n("vORD"),x=n("80kS"),L=n("X6iQ"),O=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),k=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},N=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},E={getMetaTitle:function(e){return e.references.length>1?r.a("meta.titleReference"," – {0} references",e.references.length):""}},I=function(){function e(e,t){e instanceof v.a&&d.b.inPeekEditor.bindTo(t)}return e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.ID="editor.contrib.referenceController",e=k([N(1,o.c)],e)}(),D=function(e){function t(){return e.call(this,{id:"editor.action.referenceSearch.trigger",label:r.a("references.action.label","Peek References"),alias:"Peek References",precondition:o.a.and(m.a.hasReferenceProvider,d.b.notInPeekEditor,m.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:m.a.editorTextFocus,primary:1094,weight:100},menuOpts:{group:"navigation",order:1.5}})||this}return O(t,e),t.prototype.run=function(e,t){var n=h.a.get(t);if(n&&t.hasModel()){var i=t.getSelection(),r=t.getModel(),o=Object(p.f)(function(e){return P(r,i.getStartPosition(),e).then(function(e){return new f.c(e)})});n.toggleWidget(i,o,E)}},t}(u.b);Object(u.h)(I),Object(u.f)(D);function M(e,t){T(e,function(e){return e.closeWidget()})}function T(e,t){var n=Object(d.d)(e);if(n){var i=h.a.get(n);i&&t(i)}}function P(e,t,n){var i=c.s.ordered(e).map(function(i){return Promise.resolve(i.provideReferences(e,t,{includeDeclaration:!0},n)).then(function(e){if(Array.isArray(e))return e},function(e){Object(g.f)(e)})});return Promise.all(i).then(function(e){return Object(L.k)(Object(L.d)(e))})}w.a.registerCommand({id:"editor.action.findReferences",handler:function(e,t,n){if(!(t instanceof C.a))throw new Error("illegal argument, uri");if(!n)throw new Error("illegal argument, position");var i=e.get(S.a);return i.openCodeEditor({resource:t},i.getFocusedCodeEditor()).then(function(e){if(Object(_.a)(e)&&e.hasModel()){var t=h.a.get(e);if(t){var i=Object(p.f)(function(t){return P(e.getModel(),a.a.lift(n),t).then(function(e){return new f.c(e)})}),r=new l.a(n.lineNumber,n.column,n.lineNumber,n.column);return Promise.resolve(t.toggleWidget(r,i,E))}}})}}),w.a.registerCommand({id:"editor.action.showReferences",handler:function(e,t,n,i){if(!(t instanceof C.a))throw new Error("illegal argument, uri expected");if(!i)throw new Error("missing references");var r=e.get(S.a);return r.openCodeEditor({resource:t},r.getFocusedCodeEditor()).then(function(e){if(Object(_.a)(e)){var t=h.a.get(e);if(t)return t.toggleWidget(new l.a(n.lineNumber,n.column,n.lineNumber,n.column),Object(p.f)(function(e){return Promise.resolve(new f.c(i))}),E)}})},description:{description:"Show references at a position in a file",args:[{name:"uri",description:"The text document in which to show references",constraint:C.a},{name:"position",description:"The position at which to show",constraint:a.a.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array}]}}),s.a.registerCommandAndKeybindingRule({id:"goToNextReference",weight:250,primary:62,when:h.b,handler:function(e){T(e,function(e){e.goToNextOrPreviousReference(!0)})}}),s.a.registerCommandAndKeybindingRule({id:"goToNextReferenceFromEmbeddedEditor",weight:150,primary:62,when:d.b.inPeekEditor,handler:function(e){T(e,function(e){e.goToNextOrPreviousReference(!0)})}}),s.a.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:250,primary:1086,when:h.b,handler:function(e){T(e,function(e){e.goToNextOrPreviousReference(!1)})}}),s.a.registerCommandAndKeybindingRule({id:"goToPreviousReferenceFromEmbeddedEditor",weight:150,primary:1086,when:d.b.inPeekEditor,handler:function(e){T(e,function(e){e.goToNextOrPreviousReference(!1)})}}),s.a.registerCommandAndKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:o.a.and(h.b,o.a.not("config.editor.stablePeek")),handler:M}),s.a.registerCommandAndKeybindingRule({id:"closeReferenceSearchEditor",weight:-1,primary:9,secondary:[1033],when:o.a.and(d.b.inPeekEditor,o.a.not("config.editor.stablePeek")),handler:M}),s.a.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:o.a.and(h.b,y.c),handler:function(e,t){var n=e.get(b.a),i=n.lastFocusedList&&n.lastFocusedList.getFocus();i instanceof f.b&&T(e,function(e){return e.openReference(i,!0)})}}),Object(u.e)("_executeReferenceProvider",function(e,t){return P(e,t,x.a.None)})},ni2T:function(e,t,n){"use strict";var i,r,o,s=n("7/Cv"),a=n("TNPA"),u=n("Kp7x"),c=n("tqet"),l=n("lapT"),d=n("ZYUE"),h=(n("Bv73"),n("IrTV")),f=n("vTy2"),p=n("0ly5"),g=n("B/Xy"),m=n("9uVW"),v=n("tpa8"),_=(n("0u1n"),n("aL7J")),b=n("TU7t"),y={badgeBackground:a.a.fromHex("#4D4D4D"),badgeForeground:a.a.fromHex("#FFFFFF")},w=function(){function e(e,t){this.count=0,this.options=t||Object.create(null),Object(b.g)(this.options,y,!1),this.badgeBackground=this.options.badgeBackground,this.badgeForeground=this.options.badgeForeground,this.badgeBorder=this.options.badgeBorder,this.element=Object(s.m)(e,Object(s.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(_.r)(this.countFormat,this.count),this.element.title=Object(_.r)(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,n=this.badgeBorder?this.badgeBorder.toString():null;this.element.style.backgroundColor=e,this.element.style.color=t,this.element.style.borderWidth=n?"1px":null,this.element.style.borderStyle=n?"solid":null,this.element.style.borderColor=n}},e}(),C=n("g1W0"),S=n("eoic"),x=n("Yqb6"),L=n("hK2W"),O=n("1sup"),k=n("JVO/"),N=n("NqM+"),E=n("GYOr"),I=n("mtgd"),D=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),M=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},T=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},P=function(){function e(e){this._resolverService=e}return e.prototype.hasChildren=function(e){return e instanceof m.c||e instanceof m.a&&!e.failure},e.prototype.getChildren=function(e){if(e instanceof m.c)return e.groups;if(e instanceof m.a)return e.resolve(this._resolverService).then(function(e){return e.children});throw new Error("bad tree")},e=M([T(0,g.a)],e)}(),A=function(){function e(){}return e.prototype.getHeight=function(){return 23},e.prototype.getTemplateId=function(e){return e instanceof m.a?W.id:V.id},e}(),R=function(){function e(e){this._keybindingService=e}return e.prototype.getKeyboardNavigationLabel=function(e){if(e instanceof m.b){var t=e.parent.preview,n=t&&t.preview(e.range);if(n)return n.value}return Object(d.b)(e.uri)},e.prototype.mightProducePrintableCharacter=function(e){return this._keybindingService.mightProducePrintableCharacter(e)},e=M([T(0,N.a)],e)}(),F=function(){function e(){}return e.prototype.getId=function(e){return e.id},e}(),j=function(e){function t(t,n,i){var r=e.call(this)||this;r._uriLabel=n;var o=document.createElement("div");return s.f(o,"reference-file"),r.file=r._register(new v.a(o,{supportHighlights:!0})),r.badge=new w(s.m(o,s.a(".count"))),r._register(Object(x.a)(r.badge,i)),t.appendChild(o),r}return D(t,e),t.prototype.set=function(e,t){var n=Object(d.d)(e.uri);this.file.setLabel(Object(O.a)(e.uri),this._uriLabel.getUriLabel(n,{relative:!0}),{title:this._uriLabel.getUriLabel(e.uri),matches:t});var i=e.children.length;this.badge.setCount(i),e.failure?this.badge.setTitleFormat(Object(L.a)("referencesFailre","Failed to resolve file.")):i>1?this.badge.setTitleFormat(Object(L.a)("referencesCount","{0} references",i)):this.badge.setTitleFormat(Object(L.a)("referenceCount","{0} reference",i))},t=M([T(1,C.a),T(2,S.c)],t)}(c.a),W=function(){function e(t){this._instantiationService=t,this.templateId=e.id}return e.prototype.renderTemplate=function(e){return this._instantiationService.createInstance(j,e)},e.prototype.renderElement=function(e,t,n){n.set(e.element,Object(E.c)(e.filterData))},e.prototype.disposeTemplate=function(e){e.dispose()},e.id="FileReferencesRenderer",e=M([T(0,k.a)],e)}(),B=function(){function e(e){this.label=new I.a(e,!1)}return e.prototype.set=function(e,t){var n=e.parent.preview,i=n&&n.preview(e.range);if(i){var r=i.value,o=i.highlight;t&&!E.a.isDefault(t)?(s.R(this.label.element,"referenceMatch",!1),this.label.set(r,Object(E.c)(t))):(s.R(this.label.element,"referenceMatch",!0),this.label.set(r,[o]))}else this.label.set(Object(d.b)(e.uri)+":"+(e.range.startLineNumber+1)+":"+(e.range.startColumn+1))},e}(),V=function(){function e(){this.templateId=e.id}return e.prototype.renderTemplate=function(e){return new B(e)},e.prototype.renderElement=function(e,t,n){n.set(e.element,e.filterData)},e.prototype.disposeTemplate=function(){},e.id="OneReferenceRenderer",e}(),H=function(){function e(){}return e.prototype.getAriaLabel=function(e){return e instanceof m.a?e.getAriaMessage():e instanceof m.b?e.getAriaMessage():null},e}(),z=n("7g0X"),U=n("bhIx"),K=n("L5KM"),q=n("fw2Z"),G=(n("C9H4"),n("KIxu")),Z=n("ot3f"),Y=n("X6iQ"),X=n("5tK6"),$=n("Gxst"),J=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Q={separatorBorder:a.a.transparent},ee=function(){function e(e,t,n,i){this.container=e,this.view=t,this.disposable=i,this._cachedVisibleSize=void 0,"number"==typeof n?(this._size=n,this._cachedVisibleSize=void 0,s.f(e,"visible")):(this._size=0,this._cachedVisibleSize=n.cachedVisibleSize)}return Object.defineProperty(e.prototype,"size",{get:function(){return this._size},set:function(e){this._size=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"visible",{get:function(){return void 0===this._cachedVisibleSize},enumerable:!0,configurable:!0}),e.prototype.setVisible=function(e,t){e!==this.visible&&(e?(this.size=Object(Z.a)(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize="number"==typeof t?t:this.size,this.size=0),s.R(this.container,"visible",e),this.view.setVisible&&this.view.setVisible(e))},Object.defineProperty(e.prototype,"minimumSize",{get:function(){return this.visible?this.view.minimumSize:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"viewMinimumSize",{get:function(){return this.view.minimumSize},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maximumSize",{get:function(){return this.visible?this.view.maximumSize:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"viewMaximumSize",{get:function(){return this.view.maximumSize},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"priority",{get:function(){return this.view.priority},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"snap",{get:function(){return!!this.view.snap},enumerable:!0,configurable:!0}),e.prototype.layout=function(e){this.view.layout(this.size,e)},e.prototype.dispose=function(){return this.disposable.dispose(),this.view},e}(),te=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return J(t,e),t.prototype.layout=function(t){e.prototype.layout.call(this,t),this.container.style.height=this.size+"px"},t}(ee),ne=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return J(t,e),t.prototype.layout=function(t){e.prototype.layout.call(this,t),this.container.style.width=this.size+"px"},t}(ee);!function(e){e[e.Idle=0]="Idle",e[e.Busy=1]="Busy"}(r||(r={})),function(e){e.Distribute={type:"distribute"},e.Split=function(e){return{type:"split",index:e}},e.Invisible=function(e){return{type:"invisible",cachedVisibleSize:e}}}(o||(o={}));var ie=function(e){function t(t,n){void 0===n&&(n={});var i=e.call(this)||this;return i.size=0,i.contentSize=0,i.proportions=void 0,i.viewItems=[],i.sashItems=[],i.state=r.Idle,i._onDidSashChange=i._register(new u.a),i.onDidSashChange=i._onDidSashChange.event,i._onDidSashReset=i._register(new u.a),i.orientation=G.j(n.orientation)?0:n.orientation,i.inverseAltBehavior=!!n.inverseAltBehavior,i.proportionalLayout=!!G.j(n.proportionalLayout)||!!n.proportionalLayout,i.el=document.createElement("div"),s.f(i.el,"monaco-split-view2"),s.f(i.el,0===i.orientation?"vertical":"horizontal"),t.appendChild(i.el),i.sashContainer=s.m(i.el,s.a(".sash-container")),i.viewContainer=s.m(i.el,s.a(".split-view-container")),i.style(n.styles||Q),n.descriptor&&(i.size=n.descriptor.size,n.descriptor.views.forEach(function(e,t){var n=G.j(e.visible)||e.visible?e.size:{type:"invisible",cachedVisibleSize:e.size},r=e.view;i.doAddView(r,n,t,!0)}),i.contentSize=i.viewItems.reduce(function(e,t){return e+t.size},0),i.saveProportions()),i}return J(t,e),Object.defineProperty(t.prototype,"orthogonalStartSash",{get:function(){return this._orthogonalStartSash},set:function(e){for(var t=0,n=this.sashItems;t0&&(this.proportions=this.viewItems.map(function(t){return t.size/e.contentSize}))},t.prototype.onSashStart=function(e){var t=this,n=e.sash,i=e.start,r=e.alt,o=Object(Y.j)(this.sashItems,function(e){return e.sash===n}),s=Object(c.e)(Object($.a)(document.body,"keydown")(function(e){return a(t.sashDragState.current,e.altKey)}),Object($.a)(document.body,"keyup")(function(){return a(t.sashDragState.current,!1)})),a=function(e,n){var i,r,a=t.viewItems.map(function(e){return e.size}),u=Number.NEGATIVE_INFINITY,c=Number.POSITIVE_INFINITY;(t.inverseAltBehavior&&(n=!n),n)&&(o===t.sashItems.length-1?(u=((y=t.viewItems[o]).minimumSize-y.size)/2,c=(y.maximumSize-y.size)/2):(u=((y=t.viewItems[o+1]).size-y.maximumSize)/2,c=(y.size-y.minimumSize)/2));if(!n){var l=Object(Y.r)(o,-1),d=Object(Y.r)(o+1,t.viewItems.length),h=l.reduce(function(e,n){return e+(t.viewItems[n].minimumSize-a[n])},0),f=l.reduce(function(e,n){return e+(t.viewItems[n].viewMaximumSize-a[n])},0),p=0===d.length?Number.POSITIVE_INFINITY:d.reduce(function(e,n){return e+(a[n]-t.viewItems[n].minimumSize)},0),g=0===d.length?Number.NEGATIVE_INFINITY:d.reduce(function(e,n){return e+(a[n]-t.viewItems[n].viewMaximumSize)},0),m=Math.max(h,g),v=Math.min(p,f),_=t.findFirstSnapIndex(l),b=t.findFirstSnapIndex(d);if("number"==typeof _){var y=t.viewItems[_],w=Math.floor(y.viewMinimumSize/2);i={index:_,limitDelta:y.visible?m-w:m+w,size:y.size}}if("number"==typeof b){y=t.viewItems[b],w=Math.floor(y.viewMinimumSize/2);r={index:b,limitDelta:y.visible?v+w:v-w,size:y.size}}}t.sashDragState={start:e,current:e,index:o,sizes:a,minDelta:u,maxDelta:c,alt:n,snapBefore:i,snapAfter:r,disposable:s}};a(i,r)},t.prototype.onSashChange=function(e){var t=e.current,n=this.sashDragState,i=n.index,r=n.start,o=n.sizes,s=n.alt,a=n.minDelta,u=n.maxDelta,c=n.snapBefore,l=n.snapAfter;this.sashDragState.current=t;var d=t-r,h=this.resize(i,d,o,void 0,void 0,a,u,c,l);if(s){var f=i===this.sashItems.length-1,p=this.viewItems.map(function(e){return e.size}),g=f?i:i+1,m=this.viewItems[g],v=m.size-m.maximumSize,_=m.size-m.minimumSize,b=f?i-1:i+1;this.resize(b,-h,p,void 0,void 0,v,_)}this.distributeEmptySpace(),this.layoutViews()},t.prototype.onSashEnd=function(e){this._onDidSashChange.fire(e),this.sashDragState.disposable.dispose(),this.saveProportions()},t.prototype.onViewChange=function(e,t){var n=this.viewItems.indexOf(e);n<0||n>=this.viewItems.length||(t="number"==typeof t?t:e.size,t=Object(Z.a)(t,e.minimumSize,e.maximumSize),this.inverseAltBehavior&&n>0?(this.resize(n-1,Math.floor((e.size-t)/2)),this.distributeEmptySpace(),this.layoutViews()):(e.size=t,this.relayout([n],void 0)))},t.prototype.resizeView=function(e,t){var n=this;if(this.state!==r.Idle)throw new Error("Cant modify splitview");if(this.state=r.Busy,!(e<0||e>=this.viewItems.length)){var i=Object(Y.r)(this.viewItems.length).filter(function(t){return t!==e}),o=i.filter(function(e){return 1===n.viewItems[e].priority}).concat([e]),s=i.filter(function(e){return 2===n.viewItems[e].priority}),a=this.viewItems[e];t=Math.round(t),t=Object(Z.a)(t,a.minimumSize,Math.min(a.maximumSize,this.size)),a.size=t,this.relayout(o,s),this.state=r.Idle}},t.prototype.distributeViewSizes=function(){for(var e=this,t=[],n=0,i=0,r=this.viewItems;i0&&(t.push(u),n+=u.size)}for(var o=Math.floor(n/t.length),s=0,a=t;s=this.viewItems.length?-1:this.viewItems[e].size},t.prototype.doAddView=function(e,t,n,i){var o=this;if(void 0===n&&(n=this.viewItems.length),this.state!==r.Idle)throw new Error("Cant modify splitview");this.state=r.Busy;var a=s.a(".split-view-view");n===this.viewItems.length?this.viewContainer.appendChild(a):this.viewContainer.insertBefore(a,this.viewContainer.children.item(n));var l,d=e.onDidChange(function(e){return o.onViewChange(g,e)}),h=Object(c.h)(function(){return o.viewContainer.removeChild(a)}),f=Object(c.e)(d,h);l="number"==typeof t?t:"split"===t.type?this.getViewSize(t.index)/2:"invisible"===t.type?{cachedVisibleSize:t.cachedVisibleSize}:e.minimumSize;var p,g=0===this.orientation?new te(a,e,l,f):new ne(a,e,l,f);if(this.viewItems.splice(n,0,g),this.viewItems.length>1){var m=0===this.orientation?1:0,v=0===this.orientation?{getHorizontalSashTop:function(e){return o.getSashPosition(e)}}:{getVerticalSashLeft:function(e){return o.getSashPosition(e)}},_=new X.a(this.sashContainer,v,{orientation:m,orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash}),b=0===this.orientation?function(e){return{sash:_,start:e.startY,current:e.currentY,alt:e.altKey}}:function(e){return{sash:_,start:e.startX,current:e.currentX,alt:e.altKey}},y=u.b.map(_.onDidStart,b)(this.onSashStart,this),w=u.b.map(_.onDidChange,b)(this.onSashChange,this),C=u.b.map(_.onDidEnd,function(){return Object(Y.j)(o.sashItems,function(e){return e.sash===_})})(this.onSashEnd,this),S=_.onDidReset(function(){var e=Object(Y.j)(o.sashItems,function(e){return e.sash===_}),t=Object(Y.r)(e,-1),n=Object(Y.r)(e+1,o.viewItems.length),i=o.findFirstSnapIndex(t),r=o.findFirstSnapIndex(n);("number"!=typeof i||o.viewItems[i].visible)&&("number"!=typeof r||o.viewItems[r].visible)&&o._onDidSashReset.fire(e)}),x=Object(c.e)(y,w,C,S,_),L={sash:_,disposable:x};this.sashItems.splice(n-1,0,L)}a.appendChild(e.element),"number"!=typeof t&&"split"===t.type&&(p=[t.index]),i||this.relayout([n],p),this.state=r.Idle,i||"number"==typeof t||"distribute"!==t.type||this.distributeViewSizes()},t.prototype.relayout=function(e,t){var n=this.viewItems.reduce(function(e,t){return e+t.size},0);this.resize(this.viewItems.length-1,this.size-n,void 0,e,t),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()},t.prototype.resize=function(e,t,n,i,r,o,s,a,u){var c=this;if(void 0===n&&(n=this.viewItems.map(function(e){return e.size})),void 0===o&&(o=Number.NEGATIVE_INFINITY),void 0===s&&(s=Number.POSITIVE_INFINITY),e<0||e>=this.viewItems.length)return 0;var l=Object(Y.r)(e,-1),d=Object(Y.r)(e+1,this.viewItems.length);if(r)for(var h=0,f=r;h=a.limitDelta)!==E.visible,E.setVisible(I,a.size)}if(!N&&u){var I;E=this.viewItems[u.index];N=(I=t0||t});t=!1;var i=this.viewItems.map(function(e){return t=e.maximumSize-e.size>0||t}),r=this.viewItems.slice().reverse();t=!1;var o=r.map(function(e){return t=e.size-e.minimumSize>0||t}).reverse();t=!1;var s=r.map(function(e){return t=e.maximumSize-e.size>0||t}).reverse();this.sashItems.forEach(function(t,r){var a=t.sash,u=!(n[r]&&s[r+1]),c=!(i[r]&&o[r+1]);if(u&&c){var l=Object(Y.r)(r,-1),d=Object(Y.r)(r+1,e.viewItems.length),h=e.findFirstSnapIndex(l),f=e.findFirstSnapIndex(d),p="number"==typeof h&&!e.viewItems[h].visible,g="number"==typeof f&&!e.viewItems[f].visible;p&&o[r]?a.state=1:g&&n[r]?a.state=2:a.state=0}else a.state=u&&!c?1:!u&&c?2:3})},t.prototype.getSashPosition=function(e){for(var t=0,n=0;n0)return;if(!s.visible&&s.snap)return i}},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.viewItems.forEach(function(e){return e.dispose()}),this.viewItems=[],this.sashItems.forEach(function(e){return e.disposable.dispose()}),this.sashItems=[]},t}(c.a);n.d(t,"a",function(){return le}),n.d(t,"c",function(){return de}),n.d(t,"b",function(){return he}),n.d(t,"d",function(){return pe}),n.d(t,"e",function(){return ge});var re=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),oe=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},se=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ae=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},ue=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]0?e.children[0]:void 0},t.prototype._revealReference=function(e,t){return ae(this,void 0,void 0,function(){var n,i,r,o,s;return ue(this,function(a){switch(a.label){case 0:return this._revealedReference===e?[2]:(this._revealedReference=e,e.uri.scheme!==l.b.inMemory?this.setTitle(Object(d.c)(e.uri),this._uriLabel.getUriLabel(Object(d.d)(e.uri))):this.setTitle(L.a("peekView.alternateTitle","References")),n=this._textModelResolverService.createModelReference(e.uri),this._tree.getInput()!==e.parent?[3,1]:(this._tree.reveal(e),[3,3]));case 1:return t&&this._tree.reveal(e.parent),[4,this._tree.expand(e.parent)];case 2:a.sent(),this._tree.reveal(e),a.label=3;case 3:return[4,n];case 4:return i=a.sent(),this._model?(Object(c.f)(this._previewModelReference),(r=i.object)?(o=this._preview.getModel()===r.textEditorModel?0:1,s=f.a.lift(e.range).collapseToStart(),this._previewModelReference=i,this._preview.setModel(r.textEditorModel),this._preview.setSelection(s),this._preview.revealRangeInCenter(s,o)):(this._preview.setModel(this._previewNotAvailableMessage),i.dispose()),[2]):(i.dispose(),[2])}})})},t=oe([se(3,S.c),se(4,g.a),se(5,k.a),se(6,q.a),se(7,C.a)],t)}(q.c),fe=Object(K._36)("peekViewTitle.background",{dark:"#1E1E1E",light:"#FFFFFF",hc:"#0C141F"},L.a("peekViewTitleBackground","Background color of the peek view title area.")),pe=Object(K._36)("peekViewTitleLabel.foreground",{dark:"#FFFFFF",light:"#333333",hc:"#FFFFFF"},L.a("peekViewTitleForeground","Color of the peek view title.")),ge=Object(K._36)("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#6c6c6cb3",hc:"#FFFFFF99"},L.a("peekViewTitleInfoForeground","Color of the peek view title info.")),me=Object(K._36)("peekView.border",{dark:"#007acc",light:"#007acc",hc:K.e},L.a("peekViewBorder","Color of the peek view borders and arrow.")),ve=Object(K._36)("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hc:a.a.black},L.a("peekViewResultsBackground","Background color of the peek view result list.")),_e=Object(K._36)("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hc:a.a.white},L.a("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list.")),be=Object(K._36)("peekViewResult.fileForeground",{dark:a.a.white,light:"#1E1E1E",hc:a.a.white},L.a("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list.")),ye=Object(K._36)("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hc:null},L.a("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list.")),we=Object(K._36)("peekViewResult.selectionForeground",{dark:a.a.white,light:"#6C6C6C",hc:a.a.white},L.a("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list.")),Ce=Object(K._36)("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hc:a.a.black},L.a("peekViewEditorBackground","Background color of the peek view editor.")),Se=Object(K._36)("peekViewEditorGutter.background",{dark:Ce,light:Ce,hc:Ce},L.a("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor.")),xe=Object(K._36)("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hc:null},L.a("peekViewResultsMatchHighlight","Match highlight color in the peek view result list.")),Le=Object(K._36)("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hc:null},L.a("peekViewEditorMatchHighlight","Match highlight color in the peek view editor.")),Oe=Object(K._36)("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hc:K.b},L.a("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));Object(S.f)(function(e,t){var n=e.getColor(xe);n&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight { background-color: "+n+"; }");var i=e.getColor(Le);i&&t.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { background-color: "+i+"; }");var r=e.getColor(Oe);r&&t.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { border: 2px solid "+r+"; box-sizing: border-box; }");var o=e.getColor(K.b);o&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight { border: 1px dotted "+o+"; box-sizing: border-box; }");var s=e.getColor(ve);s&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree { background-color: "+s+"; }");var a=e.getColor(_e);a&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree { color: "+a+"; }");var u=e.getColor(be);u&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .reference-file { color: "+u+"; }");var c=e.getColor(ye);c&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) { background-color: "+c+"; }");var l=e.getColor(we);l&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) { color: "+l+" !important; }");var d=e.getColor(Ce);d&&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: "+d+";}");var h=e.getColor(Se);h&&t.addRule(".monaco-editor .reference-zone-widget .preview .monaco-editor .margin {\tbackground-color: "+h+";}")})},nyV4:function(e,t,n){"use strict";var i=n("08Lv"),r=n("LC74"),o={};t.instantiate=function(e){function t(t){e.call(this,t),this._cbcInit()}r(t,e);for(var n=Object.keys(o),i=0;i=r)return Promise.resolve(n);var s=e[i++],a=Promise.resolve(s());return a.then(function(e){return t(e)?Promise.resolve(e):o()})};return o()},n.d(t,"e",function(){return c}),n.d(t,"c",function(){return l}),n.d(t,"d",function(){return d}),n.d(t,"k",function(){return u}),n.d(t,"b",function(){return h});var i=n("80kS"),r=n("zxiH"),o=n("tqet");function s(e){var t=new i.b,n=e(t.token),o=new Promise(function(e,i){t.token.onCancellationRequested(function(){i(r.a())}),Promise.resolve(n).then(function(n){t.dispose(),e(n)},function(e){t.dispose(),i(e)})});return new(function(){function e(){}return e.prototype.cancel=function(){t.cancel()},e.prototype.then=function(e,t){return o.then(e,t)},e.prototype.catch=function(e){return this.then(void 0,e)},e.prototype.finally=function(e){return o.finally(e)},e}())}var a=function(){function e(e){this.defaultDelay=e,this.timeout=null,this.completionPromise=null,this.doResolve=null,this.task=null}return e.prototype.trigger=function(e,t){var n=this;return void 0===t&&(t=this.defaultDelay),this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise(function(e,t){n.doResolve=e,n.doReject=t}).then(function(){n.completionPromise=null,n.doResolve=null;var e=n.task;return n.task=null,e()})),this.timeout=setTimeout(function(){n.timeout=null,n.doResolve(null)},t),this.completionPromise},e.prototype.isTriggered=function(){return null!==this.timeout},e.prototype.cancel=function(){this.cancelTimeout(),this.completionPromise&&(this.doReject(r.a()),this.completionPromise=null)},e.prototype.cancelTimeout=function(){null!==this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},e.prototype.dispose=function(){this.cancelTimeout()},e}();var u,c=function(){function e(e,t){this._token=-1,"function"==typeof e&&"number"==typeof t&&this.setIfNotSet(e,t)}return e.prototype.dispose=function(){this.cancel()},e.prototype.cancel=function(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)},e.prototype.cancelAndSet=function(e,t){var n=this;this.cancel(),this._token=setTimeout(function(){n._token=-1,e()},t)},e.prototype.setIfNotSet=function(e,t){var n=this;-1===this._token&&(this._token=setTimeout(function(){n._token=-1,e()},t))},e}(),l=function(){function e(){this._token=-1}return e.prototype.dispose=function(){this.cancel()},e.prototype.cancel=function(){-1!==this._token&&(clearInterval(this._token),this._token=-1)},e.prototype.cancelAndSet=function(e,t){this.cancel(),this._token=setInterval(function(){e()},t)},e}(),d=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&&this.runner()},e}();!function(){if("function"!=typeof requestIdleCallback||"function"!=typeof cancelIdleCallback){var e=Object.freeze({didTimeout:!0,timeRemaining:function(){return 15}});u=function(t){var n=setTimeout(function(){return t(e)}),i=!1;return{dispose:function(){i||(i=!0,clearTimeout(n))}}}}else u=function(e,t){var n=requestIdleCallback(e,"number"==typeof t?{timeout:t}:void 0),i=!1;return{dispose:function(){i||(i=!0,cancelIdleCallback(n))}}}}();var h=function(){function e(e){var t=this;this._didRun=!1,this._executor=function(){try{t._value=e()}catch(e){t._error=e}finally{t._didRun=!0}},this._handle=u(function(){return t._executor()})}return e.prototype.dispose=function(){this._handle.dispose()},e.prototype.getValue=function(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value},e}()},oqRo:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("xF6g"),r=(n.n(i),n("hK2W")),o=n("odeJ"),s=n("zxiH"),a=n("3uSZ"),u=n("6TMp"),c=n("vTy2"),l=n("PCC9"),d=n("03Zz"),h=n("iLE3"),f=n("tqet"),p=n("B/Xy"),g=n("eoic"),m=n("L5KM"),v=n("4tuZ"),_=n("QfwU"),b=n("qzX+"),y=n("artP"),w=n("KIxu"),C=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},S=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},x=function(){function e(e,t,n){var i=this;this.textModelResolverService=t,this.modeService=n,this.toUnhook=new f.b,this.decorations=[],this.currentWordUnderMouse=null,this.previousPromise=null,this.editor=e;var r=new b.a(e);this.toUnhook.add(r),this.toUnhook.add(r.onMouseMoveOrRelevantKeyDown(function(e){var t=e[0],n=e[1];i.startFindDefinition(t,Object(w.m)(n))})),this.toUnhook.add(r.onExecute(function(e){i.isEnabled(e)&&i.gotoDefinition(e.target,e.hasSideBySideModifier).then(function(){i.removeDecorations()},function(e){i.removeDecorations(),Object(s.e)(e)})})),this.toUnhook.add(r.onCancel(function(){i.removeDecorations(),i.currentWordUnderMouse=null}))}return e.prototype.startFindDefinition=function(e,t){var n=this;if(!(9===e.target.type&&this.decorations.length>0)){if(!this.editor.hasModel()||!this.isEnabled(e,t))return this.currentWordUnderMouse=null,void this.removeDecorations();var i=e.target.position?this.editor.getModel().getWordAtPosition(e.target.position):null;if(!i)return this.currentWordUnderMouse=null,void this.removeDecorations();var u=e.target.position;if(!this.currentWordUnderMouse||this.currentWordUnderMouse.startColumn!==i.startColumn||this.currentWordUnderMouse.endColumn!==i.endColumn||this.currentWordUnderMouse.word!==i.word){this.currentWordUnderMouse=i;var l=new v.a(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=Object(o.f)(function(t){return n.findDefinition(e.target,t)}),this.previousPromise.then(function(e){if(e&&e.length&&l.validate(n.editor))if(e.length>1)n.addDecoration(new c.a(u.lineNumber,i.startColumn,u.lineNumber,i.endColumn),(new a.a).appendText(r.a("multipleResults","Click to show {0} definitions.",e.length)));else{var t=e[0];if(!t.uri)return;n.textModelResolverService.createModelReference(t.uri).then(function(e){if(e.object&&e.object.textEditorModel){var r=e.object.textEditorModel,o=t.range.startLineNumber;if(o<1||o>r.getLineCount())e.dispose();else{var s,l=n.getPreviewValue(r,o,t);s=t.originSelectionRange?c.a.lift(t.originSelectionRange):new c.a(u.lineNumber,i.startColumn,u.lineNumber,i.endColumn);var d=n.modeService.getModeIdByFilepathOrFirstLine(r.uri);n.addDecoration(s,(new a.a).appendCodeblock(d||"",l)),e.dispose()}}else e.dispose()})}else n.removeDecorations()}).then(void 0,s.e)}}},e.prototype.getPreviewValue=function(t,n,i){var r=i.targetSelectionRange?i.range:this.getPreviewRangeBasedOnBrackets(t,n);return r.endLineNumber-r.startLineNumber>=e.MAX_SOURCE_PREVIEW_LINES&&(r=this.getPreviewRangeBasedOnIndentation(t,n)),this.stripIndentationFromPreviewRange(t,n,r)},e.prototype.stripIndentationFromPreviewRange=function(e,t,n){for(var i=e.getLineFirstNonWhitespaceColumn(t),r=t+1;ri)return new c.a(n,1,i+1,1);s=t.findNextBracket(new y.a(l,d))}return new c.a(n,1,i+1,1)},e.prototype.addDecoration=function(e,t){var n={range:e,options:{inlineClassName:"goto-definition-link",hoverMessage:t}};this.decorations=this.editor.deltaDecorations(this.decorations,[n])},e.prototype.removeDecorations=function(){this.decorations.length>0&&(this.decorations=this.editor.deltaDecorations(this.decorations,[]))},e.prototype.isEnabled=function(e,t){return this.editor.hasModel()&&e.isNoneOrSingleMouseDown&&6===e.target.type&&(e.hasTriggerModifier||!!t&&t.keyCodeIsTriggerKey)&&l.f.has(this.editor.getModel())},e.prototype.findDefinition=function(e,t){var n=this.editor.getModel();return n?Object(h.b)(n,e.position,t):Promise.resolve(null)},e.prototype.gotoDefinition=function(e,t){var n=this;this.editor.setPosition(e.position);var i=new _.DefinitionAction(new _.DefinitionActionConfig(t,!1,!0,!1),{alias:"",label:"",id:"",precondition:void 0});return this.editor.invokeWithinContext(function(e){return i.run(e,n.editor)})},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.toUnhook.dispose()},e.ID="editor.contrib.gotodefinitionwithmouse",e.MAX_SOURCE_PREVIEW_LINES=8,e=C([S(1,p.a),S(2,u.a)],e)}();Object(d.h)(x),Object(g.f)(function(e,t){var n=e.getColor(m.n);n&&t.addRule(".monaco-editor .goto-definition-link { color: "+n+" !important; }")})},ot3f:function(e,t,n){"use strict";t.a=function(e,t,n){return Math.min(Math.max(e,t),n)}},pJVg:function(e,t){},"pS+P":function(e,t,n){"use strict";var i=n("tRuz"),r=n("geuY"),o=n("LC74"),s=i.base,a=n("lZ6o").utils;function u(e){s.call(this,"mont",e),this.a=new r(e.a,16).toRed(this.red),this.b=new r(e.b,16).toRed(this.red),this.i4=new r(4).toRed(this.red).redInvm(),this.two=new r(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function c(e,t,n){s.BasePoint.call(this,e,"projective"),null===t&&null===n?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new r(t,16),this.z=new r(n,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}o(u,s),e.exports=u,u.prototype.validate=function(e){var t=e.normalize().x,n=t.redSqr(),i=n.redMul(t).redAdd(n.redMul(this.a)).redAdd(t);return 0===i.redSqrt().redSqr().cmp(i)},o(c,s.BasePoint),u.prototype.decodePoint=function(e,t){return this.point(a.toArray(e,t),1)},u.prototype.point=function(e,t){return new c(this,e,t)},u.prototype.pointFromJSON=function(e){return c.fromJSON(this,e)},c.prototype.precompute=function(){},c.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},c.fromJSON=function(e,t){return new c(e,t[0],t[1]||e.one)},c.prototype.inspect=function(){return this.isInfinity()?"":""},c.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},c.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),n=e.redSub(t),i=e.redMul(t),r=n.redMul(t.redAdd(this.curve.a24.redMul(n)));return this.curve.point(i,r)},c.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.diffAdd=function(e,t){var n=this.x.redAdd(this.z),i=this.x.redSub(this.z),r=e.x.redAdd(e.z),o=e.x.redSub(e.z).redMul(n),s=r.redMul(i),a=t.z.redMul(o.redAdd(s).redSqr()),u=t.x.redMul(o.redISub(s).redSqr());return this.curve.point(a,u)},c.prototype.mul=function(e){for(var t=e.clone(),n=this,i=this.curve.point(null,null),r=[];0!==t.cmpn(0);t.iushrn(1))r.push(t.andln(1));for(var o=r.length-1;o>=0;o--)0===r[o]?(n=n.diffAdd(i,this),i=i.dbl()):(i=n.diffAdd(i,this),n=n.dbl());return i},c.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},c.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},"pWM+":function(e,t,n){"use strict";t.b=function(e,t){var n=[],i=u.c.ordered(e).reverse().map(function(i){return Promise.resolve(i.provideDocumentColors(e,t)).then(function(e){if(Array.isArray(e))for(var t=0,r=e;t0&&n.ishrn(i),n}function d(e,n,r){var o,s;do{for(o=new t(0);8*o.length=31)return i.error("Multi-octet tag encoding unsupported");t||(r|=32);return r|=a.tagClassByName[n||"universal"]<<6}(e,t,n,this.reporter);if(i.length<128)return(o=new r(2))[0]=s,o[1]=i.length,this._createEncoderBuffer([o,i]);for(var u=1,c=i.length;c>=256;c>>=8)u++;(o=new r(2+u))[0]=s,o[1]=128|u;c=1+u;for(var l=i.length;l>0;c--,l>>=8)o[c]=255&l;return this._createEncoderBuffer([o,i])},c.prototype._encodeStr=function(e,t){if("bitstr"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"===t){for(var n=new r(2*e.length),i=0;i=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}var o=0;for(i=0;i=128;s>>=7)o++}var a=new r(o),u=a.length-1;for(i=e.length-1;i>=0;i--){s=e[i];for(a[u--]=127&s;(s>>=7)>0;)a[u--]=128|127&s}return this._createEncoderBuffer(a)},c.prototype._encodeTime=function(e,t){var n,i=new Date(e);return"gentime"===t?n=[l(i.getFullYear()),l(i.getUTCMonth()+1),l(i.getUTCDate()),l(i.getUTCHours()),l(i.getUTCMinutes()),l(i.getUTCSeconds()),"Z"].join(""):"utctime"===t?n=[l(i.getFullYear()%100),l(i.getUTCMonth()+1),l(i.getUTCDate()),l(i.getUTCHours()),l(i.getUTCMinutes()),l(i.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+t+" time is not supported yet"),this._encodeStr(n,"octstr")},c.prototype._encodeNull=function(){return this._createEncoderBuffer("")},c.prototype._encodeInt=function(e,t){if("string"==typeof e){if(!t)return this.reporter.error("String int or enum given, but no values map");if(!t.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=t[e]}if("number"!=typeof e&&!r.isBuffer(e)){var n=e.toArray();!e.sign&&128&n[0]&&n.unshift(0),e=new r(n)}if(r.isBuffer(e)){var i=e.length;0===e.length&&i++;var o=new r(i);return e.copy(o),0===e.length&&(o[0]=0),this._createEncoderBuffer(o)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);i=1;for(var s=e;s>=256;s>>=8)i++;for(s=(o=new Array(i)).length-1;s>=0;s--)o[s]=255&e,e>>=8;return 128&o[0]&&o.unshift(0),this._createEncoderBuffer(new r(o))},c.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},c.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getEncoder("der").tree},c.prototype._skipDefault=function(e,t,n){var i,r=this._baseState;if(null===r.default)return!1;var o=e.join();if(void 0===r.defaultBuffer&&(r.defaultBuffer=this._encodeValue(r.default,t,n).join()),o.length!==r.defaultBuffer.length)return!1;for(i=0;i=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},E=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},I=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},D=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]0},e.prototype.resolveRenameLocation=function(e){return I(this,void 0,void 0,function(){var t,n,i;return D(this,function(r){switch(r.label){case 0:return(t=this._providers[0])?t.resolveRenameLocation?[4,t.resolveRenameLocation(this.model,this.position,e)]:[3,2]:[2,void 0];case 1:n=r.sent(),r.label=2;case 2:return!n&&(i=this.model.getWordAtPosition(this.position))?[2,{range:new d.a(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word}]:[2,n]}})})},e.prototype.provideRenameEdits=function(e,t,n,r){return I(this,void 0,void 0,function(){var o,s;return D(this,function(a){switch(a.label){case 0:return(o=this._providers[t])?[4,o.provideRenameEdits(this.model,this.position,e,r)]:[2,{edits:[],rejectReason:n.join("\n")}];case 1:return(s=a.sent())?s.rejectReason?[2,this.provideRenameEdits(e,t+1,n.concat(s.rejectReason),r)]:[2,s]:[2,this.provideRenameEdits(e,t+1,n.concat(i.a("no result","No result.")),r)]}})})},e}();function T(e,t,n){return I(this,void 0,void 0,function(){return D(this,function(i){return[2,new M(e,t).provideRenameEdits(n,0,[],x.a.None)]})})}var P=function(e){function t(t,n,i,r,o,s){var a=e.call(this)||this;return a.editor=t,a._notificationService=n,a._bulkEditService=i,a._progressService=r,a._contextKeyService=o,a._themeService=s,a._renameOperationIdPool=1,a._register(a.editor.onDidChangeModel(function(){return a.onModelChanged()})),a._register(a.editor.onDidChangeModelLanguage(function(){return a.onModelChanged()})),a._register(a.editor.onDidChangeCursorSelection(function(){return a.onModelChanged()})),a}return k(t,e),t.get=function(e){return e.getContribution(t.ID)},Object.defineProperty(t.prototype,"renameInputField",{get:function(){return this._renameInputField||(this._renameInputField=this._register(new p(this.editor,this._themeService,this._contextKeyService))),this._renameInputField},enumerable:!0,configurable:!0}),t.prototype.getId=function(){return t.ID},t.prototype.run=function(){return I(this,void 0,void 0,function(){var e,t=this;return D(this,function(n){return this._activeRename&&this._activeRename.operation.cancel(),e=this._renameOperationIdPool++,this._activeRename={id:e,operation:Object(L.f)(function(n){return t.doRename(n,e)})},[2,this._activeRename.operation]})})},t.prototype.doRename=function(e,t){return I(this,void 0,void 0,function(){var n,r,o,s,a,u,c,l,h=this;return D(this,function(f){switch(f.label){case 0:if(!this.editor.hasModel())return[2,void 0];if(n=this.editor.getPosition(),!(r=new M(this.editor.getModel(),n)).hasProvider())return[2,void 0];f.label=1;case 1:return f.trys.push([1,3,,4]),s=r.resolveRenameLocation(e),this._progressService.showWhile(s,250),[4,s];case 2:return o=f.sent(),[3,4];case 3:return a=f.sent(),_.a.get(this.editor).showMessage(a||i.a("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),n),[2,void 0];case 4:return o?o.rejectReason?(_.a.get(this.editor).showMessage(o.rejectReason,n),[2,void 0]):this._activeRename&&this._activeRename.id===t?(u=this.editor.getSelection(),c=0,l=o.text.length,d.a.isEmpty(u)||d.a.spansMultipleLines(u)||!d.a.containsRange(o.range,u)||(c=Math.max(0,u.startColumn-o.range.startColumn),l=Math.min(o.range.endColumn,u.endColumn)-o.range.startColumn),[2,this.renameInputField.getInput(o.range,o.text,c,l).then(function(t){if("boolean"!=typeof t){h.editor.focus();var n=new b.a(h.editor,15),s=Promise.resolve(r.provideRenameEdits(t,0,[],e).then(function(e){if(h.editor.hasModel()){if(!e.rejectReason)return h._bulkEditService.apply(e,{editor:h.editor}).then(function(e){e.ariaSummary&&Object(v.a)(i.a("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",o.text,t,e.ariaSummary))});n.validate(h.editor)?_.a.get(h.editor).showMessage(e.rejectReason,h.editor.getPosition()):h._notificationService.info(e.rejectReason)}},function(e){return h._notificationService.error(i.a("rename.failed","Rename failed to execute.")),Promise.reject(e)}));return h._progressService.showWhile(s,250),s}t&&h.editor.focus()})]):[2,void 0]:[2,void 0]}})})},t.prototype.acceptRenameInput=function(){this._renameInputField&&this._renameInputField.acceptInput()},t.prototype.cancelRenameInput=function(){this._renameInputField&&this._renameInputField.cancelInput(!0)},t.prototype.onModelChanged=function(){this._activeRename&&(this._activeRename.operation.cancel(),this._activeRename=void 0)},t.ID="editor.contrib.renameController",t=N([E(1,y.a),E(2,w.a),E(3,s.a),E(4,o.c),E(5,g.c)],t)}(c.a),A=function(e){function t(){return e.call(this,{id:"editor.action.rename",label:i.a("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:o.a.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 k(t,e),t.prototype.runCommand=function(t,n){var i=this,o=t.get(S.a),s=Array.isArray(n)&&n||[void 0,void 0],a=s[0],u=s[1];return C.a.isUri(a)&&l.a.isIPosition(u)?o.openCodeEditor({resource:a},o.getActiveCodeEditor()).then(function(e){e&&(e.setPosition(u),e.invokeWithinContext(function(t){return i.reportTelemetry(t,e),i.run(t,e)}))},r.e):e.prototype.runCommand.call(this,t,n)},t.prototype.run=function(e,t){var n=P.get(t);return n?n.run():Promise.resolve()},t}(a.b);Object(a.h)(P),Object(a.f)(A);var R=a.c.bindToContribution(P.get);Object(a.g)(new R({id:"acceptRenameInput",precondition:f,handler:function(e){return e.acceptRenameInput()},kbOpts:{weight:199,kbExpr:u.a.focus,primary:3}})),Object(a.g)(new R({id:"cancelRenameInput",precondition:f,handler:function(e){return e.cancelRenameInput()},kbOpts:{weight:199,kbExpr:u.a.focus,primary:9,secondary:[1033]}})),Object(a.e)("_executeDocumentRenameProvider",function(e,t,n){var i=n.newName;if("string"!=typeof i)throw Object(r.b)("newName");return T(e,t,i)})},qEZG:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,r=n("03Zz"),o=n("sKqm"),s=n("EfIu"),a=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),u=function(e){function t(){var t=e.call(this,{id:"editor.action.toggleHighContrast",label:s.h.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0})||this;return t._originalThemeName=null,t}return a(t,e),t.prototype.run=function(e,t){var n=e.get(o.a);this._originalThemeName?(n.setTheme(this._originalThemeName),this._originalThemeName=null):(this._originalThemeName=n.getTheme().themeName,n.setTheme("hc-black"))},t}(r.b);Object(r.f)(u)},qecS:function(e,t,n){"use strict";n("XTA7");var i,r=n("lAcG"),o=n("7/Cv"),s=n("WZeM"),a=n("b1X/"),u=n("UMuV"),c=n("Uf3U"),l=n("odeJ"),d=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),h=11,f=function(e){function t(t){var n=e.call(this)||this;return n._onActivate=t.onActivate,n.bgDomNode=document.createElement("div"),n.bgDomNode.className="arrow-background",n.bgDomNode.style.position="absolute",n.bgDomNode.style.width=t.bgWidth+"px",n.bgDomNode.style.height=t.bgHeight+"px",void 0!==t.top&&(n.bgDomNode.style.top="0px"),void 0!==t.left&&(n.bgDomNode.style.left="0px"),void 0!==t.bottom&&(n.bgDomNode.style.bottom="0px"),void 0!==t.right&&(n.bgDomNode.style.right="0px"),n.domNode=document.createElement("div"),n.domNode.className=t.className,n.domNode.style.position="absolute",n.domNode.style.width=h+"px",n.domNode.style.height=h+"px",void 0!==t.top&&(n.domNode.style.top=t.top+"px"),void 0!==t.left&&(n.domNode.style.left=t.left+"px"),void 0!==t.bottom&&(n.domNode.style.bottom=t.bottom+"px"),void 0!==t.right&&(n.domNode.style.right=t.right+"px"),n._mouseMoveMonitor=n._register(new u.a),n.onmousedown(n.bgDomNode,function(e){return n._arrowMouseDown(e)}),n.onmousedown(n.domNode,function(e){return n._arrowMouseDown(e)}),n._mousedownRepeatTimer=n._register(new l.c),n._mousedownScheduleRepeatTimer=n._register(new l.e),n}return d(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(u.b,function(e){},function(){t._mousedownRepeatTimer.cancel(),t._mousedownScheduleRepeatTimer.cancel()}),e.preventDefault()},t}(c.a),p=n("tqet"),g=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),m=function(e){function t(t,n,i){var r=e.call(this)||this;return r._visibility=t,r._visibleClassName=n,r._invisibleClassName=i,r._domNode=null,r._isVisible=!1,r._isNeeded=!1,r._shouldBeVisible=!1,r._revealTimer=r._register(new l.e),r}return g(t,e),t.prototype.applyVisibilitySetting=function(e){return 2!==this._visibility&&(3===this._visibility||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&&e._domNode.setClassName(e._visibleClassName)},0))},t.prototype._hide=function(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode&&this._domNode.setClassName(this._invisibleClassName+(e?" fade":"")))},t}(p.a),v=n("ZfGv"),_=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),b=function(e){function t(t){var n=e.call(this)||this;return n._lazyRender=t.lazyRender,n._host=t.host,n._scrollable=t.scrollable,n._scrollbarState=t.scrollbarState,n._visibilityController=n._register(new m(t.visibility,"visible scrollbar "+t.extraScrollbarClassName,"invisible scrollbar "+t.extraScrollbarClassName)),n._mouseMoveMonitor=n._register(new u.a),n._shouldRender=!0,n.domNode=Object(s.b)(document.createElement("div")),n.domNode.setAttribute("role","presentation"),n.domNode.setAttribute("aria-hidden","true"),n._visibilityController.setDomNode(n.domNode),n.domNode.setPosition("absolute"),n.onmousedown(n.domNode.domNode,function(e){return n._domNodeMouseDown(e)}),n}return _(t,e),t.prototype._createArrow=function(e){var t=this._register(new f(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)},t.prototype._createSlider=function(e,t,n,i){var r=this;this.slider=Object(s.b)(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),"number"==typeof n&&this.slider.setWidth(n),"number"==typeof i&&this.slider.setHeight(i),this.slider.setLayerHinting(!0),this.domNode.domNode.appendChild(this.slider.domNode),this.onmousedown(this.slider.domNode,function(e){e.leftButton&&(e.preventDefault(),r._sliderMouseDown(e,function(){}))}),this.onclick(this.slider.domNode,function(e){e.leftButton&&e.stopPropagation()})},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,n=t+this._scrollbarState.getSliderPosition(),i=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),r=this._sliderMousePosition(e);n<=r&&r<=i?e.leftButton&&(e.preventDefault(),this._sliderMouseDown(e,function(){})):this._onMouseDown(e)},t.prototype._onMouseDown=function(e){var t,n;if(e.target===this.domNode.domNode&&"number"==typeof e.browserEvent.offsetX&&"number"==typeof e.browserEvent.offsetY)t=e.browserEvent.offsetX,n=e.browserEvent.offsetY;else{var i=o.x(this.domNode.domNode);t=e.posx-i.left,n=e.posy-i.top}this._setDesiredScrollPositionNow(this._scrollbarState.getDesiredScrollPositionFromOffset(this._mouseDownRelativePosition(t,n))),e.leftButton&&(e.preventDefault(),this._sliderMouseDown(e,function(){}))},t.prototype._sliderMouseDown=function(e,t){var n=this,i=this._sliderMousePosition(e),r=this._sliderOrthogonalMousePosition(e),o=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._mouseMoveMonitor.startMonitoring(u.b,function(e){var t=n._sliderOrthogonalMousePosition(e),s=Math.abs(t-r);if(v.g&&s>140)n._setDesiredScrollPositionNow(o.getScrollPosition());else{var a=n._sliderMousePosition(e)-i;n._setDesiredScrollPositionNow(o.getDesiredScrollPositionFromDelta(a))}},function(){n.slider.toggleClassName("active",!1),n._host.onDragEnd(),t()}),this._host.onDragStart()},t.prototype._setDesiredScrollPositionNow=function(e){var t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)},t}(c.a),y=function(){function e(e,t,n){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(n),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,n,i,r){var o=Math.max(0,n-e),s=Math.max(0,o-2*t),a=i>0&&i>n;if(!a)return{computedAvailableSize:Math.round(o),computedIsNeeded:a,computedSliderSize:Math.round(s),computedSliderRatio:0,computedSliderPosition:0};var u=Math.round(Math.max(20,Math.floor(n*s/i))),c=(s-u)/(i-n),l=r*c;return{computedAvailableSize:Math.round(o),computedIsNeeded:a,computedSliderSize:Math.round(u),computedSliderRatio:c,computedSliderPosition:Math.round(l)}},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}(),w=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),C=function(e){function t(t,n,i){var r=e.call(this,{lazyRender:n.lazyRender,host:i,scrollbarState:new y(n.horizontalHasArrows?n.arrowSize:0,2===n.horizontal?0:n.horizontalScrollbarSize,2===n.vertical?0:n.verticalScrollbarSize),visibility:n.horizontal,extraScrollbarClassName:"horizontal",scrollable:t})||this;if(n.horizontalHasArrows){var o=(n.arrowSize-h)/2,s=(n.horizontalScrollbarSize-h)/2;r._createArrow({className:"left-arrow",top:s,left:o,bottom:void 0,right:void 0,bgWidth:n.arrowSize,bgHeight:n.horizontalScrollbarSize,onActivate:function(){return r._host.onMouseWheel(new a.c(null,1,0))}}),r._createArrow({className:"right-arrow",top:s,left:void 0,bottom:void 0,right:o,bgWidth:n.arrowSize,bgHeight:n.horizontalScrollbarSize,onActivate:function(){return r._host.onMouseWheel(new a.c(null,-1,0))}})}return r._createSlider(Math.floor((n.horizontalScrollbarSize-n.horizontalSliderSize)/2),0,void 0,n.horizontalSliderSize),r}return w(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}(b),S=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),x=function(e){function t(t,n,i){var r=e.call(this,{lazyRender:n.lazyRender,host:i,scrollbarState:new y(n.verticalHasArrows?n.arrowSize:0,2===n.vertical?0:n.verticalScrollbarSize,0),visibility:n.vertical,extraScrollbarClassName:"vertical",scrollable:t})||this;if(n.verticalHasArrows){var o=(n.arrowSize-h)/2,s=(n.verticalScrollbarSize-h)/2;r._createArrow({className:"up-arrow",top:o,left:s,bottom:void 0,right:void 0,bgWidth:n.verticalScrollbarSize,bgHeight:n.arrowSize,onActivate:function(){return r._host.onMouseWheel(new a.c(null,0,1))}}),r._createArrow({className:"down-arrow",top:void 0,left:s,bottom:o,right:void 0,bgWidth:n.verticalScrollbarSize,bgHeight:n.arrowSize,onActivate:function(){return r._host.onMouseWheel(new a.c(null,0,-1))}})}return r._createSlider(0,Math.floor((n.verticalScrollbarSize-n.verticalSliderSize)/2),n.verticalSliderSize,void 0),r}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}(b),L=n("Kp7x"),O=n("fyvs");n.d(t,"b",function(){return D}),n.d(t,"c",function(){return M}),n.d(t,"a",function(){return T});var k=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),N=function(){return function(e,t,n){this.timestamp=e,this.deltaX=t,this.deltaY=n,this.score=0}}(),E=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,n=1,i=this._rear;;){var r=i===this._front?e:Math.pow(2,-n);if(e-=r,t+=this._memory[i].score*r,i===this._front)break;i=(this._capacity+i-1)%this._capacity,n++}return t<=.5},e.prototype.accept=function(e,t,n){var i=new N(e,t,n);i.score=this._computeScore(i),-1===this._front&&-1===this._rear?(this._memory[0]=i,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]=i)},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}(),I=function(e){function t(t,n,i){var r=e.call(this)||this;r._onScroll=r._register(new L.a),r.onScroll=r._onScroll.event,t.style.overflow="hidden",r._options=P(n),r._scrollable=i,r._register(r._scrollable.onScroll(function(e){r._onDidScroll(e),r._onScroll.fire(e)}));var o={onMouseWheel:function(e){return r._onMouseWheel(e)},onDragStart:function(){return r._onDragStart()},onDragEnd:function(){return r._onDragEnd()}};return r._verticalScrollbar=r._register(new x(r._scrollable,r._options,o)),r._horizontalScrollbar=r._register(new C(r._scrollable,r._options,o)),r._domNode=document.createElement("div"),r._domNode.className="monaco-scrollable-element "+r._options.className,r._domNode.setAttribute("role","presentation"),r._domNode.style.position="relative",r._domNode.style.overflow="hidden",r._domNode.appendChild(t),r._domNode.appendChild(r._horizontalScrollbar.domNode.domNode),r._domNode.appendChild(r._verticalScrollbar.domNode.domNode),r._options.useShadows?(r._leftShadowDomNode=Object(s.b)(document.createElement("div")),r._leftShadowDomNode.setClassName("shadow"),r._domNode.appendChild(r._leftShadowDomNode.domNode),r._topShadowDomNode=Object(s.b)(document.createElement("div")),r._topShadowDomNode.setClassName("shadow"),r._domNode.appendChild(r._topShadowDomNode.domNode),r._topLeftShadowDomNode=Object(s.b)(document.createElement("div")),r._topLeftShadowDomNode.setClassName("shadow top-left-corner"),r._domNode.appendChild(r._topLeftShadowDomNode.domNode)):(r._leftShadowDomNode=null,r._topShadowDomNode=null,r._topLeftShadowDomNode=null),r._listenOnDomNode=r._options.listenOnDomNode||r._domNode,r._mouseWheelToDispose=[],r._setListeningToMouseWheel(r._options.handleMouseWheel),r.onmouseover(r._listenOnDomNode,function(e){return r._onMouseOver(e)}),r.onnonbubblingmouseout(r._listenOnDomNode,function(e){return r._onMouseOut(e)}),r._hideTimeout=r._register(new l.e),r._isDragging=!1,r._mouseIsOver=!1,r._shouldRender=!0,r._revealOnScroll=!0,r}return k(t,e),t.prototype.dispose=function(){this._mouseWheelToDispose=Object(p.f)(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,v.d&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className},t.prototype.updateOptions=function(e){var t=P(e);this._options.handleMouseWheel=t.handleMouseWheel,this._options.mouseWheelScrollSensitivity=t.mouseWheelScrollSensitivity,this._options.fastScrollSensitivity=t.fastScrollSensitivity,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.f)(this._mouseWheelToDispose),e)){this._mouseWheelToDispose.push(o.h(this._listenOnDomNode,r.g?"mousewheel":"wheel",function(e){t._onMouseWheel(new a.c(e))}))}},t.prototype._onMouseWheel=function(e){var t,n=E.INSTANCE;if(n.accept(Date.now(),e.deltaX,e.deltaY),e.deltaY||e.deltaX){var i=e.deltaY*this._options.mouseWheelScrollSensitivity,r=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.flipAxes&&(i=(t=[r,i])[0],r=t[1]);var o=!v.d&&e.browserEvent&&e.browserEvent.shiftKey;!this._options.scrollYToX&&!o||r||(r=i,i=0),e.browserEvent&&e.browserEvent.altKey&&(r*=this._options.fastScrollSensitivity,i*=this._options.fastScrollSensitivity);var s=this._scrollable.getFutureScrollPosition(),a={};if(i){var u=s.scrollTop-50*i;this._verticalScrollbar.writeScrollPosition(a,u)}if(r){var c=s.scrollLeft-50*r;this._horizontalScrollbar.writeScrollPosition(a,c)}if(a=this._scrollable.validateScrollPosition(a),s.scrollLeft!==a.scrollLeft||s.scrollTop!==a.scrollTop)this._options.mouseWheelSmoothScroll&&n.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(a):this._scrollable.setScrollPositionNow(a),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,n=e.scrollLeft>0;this._leftShadowDomNode.setClassName("shadow"+(n?" left":"")),this._topShadowDomNode.setClassName("shadow"+(t?" top":"")),this._topLeftShadowDomNode.setClassName("shadow top-left-corner"+(t?" top":"")+(n?" 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}(c.a),D=function(e){function t(t,n){var i=this;(n=n||{}).mouseWheelSmoothScroll=!1;var r=new O.a(0,function(e){return o.P(e)});return(i=e.call(this,t,n,r)||this)._register(r),i}return k(t,e),t.prototype.setScrollPosition=function(e){this._scrollable.setScrollPositionNow(e)},t.prototype.getScrollPosition=function(){return this._scrollable.getCurrentScrollPosition()},t}(I),M=function(e){function t(t,n,i){return e.call(this,t,n,i)||this}return k(t,e),t}(I),T=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i._element=t,i.onScroll(function(e){e.scrollTopChanged&&(i._element.scrollTop=e.scrollTop),e.scrollLeftChanged&&(i._element.scrollLeft=e.scrollLeft)}),i.scanDomNode(),i}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}(D);function P(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,fastScrollSensitivity:void 0!==e.fastScrollSensitivity?e.fastScrollSensitivity:5,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:1,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:1,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,v.d&&(t.className+=" mac"),t}},qqhx:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("hK2W"),r=n("tqet"),o=n("JVO/"),s=n("/9db"),a=n("7g0X"),u=n("03Zz"),c=n("7/Cv"),l=n("Gxst"),d=n("UqCF"),h=n("qecS"),f=n("Kp7x"),p=(n("s/JM"),n("6TMp")),g=n("VBCr"),m=n("odeJ"),v=n("zxiH"),_=n("PCC9"),b=n("80kS"),y=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},w=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},R=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},F=c.a,j=function(e){function t(t,n,i,o){var s=e.call(this)||this;return s.editor=t,s.renderDisposeables=s._register(new r.b),s.model=s._register(new r.d),s.allowEditorOverflow=!0,s.markdownRenderer=s._register(new g.a(t,o,i)),s.model.value=new T(t),s.keyVisible=S.Visible.bindTo(n),s.keyMultipleSignatures=S.MultipleSignatures.bindTo(n),s.visible=!1,s._register(s.model.value.onChangedHints(function(e){e?(s.show(),s.render(e)):s.hide()})),s}return P(t,e),t.prototype.createParamaterHintDOMNodes=function(){var e=this;this.element=F(".editor-widget.parameter-hints-widget");var t=c.m(this.element,F(".wrapper"));t.tabIndex=-1;var n=c.m(t,F(".buttons")),i=c.m(n,F(".button.previous")),r=c.m(n,F(".button.next")),o=Object(l.b)(Object(l.a)(i,"click"));this._register(o(this.previous,this));var s=Object(l.b)(Object(l.a)(r,"click"));this._register(s(this.next,this)),this.overloads=c.m(t,F(".overloads"));var a=F(".body");this.scrollbar=new h.a(a,{}),this._register(this.scrollbar),t.appendChild(this.scrollbar.getDomNode()),this.signature=c.m(a,F(".signature")),this.docs=c.m(a,F(".docs")),this.editor.addContentWidget(this),this.hide(),this.element.style.userSelect="text",this._register(this.editor.onDidChangeCursorSelection(function(t){e.visible&&e.editor.layoutContentWidget(e)}));var u=function(){var t=e.editor.getConfiguration().fontInfo;e.element.style.fontSize=t.fontSize+"px"};u(),this._register(f.b.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(function(e){return e.fontInfo}).on(u,null)),this._register(this.editor.onDidLayoutChange(function(t){return e.updateMaxHeight()})),this.updateMaxHeight()},t.prototype.show=function(){var e=this;this.model&&!this.visible&&(this.element||this.createParamaterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(function(){return c.f(e.element,"visible")},100),this.editor.layoutContentWidget(this))},t.prototype.hide=function(){this.model&&this.visible&&(this.element||this.createParamaterHintDOMNodes(),this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,c.I(this.element,"visible"),this.editor.layoutContentWidget(this))},t.prototype.getPosition=function(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null},t.prototype.render=function(e){var t=e.signatures.length>1;c.R(this.element,"multiple",t),this.keyMultipleSignatures.set(t),this.signature.innerHTML="",this.docs.innerHTML="";var n=e.signatures[e.activeSignature];if(n){var r=c.m(this.signature,F(".code")),o=n.parameters.length>0,s=this.editor.getConfiguration().fontInfo;if(r.style.fontSize=s.fontSize+"px",r.style.fontFamily=s.fontFamily,o)this.renderParameters(r,n,e.activeParameter);else c.m(r,F("span")).textContent=n.label;this.renderDisposeables.clear();var a=n.parameters[e.activeParameter];if(a&&a.documentation){var u=F("span.documentation");if("string"==typeof a.documentation)u.textContent=a.documentation;else{var l=this.markdownRenderer.render(a.documentation);c.f(l.element,"markdown-docs"),this.renderDisposeables.add(l),u.appendChild(l.element)}c.m(this.docs,F("p",{},u))}if(void 0===n.documentation);else if("string"==typeof n.documentation)c.m(this.docs,F("p",{},n.documentation));else{l=this.markdownRenderer.render(n.documentation);c.f(l.element,"markdown-docs"),this.renderDisposeables.add(l),c.m(this.docs,l.element)}var h=!1;a&&"string"==typeof a.documentation&&a.documentation.length>0&&(h=!0),a&&"object"==typeof a.documentation&&a.documentation.value.length>0&&(h=!0),"string"==typeof n.documentation&&n.documentation.length>0&&(h=!0),"object"==typeof n.documentation&&n.documentation.value.length>0&&(h=!0),c.R(this.signature,"has-docs",h),c.R(this.docs,"empty",!h);var f=String(e.activeSignature+1);if(e.signatures.length<10&&(f+="/"+e.signatures.length),this.overloads.textContent=f,a){var p=this.getParameterLabel(n,e.activeParameter);this.announcedLabel!==p&&(d.a(i.a("hint","{0}, hint",p)),this.announcedLabel=p)}this.editor.layoutContentWidget(this),this.scrollbar.scanDomNode()}},t.prototype.renderParameters=function(e,t,n){var i=this.getParameterLabelOffsets(t,n),r=i[0],o=i[1],s=document.createElement("span");s.textContent=t.label.substring(0,r);var a=document.createElement("span");a.textContent=t.label.substring(r,o),a.className="parameter active";var u=document.createElement("span");u.textContent=t.label.substring(o),c.m(e,s,a,u)},t.prototype.getParameterLabel=function(e,t){var n=e.parameters[t];return"string"==typeof n.label?n.label:e.label.substring(n.label[0],n.label[1])},t.prototype.getParameterLabelOffsets=function(e,t){var n=e.parameters[t];if(n){if(Array.isArray(n.label))return n.label;var i=e.label.lastIndexOf(n.label);return i>=0?[i,i+n.label.length]:[0,0]}return[0,0]},t.prototype.next=function(){this.model.value&&(this.editor.focus(),this.model.value.next())},t.prototype.previous=function(){this.model.value&&(this.editor.focus(),this.model.value.previous())},t.prototype.cancel=function(){this.model.value&&this.model.value.cancel()},t.prototype.getDomNode=function(){return this.element},t.prototype.getId=function(){return t.ID},t.prototype.trigger=function(e){this.model.value&&this.model.value.trigger(e,0)},t.prototype.updateMaxHeight=function(){var e=Math.max(this.editor.getLayoutInfo().height/4,250);this.element.style.maxHeight=e+"px"},t.ID="editor.widget.parameterHintsWidget",t=A([R(1,a.c),R(2,k.a),R(3,p.a)],t)}(r.a);Object(E.f)(function(e,t){var n=e.getColor(N.B);if(n){var i=e.type===E.b?2:1;t.addRule(".monaco-editor .parameter-hints-widget { border: "+i+"px solid "+n+"; }"),t.addRule(".monaco-editor .parameter-hints-widget.multiple .body { border-left: 1px solid "+n.transparent(.5)+"; }"),t.addRule(".monaco-editor .parameter-hints-widget .signature.has-docs { border-bottom: 1px solid "+n.transparent(.5)+"; }")}var r=e.getColor(N.A);r&&t.addRule(".monaco-editor .parameter-hints-widget { background-color: "+r+"; }");var o=e.getColor(N._46);o&&t.addRule(".monaco-editor .parameter-hints-widget a { color: "+o+"; }");var s=e.getColor(N._45);s&&t.addRule(".monaco-editor .parameter-hints-widget code { background-color: "+s+"; }")}),n.d(t,"TriggerParameterHintsAction",function(){return z});var W=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),B=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},V=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},H=function(e){function t(t,n){var i=e.call(this)||this;return i.editor=t,i.widget=i._register(n.createInstance(j,i.editor)),i}return W(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.cancel=function(){this.widget.cancel()},t.prototype.previous=function(){this.widget.previous()},t.prototype.next=function(){this.widget.next()},t.prototype.trigger=function(e){this.widget.trigger(e)},t.ID="editor.controller.parameterHints",t=B([V(1,o.a)],t)}(r.a),z=function(e){function t(){return e.call(this,{id:"editor.action.triggerParameterHints",label:i.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 W(t,e),t.prototype.run=function(e,t){var n=H.get(t);n&&n.trigger({triggerKind:_.w.Invoke})},t}(u.b);Object(u.h)(H),Object(u.f)(z);var U=u.c.bindToContribution(H.get);Object(u.g)(new U({id:"closeParameterHints",precondition:S.Visible,handler:function(e){return e.cancel()},kbOpts:{weight:175,kbExpr:s.a.focus,primary:9,secondary:[1033]}})),Object(u.g)(new U({id:"showPrevParameterHint",precondition:a.a.and(S.Visible,S.MultipleSignatures),handler:function(e){return e.previous()},kbOpts:{weight:175,kbExpr:s.a.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),Object(u.g)(new U({id:"showNextParameterHint",precondition:a.a.and(S.Visible,S.MultipleSignatures),handler:function(e){return e.next()},kbOpts:{weight:175,kbExpr:s.a.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}))},qyJz:function(e,t,n){"use strict";var i=n("+ZMJ"),r=n("kM2E"),o=n("sB3e"),s=n("msXi"),a=n("Mhyx"),u=n("QRG4"),c=n("fBQ2"),l=n("3fs2");r(r.S+r.F*!n("dY0y")(function(e){Array.from(e)}),"Array",{from:function(e){var t,n,r,d,h=o(e),f="function"==typeof this?this:Array,p=arguments.length,g=p>1?arguments[1]:void 0,m=void 0!==g,v=0,_=l(h);if(m&&(g=i(g,p>2?arguments[2]:void 0,2)),void 0==_||f==Array&&a(_))for(n=new f(t=u(h.length));t>v;v++)c(n,v,m?g(h[v],v):h[v]);else for(d=_.call(h),n=new f;!(r=d.next()).done;v++)c(n,v,m?s(d,g,[r.value,v],!0):r.value);return n.length=v,n}})},"qzX+":function(e,t,n){"use strict";n.d(t,"a",function(){return g});var i,r=n("xF6g"),o=(n.n(r),n("lAcG")),s=n("tqet"),a=n("Kp7x"),u=n("ZfGv"),c=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});function l(e,t){return!!e[t]}var d=function(){return function(e,t){this.target=e.target,this.hasTriggerModifier=l(e.event,t.triggerModifier),this.hasSideBySideModifier=l(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=o.j||e.event.detail<=1}}(),h=function(){return function(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=l(e,t.triggerModifier)}}(),f=function(){function e(e,t,n,i){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=n,this.triggerSideBySideModifier=i}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 p(e){return"altKey"===e?u.d?new f(57,"metaKey",6,"altKey"):new f(5,"ctrlKey",6,"altKey"):u.d?new f(6,"altKey",57,"metaKey"):new f(6,"altKey",5,"ctrlKey")}var g=function(e){function t(t){var n=e.call(this)||this;return n._onMouseMoveOrRelevantKeyDown=n._register(new a.a),n.onMouseMoveOrRelevantKeyDown=n._onMouseMoveOrRelevantKeyDown.event,n._onExecute=n._register(new a.a),n.onExecute=n._onExecute.event,n._onCancel=n._register(new a.a),n.onCancel=n._onCancel.event,n._editor=t,n._opts=p(n._editor.getConfiguration().multiCursorModifier),n.lastMouseMoveEvent=null,n.hasTriggerKeyOnMouseDown=!1,n._register(n._editor.onDidChangeConfiguration(function(e){if(e.multiCursorModifier){var t=p(n._editor.getConfiguration().multiCursorModifier);if(n._opts.equals(t))return;n._opts=t,n.lastMouseMoveEvent=null,n.hasTriggerKeyOnMouseDown=!1,n._onCancel.fire()}})),n._register(n._editor.onMouseMove(function(e){return n.onEditorMouseMove(new d(e,n._opts))})),n._register(n._editor.onMouseDown(function(e){return n.onEditorMouseDown(new d(e,n._opts))})),n._register(n._editor.onMouseUp(function(e){return n.onEditorMouseUp(new d(e,n._opts))})),n._register(n._editor.onKeyDown(function(e){return n.onEditorKeyDown(new h(e,n._opts))})),n._register(n._editor.onKeyUp(function(e){return n.onEditorKeyUp(new h(e,n._opts))})),n._register(n._editor.onMouseDrag(function(){return n.resetHandler()})),n._register(n._editor.onDidChangeCursorSelection(function(e){return n.onDidChangeCursorSelection(e)})),n._register(n._editor.onDidChangeModel(function(e){return n.resetHandler()})),n._register(n._editor.onDidChangeModelContent(function(){return n.resetHandler()})),n._register(n._editor.onDidScrollChange(function(e){(e.scrollTopChanged||e.scrollLeftChanged)&&n.resetHandler()})),n}return c(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}(s.a)},rHGw:function(e,t,n){"use strict";n.d(t,"a",function(){return c}),n.d(t,"b",function(){return C});var i=n("hK2W"),r=n("Kp7x"),o=n("RWr8"),s=n("KIxu"),a=n("aL7J"),u=n("LQgD"),c={Configuration:"base.contributions.configuration"},l={properties:{},patternProperties:{}},d={properties:{},patternProperties:{}},h={properties:{},patternProperties:{}},f={properties:{},patternProperties:{}},p={properties:{},patternProperties:{}},g={properties:{},patternProperties:{}},m="vscode://schemas/settings/editor",v=o.a.as(u.a.JSONContribution),_=function(){function e(){this.overrideIdentifiers=[],this._onDidSchemaChange=new r.a,this._onDidUpdateConfiguration=new r.a,this.defaultOverridesConfigurationNode={id:"defaultOverrides",title:i.a("defaultConfigurations.title","Default Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultOverridesConfigurationNode],this.editorConfigurationSchema={properties:{},patternProperties:{},additionalProperties:!1,errorMessage:"Unknown editor configuration setting",allowsTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.excludedConfigurationProperties={},this.computeOverridePropertyPattern(),v.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){var n=this;void 0===t&&(t=!0);var i=[];e.forEach(function(e){i.push.apply(i,n.validateAndRegisterProperties(e,t)),n.configurationContributors.push(e),n.registerJSONConfiguration(e),n.updateSchemaForOverrideSettingsConfiguration(e)}),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire(i)},e.prototype.registerOverrideIdentifiers=function(e){var t;(t=this.overrideIdentifiers).push.apply(t,e),this.updateOverridePropertyPatternKey()},e.prototype.validateAndRegisterProperties=function(e,t,n,i){void 0===t&&(t=!0),void 0===n&&(n=3),void 0===i&&(i=!1),n=s.k(e.scope)?n:e.scope,i=e.overridable||i;var r=[],o=e.properties;if(o)for(var a in o){var u=void 0;if(t&&(u=L(a)))console.warn(u),delete o[a];else{var c=o[a],l=c.default;s.j(l)&&(c.default=S(c.type)),i&&(c.overridable=!0),C.test(a)?c.scope=void 0:c.scope=s.k(c.scope)?n:c.scope,!o[a].hasOwnProperty("included")||o[a].included?(this.configurationProperties[a]=o[a],r.push(a)):(this.excludedConfigurationProperties[a]=o[a],delete o[a])}}var d=e.allOf;if(d)for(var h=0,f=d;ho)throw new RangeError("requested too many random bytes");var n=s.allocUnsafe(e);if(e>0)if(e>r)for(var u=0;u>6],r=0==(32&n);if(31==(31&n)){var o=n;for(n=0;128==(128&o);){if(o=e.readUInt8(t),e.isError(o))return o;n<<=7,n|=127&o}}else n&=31;return{cls:i,primitive:r,tag:n,tagStr:a.tag[n]}}function d(e,t,n){var i=e.readUInt8(n);if(e.isError(i))return i;if(!t&&128===i)return null;if(0==(128&i))return i;var r=127&i;if(r>4)return e.error("length octect is too long");i=0;for(var o=0;on)&&(!l.isEmpty()||0!==c.type&&3!==c.type)){var d=l.startLineNumber===n?l.startColumn:i,h=l.endLineNumber===n?l.endColumn:r;o[s++]=new e(d,h,c.inlineClassName,c.type)}}return o},e.compare=function(e,t){return e.startColumn===t.startColumn?e.endColumn===t.endColumn?e.classNamet.className?1:0:e.endColumn-t.endColumn:e.startColumn-t.startColumn},e}(),o=function(){return function(e,t,n){this.startOffset=e,this.endOffset=t,this.className=n}}(),s=function(){function e(){this.stopOffsets=[],this.classNames=[],this.count=0}return e.prototype.consumeLowerThan=function(e,t,n){for(;this.count>0&&this.stopOffsets[0]0&&t=e){this.stopOffsets.splice(n,0,e),this.classNames.splice(n,0,t);break}this.count++},e}(),a=function(){function e(){}return e.normalize=function(e,t){if(0===t.length)return[];for(var n=[],r=new s,o=0,a=0,u=t.length;a1){var f=e.charCodeAt(l-2);i.w(f)&&l--}if(d>1){f=e.charCodeAt(d-2);i.w(f)&&d--}var p=l-1,g=d-2;o=r.consumeLowerThan(p,o,n),0===r.count&&(o=p),r.insert(g,h)}return r.consumeLowerThan(1073741824,o,n),n},e}()},tGak:function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return o});var i=function(){function e(e,t,n){this.from=0|e,this.to=0|t,this.colorId=0|n}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}(),r=function(){function e(e,t,n){this.startLineNumber=e,this.endLineNumber=t,this.color=n,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.colorn&&(f=n-p);var g=c.color,m=this._color2Id[g];m||(m=++this._lastAssignedId,this._color2Id[g]=m,this._id2Color[m]=g);var v=new i(f-p,f+p,m);c.setColorZone(v),s.push(v)}return this._colorZonesInvalid=!1,s.sort(i.compare),s},e}()},tRuz:function(e,t,n){"use strict";var i=t;i.base=n("B6Bn"),i.short=n("wrMp"),i.mont=n("pS+P"),i.edwards=n("24Y6")},tTCp:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i="undefined"==typeof monaco?self.monaco:monaco,r={};var o,s,a={};function u(e){return a[e]||(a[e]=function(e){return(0,r[e].loader)().then(function(t){i.languages.setMonarchTokensProvider(e,t.language),i.languages.setLanguageConfiguration(e,t.conf)})}(e)),a[e]}s=(o={id:"sql",extensions:[".sql"],aliases:["SQL"],loader:function(){return n.e(26).then(n.bind(null,"77T5"))}}).id,r[s]=o,i.languages.register(o),i.languages.onLanguage(s,function(){u(s)})},tVlf:function(e,t){},tXf9:function(e,t,n){var i=n("bSQl"),r=n("+jDU"),o=n("6ZSt");t.createCipher=t.Cipher=i.createCipher,t.createCipheriv=t.Cipheriv=i.createCipheriv,t.createDecipher=t.Decipher=r.createDecipher,t.createDecipheriv=t.Decipheriv=r.createDecipheriv,t.listCiphers=t.getCiphers=function(){return Object.keys(o)}},tZcU:function(e,t,n){(function(e){(function(){"use strict";function t(e){var t=this.constructor;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){return t.reject(n)})})}var n=setTimeout;function i(){}function r(e){if(!(this instanceof r))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],c(e,this)}function o(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,r._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var i;try{i=n(e._value)}catch(e){return void a(t.promise,e)}s(t.promise,i)}else(1===e._state?s:a)(t.promise,e._value)})):e._deferreds.push(t)}function s(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if(t instanceof r)return e._state=3,e._value=t,void u(e);if("function"==typeof n)return void c((i=n,o=t,function(){i.apply(o,arguments)}),e)}e._state=1,e._value=t,u(e)}catch(t){a(e,t)}var i,o}function a(e,t){e._state=2,e._value=t,u(e)}function u(e){2===e._state&&0===e._deferreds.length&&r._immediateFn(function(){e._handled||r._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;t>8,s=255&r;o?n.push(o,s):n.push(s)}return n},i.zero2=r,i.toHex=o,i.encode=function(e,t){return"hex"===t?o(e):e}},tqet:function(e,t,n){"use strict";t.g=function(e){return"function"==typeof e.dispose&&0===e.dispose.length},t.f=a,t.e=function(){for(var e=[],t=0;t>>0)>>>0},t.f=function(e,t){if(0===e)return null;var n=(65535&e)>>>0,i=(4294901760&e)>>>16;if(0!==i)return new d([c(n,t),c(i,t)]);return new d([c(n,t)])},n.d(t,"e",function(){return l}),n.d(t,"d",function(){return h}),n.d(t,"c",function(){return f});var i,r=n("zxiH"),o=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}(),s=new o,a=new o,u=new o;function c(e,t){var n=!!(2048&e),i=!!(256&e);return new l(2===t?i:n,!!(1024&e),!!(512&e),2===t?n:i,255&e)}!function(){function e(e,t,n,i){void 0===n&&(n=t),void 0===i&&(i=n),s.define(e,t),a.define(e,n),u.define(e,i)}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 s.keyCodeToStr(e)},e.fromString=function(e){return s.strToKeyCode(e)},e.toUserSettingsUS=function(e){return a.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return u.keyCodeToStr(e)},e.fromUserSettings=function(e){return a.strToKeyCode(e)||u.strToKeyCode(e)}}(i||(i={}));var l=function(){function e(e,t,n,i,r){this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=i,this.keyCode=r}return e.prototype.equals=function(e){return 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.toChord=function(){return new d([this])},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(){function e(e){if(0===e.length)throw Object(r.b)("parts");this.parts=e}return e.prototype.equals=function(e){if(null===e)return!1;if(this.parts.length!==e.parts.length)return!1;for(var t=0;t0)return c(new Error("invalid "+l.join(",")+" option for "+typeof e+" payload"))}if(void 0!==e.exp&&void 0!==r.expiresIn)return c(new Error('Bad "options.expiresIn" option the payload already has an "exp" property.'));if(void 0!==e.nbf&&void 0!==r.notBefore)return c(new Error('Bad "options.notBefore" option the payload already has an "nbf" property.'));try{!function(e){m(p,!1,e,"options")}(r)}catch(e){return c(e)}var d=e.iat||Math.floor(Date.now()/1e3);if(r.noTimestamp?delete e.iat:a&&(e.iat=d),void 0!==r.notBefore){try{e.nbf=i(r.notBefore,d)}catch(e){return c(e)}if(void 0===e.nbf)return c(new Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}if(void 0!==r.expiresIn&&"object"==typeof e){try{e.exp=i(r.expiresIn,d)}catch(e){return c(e)}if(void 0===e.exp)return c(new Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}Object.keys(v).forEach(function(t){var n=v[t];if(void 0!==r[t]){if(void 0!==e[n])return c(new Error('Bad "options.'+t+'" option. The payload already has an "'+n+'" property.'));e[n]=r[t]}});var f=r.encoding||"utf8";if("function"!=typeof s)return o.sign({header:u,payload:e,secret:n,encoding:f});s=s&&h(s),o.createSign({header:u,privateKey:n,payload:e,encoding:f}).once("error",s).once("done",function(e){s(null,e)})}}).call(t,n("EuP9").Buffer)},ujcs:function(e,t){t.read=function(e,t,n,i,r){var o,s,a=8*r-i-1,u=(1<>1,l=-7,d=n?r-1:0,h=n?-1:1,f=e[t+d];for(d+=h,o=f&(1<<-l)-1,f>>=-l,l+=a;l>0;o=256*o+e[t+d],d+=h,l-=8);for(s=o&(1<<-l)-1,o>>=-l,l+=i;l>0;s=256*s+e[t+d],d+=h,l-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(f?-1:1);s+=Math.pow(2,i),o-=c}return(f?-1:1)*s*Math.pow(2,o-i)},t.write=function(e,t,n,i,r,o){var s,a,u,c=8*o-r-1,l=(1<>1,h=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=i?0:o-1,p=i?1:-1,g=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=l):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),(t+=s+d>=1?h/u:h*Math.pow(2,1-d))*u>=2&&(s++,u/=2),s+d>=l?(a=0,s=l):s+d>=1?(a=(t*u-1)*Math.pow(2,r),s+=d):(a=t*Math.pow(2,d-1)*Math.pow(2,r),s=0));r>=8;e[n+f]=255&a,f+=p,a/=256,r-=8);for(s=s<0;e[n+f]=255&s,f+=p,s/=256,c-=8);e[n+f-p]|=128*g}},vMHI:function(e,t){var n="[object Boolean]",i=Object.prototype.toString;e.exports=function(e){return!0===e||!1===e||function(e){return!!e&&"object"==typeof e}(e)&&i.call(e)==n}},vORD:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("JVO/"),r=Object(i.c)("codeEditorService")},vTy2:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("artP"),r=function(){function e(e,t,n,i){e>n||e===n&&t>i?(this.startLineNumber=n,this.startColumn=i,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=i)}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.lineNumbere.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.columne.endColumn))},e.prototype.containsRange=function(t){return e.containsRange(this,t)},e.containsRange=function(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)))},e.prototype.strictContainsRange=function(t){return e.strictContainsRange(this,t)},e.strictContainsRange=function(e,t){return!(t.startLineNumbere.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,n){var i,r,o,s;return n.startLineNumbert.endLineNumber?(o=n.endLineNumber,s=n.endColumn):n.endLineNumber===t.endLineNumber?(o=n.endLineNumber,s=Math.max(n.endColumn,t.endColumn)):(o=t.endLineNumber,s=t.endColumn),new e(i,r,o,s)},e.prototype.intersectRanges=function(t){return e.intersectRanges(this,t)},e.intersectRanges=function(t,n){var i=t.startLineNumber,r=t.startColumn,o=t.endLineNumber,s=t.endColumn,a=n.startLineNumber,u=n.startColumn,c=n.endLineNumber,l=n.endColumn;return ic?(o=c,s=l):o===c&&(s=Math.min(s,l)),i>o?null:i===o&&r>s?null:new e(i,r,o,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 i.a(this.endLineNumber,this.endColumn)},e.prototype.getStartPosition=function(){return new i.a(this.startLineNumber,this.startColumn)},e.prototype.toString=function(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"},e.prototype.setEndPosition=function(t,n){return new e(this.startLineNumber,this.startColumn,t,n)},e.prototype.setStartPosition=function(t,n){return new e(t,n,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,n){return void 0===n&&(n=t),new e(t.lineNumber,t.column,n.lineNumber,n.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.endLineNumbere.startLineNumber},e}()},vWx2:function(e,t,n){var i=n("LC74"),r=n("EuP9").Buffer,o=n("reGU");function s(e){o.call(this,e),this.enc="pem"}i(s,o),e.exports=s,s.prototype.decode=function(e,t){for(var n=e.toString().split(/[\r\n]+/g),i=t.label.toUpperCase(),s=/^-----(BEGIN|END) ([^-]+)-----$/,a=-1,u=-1,c=0;c=u?r=Math.max(r,u+c-i):(t[n++]=new R(i,r),i=u,r=c)}return t[n++]=new R(i,r),t},e._createHorizontalRangesFromClientRects=function(e,t){if(!e||0===e.length)return null;for(var n=[],i=0,r=e.length;ia)return null;(t=Math.min(a,Math.max(0,t)))!==(i=Math.min(a,Math.max(0,i)))&&i>0&&0===r&&(i--,r=1073741824);var u=e.children[t].firstChild,c=e.children[i].firstChild;if(u&&c||(!u&&0===n&&t>0&&(u=e.children[t-1].firstChild,n=1073741824),!c&&0===r&&i>0&&(c=e.children[i-1].firstChild,r=1073741824)),!u||!c)return null;n=Math.min(u.textContent.length,Math.max(0,n)),r=Math.min(c.textContent.length,Math.max(0,r));var l=this._readClientRects(u,n,c,r,s);return this._createHorizontalRangesFromClientRects(l,o)},e}(),W=n("t7eM"),B=n("Qxje"),V=n("eoic"),H=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),z=!!_.e||!(_.c||g.i||g.l),U=g.g,K=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}(),q=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.canUseHalfwidthRightwardsArrow=e.editor.fontInfo.canUseHalfwidthRightwardsArrow,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.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures},e}(),G=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(f.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!(!U&&this._options.themeType!==V.b&&"selection"!==this._options.renderWhitespace)&&(this._isMaybeInvalid=!0,!0)},e.prototype.renderLine=function(t,n,i,r){if(!1===this._isMaybeInvalid)return!1;this._isMaybeInvalid=!1;var o=i.getViewLineRenderingData(t),s=this._options,a=W.a.filter(o.inlineDecorations,t,o.minColumn,o.maxColumn),u=null;if(U||s.themeType===V.b||"selection"===this._options.renderWhitespace)for(var c=0,l=i.selections;ct)){var h=d.startLineNumber===t?d.startColumn:o.minColumn,f=d.endLineNumber===t?d.endColumn:o.maxColumn;h');var g=Object(B.d)(p,r);r.appendASCIIString("");var m=null;return z&&o.isBasicASCII&&s.useMonospaceOptimizations&&0===g.containsForeignElements&&o.content.length<300&&p.lineTokens.getCount()<100&&(m=new Z(this._renderedViewLine?this._renderedViewLine.domNode:null,p,g.characterMapping)),m||(m=$(this._renderedViewLine?this._renderedViewLine.domNode:null,p,g.characterMapping,g.containsRTL,g.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,n){if(!this._renderedViewLine)return null;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 i=0|this._renderedViewLine.input.stopRenderingLineAfter;return-1!==i&&e>i&&t>i?null:(-1!==i&&e>i&&(e=i),-1!==i&&t>i&&(t=i),this._renderedViewLine.getVisibleRangesForRange(e,t,n))},e.prototype.getColumnOfNodeOffset=function(e,t,n){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t,n):1},e.CLASS_NAME="view-line",e}(),Z=function(){function e(e,t,n){this.domNode=e,this.input=t,this._characterMapping=n,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,n){var i=this._getCharPosition(e),r=this._getCharPosition(t);return[new R(i,r-i)]},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,n){for(var i=t.textContent.length,r=-1;t;)t=t.previousSibling,r++;return this._characterMapping.partDataToCharOffset(r,i,n)+1},e}(),Y=function(){function e(e,t,n,i,r){if(this.domNode=e,this.input=t,this._characterMapping=n,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=r,this._cachedWidth=-1,this._pixelOffsetCache=null,!i||0===this._characterMapping.length){this._pixelOffsetCache=new Int32Array(Math.max(2,this._characterMapping.length+1));for(var o=0,s=this._characterMapping.length;o<=s;o++)this._pixelOffsetCache[o]=-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,n){if(null!==this._pixelOffsetCache){var i=this._readPixelOffset(e,n);if(-1===i)return null;var r=this._readPixelOffset(t,n);return-1===r?null:[new R(i,r-i)]}return this._readVisibleRangesForRange(e,t,n)},e.prototype._readVisibleRangesForRange=function(e,t,n){if(e===t){var i=this._readPixelOffset(e,n);return-1===i?null:[new R(i,0)]}return this._readRawVisibleRangesForRange(e,t,n)},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 n=this._pixelOffsetCache[e];if(-1!==n)return n;var i=this._actualReadPixelOffset(e,t);return this._pixelOffsetCache[e]=i,i}return this._actualReadPixelOffset(e,t)},e.prototype._actualReadPixelOffset=function(e,t){if(0===this._characterMapping.length){var n=j.readHorizontalRanges(this._getReadingTarget(),0,0,0,0,t.clientRectDeltaLeft,t.endNode);return n&&0!==n.length?n[0].left:-1}if(e===this._characterMapping.length&&this._isWhitespaceOnly&&0===this._containsForeignElements)return this.getWidth();var i=this._characterMapping.charOffsetToPartData(e-1),r=B.a.getPartIndex(i),o=B.a.getCharIndex(i),s=j.readHorizontalRanges(this._getReadingTarget(),r,o,r,o,t.clientRectDeltaLeft,t.endNode);return s&&0!==s.length?s[0].left:-1},e.prototype._readRawVisibleRangesForRange=function(e,t,n){if(1===e&&t===this._characterMapping.length)return[new R(0,this.getWidth())];var i=this._characterMapping.charOffsetToPartData(e-1),r=B.a.getPartIndex(i),o=B.a.getCharIndex(i),s=this._characterMapping.charOffsetToPartData(t-1),a=B.a.getPartIndex(s),u=B.a.getCharIndex(s);return j.readHorizontalRanges(this._getReadingTarget(),r,o,a,u,n.clientRectDeltaLeft,n.endNode)},e.prototype.getColumnOfNodeOffset=function(e,t,n){for(var i=t.textContent.length,r=-1;t;)t=t.previousSibling,r++;return this._characterMapping.partDataToCharOffset(r,i,n)+1},e}(),X=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return H(t,e),t.prototype._readVisibleRangesForRange=function(t,n,i){var r=e.prototype._readVisibleRangesForRange.call(this,t,n,i);if(!r||0===r.length||t===n||1===t&&n===this._characterMapping.length)return r;if(!this.input.containsRTL){var o=this._readPixelOffset(n,i);if(-1!==o){var s=r[r.length-1];s.left=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}(),se=function(){function e(e,t,n){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=n,this._context=e,this._viewHelper=t}return e.prototype.getZoneAtCoord=function(t){return e.getZoneAtCoord(this._context,t)},e.getZoneAtCoord=function(e,t){var n=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(n){var i=n.verticalOffset+n.height/2,r=e.model.getLineCount(),o=null,s=void 0,a=null;return n.afterLineNumber!==r&&(a=new ee.a(n.afterLineNumber+1,1)),n.afterLineNumber>0&&(o=new ee.a(n.afterLineNumber,e.model.getLineMaxColumn(n.afterLineNumber))),s=null===a?o:null===o?a:t=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,le._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}}()),ue={isAfterLines:!0};function ce(e){return{isAfterLines:!1,horizontalDistanceToText:e}}var le=function(){function e(e,t){this._context=e,this._viewHelper=t}return e.prototype.mouseTargetIsWidget=function(e){var t=e.target,n=M.collect(t,this._viewHelper.viewDomNode);return!(!oe.isChildOfContentWidgets(n)&&!oe.isChildOfOverflowingContentWidgets(n))||!!oe.isChildOfOverlayWidgets(n)},e.prototype.createMouseTarget=function(t,n,i,r){var o=new se(this._context,this._viewHelper,t),s=new ae(o,n,i,r);try{return e._createMouseTarget(o,s,!1)}catch(e){return s.fulfill(0)}},e._createMouseTarget=function(t,n,i){if(null===n.target){if(i)return n.fulfill(0);var r=e._doHitTest(t,n);return r.position?e.createMouseTargetFromHitTestPosition(t,n,r.position.lineNumber,r.position.column):this._createMouseTarget(t,n.withTarget(r.hitTarget),!0)}var o=n,s=null;return(s=(s=(s=(s=(s=(s=(s=(s=(s=(s=s||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,i))||e._hitTestScrollbar(t,o))||n.fulfill(0)},e._hitTestContentWidget=function(e,t){if(oe.isChildOfContentWidgets(t.targetPath)||oe.isChildOfOverflowingContentWidgets(t.targetPath)){var n=e.findAttribute(t.target,"widgetId");return n?t.fulfill(9,null,null,n):t.fulfill(0)}return null},e._hitTestOverlayWidget=function(e,t){if(oe.isChildOfOverlayWidgets(t.targetPath)){var n=e.findAttribute(t.target,"widgetId");return n?t.fulfill(12,null,null,n):t.fulfill(0)}return null},e._hitTestViewCursor=function(e,t){if(t.target)for(var n=0,i=o=e.lastViewCursorsRenderData;nr.contentLeft+r.width)){var l=e.getVerticalOffsetForLineNumber(r.position.lineNumber);if(l<=a&&a<=l+r.height)return t.fulfill(6,r.position)}}return null},e._hitTestViewZone=function(e,t){var n=e.getZoneAtCoord(t.mouseVerticalOffset);if(n){var i=t.isInContentArea?8:5;return t.fulfill(i,n.position,null,n)}return null},e._hitTestTextArea=function(e,t){return oe.isTextArea(t.targetPath)?t.fulfill(1):null},e._hitTestMargin=function(e,t){if(t.isInMarginArea){var n=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),i=n.range.getStartPosition(),r=Math.abs(t.pos.x-t.editorPos.x),o={isAfterLines:n.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:r};return(r-=e.layoutInfo.glyphMarginLeft)<=e.layoutInfo.glyphMarginWidth?t.fulfill(2,i,n.range,o):(r-=e.layoutInfo.glyphMarginWidth)<=e.layoutInfo.lineNumbersWidth?t.fulfill(3,i,n.range,o):(r-=e.layoutInfo.lineNumbersWidth,t.fulfill(4,i,n.range,o))}return null},e._hitTestViewLines=function(t,n,i){if(!oe.isChildOfViewLines(n.targetPath))return null;if(t.isAfterLines(n.mouseVerticalOffset)){var r=t.model.getLineCount(),o=t.model.getLineMaxColumn(r);return n.fulfill(7,new ee.a(r,o),void 0,ue)}if(i){if(oe.isStrictChildOfViewLines(n.targetPath)){var s=t.getLineNumberAtVerticalOffset(n.mouseVerticalOffset);if(0===t.model.getLineLength(s)){var a=t.getLineWidth(s),u=ce(n.mouseContentHorizontalOffset-a);return n.fulfill(7,new ee.a(s,1),void 0,u)}}return n.fulfill(0)}var c=e._doHitTest(t,n);return c.position?e.createMouseTargetFromHitTestPosition(t,n,c.position.lineNumber,c.position.column):this._createMouseTarget(t,n.withTarget(c.hitTarget),!0)},e._hitTestMinimap=function(e,t){if(oe.isChildOfMinimap(t.targetPath)){var n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),i=e.model.getLineMaxColumn(n);return t.fulfill(11,new ee.a(n,i))}return null},e._hitTestScrollbarSlider=function(e,t){if(oe.isChildOfScrollableElement(t.targetPath)&&t.target&&1===t.target.nodeType){var n=t.target.className;if(n&&/\b(slider|scrollbar)\b/.test(n)){var i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.model.getLineMaxColumn(i);return t.fulfill(11,new ee.a(i,r))}}return null},e._hitTestScrollbar=function(e,t){if(oe.isChildOfScrollableElement(t.targetPath)){var n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),i=e.model.getLineMaxColumn(n);return t.fulfill(11,new ee.a(n,i))}return null},e.prototype.getMouseColumn=function(t,n){var i=this._context.configuration.editor.layoutInfo,r=this._context.viewLayout.getCurrentScrollLeft()+n.x-t.x-i.contentLeft;return e._getMouseColumn(r,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,n,i){var r=new ee.a(n,i),o=e.getLineWidth(n);if(t.mouseContentHorizontalOffset>o){if(g.f&&1===r.column){var s=ce(t.mouseContentHorizontalOffset-o);return t.fulfill(7,new ee.a(n,e.model.getLineMaxColumn(n)),void 0,s)}var a=ce(t.mouseContentHorizontalOffset-o);return t.fulfill(7,r,void 0,a)}var u=e.visibleRangeForPosition2(n,i);if(!u)return t.fulfill(0,r);var c=u.left;if(t.mouseContentHorizontalOffset===c)return t.fulfill(6,r);var l=[];if(l.push({offset:u.left,column:i}),i>1){var d=e.visibleRangeForPosition2(n,i-1);d&&l.push({offset:d.left,column:i-1})}if(i=t.editorPos.y+e.layoutInfo.height&&(r=t.editorPos.y+e.layoutInfo.height-1);var o=new w(t.pos.x,r),s=this._actualDoHitTestWithCaretRangeFromPoint(e,o.toClientCoordinates());return s.position?s:this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates())},e._actualDoHitTestWithCaretRangeFromPoint=function(e,t){var n=document.caretRangeFromPoint(t.clientX,t.clientY);if(!n||!n.startContainer)return{position:null,hitTarget:null};var i=n.startContainer,r=null;if(i.nodeType===i.TEXT_NODE){var o=(a=(s=i.parentNode)?s.parentNode:null)?a.parentNode:null;if((o&&o.nodeType===o.ELEMENT_NODE?o.className:null)===G.CLASS_NAME)return{position:e.getPositionFromDOMInfo(s,n.startOffset),hitTarget:null};r=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)===G.CLASS_NAME)return{position:e.getPositionFromDOMInfo(i,i.textContent.length),hitTarget:null};r=i}return{position:null,hitTarget:r}},e._doHitTestWithCaretPositionFromPoint=function(e,t){var n=document.caretPositionFromPoint(t.clientX,t.clientY);if(n.offsetNode.nodeType===n.offsetNode.TEXT_NODE){var i=n.offsetNode.parentNode,r=i?i.parentNode:null,o=r?r.parentNode:null;return(o&&o.nodeType===o.ELEMENT_NODE?o.className:null)===G.CLASS_NAME?{position:e.getPositionFromDOMInfo(n.offsetNode.parentNode,n.offset),hitTarget:null}:{position:null,hitTarget:n.offsetNode.parentNode}}return{position:null,hitTarget:n.offsetNode}},e._doHitTestWithMoveToPoint=function(e,t){var n=null,i=null,r=document.body.createTextRange();try{r.moveToPoint(t.clientX,t.clientY)}catch(e){return{position:null,hitTarget:null}}r.collapse(!0);var o=r?r.parentElement():null,s=o?o.parentNode:null,a=s?s.parentNode:null;if((a&&a.nodeType===a.ELEMENT_NODE?a.className:"")===G.CLASS_NAME){var u=r.duplicate();u.moveToElementText(o),u.setEndPoint("EndToStart",r),n=e.getPositionFromDOMInfo(o,u.text.length),u.moveToElementText(e.viewDomNode)}else i=o;return r.moveToElementText(e.viewDomNode),{position:n,hitTarget:i}},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}(),de=n("G8r4"),he=n("iHM7"),fe=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();function pe(e){return function(t,n){var i=!1;return e&&(i=e.mouseTargetIsWidget(n)),i||n.preventDefault(),n}}var ge=function(e){function t(n,i,r){var s=e.call(this)||this;s._isFocused=!1,s._context=n,s.viewController=i,s.viewHelper=r,s.mouseTargetFactory=new le(s._context,r),s._mouseDownOperation=s._register(new me(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 v.d(function(){return s.viewHelper.focusTextArea()},0)),s.lastMouseLeaveTime=-1;var a=new O(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)},pe(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)}));return s._register(o.h(s.viewHelper.viewDomNode,g.g?"mousewheel":"wheel",function(e){if(s.viewController.emitMouseWheel(e),s._context.configuration.editor.viewInfo.mouseWheelZoom){var t=new m.c(e);if(t.browserEvent.ctrlKey||t.browserEvent.metaKey){var n=de.a.getZoomLevel(),i=t.deltaY>0?1:-1;de.a.setZoomLevel(n+i),t.preventDefault(),t.stopPropagation()}}},!0)),s._context.addEventHandler(s),s}return fe(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 n=new C(e,t).toPageCoordinates(),i=x(this.viewHelper.viewDomNode);if(n.yi.y+i.height||n.xi.x+i.width)return null;var r=this.viewHelper.getLastViewCursorsRenderData();return this.mouseTargetFactory.createMouseTarget(r,i,n,null)},t.prototype._createMouseTarget=function(e,t){var n=this.viewHelper.getLastViewCursorsRenderData();return this.mouseTargetFactory.createMouseTarget(n,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.timestampt.y+t.height){var a,u;o=i.getCurrentScrollTop()+(e.posy-t.y);if(a=se.getZoneAtCoord(this._context,o))if(u=this._helpPositionJumpOverViewZone(a))return new re(null,13,r,u);var c=i.getLineNumberAtVerticalOffset(o);return new re(null,13,r,new ee.a(c,n.getLineMaxColumn(c)))}var l=i.getLineNumberAtVerticalOffset(i.getCurrentScrollTop()+(e.posy-t.y));return e.posxt.x+t.width?new re(null,13,r,new ee.a(l,n.getLineMaxColumn(l))):null},t.prototype._findMousePosition=function(e,t){var n=this._getPositionOutsideEditor(e);if(n)return n;var i=this._createMouseTarget(e,t);if(!i.position)return null;if(8===i.type||5===i.type){var r=this._helpPositionJumpOverViewZone(i.detail);if(r)return new re(i.element,i.type,i.mouseColumn,r,null,i.detail)}return i},t.prototype._helpPositionJumpOverViewZone=function(e){var t=new ee.a(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),n=e.positionBefore,i=e.positionAfter;return n&&i?n.isBefore(t)?n:i:null},t.prototype._dispatchMouse=function(e,t){e.position&&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}(u.a),ve=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,n){var i=(new Date).getTime();i-this._lastSetMouseDownCountTime>e.CLEAR_MOUSE_DOWN_COUNT_TIME&&(t=1),this._lastSetMouseDownCountTime=i,t>this._lastMouseDownCount+1&&(t=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(n)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=n,this._lastMouseDownCount=Math.min(t,this._lastMouseDownPositionEqualCount)},e.CLEAR_MOUSE_DOWN_COUNT_TIME=400,e}(),_e=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();function be(e,t){var n={translationY:t.translationY,translationX:t.translationX};return e&&(n.translationY+=e.translationY,n.translationX+=e.translationX),n}var ye=function(e){function t(t,n,i){var r=e.call(this,t,n,i)||this;return r.viewHelper.linesContentDomNode.style.msTouchAction="none",r.viewHelper.linesContentDomNode.style.msContentZooming="none",r._installGestureHandlerTimeout=window.setTimeout(function(){if(r._installGestureHandlerTimeout=-1,window.MSGesture){var e=new MSGesture,t=new MSGesture;e.target=r.viewHelper.linesContentDomNode,t.target=r.viewHelper.linesContentDomNode,r.viewHelper.linesContentDomNode.addEventListener("MSPointerDown",function(n){var i=n.pointerType;i!==(n.MSPOINTER_TYPE_MOUSE||"mouse")?i===(n.MSPOINTER_TYPE_TOUCH||"touch")?(r._lastPointerType="touch",e.addPointer(n.pointerId)):(r._lastPointerType="pen",t.addPointer(n.pointerId)):r._lastPointerType="mouse"}),r._register(o.j(r.viewHelper.linesContentDomNode,"MSGestureChange",function(e){return r._onGestureChange(e)},be)),r._register(o.h(r.viewHelper.linesContentDomNode,"MSGestureTap",function(e){return r._onCaptureGestureTap(e)},!0))}},100),r._lastPointerType="mouse",r}return _e(t,e),t.prototype._onMouseDown=function(t){"mouse"===this._lastPointerType&&e.prototype._onMouseDown.call(this,t)},t.prototype._onCaptureGestureTap=function(e){var t=this,n=new L(e,this.viewHelper.viewDomNode),i=this._createMouseTarget(n,!1);i.position&&this.viewController.moveTo(i.position),n.browserEvent.fromElement?(n.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}(ge),we=function(e){function t(t,n,i){var r=e.call(this,t,n,i)||this;return r.viewHelper.linesContentDomNode.style.touchAction="none",r._installGestureHandlerTimeout=window.setTimeout(function(){if(r._installGestureHandlerTimeout=-1,window.MSGesture){var e=new MSGesture,t=new MSGesture;e.target=r.viewHelper.linesContentDomNode,t.target=r.viewHelper.linesContentDomNode,r.viewHelper.linesContentDomNode.addEventListener("pointerdown",function(n){var i=n.pointerType;"mouse"!==i?"touch"===i?(r._lastPointerType="touch",e.addPointer(n.pointerId)):(r._lastPointerType="pen",t.addPointer(n.pointerId)):r._lastPointerType="mouse"}),r._register(o.j(r.viewHelper.linesContentDomNode,"MSGestureChange",function(e){return r._onGestureChange(e)},be)),r._register(o.h(r.viewHelper.linesContentDomNode,"MSGestureTap",function(e){return r._onCaptureGestureTap(e)},!0))}},100),r._lastPointerType="mouse",r}return _e(t,e),t.prototype._onMouseDown=function(t){"mouse"===this._lastPointerType&&e.prototype._onMouseDown.call(this,t)},t.prototype._onCaptureGestureTap=function(e){var t=this,n=new L(e,this.viewHelper.viewDomNode),i=this._createMouseTarget(n,!1);i.position&&this.viewController.moveTo(i.position),n.browserEvent.fromElement?(n.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}(ge),Ce=function(e){function t(t,n,i){var r=e.call(this,t,n,i)||this;return p.b.addTarget(r.viewHelper.linesContentDomNode),r._register(o.h(r.viewHelper.linesContentDomNode,p.a.Tap,function(e){return r.onTap(e)})),r._register(o.h(r.viewHelper.linesContentDomNode,p.a.Change,function(e){return r.onChange(e)})),r._register(o.h(r.viewHelper.linesContentDomNode,p.a.Contextmenu,function(e){return r._onContextMenu(new L(e,r.viewHelper.viewDomNode),!1)})),r}return _e(t,e),t.prototype.onTap=function(e){e.preventDefault(),this.viewHelper.focusTextArea();var t=this._createMouseTarget(new L(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}(ge),Se=function(e){function t(t,n,i){var r=e.call(this)||this;return window.navigator.msPointerEnabled?r.handler=r._register(new ye(t,n,i)):window.TouchEvent?r.handler=r._register(new Ce(t,n,i)):window.navigator.pointerEnabled||window.PointerEvent?r.handler=r._register(new we(t,n,i)):r.handler=r._register(new ge(t,n,i)),r}return _e(t,e),t.prototype.getTargetAtClientPoint=function(e,t){return this.handler.getTargetAtClientPoint(e,t)},t}(u.a),xe=(n("9vcT"),n("aL7J")),Le=n("4QaN"),Oe=n("ZWAj"),ke=(n("7Do+"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),Ne=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ke(t,e),t}(E),Ee=n("Rfe2"),Ie=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),De=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._readConfig(),n._lastCursorModelPosition=new ee.a(1,1),n._renderResult=null,n._context.addEventHandler(n),n}return Ie(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._renderFinalNewline=e.viewInfo.renderFinalNewline,this._lineNumbersLeft=e.layoutInfo.lineNumbersLeft,this._lineNumbersWidth=e.layoutInfo.lineNumbersWidth},t.prototype.dispose=function(){this._context.removeEventHandler(this),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 ee.a(e,1));if(1!==t.column)return"";var n=t.lineNumber;if(!this._renderFinalNewline){var i=this._context.model.getLineCount(),r=this._context.model.getLineContent(n);if(n===i&&""===r)return""}if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(n);if(2===this._renderLineNumbers){var o=Math.abs(this._lastCursorModelPosition.lineNumber-n);return 0===o?''+n+"":String(o)}return 3===this._renderLineNumbers?this._lastCursorModelPosition.lineNumber===n?String(n):n%10==0?String(n):"":String(n)},t.prototype.prepareRender=function(e){if(0!==this._renderLineNumbers){for(var n=_.c?this._lineHeight%2==0?" lh-even":" lh-odd":"",i=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,o='
    ',s=[],a=i;a<=r;a++){var u=a-i,c=this._getLineRenderLineNumber(a);s[u]=c?o+c+"
    ":""}this._renderResult=s}else this._renderResult=null},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]},t.CLASS_NAME="line-numbers",t}(Ne);Object(V.f)(function(e,t){var n=e.getColor(Ee.k);n&&t.addRule(".monaco-editor .line-numbers { color: "+n+"; }");var i=e.getColor(Ee.b);i&&t.addRule(".monaco-editor .current-line ~ .line-numbers { color: "+i+"; }")});var Me=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Te=function(e){function t(n){var i=e.call(this,n)||this;return i._canUseLayerHinting=i._context.configuration.editor.canUseLayerHinting,i._contentLeft=i._context.configuration.editor.layoutInfo.contentLeft,i._glyphMarginLeft=i._context.configuration.editor.layoutInfo.glyphMarginLeft,i._glyphMarginWidth=i._context.configuration.editor.layoutInfo.glyphMarginWidth,i._domNode=Object(f.b)(document.createElement("div")),i._domNode.setClassName(t.OUTER_CLASS_NAME),i._domNode.setPosition("absolute"),i._domNode.setAttribute("role","presentation"),i._domNode.setAttribute("aria-hidden","true"),i._glyphMarginBackgroundDomNode=Object(f.b)(document.createElement("div")),i._glyphMarginBackgroundDomNode.setClassName(t.CLASS_NAME),i._domNode.appendChild(i._glyphMarginBackgroundDomNode),i}return Me(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.getDomNode=function(){return this._domNode},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 n=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(n),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(n)},t.CLASS_NAME="glyph-margin",t.OUTER_CLASS_NAME="margin",t}(D),Pe=n("BwcV"),Ae=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Re=function(){return 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.copyWithSyntaxHighlighting=e.copyWithSyntaxHighlighting,this.layoutInfo=e.layoutInfo,this.fontInfo=e.fontInfo,this.viewInfo=e.viewInfo,this.wrappingInfo=e.wrappingInfo}}(),Fe=function(){return function(e){this.type=2,this.selections=e}}(),je=function(){return function(){this.type=3}}(),We=function(){return function(){this.type=4}}(),Be=function(){return function(e){this.type=5,this.isFocused=e}}(),Ve=function(){return function(){this.type=6}}(),He=function(){return function(e,t){this.type=7,this.fromLineNumber=e,this.toLineNumber=t}}(),ze=function(){return function(e,t){this.type=8,this.fromLineNumber=e,this.toLineNumber=t}}(),Ue=function(){return function(e,t){this.type=9,this.fromLineNumber=e,this.toLineNumber=t}}(),Ke=function(){return function(e,t,n,i){this.type=10,this.range=e,this.verticalType=t,this.revealHorizontal=n,this.scrollType=i}}(),qe=function(){return 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}}(),Ge=function(){return function(e){this.type=12,this.ranges=e}}(),Ze=function(){return function(){this.type=15}}(),Ye=function(){return function(){this.type=13}}(),Xe=function(){return function(){this.type=14}}(),$e=function(){return function(){this.type=16}}(),Je=function(e){function t(){var t=e.call(this)||this;return t._listeners=[],t._collector=null,t._collectorCnt=0,t}return Ae(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 Qe),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),n=0,i=t.length;n0)return new Oe.b(i,i.length,i.length,n,n)}}return Oe.b.EMPTY}return Oe.a.fromEditorSelection(e,s,r._selections[0],0===r._accessibilitySupport)},deduceModelPosition:function(e,t,n){return r._context.model.deduceModelPositionRelativeToViewPosition(e,t,n)}};return r._textAreaInput=r._register(new Le.b(a,r.textArea)),r._register(r._textAreaInput.onKeyDown(function(e){r._viewController.emitKeyDown(e)})),r._register(r._textAreaInput.onKeyUp(function(e){r._viewController.emitKeyUp(e)})),r._register(r._textAreaInput.onPaste(function(e){var t=rt.INSTANCE.get(e.text),n=!1,i=null;t&&(n=r._emptySelectionClipboard&&t.isFromEmptySelection,i=t.multicursorText),r._viewController.paste("keyboard",e.text,n,i)})),r._register(r._textAreaInput.onCut(function(){r._viewController.cut("keyboard")})),r._register(r._textAreaInput.onType(function(e){e.replaceCharCnt?r._viewController.replacePreviousChar("keyboard",e.text,e.replaceCharCnt):r._viewController.type("keyboard",e.text)})),r._register(r._textAreaInput.onSelectionChangeRequest(function(e){r._viewController.setSelection("keyboard",e)})),r._register(r._textAreaInput.onCompositionStart(function(){var e=r._selections[0].startLineNumber,t=r._selections[0].startColumn;r._context.privateViewEventBus.emit(new Ke(new te.a(e,t,e,t),0,!0,1));var n=r._viewHelper.visibleRangeForPositionRelativeToEditor(e,t);n&&(r._visibleTextArea=new nt(r._context.viewLayout.getVerticalOffsetForLineNumber(e),n.left,it?0:1),r._render()),r.textArea.setClassName("inputarea ime-input"),r._viewController.compositionStart("keyboard")})),r._register(r._textAreaInput.onCompositionUpdate(function(e){g.g?r._visibleTextArea=r._visibleTextArea.setWidth(0):r._visibleTextArea=r._visibleTextArea.setWidth(function(e,t){var n=document.createElement("canvas").getContext("2d");n.font=(i=t,r="normal",o=i.fontWeight,s=i.fontSize,a=i.lineHeight,u=i.fontFamily,r+" normal "+o+" "+s+"px / "+a+"px "+u);var i,r,o,s,a,u;var c=n.measureText(e);return g.i?c.width+2:c.width}(e.data,r._fontInfo)),r._render()})),r._register(r._textAreaInput.onCompositionEnd(function(){r._visibleTextArea=null,r._render(),r.textArea.setClassName("inputarea"),r._viewController.compositionEnd("keyboard")})),r._register(r._textAreaInput.onFocus(function(){r._context.privateViewEventBus.emit(new Be(!0))})),r._register(r._textAreaInput.onBlur(function(){r._context.privateViewEventBus.emit(new Be(!1))})),r}return tt(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),n=Object(Pe.a)(this._context.configuration.editor.wordSeparators),i=e.column,r=0;i>1;){var o=t.charCodeAt(i-2);if(0!==n.get(o)||r>50)return t.substring(i-1,e.column-1);r++,i--}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(!xe.w(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),e.copyWithSyntaxHighlighting&&(this._copyWithSyntaxHighlighting=t.copyWithSyntaxHighlighting),!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){var t=new ee.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(ethis._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,it?0:1,it?0:1,!1)}}else this._renderAtTopLeft()},t.prototype._renderInsideEditor=function(e,t,n,i,r){var o=this.textArea,s=this.textAreaCover;r?l.a.applyFontInfo(o,this._fontInfo):(o.setFontSize(1),o.setLineHeight(this._fontInfo.lineHeight)),o.setTop(e),o.setLeft(t),o.setWidth(n),o.setHeight(i),s.setTop(0),s.setLeft(0),s.setWidth(0),s.setHeight(0)},t.prototype._renderAtTopLeft=function(){var e=this.textArea,t=this.textAreaCover;if(l.a.applyFontInfo(e,this._fontInfo),e.setTop(0),e.setLeft(0),t.setTop(0),t.setLeft(0),it)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 "+Te.OUTER_CLASS_NAME):0!==this._context.configuration.editor.viewInfo.renderLineNumbers?t.setClassName("monaco-editor-background textAreaCover "+De.CLASS_NAME):t.setClassName("monaco-editor-background textAreaCover")},t}(D);var st=n("HZsc"),at=function(){function e(e,t,n,i){this.configuration=e,this.viewModel=t,this.outgoingEvents=n,this.commandDelegate=i}return e.prototype._execMouseCommand=function(e,t){t.source="mouse",this.commandDelegate.executeEditorCommand(e,t)},e.prototype.paste=function(e,t,n,i){this.commandDelegate.paste(e,t,n,i)},e.prototype.type=function(e,t){this.commandDelegate.type(e,t)},e.prototype.replacePreviousChar=function(e,t,n){this.commandDelegate.replacePreviousChar(e,t,n)},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.commandDelegate.executeEditorCommand(st.CoreNavigationCommands.SetSelection,{source:e,selection:t})},e.prototype._validateViewColumn=function(e){var t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column=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,!1):e.inSelectionMode?this._lastCursorMoveToSelect(e.position):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey?this._columnSelect(e.position,e.mouseColumn,!0):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(st.CoreNavigationCommands.MoveTo,this._usualArgs(e))},e.prototype._moveToSelect=function(e){this._execMouseCommand(st.CoreNavigationCommands.MoveToSelect,this._usualArgs(e))},e.prototype._columnSelect=function(e,t,n){e=this._validateViewColumn(e),this._execMouseCommand(st.CoreNavigationCommands.ColumnSelect,{position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:t,setAnchorIfNotSet:n})},e.prototype._createCursor=function(e,t){e=this._validateViewColumn(e),this._execMouseCommand(st.CoreNavigationCommands.CreateCursor,{position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:t})},e.prototype._lastCursorMoveToSelect=function(e){this._execMouseCommand(st.CoreNavigationCommands.LastCursorMoveToSelect,this._usualArgs(e))},e.prototype._wordSelect=function(e){this._execMouseCommand(st.CoreNavigationCommands.WordSelect,this._usualArgs(e))},e.prototype._wordSelectDrag=function(e){this._execMouseCommand(st.CoreNavigationCommands.WordSelectDrag,this._usualArgs(e))},e.prototype._lastCursorWordSelect=function(e){this._execMouseCommand(st.CoreNavigationCommands.LastCursorWordSelect,this._usualArgs(e))},e.prototype._lineSelect=function(e){this._execMouseCommand(st.CoreNavigationCommands.LineSelect,this._usualArgs(e))},e.prototype._lineSelectDrag=function(e){this._execMouseCommand(st.CoreNavigationCommands.LineSelectDrag,this._usualArgs(e))},e.prototype._lastCursorLineSelect=function(e){this._execMouseCommand(st.CoreNavigationCommands.LastCursorLineSelect,this._usualArgs(e))},e.prototype._lastCursorLineSelectDrag=function(e){this._execMouseCommand(st.CoreNavigationCommands.LastCursorLineSelectDrag,this._usualArgs(e))},e.prototype._selectAll=function(){this._execMouseCommand(st.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.prototype.emitMouseWheel=function(e){this.outgoingEvents.emitMouseWheel(e)},e}(),ut=n("ftXN"),ct=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 n=this.getStartLineNumber(),i=this.getEndLineNumber();if(ti)return null;for(var o=0,s=0,a=n;a<=i;a++){var u=a-this._rendLineNumberStart;e<=a&&a<=t&&(0===s?(o=u,s=1):s++)}if(e=n&&o<=i&&(this._lines[o-this._rendLineNumberStart].onContentChanged(),r=!0);return r},e.prototype.onLinesInserted=function(e,t){if(0===this.getCount())return null;var n=t-e+1,i=this.getStartLineNumber(),r=this.getEndLineNumber();if(e<=i)return this._rendLineNumberStart+=n,null;if(e>r)return null;if(n+e>r)return this._lines.splice(e-this._rendLineNumberStart,r-e+1);for(var o=[],s=0;sn))for(var a=Math.max(t,s.fromLineNumber),u=Math.min(n,s.toLineNumber),c=a;c<=u;c++){var l=c-this._rendLineNumberStart;this._lines[l].onTokensChanged(),i=!0}}return i},e}(),lt=function(){function e(e){var t=this;this._host=e,this.domNode=this._createDomNode(),this._linesCollection=new ct(function(){return t._host.createVisibleLine()})}return e.prototype._createDomNode=function(){var e=Object(f.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 n=0,i=t.length;nt)(u=t)<=(s=Math.min(n,r.rendLineNumberStart-1))&&(this._insertLinesBefore(r,u,s,i,t),r.linesLength+=s-u+1);else if(r.rendLineNumberStart0&&(this._removeLinesBefore(r,a),r.linesLength-=a)}if(r.rendLineNumberStart=t,r.rendLineNumberStart+r.linesLength-1n){var s,a,u=Math.max(0,n-r.rendLineNumberStart+1);(a=(s=r.linesLength-1)-u+1)>0&&(this._removeLinesAfter(r,a),r.linesLength-=a)}return this._finishRendering(r,!1,i),r},e.prototype._renderUntouchedLines=function(e,t,n,i,r){for(var o=e.rendLineNumberStart,s=e.lines,a=t;a<=n;a++){var u=o+a;s[a].layoutLine(u,i[u-r])}},e.prototype._insertLinesBefore=function(e,t,n,i,r){for(var o=[],s=0,a=t;a<=n;a++)o[s++]=this.host.createVisibleLine();e.lines=o.concat(e.lines)},e.prototype._removeLinesBefore=function(e,t){for(var n=0;n=0;s--){var a=e.lines[s];i[s]&&(a.setDomNode(o),o=o.previousSibling)}},e.prototype._finishRenderingInvalidLines=function(e,t,n){var i=document.createElement("div");i.innerHTML=t;for(var r=0;r'),i.appendASCIIString(r),i.appendASCIIString(""),!0)},e.prototype.layoutLine=function(e,t){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(this._lineHeight))},e}(),gt=function(e){function t(t){var n=e.call(this,t)||this;return n._contentWidth=n._context.configuration.editor.layoutInfo.contentWidth,n.domNode.setHeight(0),n}return ht(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}(ft),mt=function(e){function t(t){var n=e.call(this,t)||this;return n._contentLeft=n._context.configuration.editor.layoutInfo.contentLeft,n.domNode.setClassName("margin-view-overlays"),n.domNode.setWidth(1),l.a.applyFontInfo(n.domNode,n._context.configuration.editor.fontInfo),n}return ht(t,e),t.prototype.onConfigurationChanged=function(t){var n=!1;return t.fontInfo&&(l.a.applyFontInfo(this.domNode,this._context.configuration.editor.fontInfo),n=!0),t.layoutInfo&&(this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft,n=!0),e.prototype.onConfigurationChanged.call(this,t)||n},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 n=Math.min(t.scrollHeight,1e6);this.domNode.setHeight(n),this.domNode.setWidth(this._contentLeft)},t}(ft),vt=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),_t=function(){return function(e,t){this.top=e,this.left=t}}(),bt=function(e){function t(t,n){var i=e.call(this,t)||this;return i._viewDomNode=n,i._widgets={},i.domNode=Object(f.b)(document.createElement("div")),M.write(i.domNode,1),i.domNode.setClassName("contentWidgets"),i.domNode.setPosition("absolute"),i.domNode.setTop(0),i.overflowingContentWidgetsDomNode=Object(f.b)(document.createElement("div")),M.write(i.overflowingContentWidgetsDomNode,2),i.overflowingContentWidgetsDomNode.setClassName("overflowingContentWidgets"),i}return vt(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._widgets={}},t.prototype.onConfigurationChanged=function(e){for(var t=0,n=Object.keys(this._widgets);t=i,l=a,d=r.viewportHeight-a>=i,h=e.left,f=t.left;return h+n>r.scrollLeft+r.viewportWidth&&(h=r.scrollLeft+r.viewportWidth-n),f+n>r.scrollLeft+r.viewportWidth&&(f=r.scrollLeft+r.viewportWidth-n),h=22,y=g+i<=(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-22;m+n+20>_&&(m-=s=m-(_-n-20),d-=s);v+n+20>_&&(v-=s=v-(_-n-20),h-=s);m<0&&(m-=s=m,d-=s);v<0&&(v-=s=v,h-=s);return this._fixedOverflowWidgets&&(c=p,l=g,d=m,h=v),{fitsAbove:b,aboveTop:c,aboveLeft:d,fitsBelow:y,belowTop:l,belowLeft:h}},e.prototype._prepareRenderWidgetAtExactPositionOverflowing=function(e){return new _t(e.top,e.left+this._contentLeft)},e.prototype._getTopAndBottomLeft=function(e){if(!this._viewPosition)return[null,null];var t=e.visibleRangeForPosition(this._viewPosition);if(!t)return[null,null];var n=e.getVerticalOffsetForLineNumber(this._viewPosition.lineNumber)-e.scrollTop,i=new _t(n,t.left),r=this._viewPosition.lineNumber,o=t.left;if(this._viewRange){var s=e.linesVisibleRangesForRange(this._viewRange,!1);if(s&&s.length>0)for(var a=s.length-1;a>=0;a--){var u=s[a];if(u.lineNumber>=r){u.lineNumber>r&&(r=u.lineNumber,o=1073741824);for(var c=0,l=u.ranges.length;ce.endLineNumber||this.domNode.setMaxWidth(this._maxWidth))},e.prototype.prepareRender=function(e){this._renderData=this._prepareRenderWidget(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}(),wt=(n("Eawl"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),Ct=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._renderLineHighlight=n._context.configuration.editor.viewInfo.renderLineHighlight,n._selectionIsEmpty=!0,n._primaryCursorLineNumber=1,n._scrollWidth=0,n._contentWidth=n._context.configuration.editor.layoutInfo.contentWidth,n._context.addEventHandler(n),n}return wt(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),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,n=e.selections[0].positionLineNumber;this._primaryCursorLineNumber!==n&&(this._primaryCursorLineNumber=n,t=!0);var i=e.selections[0].isEmpty();return this._selectionIsEmpty!==i?(this._selectionIsEmpty=i,!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()?'
    ':""},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}(Ne);Object(V.f)(function(e,t){var n=e.getColor(Ee.i);if(n&&t.addRule(".monaco-editor .view-overlays .current-line { background-color: "+n+"; }"),!n||n.isTransparent()||e.defines(Ee.j)){var i=e.getColor(Ee.j);i&&(t.addRule(".monaco-editor .view-overlays .current-line { border: 2px solid "+i+"; }"),"hc"===e.type&&t.addRule(".monaco-editor .view-overlays .current-line { border-width: 1px; }"))}});n("3ZDw");var St=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),xt=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._renderLineHighlight=n._context.configuration.editor.viewInfo.renderLineHighlight,n._selectionIsEmpty=!0,n._primaryCursorLineNumber=1,n._contentLeft=n._context.configuration.editor.layoutInfo.contentLeft,n._context.addEventHandler(n),n}return St(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),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,n=e.selections[0].positionLineNumber;this._primaryCursorLineNumber!==n&&(this._primaryCursorLineNumber=n,t=!0);var i=e.selections[0].isEmpty();return this._selectionIsEmpty!==i?(this._selectionIsEmpty=i,!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 n="current-line";if(this._shouldShowCurrentLine())n="current-line current-line-margin"+(this._willRenderContentCurrentLine()?" current-line-margin-both":"");return'
    '}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}(Ne);Object(V.f)(function(e,t){var n=e.getColor(Ee.i);if(n)t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { background-color: "+n+"; border: none; }");else{var i=e.getColor(Ee.j);i&&t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid "+i+"; }"),"hc"===e.type&&t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }")}});n("84z/");var Lt=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ot=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._typicalHalfwidthCharacterWidth=n._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,n._renderResult=null,n._context.addEventHandler(n),n}return Lt(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),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(),n=[],i=0,r=0,o=t.length;rt.options.zIndex)return 1;var n=e.options.className,i=t.options.className;return ni?1:te.a.compareRangesUsingStarts(e.range,t.range)});for(var a=e.visibleRange.startLineNumber,u=e.visibleRange.endLineNumber,c=[],l=a;l<=u;l++){c[l-a]=""}this._renderWholeLineDecorations(e,n,c),this._renderNormalDecorations(e,n,c),this._renderResult=c},t.prototype._renderWholeLineDecorations=function(e,t,n){for(var i=String(this._lineHeight),r=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber,s=0,a=t.length;s',l=Math.max(u.range.startLineNumber,r),d=Math.min(u.range.endLineNumber,o),h=l;h<=d;h++){n[h-r]+=c}}},t.prototype._renderNormalDecorations=function(e,t,n){for(var i=String(this._lineHeight),r=e.visibleRange.startLineNumber,o=null,s=!1,a=null,u=0,c=t.length;u';s[d]+=m}}},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]},t}(Ne),kt=n("qecS"),Nt=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Et=function(e){function t(t,n,i,r){var s=e.call(this,t)||this,a=s._context.configuration.editor.viewInfo.scrollbar,u={listenOnDomNode:i.domNode,className:"editor-scrollable "+Object(V.e)(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,fastScrollSensitivity:a.fastScrollSensitivity};s.scrollbar=s._register(new kt.c(n.domNode,u,s._context.viewLayout.scrollable)),M.write(s.scrollbar.getDomNode(),5),s.scrollbarDomNode=Object(f.b)(s.scrollbar.getDomNode()),s.scrollbarDomNode.setPosition("absolute"),s._setLayout();var c=function(e,t,n){var i={};if(t){var r=e.scrollTop;r&&(i.scrollTop=s._context.viewLayout.getCurrentScrollTop()+r,e.scrollTop=0)}if(n){var o=e.scrollLeft;o&&(i.scrollLeft=s._context.viewLayout.getCurrentScrollLeft()+o,e.scrollLeft=0)}s._context.viewLayout.setScrollPositionNow(i)};return s._register(o.h(i.domNode,"scroll",function(e){return c(i.domNode,!0,!0)})),s._register(o.h(n.domNode,"scroll",function(e){return c(n.domNode,!0,!1)})),s._register(o.h(r.domNode,"scroll",function(e){return c(r.domNode,!0,!1)})),s._register(o.h(s.scrollbarDomNode.domNode,"scroll",function(e){return c(s.scrollbarDomNode.domNode,!0,!1)})),s}return Nt(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,n={handleMouseWheel:t.viewInfo.scrollbar.handleMouseWheel,mouseWheelScrollSensitivity:t.viewInfo.scrollbar.mouseWheelScrollSensitivity,fastScrollSensitivity:t.viewInfo.scrollbar.fastScrollSensitivity};this.scrollbar.updateOptions(n)}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(V.e)(this._context.theme.type)),!0},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this.scrollbar.renderNow()},t}(D),It=(n("uHSv"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),Dt=function(){return function(e,t,n){this.startLineNumber=+e,this.endLineNumber=+t,this.className=String(n)}}(),Mt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return It(t,e),t.prototype._render=function(e,t,n){for(var i=[],r=e;r<=t;r++){i[r-e]=[]}if(0===n.length)return i;n.sort(function(e,t){return e.className===t.className?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.className',s=[],a=t;a<=n;a++){var u=a-t,c=i[u];0===c.length?s[u]="":s[u]='
    =this._renderResult.length?"":this._renderResult[n]},t}(Mt),Pt=(n("gCdB"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),At=function(e){function t(t){var n=e.call(this)||this;n._context=t,n._primaryLineNumber=0,n._lineHeight=n._context.configuration.editor.lineHeight,n._spaceWidth=n._context.configuration.editor.fontInfo.spaceWidth,n._enabled=n._context.configuration.editor.viewInfo.renderIndentGuides,n._activeIndentEnabled=n._context.configuration.editor.viewInfo.highlightActiveIndentGuide;var i=n._context.configuration.editor.wrappingInfo.wrappingColumn;return n._maxIndentLeft=-1===i?-1:i*n._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,n._renderResult=null,n._context.addEventHandler(n),n}return Pt(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){if(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),e.wrappingInfo||e.fontInfo){var t=this._context.configuration.editor.wrappingInfo.wrappingColumn;this._maxIndentLeft=-1===t?-1:t*this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth}return!0},t.prototype.onCursorStateChanged=function(e){var t=e.selections[0],n=t.isEmpty()?t.positionLineNumber:0;return this._primaryLineNumber!==n&&(this._primaryLineNumber=n,!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,n=e.visibleRange.endLineNumber,i=this._context.model.getOptions().indentSize*this._spaceWidth,r=e.scrollWidth,o=this._lineHeight,s=this._context.model.getLinesIndentGuides(t,n),a=0,u=0,c=0;if(this._activeIndentEnabled&&this._primaryLineNumber){var l=this._context.model.getActiveIndentGuide(this._primaryLineNumber,t,n);a=l.startLineNumber,u=l.endLineNumber,c=l.indent}for(var d=[],h=t;h<=n;h++){for(var f=a<=h&&h<=u,p=h-t,g=s[p],m="",v=e.visibleRangeForPosition(new ee.a(h,1)),_=v?v.left:0,b=1;b<=g;b++){if(m+='
    ',(_+=i)>r||this._maxIndentLeft>0&&_>this._maxIndentLeft)break}d[p]=m}this._renderResult=d}else this._renderResult=null},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]},t}(Ne);Object(V.f)(function(e,t){var n=e.getColor(Ee.h);n&&t.addRule(".monaco-editor .lines-content .cigr { box-shadow: 1px 0 0 0 "+n+" inset; }");var i=e.getColor(Ee.a)||n;i&&t.addRule(".monaco-editor .lines-content .cigra { box-shadow: 1px 0 0 0 "+i+" inset; }")});n("+0Qw");var Rt=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ft=function(){function e(){this._currentVisibleRange=new te.a(1,1,1,1)}return e.prototype.getCurrentVisibleRange=function(){return this._currentVisibleRange},e.prototype.setCurrentVisibleRange=function(e){this._currentVisibleRange=e},e}(),jt=function(){return function(e,t,n,i,r,o){this.lineNumber=e,this.startColumn=t,this.endColumn=n,this.startScrollTop=i,this.stopScrollTop=r,this.scrollType=o}}(),Wt=function(e){function t(t,n){var i=e.call(this,t)||this;i._linesContent=n,i._textRangeRestingSpot=document.createElement("div"),i._visibleLines=new lt(i),i.domNode=i._visibleLines.domNode;var r=i._context.configuration;return i._lineHeight=r.editor.lineHeight,i._typicalHalfwidthCharacterWidth=r.editor.fontInfo.typicalHalfwidthCharacterWidth,i._isViewportWrapping=r.editor.wrappingInfo.isViewportWrapping,i._revealHorizontalRightPadding=r.editor.viewInfo.revealHorizontalRightPadding,i._scrollOff=r.editor.viewInfo.cursorSurroundingLines,i._canUseLayerHinting=r.editor.canUseLayerHinting,i._viewLineOptions=new q(r,i._context.theme.type),M.write(i.domNode,7),i.domNode.setClassName("view-lines"),l.a.applyFontInfo(i.domNode,r.editor.fontInfo),i._maxLineWidth=0,i._asyncUpdateLineWidths=new v.d(function(){i._updateLineWidthsSlow()},200),i._lastRenderedData=new Ft,i._horizontalRevealRequest=null,i}return Rt(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 G(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,this._scrollOff=t.editor.viewInfo.cursorSurroundingLines),e.canUseLayerHinting&&(this._canUseLayerHinting=t.editor.canUseLayerHinting),e.fontInfo&&l.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 q(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;for(var n=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber(),r=n;r<=i;r++){this._visibleLines.getVisibleLine(r).onOptionsChanged(this._viewLineOptions)}return!0}return!1},t.prototype.onCursorStateChanged=function(e){for(var t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),i=!1,r=t;r<=n;r++)i=this._visibleLines.getVisibleLine(r).onSelectionChanged()||i;return i},t.prototype.onDecorationsChanged=function(e){for(var t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),i=t;i<=n;i++)this._visibleLines.getVisibleLine(i).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),n=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range.startLineNumber!==e.range.endLineNumber?n={scrollTop:n.scrollTop,scrollLeft:0}:this._horizontalRevealRequest=new jt(e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),n.scrollTop,e.scrollType):this._horizontalRevealRequest=null;var i=Math.abs(this._context.viewLayout.getCurrentScrollTop()-n.scrollTop);return 0===e.scrollType&&i>this._lineHeight?this._context.viewLayout.setScrollPositionSmooth(n):this._context.viewLayout.setScrollPositionNow(n),!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),n=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTopn)&&(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 n=this._getViewLineDomNode(e);if(null===n)return null;var i=this._getLineNumberFor(n);if(-1===i)return null;if(i<1||i>this._context.model.getLineCount())return null;if(1===this._context.model.getLineMaxColumn(i))return new ee.a(i,1);var r=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber();if(io)return null;var s=this._visibleLines.getVisibleLine(i).getColumnOfNodeOffset(i,e,t),a=this._context.model.getLineMinColumn(i);return sn?-1:this._visibleLines.getVisibleLine(e).getWidth()},t.prototype.linesVisibleRangesForRange=function(e,t){if(this.shouldRender())return null;var n=e.endLineNumber,i=te.a.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!i)return null;var r=[],o=0,s=new K(this.domNode.domNode,this._textRangeRestingSpot),a=0;t&&(a=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new ee.a(i.startLineNumber,1)).lineNumber);for(var u=this._visibleLines.getStartLineNumber(),c=this._visibleLines.getEndLineNumber(),l=i.startLineNumber;l<=i.endLineNumber;l++)if(!(lc)){var d=l===i.startLineNumber?i.startColumn:1,h=l===i.endLineNumber?i.endColumn:this._context.model.getLineMaxColumn(l),f=this._visibleLines.getVisibleLine(l).getVisibleRangesForRange(d,h,s);if(f&&0!==f.length){if(t&&lo)){var a=s===t.startLineNumber?t.startColumn:1,u=s===t.endLineNumber?t.endColumn:this._context.model.getLineMaxColumn(s),c=this._visibleLines.getVisibleLine(s).getVisibleRangesForRange(a,u,i);c&&0!==c.length&&(n=n.concat(c))}return 0===n.length?null:n},t.prototype.visibleRangeForPosition=function(e){var t=this.visibleRangesForRange2(new te.a(e.lineNumber,e.column,e.lineNumber,e.column));return t?t[0]:null},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(),n=this._visibleLines.getEndLineNumber(),i=1,r=!0,o=t;o<=n;o++){var s=this._visibleLines.getVisibleLine(o);!e||s.getWidthIsFast()?i=Math.max(i,s.getWidth()):r=!1}return r&&1===t&&n===this._context.model.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(i),r},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,n=this._horizontalRevealRequest.startColumn,i=this._horizontalRevealRequest.endColumn,r=this._horizontalRevealRequest.scrollType;if(e.startLineNumber<=t&&t<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();var o=this._computeScrollLeftToRevealRange(t,n,i);this._isViewportWrapping||this._ensureMaxLineWidth(o.maxHorizontalOffset),0===r?this._context.viewLayout.setScrollPositionSmooth({scrollLeft:o.scrollLeft}):this._context.viewLayout.setScrollPositionNow({scrollLeft:o.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._maxLineWidthl&&(l=f.left+f.width)}return r=l,c=Math.max(0,c-t.HORIZONTAL_EXTRA_PX),l+=this._revealHorizontalRightPadding,{scrollLeft:this._computeMinimumScrolling(s,a,c,l),maxHorizontalOffset:r}},t.prototype._computeMinimumScrolling=function(e,t,n,i,r,o){r=!!r,o=!!o;var s=(t|=0)-(e|=0);return(i|=0)-(n|=0)t?Math.max(0,i-s):e:n},t.HORIZONTAL_EXTRA_PX=30,t}(D),Bt=(n("MlKm"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),Vt=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._decorationsLeft=n._context.configuration.editor.layoutInfo.decorationsLeft,n._decorationsWidth=n._context.configuration.editor.layoutInfo.decorationsWidth,n._renderResult=null,n._context.addEventHandler(n),n}return Bt(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),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(),n=[],i=0,r=0,o=t.length;r
    ',o=[],s=t;s<=n;s++){for(var a=s-t,u=i[a],c="",l=0,d=u.length;l';r[s]=u}this._renderResult=r},t.prototype.render=function(e,t){return this._renderResult?this._renderResult[t-e]:""},t}(Mt),Ut=(n("OkZj"),function(){function e(t,n,i,r){this.r=e._clamp(t),this.g=e._clamp(n),this.b=e._clamp(i),this.a=e._clamp(r)}return e._clamp=function(e){return e<0?0:e>255?255:0|e},e.Empty=new e(0,0,0,0),e}()),Kt=n("PCC9"),qt=function(){function e(){var e=this;this._onDidChange=new a.a,this.onDidChange=this._onDidChange.event,this._updateColorMap(),Kt.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=Kt.y.getColorMap();if(!e)return this._colors=[Ut.Empty],void(this._backgroundIsLight=!0);this._colors=[Ut.Empty];for(var t=1;t=.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}(),Gt=function(){function e(t,n){if(760!==t.length)throw new Error("Invalid x2CharData");if(190!==n.length)throw new Error("Invalid x1CharData");this.x2charData=t,this.x1charData=n,this.x2charDataLight=e.soften(t,.8),this.x1charDataLight=e.soften(n,50/60)}return e.soften=function(e,t){for(var n=new Uint8ClampedArray(e.length),i=0,r=e.length;it.width||i+4>t.height)console.warn("bad render request outside image data");else{var u=a?this.x2charDataLight:this.x2charData,c=e._getChIndex(r),l=4*t.width,d=s.r,h=s.g,f=s.b,p=o.r-d,g=o.g-h,m=o.b-f,v=t.data,_=4*c*2,b=i*l+4*n,y=u[_]/255;v[b+0]=d+p*y,v[b+1]=h+g*y,v[b+2]=f+m*y;y=u[_+1]/255;v[b+4]=d+p*y,v[b+5]=h+g*y,v[b+6]=f+m*y,b+=l;y=u[_+2]/255;v[b+0]=d+p*y,v[b+1]=h+g*y,v[b+2]=f+m*y;y=u[_+3]/255;v[b+4]=d+p*y,v[b+5]=h+g*y,v[b+6]=f+m*y,b+=l;y=u[_+4]/255;v[b+0]=d+p*y,v[b+1]=h+g*y,v[b+2]=f+m*y;y=u[_+5]/255;v[b+4]=d+p*y,v[b+5]=h+g*y,v[b+6]=f+m*y,b+=l;y=u[_+6]/255;v[b+0]=d+p*y,v[b+1]=h+g*y,v[b+2]=f+m*y;y=u[_+7]/255;v[b+4]=d+p*y,v[b+5]=h+g*y,v[b+6]=f+m*y}},e.prototype.x1RenderChar=function(t,n,i,r,o,s,a){if(n+1>t.width||i+2>t.height)console.warn("bad render request outside image data");else{var u=a?this.x1charDataLight:this.x1charData,c=e._getChIndex(r),l=4*t.width,d=s.r,h=s.g,f=s.b,p=o.r-d,g=o.g-h,m=o.b-f,v=t.data,_=2*c*1,b=i*l+4*n,y=u[_]/255;v[b+0]=d+p*y,v[b+1]=h+g*y,v[b+2]=f+m*y,b+=l;y=u[_+1]/255;v[b+0]=d+p*y,v[b+1]=h+g*y,v[b+2]=f+m*y}},e.prototype.x2BlockRenderChar=function(e,t,n,i,r,o){if(t+2>e.width||n+4>e.height)console.warn("bad render request outside image data");else{var s=4*e.width,a=r.r,u=r.g,c=r.b,l=a+.5*(i.r-a),d=u+.5*(i.g-u),h=c+.5*(i.b-c),f=e.data,p=n*s+4*t;f[p+0]=l,f[p+1]=d,f[p+2]=h,f[p+4]=l,f[p+5]=d,f[p+6]=h,f[(p+=s)+0]=l,f[p+1]=d,f[p+2]=h,f[p+4]=l,f[p+5]=d,f[p+6]=h,f[(p+=s)+0]=l,f[p+1]=d,f[p+2]=h,f[p+4]=l,f[p+5]=d,f[p+6]=h,f[(p+=s)+0]=l,f[p+1]=d,f[p+2]=h,f[p+4]=l,f[p+5]=d,f[p+6]=h}},e.prototype.x1BlockRenderChar=function(e,t,n,i,r,o){if(t+1>e.width||n+2>e.height)console.warn("bad render request outside image data");else{var s=4*e.width,a=r.r,u=r.g,c=r.b,l=a+.5*(i.r-a),d=u+.5*(i.g-u),h=c+.5*(i.b-c),f=e.data,p=n*s+4*t;f[p+0]=l,f[p+1]=d,f[p+2]=h,f[(p+=s)+0]=l,f[p+1]=d,f[p+2]=h}},e}();function Zt(e){for(var t=new Uint8ClampedArray(e.length),n=0,i=e.length;n=s+y)return new e(a,u,_,b,l,w=1,s);var w=Math.max(1,Math.floor(n-b*h/f));return c&&c.scrollHeight===u&&(c.scrollTop>a&&(w=Math.min(w,c.startLineNumber)),c.scrollToprn)n._context.viewLayout.setScrollPositionNow({scrollTop:r.scrollTop});else{var s=e.posy-t;n._context.viewLayout.setScrollPositionNow({scrollTop:r.getDesiredScrollTopFromDelta(s)})}},function(){n._slider.toggleClassName("active",!1)})}}),n}return en(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._decorationsCanvas.setWidth(this._options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._options.canvasInnerHeight,this._slider.setWidth(this._options.minimapWidth)},t.prototype._getBuffer=function(){return this._buffers||(this._buffers=new cn(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 on(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 this._renderDecorations=!0,!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.onDecorationsChanged=function(e){return this._renderDecorations=!0,!0},t.prototype.onThemeChanged=function(e){return this._context.model.invalidateMinimapColorCache(),this._renderDecorations=!!this._lastDecorations,!!this._lastDecorations},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=sn.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 n=e.scrollLeft/this._options.typicalHalfwidthCharacterWidth,i=Math.min(this._options.minimapWidth,Math.round(n*nn(this._options.renderMinimap)/this._options.pixelRatio));this._sliderHorizontal.setLeft(i),this._sliderHorizontal.setWidth(this._options.minimapWidth-i),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(t.sliderHeight),this.renderDecorations(t),this._lastRenderData=this.renderLines(t)},t.prototype.renderDecorations=function(e){if(this._renderDecorations){this._renderDecorations=!1;var t=this._context.model.getDecorationsInViewport(new te.a(e.startLineNumber,1,e.endLineNumber,this._context.model.getLineMaxColumn(e.endLineNumber))),n=this._options,i=n.renderMinimap,r=n.canvasInnerWidth,o=n.canvasInnerHeight,s=tn(i),a=nn(i),u=this._context.model.getOptions().tabSize,c=this._decorationsCanvas.domNode.getContext("2d");c.clearRect(0,0,r,o);for(var l=new Map,d=0;dr?l.length-1:_-1;if(C>0){var S=l[C]-w||2;this.renderDecoration(e,n.options.minimap,w,c,S,o)}d&&this.renderLineHighlight(e,n.options.minimap,c,o)},t.prototype.renderLineHighlight=function(e,t,n,i){var r=t.getColor(this._context.theme);e.fillStyle=r&&r.transparent(.5).toString()||"",e.fillRect(0,n,e.canvas.width,i)},t.prototype.renderDecoration=function(e,t,n,i,r,o){var s=t.getColor(this._context.theme);e.fillStyle=s&&s.toString()||"",e.fillRect(n,i,r,o)},t.prototype.renderLines=function(e){var n=this._options.renderMinimap,i=e.startLineNumber,r=e.endLineNumber,o=tn(n);if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){var s=this._lastRenderData._get();return new un(e,s.imageData,s.lines)}for(var a=this._getBuffer(),u=t._renderUntouchedLines(a,i,r,o,this._lastRenderData),c=u[0],l=u[1],d=u[2],h=this._context.model.getMinimapLinesRenderingData(i,r,d),f=h.tabSize,p=this._tokensColorTracker.getColor(2),g=this._tokensColorTracker.backgroundIsLight(),m=0,v=[],_=0,b=r-i+1;_=0&&Lh)return;var w=c.charCodeAt(p);if(9===w){var C=a-(p+g)%a;g+=C-1,f+=C*d}else if(32===w)f+=d;else for(var S=xe.v(w)?2:1,x=0;xh)return}},t}(D);Object(V.f)(function(e,t){var n=e.getColor(Qt._39);if(n){var i=n.transparent(.5);t.addRule(".monaco-editor .minimap-slider, .monaco-editor .minimap-slider .minimap-slider-horizontal { background: "+i+"; }")}var r=e.getColor(Qt._40);if(r){var o=r.transparent(.5);t.addRule(".monaco-editor .minimap-slider:hover, .monaco-editor .minimap-slider:hover .minimap-slider-horizontal { background: "+o+"; }")}var s=e.getColor(Qt._38);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 u=e.getColor(Qt._37);u&&t.addRule(".monaco-editor .minimap-shadow-visible { box-shadow: "+u+" -6px 0 6px -6px inset; }")});n("EG+O");var dn=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),hn=function(e){function t(t){var n=e.call(this,t)||this;return n._widgets={},n._verticalScrollbarWidth=n._context.configuration.editor.layoutInfo.verticalScrollbarWidth,n._minimapWidth=n._context.configuration.editor.layoutInfo.minimapWidth,n._horizontalScrollbarHeight=n._context.configuration.editor.layoutInfo.horizontalScrollbarHeight,n._editorHeight=n._context.configuration.editor.layoutInfo.height,n._editorWidth=n._context.configuration.editor.layoutInfo.width,n._domNode=Object(f.b)(document.createElement("div")),M.write(n._domNode,4),n._domNode.setClassName("overlayWidgets"),n}return dn(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._widgets={}},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(f.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 n=this._widgets[e.getId()];return n.preference!==t&&(n.preference=t,this.setShouldRender(),!0)},t.prototype.removeWidget=function(e){var t=e.getId();if(this._widgets.hasOwnProperty(t)){var n=this._widgets[t].domNode.domNode;delete this._widgets[t],n.parentNode.removeChild(n),this.setShouldRender()}},t.prototype._renderWidget=function(e){var t=e.domNode;if(null!==e.preference)if(0===e.preference)t.setTop(0),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth);else if(1===e.preference){var n=t.domNode.clientHeight;t.setTop(this._editorHeight-n-2*this._horizontalScrollbarHeight),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth)}else 2===e.preference&&(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),n=0,i=t.length;n=3){var r,o,s,a=i-(r=Math.floor(i/3))-(o=Math.floor(i/3)),u=(s=e)+r;return[[0,s,u,s,s+r+a,s,u,s],[0,r,a,r+a,o,r+a+o,a+o,r+a+o]]}if(2===n)return[[0,s=e,s,s,s+(r=Math.floor(i/2)),s,s,s],[0,r,r,r,o=i-r,r+o,r+o,r+o]];return[[0,e,e,e,e,e,e,e],[0,i,i,i,i,i,i,i]]},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}(),mn=function(e){function t(t){var n=e.call(this,t)||this;return n._domNode=Object(f.b)(document.createElement("canvas")),n._domNode.setClassName("decorationsOverviewRuler"),n._domNode.setPosition("absolute"),n._domNode.setLayerHinting(!0),n._domNode.setAttribute("aria-hidden","true"),n._updateSettings(!1),n._tokensColorTrackerListener=Kt.y.onDidChange(function(e){e.changedColorMap&&n._updateSettings(!0)}),n._cursorPositions=[],n}return pn(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._tokensColorTrackerListener.dispose()},t.prototype._updateSettings=function(e){var t=new gn(this._context.configuration,this._context.theme);return(!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,n=e.selections.length;tt&&(E=t-a),x=E-a,D=E+a;x>_+1||w!==m?(0!==b&&u.fillRect(c[m],v,l[m],_-v),m=w,v=x,_=D):D>_&&(_=D)}u.fillRect(c[m],v,l[m],_-v)}if(!this._settings.hideCursor&&this._settings.cursorColor){var L=2*this._settings.pixelRatio|0,O=L/2|0,k=this._settings.x[7],N=this._settings.w[7];u.fillStyle=this._settings.cursorColor;for(v=-100,_=-100,b=0,y=this._cursorPositions.length;bt&&(E=t-O);var D=(x=E-O)+L;x>_+1?(0!==b&&u.fillRect(k,v,N,_-v),v=x,_=D):D>_&&(_=D)}u.fillRect(k,v,N,_-v)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(u.beginPath(),u.lineWidth=1,u.strokeStyle=this._settings.borderColor,u.moveTo(0,0),u.lineTo(0,t),u.stroke(),u.moveTo(0,0),u.lineTo(e,0),u.stroke())},t}(D),vn=n("tGak"),_n=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),bn=function(e){function t(t,n){var i=e.call(this)||this;return i._context=t,i._domNode=Object(f.b)(document.createElement("canvas")),i._domNode.setClassName(n),i._domNode.setPosition("absolute"),i._domNode.setLayerHinting(!0),i._zoneManager=new vn.b(function(e){return i._context.viewLayout.getVerticalOffsetForLineNumber(e)}),i._zoneManager.setDOMWidth(0),i._zoneManager.setDOMHeight(0),i._zoneManager.setOuterHeight(i._context.viewLayout.getScrollHeight()),i._zoneManager.setLineHeight(i._context.configuration.editor.lineHeight),i._zoneManager.setPixelRatio(i._context.configuration.editor.pixelRatio),i._context.addEventHandler(i),i}return _n(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),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(),n=this._zoneManager.resolveColorZones(),i=this._zoneManager.getId2Color(),r=this._domNode.domNode.getContext("2d");return r.clearRect(0,0,e,t),n.length>0&&this._renderOneLane(r,n,i,e),!0},t.prototype._renderOneLane=function(e,t,n,i){for(var r=0,o=0,s=0,a=0,u=t;a=d?s=Math.max(s,h):(e.fillRect(0,o,i,s-o),o=d,s=h)}e.fillRect(0,o,i,s-o)},t}(E),yn=(n("5RGO"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),wn=function(e){function t(t){var n=e.call(this,t)||this;return n.domNode=Object(f.b)(document.createElement("div")),n.domNode.setAttribute("role","presentation"),n.domNode.setAttribute("aria-hidden","true"),n.domNode.setClassName("view-rulers"),n._renderedRulers=[],n._rulers=n._context.configuration.editor.viewInfo.rulers,n._typicalHalfwidthCharacterWidth=n._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,n}return yn(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(e0;){(o=Object(f.b)(document.createElement("div"))).setClassName("view-ruler"),o.setWidth(n),this.domNode.appendChild(o),this._renderedRulers.push(o),i--}else for(var r=e-t;r>0;){var o=this._renderedRulers.pop();this.domNode.removeChild(o),r--}},t.prototype.render=function(e){this._ensureRulersCount();for(var t=0,n=this._rulers.length;t0;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}(D);Object(V.f)(function(e,t){var n=e.getColor(Qt._37);n&&t.addRule(".monaco-editor .scroll-decoration { box-shadow: "+n+" 0 6px 6px -6px inset; }")});n("MfYP");var xn=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ln=function(){return function(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}}(),On=function(){return function(e,t){this.lineNumber=e,this.ranges=t}}();function kn(e){return new Ln(e)}function Nn(e){return new On(e.lineNumber,e.ranges.map(kn))}var En=g.g,In=function(e){function t(t){var n=e.call(this)||this;return n._previousFrameVisibleRangesWithStyle=[],n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._roundedSelection=n._context.configuration.editor.viewInfo.roundedSelection,n._typicalHalfwidthCharacterWidth=n._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,n._selections=[],n._renderResult=null,n._context.addEventHandler(n),n}return xn(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),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,n=e.length;t1)return!0}return!1},t.prototype._enrichVisibleRangesWithStyle=function(e,t,n){var i=this._typicalHalfwidthCharacterWidth/4,r=null,o=null;if(n&&n.length>0&&t.length>0){var s=t[0].lineNumber;if(s===e.startLineNumber)for(var a=0;!r&&a=0;a--)n[a].lineNumber===u&&(o=n[a].ranges[0]);r&&!r.startStyle&&(r=null),o&&!o.startStyle&&(o=null)}a=0;for(var c=t.length;a0){var g=t[a-1].ranges[0].left,m=t[a-1].ranges[0].left+t[a-1].ranges[0].width;Dn(d-g)g&&(f.top=1),Dn(h-m)'},t.prototype._actualRenderOneSelection=function(e,n,i,r){for(var o=r.length>0&&r[0].ranges[0].startStyle,s=this._lineHeight.toString(),a=(this._lineHeight-1).toString(),u=r.length>0?r[0].lineNumber:0,c=r.length>0?r[r.length-1].lineNumber:0,l=0,d=r.length;l1,c)}}this._previousFrameVisibleRangesWithStyle=o,this._renderResult=t},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]},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}(Ne);function Dn(e){return e<0?-e:e}Object(V.f)(function(e,t){var n=e.getColor(Qt.H);n&&t.addRule(".monaco-editor .focused .selected-text { background-color: "+n+"; }");var i=e.getColor(Qt.E);i&&t.addRule(".monaco-editor .selected-text { background-color: "+i+"; }");var r=e.getColor(Qt.I);r&&t.addRule(".monaco-editor .view-line span.inline-selected-text { color: "+r+"; }")});n("8EM9");var Mn=n("iXRW"),Tn=function(){return function(e,t,n,i,r,o){this.top=e,this.left=t,this.width=n,this.height=i,this.textContent=r,this.textContentClassName=o}}(),Pn=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(f.b)(document.createElement("div")),this._domNode.setClassName("cursor"),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),l.a.applyFontInfo(this._domNode,this._context.configuration.editor.fontInfo),this._domNode.setDisplay("none"),this._position=new ee.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&&(l.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._position=e,!0},e.prototype._prepareRender=function(e){var t="",n="";if(this._cursorStyle===Mn.g.Line||this._cursorStyle===Mn.g.LineThin){var i,r=e.visibleRangeForPosition(this._position);if(!r)return null;if(this._cursorStyle===Mn.g.Line){if((i=o.q(this._lineCursorWidth>0?this._lineCursorWidth:2))>2)t=this._context.model.getLineContent(this._position.lineNumber).charAt(this._position.column-1)}else i=o.q(1);var s=r.left;i>=2&&s>=1&&(s-=1);var a=e.getVerticalOffsetForLineNumber(this._position.lineNumber)-e.bigNumbersDelta;return new Tn(a,s,i,this._lineHeight,t,n)}var u=e.linesVisibleRangesForRange(new te.a(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column+1),!1);if(!u||0===u.length||0===u[0].ranges.length)return null;var c=u[0].ranges[0],l=c.width<1?this._typicalHalfwidthCharacterWidth:c.width;if(this._cursorStyle===Mn.g.Block){var d=this._context.model.getViewLineData(this._position.lineNumber);t=d.content.charAt(this._position.column-1),xe.w(d.content.charCodeAt(this._position.column-1))&&(t+=d.content.charAt(this._position.column));var h=d.tokens.findTokenIndexAtOffset(this._position.column-1);n=d.tokens.getClassName(h)}var f=e.getVerticalOffsetForLineNumber(this._position.lineNumber)-e.bigNumbersDelta,p=this._lineHeight;return this._cursorStyle!==Mn.g.Underline&&this._cursorStyle!==Mn.g.UnderlineThin||(f+=this._lineHeight-2,p=2),new Tn(f,c.left,l,p,t,n)},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}(),An=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Rn=function(e){function t(t){var n=e.call(this,t)||this;return n._readOnly=n._context.configuration.editor.readOnly,n._cursorBlinking=n._context.configuration.editor.viewInfo.cursorBlinking,n._cursorStyle=n._context.configuration.editor.viewInfo.cursorStyle,n._cursorSmoothCaretAnimation=n._context.configuration.editor.viewInfo.cursorSmoothCaretAnimation,n._selectionIsEmpty=!0,n._isVisible=!1,n._primaryCursor=new Pn(n._context),n._secondaryCursors=[],n._renderData=[],n._domNode=Object(f.b)(document.createElement("div")),n._domNode.setAttribute("role","presentation"),n._domNode.setAttribute("aria-hidden","true"),n._updateDomClassName(),n._domNode.appendChild(n._primaryCursor.getDomNode()),n._startCursorBlinkAnimation=new v.e,n._cursorFlatBlinkInterval=new v.c,n._blinkingEnabled=!1,n._editorHasFocus=!1,n._updateBlinking(),n}return An(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._cursorSmoothCaretAnimation=this._context.configuration.editor.viewInfo.cursorSmoothCaretAnimation),this._primaryCursor.onConfigurationChanged(e),this._updateBlinking(),e.viewInfo&&this._updateDomClassName();for(var t=0,n=this._secondaryCursors.length;tt.length){var o=this._secondaryCursors.length-t.length;for(i=0;in){var o=t-n;for(r=0;r=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,n=this.secondaryCursors.length;td&&S.index--}e.splice(d,1),t.splice(l,1),this._removeSecondaryCursor(d-1),r--}}}}},e}(),$n=n("2Ayt"),Jn=n("UuCV"),Qn=n("33h2"),ei=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();var ti=function(){return function(e,t,n){this.selections=e,this.source=t,this.reason=n}}(),ni=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,n=this.cursorState.length;t=t.length)return!1;if(!t[n].strictContainsRange(e[n]))return!1}return!0},e}(),ri=function(e){function t(t,n,i){var r=e.call(this)||this;r._onDidReachMaxCursorCount=r._register(new a.a),r.onDidReachMaxCursorCount=r._onDidReachMaxCursorCount.event,r._onDidAttemptReadOnlyEdit=r._register(new a.a),r.onDidAttemptReadOnlyEdit=r._onDidAttemptReadOnlyEdit.event,r._onDidChange=r._register(new a.a),r.onDidChange=r._onDidChange.event,r._configuration=t,r._model=n,r._knownModelVersionId=r._model.getVersionId(),r._viewModel=i,r.context=new ne.c(r._configuration,r._model,r._viewModel),r._cursors=new Xn(r.context),r._isHandling=!1,r._isDoingComposition=!1,r._columnSelectData=null,r._autoClosedActions=[],r._prevEditOperationType=0,r._register(r._model.onDidChangeRawContent(function(e){if(r._knownModelVersionId=e.versionId,!r._isHandling){var t=e.containsEvent(1);r._onModelContentChanged(t)}})),r._register(i.addEventListener(function(e){(function(e){for(var t=0,n=e.length;t0)for(var e=this._cursors.getSelections(),t=0;tt.MAX_CURSOR_COUNT&&(i=i.slice(0,t.MAX_CURSOR_COUNT),this._onDidReachMaxCursorCount.fire(void 0));var r=new ni(this._model,this);this._cursors.setStates(i),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,n,r)},t.prototype.setColumnSelectData=function(e){this._columnSelectData=e},t.prototype.reveal=function(e,t,n){this._revealRange(t,0,e,n)},t.prototype.revealRange=function(e,t,n,i){this.emitCursorRevealRange(t,n,e,i)},t.prototype.scrollTo=function(e){this._viewModel.viewLayout.setScrollPositionSmooth({scrollTop:e})},t.prototype.saveState=function(){for(var e=[],t=this._cursors.getSelections(),n=0,i=t.length;n0&&this._pushAutoClosedAction(n,i),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,n){var i=new ni(this._model,this);if(i.equals(n))return!1;var r=this._cursors.getSelections(),o=this._cursors.getViewSelections();try{this._beginEmit().emit(new Fe(o))}finally{this._endEmit()}return n&&n.cursorState.length===i.cursorState.length&&!i.cursorState.some(function(e,t){return!e.modelState.equals(n.cursorState[t].modelState)})||this._onDidChange.fire(new ti(r,e||"keyboard",t)),!0},t.prototype._revealRange=function(e,t,n,i){var r=this._cursors.getViewPositions(),o=r[0];if(1===e)for(var s=1;s1)return;var a=new te.a(o.lineNumber,o.column,o.lineNumber,o.column);this.emitCursorRevealRange(a,t,n,i)},t.prototype.emitCursorRevealRange=function(e,t,n,i){try{this._beginEmit().emit(new Ke(e,t,n,i))}finally{this._endEmit()}},t.prototype._findAutoClosingPairs=function(e){if(!e.length)return null;for(var t=[],n=0,i=e.length;n=0)return null;var o=r.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!o)return null;var s=o[1],a=this.context.config.autoClosingPairsClose2.get(s);if(!a||1!==a.length)return null;var u=a[0].open,c=r.text.length-o[2].length-1,l=r.text.lastIndexOf(u,c-1);if(-1===l)return null;t.push([l,c])}return t},t.prototype.executeEdits=function(e,t,n){var i=this,r=null;"snippet"===e&&(r=this._findAutoClosingPairs(t)),r&&(t[0]._isTracked=!0);var o=[],s=[],a=this._model.pushEditOperations(this.getSelections(),t,function(e){if(r)for(var t=0,a=r.length;t0&&this._pushAutoClosedAction(o,s)},t.prototype.trigger=function(e,t,n){var i=Qn.b;if(t!==i.CompositionStart)if(t===i.CompositionEnd&&(this._isDoingComposition=!1),this._configuration.editor.readOnly)this._onDidAttemptReadOnlyEdit.fire(void 0);else{var r=new ni(this._model,this),o=0;t!==i.Undo&&t!==i.Redo&&this._cursors.stopTrackingSelections(),this._cursors.ensureValidState(),this._isHandling=!0;try{switch(t){case i.Type:this._type(e,n.text);break;case i.ReplacePreviousChar:this._replacePreviousChar(n.text,n.replaceCharCnt);break;case i.Paste:o=4,this._paste(n.text,n.pasteOnNewLine,n.multicursorText);break;case i.Cut:this._cut();break;case i.Undo:o=5,this._interpretCommandResult(this._model.undo());break;case i.Redo:o=6,this._interpretCommandResult(this._model.redo());break;case i.ExecuteCommand:this._externalExecuteCommand(n);break;case i.ExecuteCommands:this._externalExecuteCommands(n);break;case i.CompositionEnd:this._interpretCompositionEnd(e)}}catch(e){Object(s.e)(e)}this._isHandling=!1,t!==i.Undo&&t!==i.Redo&&this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,o,r)&&this._revealRange(0,0,!0,0)}else this._isDoingComposition=!0},t.prototype._interpretCompositionEnd=function(e){if(!this._isDoingComposition&&"keyboard"===e){var t=ii.getAllAutoClosedCharacters(this._autoClosedActions);this._executeEditOperation(Jn.a.compositionEndWithInterceptors(this._prevEditOperationType,this.context.config,this.context.model,this.getSelections(),t))}},t.prototype._type=function(e,t){if(this._isDoingComposition||"keyboard"!==e)this._executeEditOperation(Jn.a.typeWithoutInterceptors(this._prevEditOperationType,this.context.config,this.context.model,this.getSelections(),t));else for(var n=0,i=t.length;n0&&(o[0]._isTracked=!0);var u=e.model.pushEditOperations(e.selectionsBefore,o,function(n){for(var i=[],r=0;r0?(i[n].sort(u),c[n]=t[n].computeCursorState(e.model,{getInverseEditOperations:function(){return i[n]},getTrackedSelection:function(t){var n=parseInt(t,10),i=e.model._getTrackedRange(e.trackedRanges[n]);return 0===e.trackedRangesDirection[n]?new he.a(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn):new he.a(i.endLineNumber,i.endColumn,i.startLineNumber,i.startColumn)}})):c[n]=e.selectionsBefore[n]};for(r=0;rr.identifier.major?i.identifier.major:r.identifier.major).toString()]=!0;for(var s=0;s0&&n--}}return t},e}(),si=n("lthF"),ai=n("/9db"),ui=n("Skdw"),ci=n("fyvs"),li=function(){function e(){this._instanceId=xe.I(++e.INSTANCE_COUNT),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,n,i){for(var r=0,o=e.length;r>>1;t===e[s]?i=t&&(this._whitespaceId2Index[c]=l+1)}this._whitespaceId2Index[e]=t,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)},e.prototype.changeWhitespace=function(e,t,n){t|=0,n|=0;var i=!1;return i=this.changeWhitespaceHeight(e,n)||i,i=this.changeWhitespaceAfterLineNumber(e,t)||i},e.prototype.changeWhitespaceHeight=function(e,t){if(t|=0,this._whitespaceId2Index.hasOwnProperty(e)){var n=this._whitespaceId2Index[e];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,n){if(n|=0,this._whitespaceId2Index.hasOwnProperty(t)){var i=this._whitespaceId2Index[t];if(this._afterLineNumbers[i]!==n){var r=this._ordinals[i],o=this._heights[i],s=this._minWidths[i];this.removeWhitespace(t);var a=e.findInsertionIndex(this._afterLineNumbers,n,this._ordinals,r);return this._insertWhitespaceAtIndex(t,a,n,r,o,s),!0}}return!1},e.prototype.removeWhitespace=function(e){if(this._whitespaceId2Index.hasOwnProperty(e)){var t=this._whitespaceId2Index[e];return delete this._whitespaceId2Index[e],this._removeWhitespaceAtIndex(t),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),n=0,i=t.length;n=e&&(this._whitespaceId2Index[r]=o-1)}},e.prototype.onLinesDeleted=function(e,t){e|=0,t|=0;for(var n=0,i=this._afterLineNumbers.length;nt&&(this._afterLineNumbers[n]-=t-e+1)}},e.prototype.onLinesInserted=function(e,t){e|=0,t|=0;for(var n=0,i=this._afterLineNumbers.length;n=t.length||t[r+1]>=e)return r;n=r+1|0}else i=r-1|0}return-1},e.prototype._findFirstWhitespaceAfterLineNumber=function(e){e|=0;var t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t1?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,n=this._lineHeight,i=1,r=t;i=s+n)i=o+1;else{if(e>=s)return o;r=o}}return i>t?t:i},e.prototype.getLinesViewportData=function(e,t){e|=0,t|=0;var n,i,r=this._lineHeight,o=0|this.getLineNumberAtOrAfterVerticalOffset(e),s=0|this.getVerticalOffsetForLineNumber(o),a=0|this._lineCount,u=0|this._whitespaces.getFirstWhitespaceIndexAfterLineNumber(o),c=0|this._whitespaces.getCount();-1===u?(u=c,i=a+1,n=0):(i=0|this._whitespaces.getAfterLineNumberForWhitespaceIndex(u),n=0|this._whitespaces.getHeightForWhitespaceIndex(u));var l=s,d=l,h=0;s>=5e5&&(h=5e5*Math.floor(s/5e5),d-=h=Math.floor(h/r)*r);for(var f=[],p=e+(t-e)/2,g=-1,m=o;m<=a;m++){if(-1===g){(l<=p&&pp)&&(g=m)}for(l+=r,f[m-o]=d,d+=r;i===m;)d+=n,l+=n,++u>=c?i=a+1:(i=0|this._whitespaces.getAfterLineNumberForWhitespaceIndex(u),n=0|this._whitespaces.getHeightForWhitespaceIndex(u));if(l>=t){a=m;break}}-1===g&&(g=a);var v=0|this.getVerticalOffsetForLineNumber(a),_=o,b=a;return _t&&b--,{bigNumbersDelta:h,startLineNumber:o,endLineNumber:a,relativeVerticalOffset:f,centeredLineNumber:g,completelyVisibleStartLineNumber:_,completelyVisibleEndLineNumber:b}},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,n,i=0,r=this._whitespaces.getCount()-1;if(r<0)return-1;if(e>=this.getVerticalOffsetForWhitespaceIndex(r)+this._whitespaces.getHeightForWhitespaceIndex(r))return-1;for(;i=(n=this.getVerticalOffsetForWhitespaceIndex(t))+this._whitespaces.getHeightForWhitespaceIndex(t))i=t+1;else{if(e>=n)return t;r=t}return i},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 n=this.getVerticalOffsetForWhitespaceIndex(t);if(n>e)return null;var i=this._whitespaces.getHeightForWhitespaceIndex(t);return{id:this._whitespaces.getIdForWhitespaceIndex(t),afterLineNumber:this._whitespaces.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:n,height:i}},e.prototype.getWhitespaceViewportData=function(e,t){e|=0,t|=0;var n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),i=this._whitespaces.getCount()-1;if(n<0)return[];for(var r=[],o=n;o<=i;o++){var s=this.getVerticalOffsetForWhitespaceIndex(o),a=this._whitespaces.getHeightForWhitespaceIndex(o);if(s>=t)break;r.push({id:this._whitespaces.getIdForWhitespaceIndex(o),afterLineNumber:this._whitespaces.getAfterLineNumberForWhitespaceIndex(o),verticalOffset:s,height:a})}return r},e.prototype.getWhitespaces=function(){return this._whitespaces.getWhitespaces(this._lineHeight)},e}(),hi=n("e1sR"),fi=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),pi=function(e){function t(t,n,i){var r=e.call(this)||this;return r._configuration=t,r._linesLayout=new di(n,r._configuration.editor.lineHeight),r.scrollable=r._register(new ci.a(0,i)),r._configureSmoothScrollDuration(),r.scrollable.setScrollDimensions({width:t.editor.layoutInfo.contentWidth,height:t.editor.layoutInfo.contentHeight}),r.onDidScroll=r.scrollable.onScroll,r._updateHeight(),r}return fi(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 2===this._configuration.editor.viewInfo.scrollbar.horizontal?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 hi.f(t.scrollTop,t.scrollLeft,e.width,e.height)},t.prototype.getFutureViewport=function(){var e=this.scrollable.getScrollDimensions(),t=this.scrollable.getFutureScrollPosition();return new hi.f(t.scrollTop,t.scrollLeft,e.width,e.height)},t.prototype._computeScrollWidth=function(e,t){if(!this._configuration.editor.wrappingInfo.isViewportWrapping){var n=this._configuration.editor.viewInfo.scrollBeyondLastColumn*this._configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,i=this._linesLayout.getWhitespaceMinWidth();return Math.max(e+n,t,i)}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,n=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(n),scrollLeft:e.scrollLeft}},t.prototype.addWhitespace=function(e,t,n,i){return this._linesLayout.insertWhitespace(e,t,n,i)},t.prototype.changeWhitespace=function(e,t,n){return this._linesLayout.changeWhitespace(e,t,n)},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 n=this.scrollable.getCurrentScrollPosition();this.scrollable.setScrollPositionNow({scrollLeft:n.scrollLeft+e,scrollTop:n.scrollTop+t})},t}(u.a),gi=n("GfE5"),mi=n("CQAd"),vi=n("Y6WZ"),_i=n("0ly5"),bi=function(){return function(e,t){this.outputLineIndex=e,this.outputOffset=t}}(),yi=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),n=this._lines.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new te.a(t.lineNumber,t.column,n.lineNumber,n.column)},e.prototype.validateViewPosition=function(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)},e.prototype.validateViewRange=function(e,t){var n=this._lines.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),i=this._lines.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new te.a(n.lineNumber,n.column,i.lineNumber,i.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),n=this._lines.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn);return new te.a(t.lineNumber,t.column,n.lineNumber,n.column)},e.prototype.modelPositionIsVisible=function(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)},e}(),wi=function(){function e(e,t,n,i,r,o){this.model=e,this._validModelVersionId=-1,this.tabSize=n,this.wrappingColumn=i,this.columnsForFullWidthChar=r,this.wrappingIndent=o,this.linePositionMapperFactory=t,this._constructLines(!0)}return e.prototype.dispose=function(){this.hiddenAreasIds=this.model.deltaDecorations(this.hiddenAreasIds,[])},e.prototype.createCoordinatesConverter=function(){return new yi(this)},e.prototype._ensureValidState=function(){if(this.model.getVersionId()!==this._validModelVersionId)throw new Error("ViewModel is out of sync with Model!");this.lines.length!==this.model.getLineCount()&&this._constructLines(!1)},e.prototype._constructLines=function(e){var t=this;this.lines=[],e&&(this.hiddenAreasIds=[]);for(var n=this.model.getLinesContent(),i=n.length,r=new Uint32Array(i),o=this.hiddenAreasIds.map(function(e){return t.model.getDecorationRange(e)}).sort(te.a.compareRangesUsingStarts),s=1,a=0,u=-1,c=u+1=s&&d<=a,f=Li(this.linePositionMapperFactory,n[l],this.tabSize,this.wrappingColumn,this.columnsForFullWidthChar,this.wrappingIndent,!h);r[l]=f.getViewLineCount(),this.lines[l]=f}this._validModelVersionId=this.model.getVersionId(),this.prefixSumComputer=new vi.b(r)},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 n=e.map(function(e){return t.model.validateRange(e)}).sort(te.a.compareRangesUsingStarts),i=[],r=n[0].startLineNumber,o=n[0].endLineNumber,s=1,a=n.length;so+1?(i.push(new te.a(r,1,o,1)),r=u.startLineNumber,o=u.endLineNumber):u.endLineNumber>o&&(o=u.endLineNumber)}return i.push(new te.a(r,1,o,1)),i},e.prototype.setHiddenAreas=function(e){var t=this,n=this._reduceRanges(e),i=this.hiddenAreasIds.map(function(e){return t.model.getDecorationRange(e)}).sort(te.a.compareRangesUsingStarts);if(n.length===i.length){for(var r=!1,o=0;o=d&&m<=h?this.lines[o].isVisible()&&(this.lines[o]=this.lines[o].setVisible(!1),v=!0):(g=!0,this.lines[o].isVisible()||(this.lines[o]=this.lines[o].setVisible(!0),v=!0)),v){var _=this.lines[o].getViewLineCount();this.prefixSumComputer.changeValue(o,_)}}return g||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,n){return(this.wrappingIndent!==e||this.wrappingColumn!==t||this.columnsForFullWidthChar!==n)&&(this.wrappingIndent=e,this.wrappingColumn=t,this.columnsForFullWidthChar=n,this._constructLines(!1),!0)},e.prototype.onModelFlushed=function(){this._constructLines(!0)},e.prototype.onModelLinesDeleted=function(e,t,n){if(e<=this._validModelVersionId)return null;var i=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1,r=this.prefixSumComputer.getAccumulatedValue(n-1);return this.lines.splice(t-1,n-t+1),this.prefixSumComputer.removeValues(t-1,n-t+1),new ze(i,r)},e.prototype.onModelLinesInserted=function(e,t,n,i){if(e<=this._validModelVersionId)return null;for(var r=this.getHiddenAreas(),o=!1,s=new ee.a(t,1),a=0,u=r;aa?(p=(f=(l=(c=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1)+a-1)+1)+(r-a)-1,u=!0):rt?t:e},e.prototype.warmUpLookupCache=function(e,t){this.prefixSumComputer.warmUpCache(e-1,t-1)},e.prototype.getActiveIndentGuide=function(e,t,n){this._ensureValidState(),e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),n=this._toValidViewLineNumber(n);var i=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),o=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),s=this.model.getActiveIndentGuide(i.lineNumber,r.lineNumber,o.lineNumber),a=this.convertModelPositionToViewPosition(s.startLineNumber,1),u=this.convertModelPositionToViewPosition(s.endLineNumber,this.model.getLineMaxColumn(s.endLineNumber));return{startLineNumber:a.lineNumber,endLineNumber:u.lineNumber,indent:s.indent}},e.prototype.getViewLinesIndentGuides=function(e,t){this._ensureValidState(),e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);for(var n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),i=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t)),r=[],o=[],s=[],a=n.lineNumber-1,u=i.lineNumber-1,c=null,l=a;l<=u;l++){var d=this.lines[l];if(d.isVisible()){var h=d.getViewLineNumberOfModelPosition(0,l===a?n.column:1),f=d.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(l+1)),p=0;(w=f-h+1)>1&&1===d.getViewLineMinColumn(this.model,l+1,f)&&(p=0===h?1:2),o.push(w),s.push(p),null===c&&(c=new ee.a(l+1,0))}else null!==c&&(r=r.concat(this.model.getLinesIndentGuides(c.lineNumber,l)),c=null)}null!==c&&(r=r.concat(this.model.getLinesIndentGuides(c.lineNumber,i.lineNumber)),c=null);for(var g=t-e+1,m=new Array(g),v=0,_=0,b=r.length;_t&&(f=!0,h=t-r+1);var p=d+h;if(l.getViewLinesData(this.model,u+1,d,p,r-e,n,a),r+=h,f)break}}return a},e.prototype.validateViewPosition=function(e,t,n){this._ensureValidState(),e=this._toValidViewLineNumber(e);var i=this.prefixSumComputer.getIndexOf(e-1),r=i.index,o=i.remainder,s=this.lines[r],a=s.getViewLineMinColumn(this.model,r+1,o),u=s.getViewLineMaxColumn(this.model,r+1,o);tu&&(t=u);var c=s.getModelColumnOfViewPosition(o,t);return this.model.validatePosition(new ee.a(r+1,c)).equals(n)?new ee.a(e,t):this.convertModelPositionToViewPosition(n.lineNumber,n.column)},e.prototype.convertViewPositionToModelPosition=function(e,t){this._ensureValidState(),e=this._toValidViewLineNumber(e);var n=this.prefixSumComputer.getIndexOf(e-1),i=n.index,r=n.remainder,o=this.lines[i].getModelColumnOfViewPosition(r,t);return this.model.validatePosition(new ee.a(i+1,o))},e.prototype.convertModelPositionToViewPosition=function(e,t){this._ensureValidState();for(var n=this.model.validatePosition(new ee.a(e,t)),i=n.lineNumber,r=n.column,o=i-1,s=!1;o>0&&!this.lines[o].isVisible();)o--,s=!0;if(0===o&&!this.lines[o].isVisible())return new ee.a(1,1);var a=1+(0===o?0:this.prefixSumComputer.getAccumulatedValue(o-1));return s?this.lines[o].getViewPositionOfModelPosition(a,this.model.getLineMaxColumn(o+1)):this.lines[i-1].getViewPositionOfModelPosition(a,r)},e.prototype._getViewLineNumberForModelPosition=function(e,t){var n=e-1;if(this.lines[n].isVisible()){var i=1+(0===n?0:this.prefixSumComputer.getAccumulatedValue(n-1));return this.lines[n].getViewLineNumberOfModelPosition(i,t)}for(;n>0&&!this.lines[n].isVisible();)n--;if(0===n&&!this.lines[n].isVisible())return 1;var r=1+(0===n?0:this.prefixSumComputer.getAccumulatedValue(n-1));return this.lines[n].getViewLineNumberOfModelPosition(r,this.model.getLineMaxColumn(n+1))},e.prototype.getAllOverviewRulerDecorations=function(e,t,n){for(var i=this.model.getOverviewRulerDecorations(e,t),r=new Ni,o=0,s=i;ot.id?1:0:n});for(var d=[],h=0,f=null,p=0,g=o;p0&&(o=this.wrappedIndent+o),o},e.prototype.getViewLineLength=function(e,t,n){if(!this._isVisible)throw new Error("Not supported");var i=this.getInputStartOffsetOfOutputLineIndex(n),r=this.getInputEndOffsetOfOutputLineIndex(e,t,n)-i;return n>0&&(r=this.wrappedIndent.length+r),r},e.prototype.getViewLineMinColumn=function(e,t,n){if(!this._isVisible)throw new Error("Not supported");return n>0?this.wrappedIndentLength+1:1},e.prototype.getViewLineMaxColumn=function(e,t,n){if(!this._isVisible)throw new Error("Not supported");return this.getViewLineContent(e,t,n).length+1},e.prototype.getViewLineData=function(e,t,n){if(!this._isVisible)throw new Error("Not supported");var i=this.getInputStartOffsetOfOutputLineIndex(n),r=this.getInputEndOffsetOfOutputLineIndex(e,t,n),o=e.getValueInRange({startLineNumber:t,startColumn:i+1,endLineNumber:t,endColumn:r+1});n>0&&(o=this.wrappedIndent+o);var s=n>0?this.wrappedIndentLength+1:1,a=o.length+1,u=n+10&&(c=this.wrappedIndentLength);var l=e.getLineTokens(t);return new hi.c(o,u,s,a,l.sliceAndInflate(i,r,c))},e.prototype.getViewLinesData=function(e,t,n,i,r,o,s){if(!this._isVisible)throw new Error("Not supported");for(var a=n;a0&&(n0&&(r+=this.wrappedIndentLength),new ee.a(e+i,r)},e.prototype.getViewLineNumberOfModelPosition=function(e,t){if(!this._isVisible)throw new Error("Not supported");return e+this.positionMapper.getOutputPositionOfInputOffset(t-1).outputLineIndex},e}();function Li(e,t,n,i,r,o,s){var a=e.createLineMapping(t,n,i,r,o);return null===a?s?Ci.INSTANCE:Si.INSTANCE:new xi(a,s)}var Oi=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}(),ki=function(){function e(e){this.model=e}return e.prototype.dispose=function(){},e.prototype.createCoordinatesConverter=function(){return new Oi(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,n){return!1},e.prototype.onModelFlushed=function(){},e.prototype.onModelLinesDeleted=function(e,t,n){return new ze(t,n)},e.prototype.onModelLinesInserted=function(e,t,n,i){return new Ue(t,n)},e.prototype.onModelLineChanged=function(e,t,n){return[!1,new He(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,n){return{startLineNumber:e,endLineNumber:e,indent:0}},e.prototype.getViewLinesIndentGuides=function(e,t){for(var n=t-e+1,i=new Array(n),r=0;r=t)return void(n>s&&(r[r.length-1]=n));r.push(i,t,n)}else this.result[e]=[i,t,n]},e}(),Ei=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ii=function(e){function t(t,n,i){for(var r=e.call(this,0)||this,o=0;o=12352&&t<=12543||t>=13312&&t<=19903||t>=19968&&t<=40959?4:e.prototype.get.call(this,t)},t}(gi.a),Di=function(){function e(e,t,n){this.classifier=new Ii(e,t,n)}return e.nextVisibleColumn=function(e,t,n,i){return e=+e,t=+t,i=+i,n?e+(t-e%t):e+i},e.prototype.createLineMapping=function(t,n,i,r,o){if(-1===i)return null;n=+n,i=+i,r=+r;var s=0,a="",u=-1;if(0!==(o=+o)&&-1!==(u=xe.q(t))){a=t.substring(0,u);for(var c=0;ci&&(a="",s=0)}var d=this.classifier,h=0,f=[],p=0,g=0,m=-1,v=0,_=-1,b=0,y=t.length;for(c=0;c0){var x=t.charCodeAt(c-1);1!==d.get(x)&&(m=c,v=s)}var L=1;if(xe.v(w)&&(L=r),(g=e.nextVisibleColumn(g,n,C,L))>i&&0!==c){var O=void 0,k=void 0;-1!==m&&v<=i?(O=m,k=v):-1!==_&&b<=i?(O=_,k=b):(O=c,k=s),f[p++]=O-h,h=O,g=e.nextVisibleColumn(k,n,C,L),m=-1,v=0,_=-1,b=0}if(-1!==m&&(v=e.nextVisibleColumn(v,n,C,L)),-1!==_&&(b=e.nextVisibleColumn(b,n,C,L)),2===S&&(0===o||c>=u)&&(m=c+1,v=s),4===S&&c=2&&e.viewportStartLineTrackedRange){var g=e.model._getTrackedRange(e.viewportStartLineTrackedRange);if(g){var m=e.coordinatesConverter.convertModelPositionToViewPosition(g.getStartPosition()),v=e.viewLayout.getVerticalOffsetForLineNumber(m.lineNumber);e.viewLayout.setScrollPositionNow({scrollTop:v+e.viewportStartLineDelta})}}})),this._register(this.model.onDidChangeTokens(function(t){for(var n=[],i=0,r=t.ranges.length;ia||(o0&&s[u-1]===s[u]||(a+=this.model.getLineContent(s[u])+r);return a}for(var c=[],l=0,d=o;l'+this._getHTMLToCopy(n,o)+""},t.prototype._getHTMLToCopy=function(e,t){for(var n=e.startLineNumber,i=e.startColumn,r=e.endLineNumber,o=e.endColumn,s=this.getTabSize(),a="",u=n;u<=r;u++){var c=this.model.getLineTokens(u),l=c.getLineContent(),d=u===n?i-1:0,h=u===r?o-1:l.length;a+=""===l?"
    ":Object(ui.a)(l,c.inflate(),t,d,h,s)}return a},t.prototype._getColorMap=function(){var e=Kt.y.getColorMap(),t=["#000000"];if(e)for(var n=1,i=e.length;n=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},qi=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Gi=0,Zi="showUnused",Yi=function(){function e(e,t,n,i,r,o){this.model=e,this.viewModel=t,this.cursor=n,this.view=i,this.hasRealView=r,this.listenersToRemove=o}return e.prototype.dispose=function(){Object(u.f)(this.listenersToRemove),this.model.onBeforeDetached(),this.hasRealView&&this.view.dispose(),this.cursor.dispose(),this.viewModel.dispose()},e}(),Xi=function(e){function t(t,n,i,r,o,u,c,l,h,f){var p,g=e.call(this)||this;g._onDidDispose=g._register(new a.a),g.onDidDispose=g._onDidDispose.event,g._onDidChangeModelContent=g._register(new a.a),g.onDidChangeModelContent=g._onDidChangeModelContent.event,g._onDidChangeModelLanguage=g._register(new a.a),g.onDidChangeModelLanguage=g._onDidChangeModelLanguage.event,g._onDidChangeModelLanguageConfiguration=g._register(new a.a),g.onDidChangeModelLanguageConfiguration=g._onDidChangeModelLanguageConfiguration.event,g._onDidChangeModelOptions=g._register(new a.a),g.onDidChangeModelOptions=g._onDidChangeModelOptions.event,g._onDidChangeModelDecorations=g._register(new a.a),g.onDidChangeModelDecorations=g._onDidChangeModelDecorations.event,g._onDidChangeConfiguration=g._register(new a.a),g.onDidChangeConfiguration=g._onDidChangeConfiguration.event,g._onDidChangeModel=g._register(new a.a),g.onDidChangeModel=g._onDidChangeModel.event,g._onDidChangeCursorPosition=g._register(new a.a),g.onDidChangeCursorPosition=g._onDidChangeCursorPosition.event,g._onDidChangeCursorSelection=g._register(new a.a),g.onDidChangeCursorSelection=g._onDidChangeCursorSelection.event,g._onDidAttemptReadOnlyEdit=g._register(new a.a),g.onDidAttemptReadOnlyEdit=g._onDidAttemptReadOnlyEdit.event,g._onDidLayoutChange=g._register(new a.a),g.onDidLayoutChange=g._onDidLayoutChange.event,g._editorTextFocus=g._register(new $i),g.onDidFocusEditorText=g._editorTextFocus.onDidChangeToTrue,g.onDidBlurEditorText=g._editorTextFocus.onDidChangeToFalse,g._editorWidgetFocus=g._register(new $i),g.onDidFocusEditorWidget=g._editorWidgetFocus.onDidChangeToTrue,g.onDidBlurEditorWidget=g._editorWidgetFocus.onDidChangeToFalse,g._onWillType=g._register(new a.a),g.onWillType=g._onWillType.event,g._onDidType=g._register(new a.a),g.onDidType=g._onDidType.event,g._onCompositionStart=g._register(new a.a),g.onCompositionStart=g._onCompositionStart.event,g._onCompositionEnd=g._register(new a.a),g.onCompositionEnd=g._onCompositionEnd.event,g._onDidPaste=g._register(new a.a),g.onDidPaste=g._onDidPaste.event,g._onMouseUp=g._register(new a.a),g.onMouseUp=g._onMouseUp.event,g._onMouseDown=g._register(new a.a),g.onMouseDown=g._onMouseDown.event,g._onMouseDrag=g._register(new a.a),g.onMouseDrag=g._onMouseDrag.event,g._onMouseDrop=g._register(new a.a),g.onMouseDrop=g._onMouseDrop.event,g._onContextMenu=g._register(new a.a),g.onContextMenu=g._onContextMenu.event,g._onMouseMove=g._register(new a.a),g.onMouseMove=g._onMouseMove.event,g._onMouseLeave=g._register(new a.a),g.onMouseLeave=g._onMouseLeave.event,g._onMouseWheel=g._register(new a.a),g.onMouseWheel=g._onMouseWheel.event,g._onKeyUp=g._register(new a.a),g.onKeyUp=g._onKeyUp.event,g._onKeyDown=g._register(new a.a),g.onKeyDown=g._onKeyDown.event,g._onDidScrollChange=g._register(new a.a),g.onDidScrollChange=g._onDidScrollChange.event,g._onDidChangeViewZones=g._register(new a.a),g.onDidChangeViewZones=g._onDidChangeViewZones.event,g._domElement=t,g._id=++Gi,g._decorationTypeKeysToIds={},g._decorationTypeSubtypes={},g.isSimpleWidget=i.isSimpleWidget||!1,g._telemetryData=i.telemetryData,n=n||{},g._configuration=g._register(g._createConfiguration(n,f)),g._register(g._configuration.onDidChange(function(e){g._onDidChangeConfiguration.fire(e),e.layoutInfo&&g._onDidLayoutChange.fire(g._configuration.editor.layoutInfo),g._configuration.editor.showUnused?g._domElement.classList.add(Zi):g._domElement.classList.remove(Zi)})),g._contextKeyService=g._register(c.createScoped(g._domElement)),g._notificationService=h,g._codeEditorService=o,g._commandService=u,g._themeService=l,g._register(new Ji(g,g._contextKeyService)),g._register(new Qi(g,g._contextKeyService)),g._instantiationService=r.createChild(new Bi.a([ji.c,g._contextKeyService])),g._modelData=null,g._contributions={},g._actions={},g._focusTracker=new er(t),g._focusTracker.onChange(function(){g._editorWidgetFocus.setValue(g._focusTracker.hasFocus())}),g._contentWidgets={},g._overlayWidgets={};for(var m=0,v=(p=Array.isArray(i.contributions)?i.contributions:d.d.getEditorContributions()).length;m1),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(Boolean(e&&e.canUndo())),this._canRedo.set(Boolean(e&&e.canRedo()))},t}(u.a),Qi=function(e){function t(t,n){var i=e.call(this)||this;i._editor=t,i._contextKeyService=n,i._langId=ai.a.languageId.bindTo(n),i._hasCompletionItemProvider=ai.a.hasCompletionItemProvider.bindTo(n),i._hasCodeActionsProvider=ai.a.hasCodeActionsProvider.bindTo(n),i._hasCodeLensProvider=ai.a.hasCodeLensProvider.bindTo(n),i._hasDefinitionProvider=ai.a.hasDefinitionProvider.bindTo(n),i._hasDeclarationProvider=ai.a.hasDeclarationProvider.bindTo(n),i._hasImplementationProvider=ai.a.hasImplementationProvider.bindTo(n),i._hasTypeDefinitionProvider=ai.a.hasTypeDefinitionProvider.bindTo(n),i._hasHoverProvider=ai.a.hasHoverProvider.bindTo(n),i._hasDocumentHighlightProvider=ai.a.hasDocumentHighlightProvider.bindTo(n),i._hasDocumentSymbolProvider=ai.a.hasDocumentSymbolProvider.bindTo(n),i._hasReferenceProvider=ai.a.hasReferenceProvider.bindTo(n),i._hasRenameProvider=ai.a.hasRenameProvider.bindTo(n),i._hasSignatureHelpProvider=ai.a.hasSignatureHelpProvider.bindTo(n),i._hasDocumentFormattingProvider=ai.a.hasDocumentFormattingProvider.bindTo(n),i._hasDocumentSelectionFormattingProvider=ai.a.hasDocumentSelectionFormattingProvider.bindTo(n),i._hasMultipleDocumentFormattingProvider=ai.a.hasMultipleDocumentFormattingProvider.bindTo(n),i._hasMultipleDocumentSelectionFormattingProvider=ai.a.hasMultipleDocumentSelectionFormattingProvider.bindTo(n),i._isInWalkThrough=ai.a.isInEmbeddedEditor.bindTo(n);var r=function(){return i._update()};return i._register(t.onDidChangeModel(r)),i._register(t.onDidChangeModelLanguage(r)),i._register(Kt.d.onDidChange(r)),i._register(Kt.a.onDidChange(r)),i._register(Kt.b.onDidChange(r)),i._register(Kt.f.onDidChange(r)),i._register(Kt.e.onDidChange(r)),i._register(Kt.o.onDidChange(r)),i._register(Kt.z.onDidChange(r)),i._register(Kt.n.onDidChange(r)),i._register(Kt.i.onDidChange(r)),i._register(Kt.k.onDidChange(r)),i._register(Kt.s.onDidChange(r)),i._register(Kt.t.onDidChange(r)),i._register(Kt.g.onDidChange(r)),i._register(Kt.j.onDidChange(r)),i._register(Kt.v.onDidChange(r)),r(),i}return Ui(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.reset=function(){var e=this;this._contextKeyService.bufferChangeEvents(function(){e._langId.reset(),e._hasCompletionItemProvider.reset(),e._hasCodeActionsProvider.reset(),e._hasCodeLensProvider.reset(),e._hasDefinitionProvider.reset(),e._hasDeclarationProvider.reset(),e._hasImplementationProvider.reset(),e._hasTypeDefinitionProvider.reset(),e._hasHoverProvider.reset(),e._hasDocumentHighlightProvider.reset(),e._hasDocumentSymbolProvider.reset(),e._hasReferenceProvider.reset(),e._hasRenameProvider.reset(),e._hasDocumentFormattingProvider.reset(),e._hasDocumentSelectionFormattingProvider.reset(),e._hasSignatureHelpProvider.reset(),e._isInWalkThrough.reset()})},t.prototype._update=function(){var e=this,t=this._editor.getModel();t?this._contextKeyService.bufferChangeEvents(function(){e._langId.set(t.getLanguageIdentifier().language),e._hasCompletionItemProvider.set(Kt.d.has(t)),e._hasCodeActionsProvider.set(Kt.a.has(t)),e._hasCodeLensProvider.set(Kt.b.has(t)),e._hasDefinitionProvider.set(Kt.f.has(t)),e._hasDeclarationProvider.set(Kt.e.has(t)),e._hasImplementationProvider.set(Kt.o.has(t)),e._hasTypeDefinitionProvider.set(Kt.z.has(t)),e._hasHoverProvider.set(Kt.n.has(t)),e._hasDocumentHighlightProvider.set(Kt.i.has(t)),e._hasDocumentSymbolProvider.set(Kt.k.has(t)),e._hasReferenceProvider.set(Kt.s.has(t)),e._hasRenameProvider.set(Kt.t.has(t)),e._hasSignatureHelpProvider.set(Kt.v.has(t)),e._hasDocumentFormattingProvider.set(Kt.g.has(t)||Kt.j.has(t)),e._hasDocumentSelectionFormattingProvider.set(Kt.j.has(t)),e._hasMultipleDocumentFormattingProvider.set(Kt.g.all(t).length+Kt.j.all(t).length>1),e._hasMultipleDocumentSelectionFormattingProvider.set(Kt.j.all(t).length>1),e._isInWalkThrough.set(t.uri.scheme===c.b.walkThroughSnippet)}):this.reset()},t}(u.a),er=function(e){function t(t){var n=e.call(this)||this;return n._onChange=n._register(new a.a),n.onChange=n._onChange.event,n._hasFocus=!1,n._domFocusTracker=n._register(o.S(t)),n._register(n._domFocusTracker.onDidFocus(function(){n._hasFocus=!0,n._onChange.fire(void 0)})),n._register(n._domFocusTracker.onDidBlur(function(){n._hasFocus=!1,n._onChange.fire(void 0)})),n}return Ui(t,e),t.prototype.hasFocus=function(){return this._hasFocus},t}(u.a),tr=encodeURIComponent("");function ir(e){return tr+encodeURIComponent(e.toString())+nr}var rr=encodeURIComponent('');Object(V.f)(function(e,t){var n=e.getColor(Qt.p);n&&t.addRule(".monaco-editor .squiggly-error { border-bottom: 4px double "+n+"; }");var i=e.getColor(Qt.q);i&&t.addRule('.monaco-editor .squiggly-error { background: url("data:image/svg+xml,'+ir(i)+'") repeat-x bottom left; }');var r=e.getColor(Qt.L);r&&t.addRule(".monaco-editor .squiggly-warning { border-bottom: 4px double "+r+"; }");var o=e.getColor(Qt.M);o&&t.addRule('.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,'+ir(o)+'") repeat-x bottom left; }');var s=e.getColor(Qt.F);s&&t.addRule(".monaco-editor .squiggly-info { border-bottom: 4px double "+s+"; }");var a=e.getColor(Qt.G);a&&t.addRule('.monaco-editor .squiggly-info { background: url("data:image/svg+xml,'+ir(a)+'") repeat-x bottom left; }');var u=e.getColor(Qt.y);u&&t.addRule(".monaco-editor .squiggly-hint { border-bottom: 2px dotted "+u+"; }");var c=e.getColor(Qt.z);c&&t.addRule('.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,'+(rr+encodeURIComponent(c.toString())+or)+'") no-repeat bottom left; }');var l=e.getColor(Ee.o);l&&t.addRule("."+Zi+" .monaco-editor .squiggly-inline-unnecessary { opacity: "+l.rgba.a+"; }");var d=e.getColor(Ee.n);d&&t.addRule("."+Zi+" .monaco-editor .squiggly-unnecessary { border-bottom: 2px dashed "+d+"; }");var h=e.getColor(Qt.x)||"inherit";t.addRule(".monaco-editor .squiggly-inline-deprecated { text-decoration: line-through; text-decoration-color: "+h+"}")})},vbff:function(e,t,n){"use strict";var i;n.d(t,"a",function(){return i}),function(e){function t(e,t){if(e.start>=t.end||t.start>=e.end)return{start:0,end:0};var n=Math.max(e.start,t.start),i=Math.min(e.end,t.end);return i-n<=0?{start:0,end:0}:{start:n,end:i}}function n(e){return e.end-e.start<=0}e.intersect=t,e.isEmpty=n,e.intersects=function(e,i){return!n(t(e,i))},e.relativeComplement=function(e,t){var i=[],r={start:e.start,end:Math.min(t.start,e.end)},o={start:Math.max(t.end,e.start),end:e.end};return n(r)||i.push(r),n(o)||i.push(o),i}}(i||(i={}))},vugd:function(e,t,n){var i=n("3UtB").Reporter,r=n("3UtB").EncoderBuffer,o=n("3UtB").DecoderBuffer,s=n("08Lv"),a=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],u=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(a);function c(e,t){var n={};this._baseState=n,n.enc=e,n.parent=t||null,n.children=null,n.tag=null,n.args=null,n.reverseArgs=null,n.choice=null,n.optional=!1,n.any=!1,n.obj=!1,n.use=null,n.useDecoder=null,n.key=null,n.default=null,n.explicit=null,n.implicit=null,n.contains=null,n.parent||(n.children=[],this._wrap())}e.exports=c;var l=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];c.prototype.clone=function(){var e=this._baseState,t={};l.forEach(function(n){t[n]=e[n]});var n=new this.constructor(t.parent);return n._baseState=t,n},c.prototype._wrap=function(){var e=this._baseState;u.forEach(function(t){this[t]=function(){var n=new this.constructor(this);return e.children.push(n),n[t].apply(n,arguments)}},this)},c.prototype._init=function(e){var t=this._baseState;s(null===t.parent),e.call(this),t.children=t.children.filter(function(e){return e._baseState.parent===this},this),s.equal(t.children.length,1,"Root node can have only one child")},c.prototype._useArgs=function(e){var t=this._baseState,n=e.filter(function(e){return e instanceof this.constructor},this);e=e.filter(function(e){return!(e instanceof this.constructor)},this),0!==n.length&&(s(null===t.children),t.children=n,n.forEach(function(e){e._baseState.parent=this},this)),0!==e.length&&(s(null===t.args),t.args=e,t.reverseArgs=e.map(function(e){if("object"!=typeof e||e.constructor!==Object)return e;var t={};return Object.keys(e).forEach(function(n){n==(0|n)&&(n|=0);var i=e[n];t[i]=n}),t}))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach(function(e){c.prototype[e]=function(){var t=this._baseState;throw new Error(e+" not implemented for encoding: "+t.enc)}}),a.forEach(function(e){c.prototype[e]=function(){var t=this._baseState,n=Array.prototype.slice.call(arguments);return s(null===t.tag),t.tag=e,this._useArgs(n),this}}),c.prototype.use=function(e){s(e);var t=this._baseState;return s(null===t.use),t.use=e,this},c.prototype.optional=function(){return this._baseState.optional=!0,this},c.prototype.def=function(e){var t=this._baseState;return s(null===t.default),t.default=e,t.optional=!0,this},c.prototype.explicit=function(e){var t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.explicit=e,this},c.prototype.implicit=function(e){var t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.implicit=e,this},c.prototype.obj=function(){var e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},c.prototype.key=function(e){var t=this._baseState;return s(null===t.key),t.key=e,this},c.prototype.any=function(){return this._baseState.any=!0,this},c.prototype.choice=function(e){var t=this._baseState;return s(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map(function(t){return e[t]})),this},c.prototype.contains=function(e){var t=this._baseState;return s(null===t.use),t.contains=e,this},c.prototype._decode=function(e,t){var n=this._baseState;if(null===n.parent)return e.wrapResult(n.children[0]._decode(e,t));var i,r=n.default,s=!0,a=null;if(null!==n.key&&(a=e.enterKey(n.key)),n.optional){var u=null;if(null!==n.explicit?u=n.explicit:null!==n.implicit?u=n.implicit:null!==n.tag&&(u=n.tag),null!==u||n.any){if(s=this._peekTag(e,u,n.any),e.isError(s))return s}else{var c=e.save();try{null===n.choice?this._decodeGeneric(n.tag,e,t):this._decodeChoice(e,t),s=!0}catch(e){s=!1}e.restore(c)}}if(n.obj&&s&&(i=e.enterObject()),s){if(null!==n.explicit){var l=this._decodeTag(e,n.explicit);if(e.isError(l))return l;e=l}var d=e.offset;if(null===n.use&&null===n.choice){if(n.any)c=e.save();var h=this._decodeTag(e,null!==n.implicit?n.implicit:n.tag,n.any);if(e.isError(h))return h;n.any?r=e.raw(c):e=h}if(t&&t.track&&null!==n.tag&&t.track(e.path(),d,e.length,"tagged"),t&&t.track&&null!==n.tag&&t.track(e.path(),e.offset,e.length,"content"),r=n.any?r:null===n.choice?this._decodeGeneric(n.tag,e,t):this._decodeChoice(e,t),e.isError(r))return r;if(n.any||null!==n.choice||null===n.children||n.children.forEach(function(n){n._decode(e,t)}),n.contains&&("octstr"===n.tag||"bitstr"===n.tag)){var f=new o(r);r=this._getUse(n.contains,e._reporterState.obj)._decode(f,t)}}return n.obj&&s&&(r=e.leaveObject(i)),null===n.key||null===r&&!0!==s?null!==a&&e.exitKey(a):e.leaveKey(a,n.key,r),r},c.prototype._decodeGeneric=function(e,t,n){var i=this._baseState;return"seq"===e||"set"===e?null:"seqof"===e||"setof"===e?this._decodeList(t,e,i.args[0],n):/str$/.test(e)?this._decodeStr(t,e,n):"objid"===e&&i.args?this._decodeObjid(t,i.args[0],i.args[1],n):"objid"===e?this._decodeObjid(t,null,null,n):"gentime"===e||"utctime"===e?this._decodeTime(t,e,n):"null_"===e?this._decodeNull(t,n):"bool"===e?this._decodeBool(t,n):"objDesc"===e?this._decodeStr(t,e,n):"int"===e||"enum"===e?this._decodeInt(t,i.args&&i.args[0],n):null!==i.use?this._getUse(i.use,t._reporterState.obj)._decode(t,n):t.error("unknown tag: "+e)},c.prototype._getUse=function(e,t){var n=this._baseState;return n.useDecoder=this._use(e,t),s(null===n.useDecoder._baseState.parent),n.useDecoder=n.useDecoder._baseState.children[0],n.implicit!==n.useDecoder._baseState.implicit&&(n.useDecoder=n.useDecoder.clone(),n.useDecoder._baseState.implicit=n.implicit),n.useDecoder},c.prototype._decodeChoice=function(e,t){var n=this._baseState,i=null,r=!1;return Object.keys(n.choice).some(function(o){var s=e.save(),a=n.choice[o];try{var u=a._decode(e,t);if(e.isError(u))return!1;i={type:o,value:u},r=!0}catch(t){return e.restore(s),!1}return!0},this),r?i:e.error("Choice not matched")},c.prototype._createEncoderBuffer=function(e){return new r(e,this.reporter)},c.prototype._encode=function(e,t,n){var i=this._baseState;if(null===i.default||i.default!==e){var r=this._encodeValue(e,t,n);if(void 0!==r&&!this._skipDefault(r,t,n))return r}},c.prototype._encodeValue=function(e,t,n){var r=this._baseState;if(null===r.parent)return r.children[0]._encode(e,t||new i);var o=null;if(this.reporter=t,r.optional&&void 0===e){if(null===r.default)return;e=r.default}var s=null,a=!1;if(r.any)o=this._createEncoderBuffer(e);else if(r.choice)o=this._encodeChoice(e,t);else if(r.contains)s=this._getUse(r.contains,n)._encode(e,t),a=!0;else if(r.children)s=r.children.map(function(n){if("null_"===n._baseState.tag)return n._encode(null,t,e);if(null===n._baseState.key)return t.error("Child should have a key");var i=t.enterKey(n._baseState.key);if("object"!=typeof e)return t.error("Child expected, but input is not object");var r=n._encode(e[n._baseState.key],t,e);return t.leaveKey(i),r},this).filter(function(e){return e}),s=this._createEncoderBuffer(s);else if("seqof"===r.tag||"setof"===r.tag){if(!r.args||1!==r.args.length)return t.error("Too many args for : "+r.tag);if(!Array.isArray(e))return t.error("seqof/setof, but data is not Array");var u=this.clone();u._baseState.implicit=null,s=this._createEncoderBuffer(e.map(function(n){var i=this._baseState;return this._getUse(i.args[0],e)._encode(n,t)},u))}else null!==r.use?o=this._getUse(r.use,n)._encode(e,t):(s=this._encodePrimitive(r.tag,e),a=!0);if(!r.any&&null===r.choice){var c=null!==r.implicit?r.implicit:r.tag,l=null===r.implicit?"universal":"context";null===c?null===r.use&&t.error("Tag could be omitted only for .use()"):null===r.use&&(o=this._encodeComposite(c,a,l,s))}return null!==r.explicit&&(o=this._encodeComposite(r.explicit,!1,"context",o)),o},c.prototype._encodeChoice=function(e,t){var n=this._baseState,i=n.choice[e.type];return i||s(!1,e.type+" not found in "+JSON.stringify(Object.keys(n.choice))),i._encode(e.value,t)},c.prototype._encodePrimitive=function(e,t){var n=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);if("objid"===e&&n.args)return this._encodeObjid(t,n.reverseArgs[0],n.args[1]);if("objid"===e)return this._encodeObjid(t,null,null);if("gentime"===e||"utctime"===e)return this._encodeTime(t,e);if("null_"===e)return this._encodeNull();if("int"===e||"enum"===e)return this._encodeInt(t,n.args&&n.reverseArgs[0]);if("bool"===e)return this._encodeBool(t);if("objDesc"===e)return this._encodeStr(t,e);throw new Error("Unsupported tag: "+e)},c.prototype._isNumstr=function(e){return/^[0-9 ]*$/.test(e)},c.prototype._isPrintstr=function(e){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(e)}},vzCy:function(e,t,n){"use strict";var i,r="object"==typeof Reflect?Reflect:null,o=r&&"function"==typeof r.apply?r.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};i=r&&"function"==typeof r.ownKeys?r.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 u=10;function c(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function l(e,t,n,i){var r,o,s,a;if("function"!=typeof n)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof n);if(void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),s=o[t]),void 0===s)s=o[t]=n,++e._eventsCount;else if("function"==typeof s?s=o[t]=i?[n,s]:[s,n]:i?s.unshift(n):s.push(n),(r=c(e))>0&&s.length>r&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=s.length,a=u,console&&console.warn&&console.warn(a)}return e}function d(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},r=function(){for(var e=[],t=0;t0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var u=r[e];if(void 0===u)return!1;if("function"==typeof u)o(u,this,t);else{var c=u.length,l=p(u,c);for(n=0;n=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,r=o;break}if(r<0)return this;0===r?n.shift():function(e,t){for(;t+1=0;i--)this.removeListener(e,t[i]);return this},a.prototype.listeners=function(e){return h(this,e,!0)},a.prototype.rawListeners=function(e){return h(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):f.call(e,t)},a.prototype.listenerCount=f,a.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},wV8Z:function(e,t,n){"use strict";t.d=function(e){var t=[];for(var n in e)i.call(e,n)&&t.push(e[n]);return t},t.b=function(e){for(var t in e)if(i.call(e,t))return e[t];return},t.c=function(e,t){var n=function(n){if(i.call(e,n)){var r=t({key:n,value:e[n]},function(){delete e[n]});if(!1===r)return{value:void 0}}};for(var r in e){var o=n(r);if("object"==typeof o)return o.value}},n.d(t,"a",function(){return r});var i=Object.prototype.hasOwnProperty;var r=function(){function e(){this.map=new Map}return e.prototype.add=function(e,t){var n=this.map.get(e);n||(n=new Set,this.map.set(e,n)),n.add(t)},e.prototype.delete=function(e,t){var n=this.map.get(e);n&&(n.delete(t),0===n.size&&this.map.delete(e))},e.prototype.forEach=function(e,t){var n=this.map.get(e);n&&n.forEach(t)},e}()},wrMp:function(e,t,n){"use strict";var i=n("tRuz"),r=n("lZ6o"),o=n("geuY"),s=n("LC74"),a=i.base,u=r.utils.assert;function c(e){a.call(this,"short",e),this.a=new o(e.a,16).toRed(this.red),this.b=new o(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function l(e,t,n,i){a.BasePoint.call(this,e,"affine"),null===t&&null===n?(this.x=null,this.y=null,this.inf=!0):(this.x=new o(t,16),this.y=new o(n,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function d(e,t,n,i){a.BasePoint.call(this,e,"jacobian"),null===t&&null===n&&null===i?(this.x=this.curve.one,this.y=this.curve.one,this.z=new o(0)):(this.x=new o(t,16),this.y=new o(n,16),this.z=new o(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}s(c,a),e.exports=c,c.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,n;if(e.beta)t=new o(e.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);t=(t=i[0].cmp(i[1])<0?i[0]:i[1]).toRed(this.red)}if(e.lambda)n=new o(e.lambda,16);else{var r=this._getEndoRoots(this.n);0===this.g.mul(r[0]).x.cmp(this.g.x.redMul(t))?n=r[0]:(n=r[1],u(0===this.g.mul(n).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:n,basis:e.basis?e.basis.map(function(e){return{a:new o(e.a,16),b:new o(e.b,16)}}):this._getEndoBasis(n)}}},c.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:o.mont(e),n=new o(2).toRed(t).redInvm(),i=n.redNeg(),r=new o(3).toRed(t).redNeg().redSqrt().redMul(n);return[i.redAdd(r).fromRed(),i.redSub(r).fromRed()]},c.prototype._getEndoBasis=function(e){for(var t,n,i,r,s,a,u,c,l,d=this.n.ushrn(Math.floor(this.n.bitLength()/2)),h=e,f=this.n.clone(),p=new o(1),g=new o(0),m=new o(0),v=new o(1),_=0;0!==h.cmpn(0);){var b=f.div(h);c=f.sub(b.mul(h)),l=m.sub(b.mul(p));var y=v.sub(b.mul(g));if(!i&&c.cmp(d)<0)t=u.neg(),n=p,i=c.neg(),r=l;else if(i&&2==++_)break;u=c,f=h,h=c,m=p,p=l,v=g,g=y}s=c.neg(),a=l;var w=i.sqr().add(r.sqr());return s.sqr().add(a.sqr()).cmp(w)>=0&&(s=t,a=n),i.negative&&(i=i.neg(),r=r.neg()),s.negative&&(s=s.neg(),a=a.neg()),[{a:i,b:r},{a:s,b:a}]},c.prototype._endoSplit=function(e){var t=this.endo.basis,n=t[0],i=t[1],r=i.b.mul(e).divRound(this.n),o=n.b.neg().mul(e).divRound(this.n),s=r.mul(n.a),a=o.mul(i.a),u=r.mul(n.b),c=o.mul(i.b);return{k1:e.sub(s).sub(a),k2:u.add(c).neg()}},c.prototype.pointFromX=function(e,t){(e=new o(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),i=n.redSqrt();if(0!==i.redSqr().redSub(n).cmp(this.zero))throw new Error("invalid point");var r=i.fromRed().isOdd();return(t&&!r||!t&&r)&&(i=i.redNeg()),this.point(e,i)},c.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,n=e.y,i=this.a.redMul(t),r=t.redSqr().redMul(t).redIAdd(i).redIAdd(this.b);return 0===n.redSqr().redISub(r).cmpn(0)},c.prototype._endoWnafMulAdd=function(e,t,n){for(var i=this._endoWnafT1,r=this._endoWnafT2,o=0;o":""},l.prototype.isInfinity=function(){return this.inf},l.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var n=t.redSqr().redISub(this.x).redISub(e.x),i=t.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,i)},l.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,n=this.x.redSqr(),i=e.redInvm(),r=n.redAdd(n).redIAdd(n).redIAdd(t).redMul(i),o=r.redSqr().redISub(this.x.redAdd(this.x)),s=r.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},l.prototype.getX=function(){return this.x.fromRed()},l.prototype.getY=function(){return this.y.fromRed()},l.prototype.mul=function(e){return e=new o(e,16),this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},l.prototype.mulAdd=function(e,t,n){var i=[this,t],r=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(i,r):this.curve._wnafMulAdd(1,i,r,2)},l.prototype.jmulAdd=function(e,t,n){var i=[this,t],r=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(i,r,!0):this.curve._wnafMulAdd(1,i,r,2,!0)},l.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},l.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,i=function(e){return e.neg()};t.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(i)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(i)}}}return t},l.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},s(d,a.BasePoint),c.prototype.jpoint=function(e,t,n){return new d(this,e,t,n)},d.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),n=this.x.redMul(t),i=this.y.redMul(t).redMul(e);return this.curve.point(n,i)},d.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},d.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),n=this.z.redSqr(),i=this.x.redMul(t),r=e.x.redMul(n),o=this.y.redMul(t.redMul(e.z)),s=e.y.redMul(n.redMul(this.z)),a=i.redSub(r),u=o.redSub(s);if(0===a.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=a.redSqr(),l=c.redMul(a),d=i.redMul(c),h=u.redSqr().redIAdd(l).redISub(d).redISub(d),f=u.redMul(d.redISub(h)).redISub(o.redMul(l)),p=this.z.redMul(e.z).redMul(a);return this.curve.jpoint(h,f,p)},d.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),n=this.x,i=e.x.redMul(t),r=this.y,o=e.y.redMul(t).redMul(this.z),s=n.redSub(i),a=r.redSub(o);if(0===s.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=s.redSqr(),c=u.redMul(s),l=n.redMul(u),d=a.redSqr().redIAdd(c).redISub(l).redISub(l),h=a.redMul(l.redISub(d)).redISub(r.redMul(c)),f=this.z.redMul(s);return this.curve.jpoint(d,h,f)},d.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,n=0;n=0)return!1;if(n.redIAdd(r),0===this.x.cmp(n))return!0}},d.prototype.inspect=function(){return this.isInfinity()?"":""},d.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},wtJh:function(e,t){},x0Ha:function(e,t,n){"use strict";var i=n("ypnx");function r(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var n=this,o=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return o||s?(t?t(e):!e||this._writableState&&this._writableState.errorEmitted||i.nextTick(r,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!t&&e?(i.nextTick(r,n,e),n._writableState&&(n._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)}}},x33M:function(e,t){},xF6g:function(e,t){},xJaW:function(e,t,n){"use strict";n.d(t,"b",function(){return o}),n.d(t,"a",function(){return s});var i=n("JVO/"),r=n("7g0X"),o=Object(i.c)("accessibilityService"),s=new r.d("accessibilityModeEnabled",!1)},xgy6:function(e,t,n){"use strict";(function(e){n.d(t,"a",function(){return o}),n.d(t,"b",function(){return s}),n.d(t,"c",function(){return a});var i=n("ZfGv"),r=void 0===e?{cwd:function(){return"/"},env:Object.create(null),get platform(){return i.g?"win32":i.d?"darwin":"linux"},nextTick:function(e){return Object(i.h)(e)}}:e,o=r.cwd,s=r.env,a=r.platform}).call(t,n("W2nU"))},xteI:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"ContextMenuController",function(){return v});var i,r=n("hK2W"),o=n("7/Cv"),s=n("IG52"),a=n("tqet"),u=n("03Zz"),c=n("/9db"),l=n("C3c5"),d=n("7g0X"),h=n("yO/1"),f=n("NqM+"),p=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),g=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},v=function(){function e(e,t,n,i,r,o){var s=this;this._contextMenuService=t,this._contextViewService=n,this._contextKeyService=i,this._keybindingService=r,this._menuService=o,this._toDispose=new a.b,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(function(e){return s._onContextMenu(e)})),this._toDispose.add(this._editor.onMouseWheel(function(e){s._contextMenuIsBeingShownCount>0&&s._contextViewService.hideContextView()})),this._toDispose.add(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.hasModel()){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));if(12!==e.target.type&&(e.event.preventDefault(),6===e.target.type||7===e.target.type||1===e.target.type)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);var t=null;1!==e.target.type&&(t={x:e.event.posx-1,width:2,y:e.event.posy-1,height:2}),this.showContextMenu(t)}}},e.prototype.showContextMenu=function(e){if(this._editor.getConfiguration().contribInfo.contextmenu&&this._editor.hasModel())if(this._contextMenuService){var t=this._getMenuActions(this._editor.getModel());t.length>0&&this._doShowContextMenu(t,e)}else this._editor.focus()},e.prototype._getMenuActions=function(e){var t=[],n=this._menuService.createMenu(7,this._contextKeyService),i=n.getActions({arg:e.uri});n.dispose();for(var r=0,o=i;r0&&this._contextViewService.hideContextView(),this._toDispose.dispose()},e.ID="editor.contrib.contextmenu",e=g([m(1,h.a),m(2,h.b),m(3,d.c),m(4,f.a),m(5,l.a)],e)}(),_=function(e){function t(){return e.call(this,{id:"editor.action.showContextMenu",label:r.a("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:c.a.textInputFocus,primary:1092,weight:100}})||this}return p(t,e),t.prototype.run=function(e,t){v.get(t).showContextMenu()},t}(u.b);Object(u.h)(v),Object(u.f)(_)},y3Fb:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,r=n("hK2W"),o=n("03Zz"),s=n("G8r4"),a=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),u=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomIn",label:r.a("EditorFontZoomIn.label","Editor Font Zoom In"),alias:"Editor Font Zoom In",precondition:void 0})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(s.a.getZoomLevel()+1)},t}(o.b),c=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomOut",label:r.a("EditorFontZoomOut.label","Editor Font Zoom Out"),alias:"Editor Font Zoom Out",precondition:void 0})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(s.a.getZoomLevel()-1)},t}(o.b),l=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomReset",label:r.a("EditorFontZoomReset.label","Editor Font Zoom Reset"),alias:"Editor Font Zoom Reset",precondition:void 0})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(0)},t}(o.b);Object(o.f)(u),Object(o.f)(c),Object(o.f)(l)},yDvu:function(e,t,n){"use strict";var i=n("X3l8").Buffer,r=n("9DG0").Transform;function o(e){r.call(this),this._block=i.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}n("LC74")(o,r),o.prototype._transform=function(e,t,n){var i=null;try{this.update(e,t)}catch(e){i=e}n(i)},o.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(e){t=e}e(t)},o.prototype.update=function(e,t){if(function(e,t){if(!i.isBuffer(e)&&"string"!=typeof e)throw new TypeError(t+" must be a string or a buffer")}(e,"Data"),this._finalized)throw new Error("Digest already called");i.isBuffer(e)||(e=i.from(e,t));for(var n=this._block,r=0;this._blockOffset+e.length-r>=this._blockSize;){for(var o=this._blockOffset;o0;++s)this._length[s]+=a,(a=this._length[s]/4294967296|0)>0&&(this._length[s]-=4294967296*a);return this},o.prototype._update=function(){throw new Error("_update is not implemented")},o.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();void 0!==e&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var n=0;n<4;++n)this._length[n]=0;return t},o.prototype._digest=function(){throw new Error("_digest is not implemented")},e.exports=o},yMmo:function(e,t,n){"use strict";var i=n("geuY"),r=n("lZ6o").utils.assert;function o(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}e.exports=o,o.fromPublic=function(e,t,n){return t instanceof o?t:new o(e,{pub:t,pubEnc:n})},o.fromPrivate=function(e,t,n){return t instanceof o?t:new o(e,{priv:t,privEnc:n})},o.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},o.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},o.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},o.prototype._importPrivate=function(e,t){this.priv=new i(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?r(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||r(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},o.prototype.derive=function(e){return e.mul(this.priv).getX()},o.prototype.sign=function(e,t,n){return this.ec.sign(e,this,t,n)},o.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},o.prototype.inspect=function(){return""}},yNY4:function(e,t,n){"use strict";function i(e){return(e/8|0)+(e%8==0?0:1)}var r={ES256:i(256),ES384:i(384),ES512:i(521)};e.exports=function(e){var t=r[e];if(t)return t;throw new Error('Unknown algorithm "'+e+'"')}},"yO/1":function(e,t,n){"use strict";n.d(t,"b",function(){return r}),n.d(t,"a",function(){return o});var i=n("JVO/"),r=Object(i.c)("contextViewService"),o=Object(i.c)("contextMenuService")},ygb1:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("X6iQ"),r=n("80kS"),o=n("uNfg"),s=n("tqet"),a=n("03Zz"),u=n("vORD"),c=n("GfE5"),l=n("vTy2"),d=n("/9db"),h=n("PCC9"),f=n("606G"),p=n("UqCF"),g=n("zxiH"),m=n("mrx5"),v=n("4tuZ"),_=n("P1SM"),b=n("artP"),y=n("iHM7"),w=n("jIdl"),C=n("0WPX"),S=function(){function e(){}return e._handleEolEdits=function(e,t){for(var n=void 0,i=[],r=0,o=t;r0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},z=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},U=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},K=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]1)){var n=this._editor.getModel(),r=this._editor.getPosition(),o=!1,s=this._editor.onDidChangeModelContent(function(e){if(e.isFlush)return o=!0,void s.dispose();for(var t=0,n=e.changes.length;t1||this._instantiationService.invokeFunction(T,this.editor,e,2,r.a.None).catch(g.e))},e.ID="editor.contrib.formatOnPaste",e=H([z(1,O.a)],e)}(),Y=function(e){function t(){return e.call(this,{id:"editor.action.formatDocument",label:x.a("formatDocument.label","Format Document"),alias:"Format Document",precondition:B.a.and(d.a.writable,d.a.hasDocumentFormattingProvider),kbOpts:{kbExpr:B.a.and(d.a.editorTextFocus,d.a.hasDocumentFormattingProvider),primary:1572,linux:{primary:3111},weight:100},menuOpts:{when:d.a.hasDocumentFormattingProvider,group:"1_modification",order:1.3}})||this}return V(t,e),t.prototype.run=function(e,t){return U(this,void 0,void 0,function(){return K(this,function(n){switch(n.label){case 0:return t.hasModel()?[4,e.get(O.a).invokeFunction(A,t,1,r.a.None)]:[3,2];case 1:n.sent(),n.label=2;case 2:return[2]}})})},t}(a.b),X=function(e){function t(){return e.call(this,{id:"editor.action.formatSelection",label:x.a("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:B.a.and(d.a.writable,d.a.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:B.a.and(d.a.editorTextFocus,d.a.hasDocumentSelectionFormattingProvider),primary:Object(o.a)(2089,2084),weight:100},menuOpts:{when:B.a.and(d.a.hasDocumentSelectionFormattingProvider,d.a.hasNonEmptySelection),group:"1_modification",order:1.31}})||this}return V(t,e),t.prototype.run=function(e,t){return U(this,void 0,void 0,function(){var n,i,o;return K(this,function(s){switch(s.label){case 0:return t.hasModel()?(n=e.get(O.a),i=t.getModel(),(o=t.getSelection()).isEmpty()&&(o=new l.a(o.startLineNumber,1,o.startLineNumber,i.getLineMaxColumn(o.startLineNumber))),[4,n.invokeFunction(T,t,o,1,r.a.None)]):[2];case 1:return s.sent(),[2]}})})},t}(a.b);Object(a.h)(G),Object(a.h)(Z),Object(a.f)(Y),Object(a.f)(X),W.a.registerCommand("editor.action.format",function(e){return U(q,void 0,void 0,function(){var t,n;return K(this,function(i){switch(i.label){case 0:return(t=e.get(u.a).getFocusedCodeEditor())&&t.hasModel()?(n=e.get(W.b),t.getSelection().isEmpty()?[4,n.executeCommand("editor.action.formatDocument")]:[3,2]):[2];case 1:return i.sent(),[3,4];case 2:return[4,n.executeCommand("editor.action.formatSelection")];case 3:i.sent(),i.label=4;case 4:return[2]}})})})},ypnx:function(e,t,n){"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,n,i,r){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var o,s,a=arguments.length;switch(a){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick(function(){e.call(null,n)});case 3:return t.nextTick(function(){e.call(null,n,i)});case 4:return t.nextTick(function(){e.call(null,n,i,r)});default:for(o=new Array(a-1),s=0;s>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function h(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function f(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}i(u,r),u.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},u.prototype._update=function(e){for(var t,n=this._w,i=0|this._a,r=0|this._b,o=0|this._c,a=0|this._d,u=0|this._e,p=0|this._f,g=0|this._g,m=0|this._h,v=0;v<16;++v)n[v]=e.readInt32BE(4*v);for(;v<64;++v)n[v]=0|(((t=n[v-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+n[v-7]+f(n[v-15])+n[v-16];for(var _=0;_<64;++_){var b=m+h(u)+c(u,p,g)+s[_]+n[_]|0,y=d(i)+l(i,r,o)|0;m=g,g=p,p=u,u=a+b|0,a=o,o=r,r=i,i=b+y|0}this._a=i+this._a|0,this._b=r+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=u+this._e|0,this._f=p+this._f|0,this._g=g+this._g|0,this._h=m+this._h|0},u.prototype._hash=function(){var e=o.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=u},zwZj:function(e,t,n){"use strict";n("3Clc");var i,r=n("03Zz"),o=n("0ly5"),s=n("7/Cv"),a=(n("2ZBE"),n("hK2W")),u=n("ZfGv"),c=n("KIxu"),l=function(){function e(e){this.modelProvider=Object(c.f)(e.getModel)?e:{getModel:function(){return e}}}return e.prototype.getId=function(e,t){if(!t)return null;var n=this.modelProvider.getModel();return n===t?"__root__":n.dataSource.getId(t)},e.prototype.hasChildren=function(e,t){var n=this.modelProvider.getModel();return!!(n&&n===t&&n.entries.length>0)},e.prototype.getChildren=function(e,t){var n=this.modelProvider.getModel();return Promise.resolve(n===t?n.entries:[])},e.prototype.getParent=function(e,t){return Promise.resolve(null)},e}(),d=function(){function e(e){this.modelProvider=e}return e.prototype.getAriaLabel=function(e,t){var n=this.modelProvider.getModel();return n.accessibilityProvider?n.accessibilityProvider.getAriaLabel(t):null},e.prototype.getPosInSet=function(e,t){var n=this.modelProvider.getModel(),i=0;if(n.filter)for(var r=0,o=n.entries;r=0;t--){var n=this._arr[t];if(e.toChord().equals(n.keybinding))return n.callback}return null},e}(),_=function(){function e(e){var t=this;void 0===e&&(e={clickBehavior:0,keyboardSupport:!0,openMode:0}),this.options=e,this.downKeyBindingDispatcher=new v,this.upKeyBindingDispatcher=new v,("boolean"!=typeof e.keyboardSupport||e.keyboardSupport)&&(this.downKeyBindingDispatcher.set(16,function(e,n){return t.onUp(e,n)}),this.downKeyBindingDispatcher.set(18,function(e,n){return t.onDown(e,n)}),this.downKeyBindingDispatcher.set(15,function(e,n){return t.onLeft(e,n)}),this.downKeyBindingDispatcher.set(17,function(e,n){return t.onRight(e,n)}),u.d&&(this.downKeyBindingDispatcher.set(2064,function(e,n){return t.onLeft(e,n)}),this.downKeyBindingDispatcher.set(300,function(e,n){return t.onDown(e,n)}),this.downKeyBindingDispatcher.set(302,function(e,n){return t.onUp(e,n)})),this.downKeyBindingDispatcher.set(11,function(e,n){return t.onPageUp(e,n)}),this.downKeyBindingDispatcher.set(12,function(e,n){return t.onPageDown(e,n)}),this.downKeyBindingDispatcher.set(14,function(e,n){return t.onHome(e,n)}),this.downKeyBindingDispatcher.set(13,function(e,n){return t.onEnd(e,n)}),this.downKeyBindingDispatcher.set(10,function(e,n){return t.onSpace(e,n)}),this.downKeyBindingDispatcher.set(9,function(e,n){return t.onEscape(e,n)}),this.upKeyBindingDispatcher.set(3,this.onEnter.bind(this)),this.upKeyBindingDispatcher.set(2051,this.onEnter.bind(this)))}return e.prototype.onMouseDown=function(e,t,n,i){if(void 0===i&&(i="mouse"),0===this.options.clickBehavior&&(n.leftButton||n.middleButton)){if(n.target){if(n.target.tagName&&"input"===n.target.tagName.toLowerCase())return!1;if(s.t(n.target,"scrollbar","monaco-tree"))return!1;if(s.t(n.target,"monaco-action-bar","row"))return!1}return this.onLeftClick(e,t,n,i)}return!1},e.prototype.onClick=function(e,t,n){return u.d&&n.ctrlKey?(n.preventDefault(),n.stopPropagation(),!1):(!n.target||!n.target.tagName||"input"!==n.target.tagName.toLowerCase())&&((0!==this.options.clickBehavior||!n.leftButton&&!n.middleButton)&&this.onLeftClick(e,t,n))},e.prototype.onLeftClick=function(e,t,n,i){void 0===i&&(i="mouse");var r=n,o={origin:i,originalEvent:n,didClickOnTwistie:this.isClickOnTwistie(r)};e.getInput()===t?(e.clearFocus(o),e.clearSelection(o)):(n&&r.browserEvent&&"mousedown"===r.browserEvent.type&&1===r.browserEvent.detail||n.preventDefault(),n.stopPropagation(),e.domFocus(),e.setSelection([t],o),e.setFocus(t,o),this.shouldToggleExpansion(t,r,i)&&(e.isExpanded(t)?e.collapse(t).then(void 0,g.e):e.expand(t).then(void 0,g.e)));return!0},e.prototype.shouldToggleExpansion=function(e,t,n){var i="mouse"===n&&2===t.detail;return this.openOnSingleClick||i||this.isClickOnTwistie(t)},Object.defineProperty(e.prototype,"openOnSingleClick",{get:function(){return 0===this.options.openMode},enumerable:!0,configurable:!0}),e.prototype.isClickOnTwistie=function(e){var t=e.target;if(!s.C(t,"content"))return!1;var n=window.getComputedStyle(t,":before");if("none"===n.backgroundImage||"none"===n.display)return!1;var i=parseInt(n.width)+parseInt(n.paddingRight);return e.browserEvent.offsetX<=i},e.prototype.onContextMenu=function(e,t,n){return(!n.target||!n.target.tagName||"input"!==n.target.tagName.toLowerCase())&&(n&&(n.preventDefault(),n.stopPropagation()),!1)},e.prototype.onTap=function(e,t,n){var i=n.initialTarget;return(!i||!i.tagName||"input"!==i.tagName.toLowerCase())&&this.onLeftClick(e,t,n,"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,n){var i=e.dispatch(n.toKeybinding());return!(!i||!i(t,n))&&(n.preventDefault(),n.stopPropagation(),!0)},e.prototype.onUp=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusPrevious(1,n),e.reveal(e.getFocus()).then(void 0,g.e)),!0},e.prototype.onPageUp=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusPreviousPage(n),e.reveal(e.getFocus()).then(void 0,g.e)),!0},e.prototype.onDown=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusNext(1,n),e.reveal(e.getFocus()).then(void 0,g.e)),!0},e.prototype.onPageDown=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusNextPage(n),e.reveal(e.getFocus()).then(void 0,g.e)),!0},e.prototype.onHome=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusFirst(n),e.reveal(e.getFocus()).then(void 0,g.e)),!0},e.prototype.onEnd=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusLast(n),e.reveal(e.getFocus()).then(void 0,g.e)),!0},e.prototype.onLeft=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())e.clearHighlight(n);else{var i=e.getFocus();e.collapse(i).then(function(t){if(i&&!t)return e.focusParent(n),e.reveal(e.getFocus())}).then(void 0,g.e)}return!0},e.prototype.onRight=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())e.clearHighlight(n);else{var i=e.getFocus();e.expand(i).then(function(t){if(i&&!t)return e.focusFirstChild(n),e.reveal(e.getFocus())}).then(void 0,g.e)}return!0},e.prototype.onEnter=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())return!1;var i=e.getFocus();return i&&e.setSelection([i],n),!0},e.prototype.onSpace=function(e,t){if(e.getHighlight())return!1;var n=e.getFocus();return n&&e.toggleExpansion(n),!0},e.prototype.onEscape=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?(e.clearHighlight(n),!0):e.getSelection().length?(e.clearSelection(n),!0):!!e.getFocus()&&(e.clearFocus(n),!0)},e}(),b=function(){function e(){}return e.prototype.getDragURI=function(e,t){return null},e.prototype.onDragStart=function(e,t,n){},e.prototype.onDragOver=function(e,t,n,i){return null},e.prototype.drop=function(e,t,n,i){},e}(),y=function(){function e(){}return e.prototype.isVisible=function(e,t){return!0},e}(),w=function(){function e(){}return e.prototype.getAriaLabel=function(e,t){return null},e}(),C=function(){function e(e,t){this.styleElement=e,this.selectorSuffix=t}return e.prototype.style=function(e){var t=this.selectorSuffix?"."+this.selectorSuffix:"",n=[];e.listFocusBackground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { background-color: "+e.listFocusBackground+"; }"),e.listFocusForeground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { color: "+e.listFocusForeground+"; }"),e.listActiveSelectionBackground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+e.listActiveSelectionBackground+"; }"),e.listActiveSelectionForeground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+e.listActiveSelectionForeground+"; }"),e.listFocusAndSelectionBackground&&n.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&&n.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&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+e.listInactiveSelectionBackground+"; }"),e.listInactiveSelectionForeground&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+e.listInactiveSelectionForeground+"; }"),e.listHoverBackground&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { background-color: "+e.listHoverBackground+"; }"),e.listHoverForeground&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { color: "+e.listHoverForeground+"; }"),e.listDropBackground&&n.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&&n.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 i=n.join("\n");i!==this.styleElement.innerHTML&&(this.styleElement.innerHTML=i)},e}(),S=n("5TlO"),x=n("tqet"),L=n("Kp7x"),O=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),k=function(){function e(e){this._onDispose=new L.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=void 0)},e}(),N=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 n=this,i=this.getLock(e);return i?new Promise(function(r,o){L.b.once(i.onDispose)(function(){return n.run(e,t).then(r,o)})}):new Promise(function(i,r){if(e.isDisposed())return r(new Error("Item is disposed."));var o=n.locks[e.id]=new k(e);return t().then(function(t){return delete n.locks[e.id],o.dispose(),t}).then(i,r)})},e.prototype.getLock=function(e){var t;for(t in this.locks){var n=this.locks[t];if(e.intersects(n.item))return n}return null},e}(),E=function(){function e(){this._isDisposed=!1,this._onDidRevealItem=new L.d,this.onDidRevealItem=this._onDidRevealItem.event,this._onExpandItem=new L.d,this.onExpandItem=this._onExpandItem.event,this._onDidExpandItem=new L.d,this.onDidExpandItem=this._onDidExpandItem.event,this._onCollapseItem=new L.d,this.onCollapseItem=this._onCollapseItem.event,this._onDidCollapseItem=new L.d,this.onDidCollapseItem=this._onDidCollapseItem.event,this._onDidAddTraitItem=new L.d,this.onDidAddTraitItem=this._onDidAddTraitItem.event,this._onDidRemoveTraitItem=new L.d,this.onDidRemoveTraitItem=this._onDidRemoveTraitItem.event,this._onDidRefreshItem=new L.d,this.onDidRefreshItem=this._onDidRefreshItem.event,this._onRefreshItemChildren=new L.d,this.onRefreshItemChildren=this._onRefreshItemChildren.event,this._onDidRefreshItemChildren=new L.d,this.onDidRefreshItemChildren=this._onDidRefreshItemChildren.event,this._onDidDisposeItem=new L.d,this.onDidDisposeItem=this._onDidDisposeItem.event,this.items={}}return e.prototype.register=function(e){S.a(!this.isRegistered(e.id),"item already registered: "+e.id);var t=Object(x.e)(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){S.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}(),I=function(){function e(e,t,n,i,r){this._onDidCreate=new L.a,this._onDidReveal=new L.a,this.onDidReveal=this._onDidReveal.event,this._onExpand=new L.a,this.onExpand=this._onExpand.event,this._onDidExpand=new L.a,this.onDidExpand=this._onDidExpand.event,this._onCollapse=new L.a,this.onCollapse=this._onCollapse.event,this._onDidCollapse=new L.a,this.onDidCollapse=this._onDidCollapse.event,this._onDidAddTrait=new L.a,this.onDidAddTrait=this._onDidAddTrait.event,this._onDidRemoveTrait=new L.a,this.onDidRemoveTrait=this._onDidRemoveTrait.event,this._onDidRefresh=new L.a,this.onDidRefresh=this._onDidRefresh.event,this._onRefreshChildren=new L.a,this.onRefreshChildren=this._onRefreshChildren.event,this._onDidRefreshChildren=new L.a,this.onDidRefreshChildren=this._onDidRefreshChildren.event,this._onDidDispose=new L.a,this.onDidDispose=this._onDidDispose.event,this.registry=t,this.context=n,this.lock=i,this.element=r,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,r)),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)?Promise.resolve(!1):this.lock.run(this,function(){if(e.isExpanded()||!e.doesHaveChildren)return Promise.resolve(!1);var t={item:e};return e._onExpand.fire(t),(e.needsChildrenRefresh?e.refreshChildren(!1,!0,!0):Promise.resolve(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 n=Promise.resolve(null);return this.forEachChild(function(e){n=n.then(function(){return e.collapse(!0)})}),n.then(function(){return t.collapse(!1)})}return!this.isExpanded()||this.lock.isLocked(this)?Promise.resolve(!1):this.lock.run(this,function(){var e={item:t};return t._onCollapse.fire(e),t._setExpanded(!1),t._onDidCollapse.fire(e),Promise.resolve(!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,n,i){var r=this;if(void 0===n&&(n=!1),void 0===i&&(i=!1),!i&&!this.isExpanded()){var o=function(e){e.needsChildrenRefresh=!0,e.forEachChild(o)};return o(this),Promise.resolve(this)}this.needsChildrenRefresh=!1;var s=function(){var i={item:r,isNested:n};return r._onRefreshChildren.fire(i),(r.doesHaveChildren?r.context.dataSource.getChildren(r.context.tree,r.element):Promise.resolve([])).then(function(n){if(r.isDisposed()||r.registry.isDisposed())return Promise.resolve(null);if(!Array.isArray(n))return Promise.reject(new Error("Please return an array of children."));n=n?n.slice(0):[],n=r.sort(n);for(var i={};null!==r.firstChild;)i[r.firstChild.id]=r.firstChild,r.removeChild(r.firstChild);for(var o=0,s=n.length;o=0;r--)this.onInsertItem(c[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,n=null,i=null,r=0,o=0;n=e.next();){if(r=this.indexes[n],!(t=this.heightMap[r]))return void console.error("view item doesnt exist");o-=t.height,delete this.indexes[n],this.onRemoveItem(t),null===i&&(i=r)}if(0!==o&&null!==i)for(this.heightMap.splice(i,r-i+1),r=i;r=n.top+n.height))return t;if(i===t)break;i=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=[],this.indexes={}},e}(),q=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),G=function(){function e(e,t,n){this._posx=e,this._posy=t,this._target=n}return e.prototype.preventDefault=function(){},e.prototype.stopPropagation=function(){},Object.defineProperty(e.prototype,"target",{get:function(){return this._target},enumerable:!0,configurable:!0}),e}(),Z=function(e){function t(t){var n=e.call(this,t.posx,t.posy,t.target)||this;return n.originalEvent=t,n}return q(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(G),Y=function(e){function t(t,n,i){var r=e.call(this,t,n,i.target)||this;return r.originalEvent=i,r}return q(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(G),X=n("VvfH"),$=n("odeJ"),J=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();var Q=function(){function e(e){this.context=e,this._cache={"":[]}}return e.prototype.alloc=function(e){var t=this.cache(e).pop();if(!t){var n=document.createElement("div");n.className="content";var i=document.createElement("div");i.appendChild(n);var r=null;try{r=this.context.renderer.renderTemplate(this.context.tree,e,n)}catch(e){console.error("Tree usage error: exception while rendering template"),console.error(e)}t={element:i,templateId:e,templateData:r}}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(n){e.context.renderer.disposeTemplate(e.context.tree,t,n.templateData),n.element=null,n.templateData=null}),delete e._cache[t]})},e.prototype.dispose=function(){this.garbageCollect(),this._cache=null},e}(),ee=function(){function e(e,t){var n=this;this.width=0,this.needsRender=!1,this.uri=null,this.unbindDragStart=x.a.None,this._draggable=!1,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 n._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 n=["monaco-tree-row"];n.push.apply(n,Object.keys(this._styles)),this.model.hasChildren()&&n.push("has-children"),this.element.className=n.join(" "),this.element.draggable=this.draggable,this.element.style.height=this.height+"px",this.element.setAttribute("role","treeitem");var i=this.context.accessibilityProvider,r=i.getAriaLabel(this.context.tree,this.model.getElement());if(r&&this.element.setAttribute("aria-label",r),i.getPosInSet&&i.getSetSize&&(this.element.setAttribute("aria-setsize",i.getSetSize()),this.element.setAttribute("aria-posinset",i.getPosInSet(this.context.tree,this.model.getElement()))),this.model.hasTrait("focused")){var o=F.H(this.model.id);this.element.setAttribute("aria-selected","true"),this.element.setAttribute("id",o)}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 a=this.context.dnd.getDragURI(this.context.tree,this.model.getElement());if(a!==this.uri&&(this.unbindDragStart&&this.unbindDragStart.dispose(),a?(this.uri=a,this.draggable=!0,this.unbindDragStart=s.h(this.element,"dragstart",function(e){t.onDragStart(e)})):this.uri=null),!e&&this.element){var u=0;if(this.context.horizontalScrolling){var c=window.getComputedStyle(this.element);u=parseFloat(c.paddingLeft)}this.context.horizontalScrolling&&(this.element.style.width="fit-content");try{this.context.renderer.renderElement(this.context.tree,this.model.getElement(),this.templateId,this.row.templateData)}catch(e){console.error("Tree usage error: exception while rendering element"),console.error(e)}this.context.horizontalScrolling&&(this.width=s.w(this.element)+u,this.element.style.width="")}}},e.prototype.insertInDOM=function(e,t){if(this.row||(this.row=this.context.cache.alloc(this.templateId),this.element[ne.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.dispose(),this.uri=null,this.element[ne.BINDING]=null,this.context.cache.release(this.templateId,this.row),this.row=null)},e.prototype.dispose=function(){this.row=null},e}(),te=function(e){function t(t,n,i){var r=e.call(this,t,n)||this;return r.row={element:i,templateData:null,templateId:null},r}return J(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}(ee);var ne=function(e){function t(n,i){var r=e.call(this)||this;r.model=null,r.lastPointerType="",r.lastClickTimeStamp=0,r.contentWidthUpdateDelayer=new $.a(50),r.isRefreshing=!1,r.refreshingPreviousChildrenIds={},r.currentDragAndDropData=null,r.currentDropTarget=null,r.currentDropTargets=null,r.currentDropDisposable=x.a.None,r.dragAndDropScrollInterval=null,r.dragAndDropScrollTimeout=null,r.dragAndDropMouseY=null,r.highlightedItemWasDraggable=!1,r.onHiddenScrollTop=null,r._onDOMFocus=new L.a,r.onDOMFocus=r._onDOMFocus.event,r._onDOMBlur=new L.a,r._onDidScroll=new L.a,t.counter++,r.instance=t.counter;var o=void 0===n.options.horizontalScrollMode?2:n.options.horizontalScrollMode;r.horizontalScrolling=2!==o,r.context={dataSource:n.dataSource,renderer:n.renderer,controller:n.controller,dnd:n.dnd,filter:n.filter,sorter:n.sorter,tree:n.tree,accessibilityProvider:n.accessibilityProvider,options:n.options,cache:new Q(n),horizontalScrolling:r.horizontalScrolling},r.modelListeners=[],r.viewListeners=[],r.items={},r.domNode=document.createElement("div"),r.domNode.className="monaco-tree no-focused-item monaco-tree-instance-"+r.instance,r.domNode.tabIndex=n.options.preventRootFocus?-1:0,r.styleElement=s.s(r.domNode),r.treeStyler=n.styler||new C(r.styleElement,"monaco-tree-instance-"+r.instance),r.domNode.setAttribute("role","tree"),r.context.options.ariaLabel&&r.domNode.setAttribute("aria-label",r.context.options.ariaLabel),r.context.options.alwaysFocused&&s.f(r.domNode,"focused"),r.context.options.paddingOnRow||s.f(r.domNode,"no-row-padding"),r.wrapper=document.createElement("div"),r.wrapper.className="monaco-tree-wrapper",r.scrollableElement=new U.b(r.wrapper,{alwaysConsumeMouseWheel:!0,horizontal:o,vertical:void 0!==n.options.verticalScrollMode?n.options.verticalScrollMode:1,useShadows:n.options.useShadows}),r.scrollableElement.onScroll(function(e){r.render(e.scrollTop,e.height,e.scrollLeft,e.width,e.scrollWidth),r._onDidScroll.fire()}),P.j?(r.wrapper.style.msTouchAction="none",r.wrapper.style.msContentZooming="none"):R.b.addTarget(r.wrapper),r.rowsContainer=document.createElement("div"),r.rowsContainer.className="monaco-tree-rows",n.options.showTwistie&&(r.rowsContainer.className+=" show-twisties");var a=s.S(r.domNode);return r.viewListeners.push(a.onDidFocus(function(){return r.onFocus()})),r.viewListeners.push(a.onDidBlur(function(){return r.onBlur()})),r.viewListeners.push(a),r.viewListeners.push(s.h(r.domNode,"keydown",function(e){return r.onKeyDown(e)})),r.viewListeners.push(s.h(r.domNode,"keyup",function(e){return r.onKeyUp(e)})),r.viewListeners.push(s.h(r.domNode,"mousedown",function(e){return r.onMouseDown(e)})),r.viewListeners.push(s.h(r.domNode,"mouseup",function(e){return r.onMouseUp(e)})),r.viewListeners.push(s.h(r.wrapper,"auxclick",function(e){e&&1===e.button&&r.onMouseMiddleClick(e)})),r.viewListeners.push(s.h(r.wrapper,"click",function(e){return r.onClick(e)})),r.viewListeners.push(s.h(r.domNode,"contextmenu",function(e){return r.onContextMenu(e)})),r.viewListeners.push(s.h(r.wrapper,R.a.Tap,function(e){return r.onTap(e)})),r.viewListeners.push(s.h(r.wrapper,R.a.Change,function(e){return r.onTouchChange(e)})),P.j&&(r.viewListeners.push(s.h(r.wrapper,"MSPointerDown",function(e){return r.onMsPointerDown(e)})),r.viewListeners.push(s.h(r.wrapper,"MSGestureTap",function(e){return r.onMsGestureTap(e)})),r.viewListeners.push(s.j(r.wrapper,"MSGestureChange",function(e){return r.onThrottledMsGestureChange(e)},function(e,t){t.stopPropagation(),t.preventDefault();var n={translationY:t.translationY,translationX:t.translationX};return e&&(n.translationY+=e.translationY,n.translationX+=e.translationX),n}))),r.viewListeners.push(s.h(window,"dragover",function(e){return r.onDragOver(e)})),r.viewListeners.push(s.h(r.wrapper,"drop",function(e){return r.onDrop(e)})),r.viewListeners.push(s.h(window,"dragend",function(e){return r.onDragEnd(e)})),r.viewListeners.push(s.h(window,"dragleave",function(e){return r.onDragOver(e)})),r.wrapper.appendChild(r.rowsContainer),r.domNode.appendChild(r.scrollableElement.getDomNode()),i.appendChild(r.domNode),r.lastRenderTop=0,r.lastRenderHeight=0,r.didJustPressContextMenuKey=!1,r.currentDropTarget=null,r.currentDropTargets=[],r.shouldInvalidateDropReaction=!1,r.dragAndDropScrollInterval=null,r.dragAndDropScrollTimeout=null,r.onRowsChanged(),r.layout(),r.setupMSGesture(),r.applyStyles(n.options),r}return J(t,e),t.prototype.applyStyles=function(e){this.treeStyler.style(e)},t.prototype.createViewItem=function(e){return new ee(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||s.v(this.wrapper),this.scrollHeight=this.getContentHeight(),this.horizontalScrolling&&(this.viewWidth=t||s.w(this.wrapper)))},t.prototype.render=function(e,t,n,i,r){var o,s,a=e,u=e+t,c=this.lastRenderTop+this.lastRenderHeight;for(o=this.indexAfter(u)-1,s=this.indexAt(Math.max(c,a));o>=s;o--)this.insertItemInDOM(this.itemAtIndex(o));for(o=Math.min(this.indexAt(this.lastRenderTop),this.indexAfter(u))-1,s=this.indexAt(a);o>=s;o--)this.insertItemInDOM(this.itemAtIndex(o));for(o=this.indexAt(this.lastRenderTop),s=Math.min(this.indexAt(a),this.indexAfter(c));o1e3,c=[],l=!1;if(!u)l=(c=new A.a({getLength:function(){return r.length},getElementAtIndex:function(e){return r[e]}},{getLength:function(){return o.length},getElementAtIndex:function(e){return o[e].id}},null).ComputeDiff(!1)).some(function(e){if(e.modifiedLength>0)for(var n=e.modifiedStart,i=e.modifiedStart+e.modifiedLength;n0&&this.onRemoveItems(new z.a(r,f.originalStart,f.originalStart+f.originalLength)),f.modifiedLength>0){var p=o[f.modifiedStart-1]||n;p=p.getDepth()>0?p:null,this.onInsertItems(new z.a(o,f.modifiedStart,f.modifiedStart+f.modifiedLength),p?p.id:null)}}else(u||c.length)&&(this.onRemoveItems(new z.a(r)),this.onInsertItems(new z.a(o),n.getDepth()>0?n.id:null));(u||c.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,n=this.items[t.id];if(n){n.expanded=!0;var i=this.onInsertItems(t.getNavigator(),t.id)||0,r=this.scrollTop;n.top+n.height<=this.scrollTop&&(r+=i),this.onRowsChanged(r)}},t.prototype.onItemCollapsing=function(e){var t=e.item,n=this.items[t.id];n&&(n.expanded=!1,this.onRemoveItems(new z.e(t.getNavigator(),function(e){return e&&e.id})),this.onRowsChanged())},t.prototype.onItemReveal=function(e){var t=e.item,n=e.relativeTop,i=this.items[t.id];if(i)if(null!==n){n=(n=n<0?0:n)>1?1:n;var r=i.height-this.viewHeight;this.scrollTop=r*n+i.top}else{var o=i.top+i.height,s=this.scrollTop+this.viewHeight;i.top=s&&(this.scrollTop=o-this.viewHeight)}},t.prototype.onItemAddTrait=function(e){var t=e.item,n=e.trait,i=this.items[t.id];i&&i.addClass(n),"highlighted"===n&&(s.f(this.domNode,n),i&&(this.highlightedItemWasDraggable=!!i.draggable,i.draggable&&(i.draggable=!1)))},t.prototype.onItemRemoveTrait=function(e){var t=e.item,n=e.trait,i=this.items[t.id];i&&i.removeClass(n),"highlighted"===n&&(s.I(this.domNode,n),this.highlightedItemWasDraggable&&(i.draggable=!0),this.highlightedItemWasDraggable=!1)},t.prototype.onModelFocusChange=function(){var e=this.model&&this.model.getFocus();s.R(this.domNode,"no-focused-item",!e),e?this.domNode.setAttribute("aria-activedescendant",F.H(this.context.dataSource.getId(this.context.tree,e))):this.domNode.removeAttribute("aria-activedescendant")},t.prototype.onInsertItem=function(e){var t=this;e.onDragStart=function(n){t.onDragStart(e,n)},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 j.b(e),n=this.getItemAround(t.target);n&&(P.j&&Date.now()-this.lastClickTimeStamp<300&&(t.detail=2),this.lastClickTimeStamp=Date.now(),this.context.controller.onClick(this.context.tree,n.model.getElement(),t))}},t.prototype.onMouseMiddleClick=function(e){if(this.context.controller.onMouseMiddleClick){var t=new j.b(e),n=this.getItemAround(t.target);n&&this.context.controller.onMouseMiddleClick(this.context.tree,n.model.getElement(),t)}},t.prototype.onMouseDown=function(e){if(this.didJustPressContextMenuKey=!1,this.context.controller.onMouseDown&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new j.b(e);if(!(t.ctrlKey&&u.e&&u.d)){var n=this.getItemAround(t.target);n&&this.context.controller.onMouseDown(this.context.tree,n.model.getElement(),t)}}},t.prototype.onMouseUp=function(e){if(this.context.controller.onMouseUp&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new j.b(e);if(!(t.ctrlKey&&u.e&&u.d)){var n=this.getItemAround(t.target);n&&this.context.controller.onMouseUp(this.context.tree,n.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,n;if(e instanceof KeyboardEvent||this.didJustPressContextMenuKey){this.didJustPressContextMenuKey=!1;var i=new W.a(e),r=void 0;if(n=this.model.getFocus()){var o=this.context.dataSource.getId(this.context.tree,n),a=this.items[o];r=s.x(a.element)}else n=this.model.getInput(),r=s.x(this.inputItem.element);t=new Y(r.left+r.width,r.top,i)}else{var u=new j.b(e),c=this.getItemAround(u.target);if(!c)return;n=c.model.getElement(),t=new Z(u)}this.context.controller.onContextMenu(this.context.tree,n,t)},t.prototype.onKeyDown=function(e){var t=new W.a(e);this.didJustPressContextMenuKey=58===t.keyCode||t.shiftKey&&68===t.keyCode,t.target&&t.target.tagName&&"input"===t.target.tagName.toLowerCase()||(this.didJustPressContextMenuKey&&(t.preventDefault(),t.stopPropagation()),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 W.a(e))},t.prototype.onDragStart=function(e,t){if(!this.model.getHighlight()){var n,i=e.model.getElement(),r=this.model.getSelection();if(n=r.indexOf(i)>-1?r:[i],t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setData(X.a.RESOURCES,JSON.stringify([e.uri])),t.dataTransfer.setDragImage){var o=void 0;o=this.context.dnd.getDragLabel?this.context.dnd.getDragLabel(this.context.tree,n):String(n.length);var s=document.createElement("div");s.className="monaco-tree-drag-image",s.textContent=o,document.body.appendChild(s),t.dataTransfer.setDragImage(s,-10,-10),setTimeout(function(){return document.body.removeChild(s)},0)}this.currentDragAndDropData=new B(n),X.c.CurrentDragAndDropData=new V(n),this.context.dnd.onDragStart(this.context.tree,this.currentDragAndDropData,new j.a(t))}},t.prototype.setupDragAndDropScrollInterval=function(){var e=this,t=s.z(this.wrapper).top;this.dragAndDropScrollInterval||(this.dragAndDropScrollInterval=window.setInterval(function(){if(null!==e.dragAndDropMouseY){var n=e.dragAndDropMouseY-t,i=0,r=e.viewHeight-35;n<35?i=Math.max(-14,.2*(n-35)):n>r&&(i=Math.min(14,.2*(n-r))),e.scrollTop+=i}},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 t=this;e.preventDefault();var n,i=new j.a(e),r=this.getItemAround(i.target);if(!r||0===i.posx&&0===i.posy&&i.browserEvent.type===s.d.DRAG_LEAVE)return this.currentDropTarget&&(this.currentDropTargets.forEach(function(e){return e.dropTarget=!1}),this.currentDropTargets=[],this.currentDropDisposable.dispose()),this.cancelDragAndDropScrollInterval(),this.currentDropTarget=null,this.currentDropElement=null,this.dragAndDropMouseY=null,!1;if(this.setupDragAndDropScrollInterval(),this.dragAndDropMouseY=i.posy,!this.currentDragAndDropData)if(X.c.CurrentDragAndDropData)this.currentDragAndDropData=X.c.CurrentDragAndDropData;else{if(!i.dataTransfer.types)return!1;this.currentDragAndDropData=new H}this.currentDragAndDropData.update(i.browserEvent.dataTransfer);var o,a=r.model;do{if(n=a?a.getElement():this.model.getInput(),!(o=this.context.dnd.onDragOver(this.context.tree,this.currentDragAndDropData,n,i))||1!==o.bubble)break;a=a&&a.parent}while(a);if(!a)return this.currentDropElement=null,!1;var u=o&&o.accept;u?(this.currentDropElement=a.getElement(),i.preventDefault(),i.dataTransfer.dropEffect=0===o.effect?"copy":"move"):this.currentDropElement=null;var c,l,d=a.id===this.inputItem.id?this.inputItem:this.items[a.id];if((this.shouldInvalidateDropReaction||this.currentDropTarget!==d||(c=this.currentDropElementReaction,l=o,!(!c&&!l||c&&l&&c.accept===l.accept&&c.bubble===l.bubble&&c.effect===l.effect)))&&(this.shouldInvalidateDropReaction=!1,this.currentDropTarget&&(this.currentDropTargets.forEach(function(e){return e.dropTarget=!1}),this.currentDropTargets=[],this.currentDropDisposable.dispose()),this.currentDropTarget=d,this.currentDropElementReaction=o,u)){if(this.currentDropTarget&&(this.currentDropTarget.dropTarget=!0,this.currentDropTargets.push(this.currentDropTarget)),0===o.bubble)for(var h=a.getNavigator(),f=void 0;f=h.next();)(r=this.items[f.id])&&(r.dropTarget=!0,this.currentDropTargets.push(r));if(o.autoExpand){var p=Object($.l)(500);this.currentDropDisposable=x.h(function(){return p.cancel()}),p.then(function(){return t.context.tree.expand(t.currentDropElement)}).then(function(){return t.shouldInvalidateDropReaction=!0})}}return!0},t.prototype.onDrop=function(e){if(this.currentDropElement){var t=new j.a(e);t.preventDefault(),this.currentDragAndDropData.update(t.browserEvent.dataTransfer),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.currentDropDisposable.dispose(),this.cancelDragAndDropScrollInterval(),this.currentDragAndDropData=null,X.c.CurrentDragAndDropData=void 0,this.currentDropElement=null,this.currentDropTarget=null,this.dragAndDropMouseY=null},t.prototype.onFocus=function(){this.context.options.alwaysFocused||s.f(this.domNode,"focused"),this._onDOMFocus.fire()},t.prototype.onBlur=function(){this.context.options.alwaysFocused||s.I(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,n=this.itemAfter(e);n&&n.element&&(t=n.element),e.insertInDOM(this.rowsContainer,t)},t.prototype.removeItemFromDOM=function(e){e&&e.removeFromDOM()},t.prototype.shouldBeRendered=function(e){return e.topthis.lastRenderTop},t.prototype.getItemAround=function(e){var n=this.inputItem,i=e;do{if(i[t.BINDING]&&(n=i[t.BINDING]),i===this.wrapper||i===this.domNode)return n;if(i===this.scrollableElement.getDomNode()||i===document.body)return}while(i=i.parentElement)},t.prototype.releaseModel=function(){this.model&&(this.modelListeners=x.f(this.modelListeners),this.model=null)},t.prototype.dispose=function(){var t=this;this.scrollableElement.dispose(),this.releaseModel(),this.viewListeners=x.f(this.viewListeners),this._onDOMFocus.dispose(),this._onDOMBlur.dispose(),this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),this.items&&Object.keys(this.items).forEach(function(e){return t.items[e].removeFromDOM()}),this.context.cache&&this.context.cache.dispose(),e.prototype.dispose.call(this)},t.BINDING="monaco-tree-row",t.LOADING_DECORATION_DELAY=800,t.counter=0,t}(K),ie=n("TNPA"),re=n("TU7t"),oe=function(){return function(e,t,n){if(void 0===n&&(n={}),this.tree=e,this.configuration=t,this.options=n,!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 _({clickBehavior:1,keyboardSupport:"boolean"!=typeof n.keyboardSupport||n.keyboardSupport}),this.dnd=t.dnd||new b,this.filter=t.filter||new y,this.sorter=t.sorter,this.accessibilityProvider=t.accessibilityProvider||new w,this.styler=t.styler}}(),se={listFocusBackground:ie.a.fromHex("#073655"),listActiveSelectionBackground:ie.a.fromHex("#0E639C"),listActiveSelectionForeground:ie.a.fromHex("#FFFFFF"),listFocusAndSelectionBackground:ie.a.fromHex("#094771"),listFocusAndSelectionForeground:ie.a.fromHex("#FFFFFF"),listInactiveSelectionBackground:ie.a.fromHex("#3F3F46"),listHoverBackground:ie.a.fromHex("#2A2D2E"),listDropBackground:ie.a.fromHex("#383B3D")},ae=function(){function e(e,t,n){void 0===n&&(n={}),this._onDidChangeFocus=new L.f,this.onDidChangeFocus=this._onDidChangeFocus.event,this._onDidChangeSelection=new L.f,this.onDidChangeSelection=this._onDidChangeSelection.event,this._onHighlightChange=new L.f,this._onDidExpandItem=new L.f,this._onDidCollapseItem=new L.f,this._onDispose=new L.a,this.onDidDispose=this._onDispose.event,this.container=e,Object(re.g)(n,se,!1),n.twistiePixels="number"==typeof n.twistiePixels?n.twistiePixels:32,n.showTwistie=!1!==n.showTwistie,n.indentPixels="number"==typeof n.indentPixels?n.indentPixels:12,n.alwaysFocused=!0===n.alwaysFocused,n.useShadows=!1!==n.useShadows,n.paddingOnRow=!1!==n.paddingOnRow,n.showLoading=!1!==n.showLoading,this.context=new oe(this,t,n),this.model=new T(this.context),this.view=new ne(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.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}(),ue=(n("1O6n"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),ce={progressBarBackground:ie.a.fromHex("#0E70C0")},le=function(e){function t(t,n){var i=e.call(this)||this;return i.options=n||Object.create(null),Object(re.g)(i.options,ce,!1),i.workedVal=0,i.progressBarBackground=i.options.progressBarBackground,i._register(i.showDelayedScheduler=new $.d(function(){return Object(s.Q)(i.element)},0)),i.create(t),i}return ue(t,e),t.prototype.create=function(e){this.element=document.createElement("div"),Object(s.f)(this.element,"monaco-progress-container"),e.appendChild(this.element),this.bit=document.createElement("div"),Object(s.f)(this.bit,"progress-bit"),this.element.appendChild(this.bit),this.applyStyles()},t.prototype.off=function(){this.bit.style.width="inherit",this.bit.style.opacity="1",Object(s.J)(this.element,"active","infinite","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 Object(s.f)(this.element,"done"),Object(s.C)(this.element,"infinite")?(this.bit.style.opacity="0",e?setTimeout(function(){return t.off()},200):this.off()):(this.bit.style.width="inherit",e?setTimeout(function(){return t.off()},200):this.off()),this},t.prototype.hide=function(){Object(s.D)(this.element),this.showDelayedScheduler.cancel()},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}(x.a),de=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),he=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return de(t,e),t.prototype.onContextMenu=function(t,n,i){return u.d?this.onLeftClick(t,n,i):e.prototype.onContextMenu.call(this,t,n,i)},t}(_),fe={background:ie.a.fromHex("#1E1E1E"),foreground:ie.a.fromHex("#CCCCCC"),pickerGroupForeground:ie.a.fromHex("#0097FB"),pickerGroupBorder:ie.a.fromHex("#3F3F46"),widgetShadow:ie.a.fromHex("#000000"),progressBarBackground:ie.a.fromHex("#0E70C0")},pe=a.a("quickOpenAriaLabel","Quick picker. Type to narrow down results."),ge=function(e){function t(t,n,i){var r=e.call(this)||this;return r.isDisposed=!1,r.container=t,r.callbacks=n,r.options=i,r.styles=i||Object.create(null),Object(re.g)(r.styles,fe,!1),r.model=null,r}return de(t,e),t.prototype.getModel=function(){return this.model},t.prototype.create=function(){var e=this;this.element=document.createElement("div"),s.f(this.element,"monaco-quick-open-widget"),this.container.appendChild(this.element),this._register(s.h(this.element,s.d.CONTEXT_MENU,function(e){return s.c.stop(e,!0)})),this._register(s.h(this.element,s.d.FOCUS,function(t){return e.gainingFocus()},!0)),this._register(s.h(this.element,s.d.BLUR,function(t){return e.loosingFocus(t)},!0)),this._register(s.h(this.element,s.d.KEY_DOWN,function(t){var n=new W.a(t);if(9===n.keyCode)s.c.stop(t,!0),e.hide(2);else if(2===n.keyCode&&!n.altKey&&!n.ctrlKey&&!n.metaKey){var i=t.currentTarget.querySelectorAll("input, .monaco-tree, .monaco-tree-row.focused .action-label.icon");n.shiftKey&&n.target===i[0]?(s.c.stop(t,!0),i[i.length-1].focus()):n.shiftKey||n.target!==i[i.length-1]||(s.c.stop(t,!0),i[0].focus())}})),this.progressBar=this._register(new le(this.element,{progressBarBackground:this.styles.progressBarBackground})),this.progressBar.hide(),this.inputContainer=document.createElement("div"),s.f(this.inputContainer,"quick-open-input"),this.element.appendChild(this.inputContainer),this.inputBox=this._register(new p.b(this.inputContainer,void 0,{placeholder:this.options.inputPlaceHolder||"",ariaLabel:pe,inputBackground:this.styles.inputBackground,inputForeground:this.styles.inputForeground,inputBorder:this.styles.inputBorder,inputValidationInfoBackground:this.styles.inputValidationInfoBackground,inputValidationInfoForeground:this.styles.inputValidationInfoForeground,inputValidationInfoBorder:this.styles.inputValidationInfoBorder,inputValidationWarningBackground:this.styles.inputValidationWarningBackground,inputValidationWarningForeground:this.styles.inputValidationWarningForeground,inputValidationWarningBorder:this.styles.inputValidationWarningBorder,inputValidationErrorBackground:this.styles.inputValidationErrorBackground,inputValidationErrorForeground:this.styles.inputValidationErrorForeground,inputValidationErrorBorder:this.styles.inputValidationErrorBorder})),this.inputElement=this.inputBox.inputElement,this.inputElement.setAttribute("role","combobox"),this.inputElement.setAttribute("aria-haspopup","false"),this.inputElement.setAttribute("aria-autocomplete","list"),this._register(s.h(this.inputBox.inputElement,s.d.INPUT,function(t){return e.onType()})),this._register(s.h(this.inputBox.inputElement,s.d.KEY_DOWN,function(t){var n=new W.a(t),i=e.shouldOpenInBackground(n);if(2!==n.keyCode)if(18===n.keyCode||16===n.keyCode||12===n.keyCode||11===n.keyCode)s.c.stop(t,!0),e.navigateInTree(n.keyCode,n.shiftKey),e.inputBox.inputElement.selectionStart===e.inputBox.inputElement.selectionEnd&&(e.inputBox.inputElement.selectionStart=e.inputBox.value.length);else if(3===n.keyCode||i){s.c.stop(t,!0);var r=e.tree.getFocus();r&&e.elementSelected(r,t,i?2:1)}})),this.resultCount=document.createElement("div"),s.f(this.resultCount,"quick-open-result-count"),this.resultCount.setAttribute("aria-live","polite"),this.resultCount.setAttribute("aria-atomic","true"),this.element.appendChild(this.resultCount),this.treeContainer=document.createElement("div"),s.f(this.treeContainer,"quick-open-tree"),this.element.appendChild(this.treeContainer);var t=this.options.treeCreator||function(e,t,n){return new ae(e,t,n)};return this.tree=this._register(t(this.treeContainer,{dataSource:new l(this),controller:new he({clickBehavior:1,keyboardSupport:this.options.keyboardSupport}),renderer:this.renderer=new f(this,this.styles),filter:new h(this),accessibilityProvider:new d(this)},{twistiePixels:11,indentPixels:0,alwaysFocused:!0,verticalScrollMode:3,horizontalScrollMode:2,ariaLabel:a.a("treeAriaLabel","Quick Picker"),keyboardSupport:this.options.keyboardSupport,preventRootFocus:!1})),this.treeElement=this.tree.getHTMLElement(),this._register(this.tree.onDidChangeFocus(function(t){e.elementFocused(t.focus,t)})),this._register(this.tree.onDidChangeSelection(function(t){if(t.selection&&t.selection.length>0){var n=t.payload&&t.payload.originalEvent instanceof j.b?t.payload.originalEvent:void 0,i=!!n&&e.shouldOpenInBackground(n);e.elementSelected(t.selection[0],t,i?2:1)}})),this._register(s.h(this.treeContainer,s.d.KEY_DOWN,function(t){var n=new W.a(t);e.quickNavigateConfiguration&&(18!==n.keyCode&&16!==n.keyCode&&12!==n.keyCode&&11!==n.keyCode||(s.c.stop(t,!0),e.navigateInTree(n.keyCode)))})),this._register(s.h(this.treeContainer,s.d.KEY_UP,function(t){var n=new W.a(t),i=n.keyCode;if(e.quickNavigateConfiguration){var r=e.quickNavigateConfiguration.keybindings;if(3===i||r.some(function(e){var t=e.getParts(),r=t[0];return!t[1]&&(r.shiftKey&&4===i?!(n.ctrlKey||n.altKey||n.metaKey):!(!r.altKey||6!==i)||(!(!r.ctrlKey||5!==i)||!(!r.metaKey||57!==i)))})){var o=e.tree.getFocus();o&&e.elementSelected(o,t)}}})),this.layoutDimensions&&this.layout(this.layoutDimensions),this.applyStyles(),this._register(s.h(this.treeContainer,s.d.KEY_DOWN,function(t){var n=new W.a(t);e.quickNavigateConfiguration||18!==n.keyCode&&16!==n.keyCode&&12!==n.keyCode&&11!==n.keyCode||(s.c.stop(t,!0),e.navigateInTree(n.keyCode,n.shiftKey),e.treeElement.focus())})),this.element},t.prototype.style=function(e){this.styles=e,this.applyStyles()},t.prototype.applyStyles=function(){if(this.element){var e=this.styles.foreground?this.styles.foreground.toString():null,t=this.styles.background?this.styles.background.toString():null,n=this.styles.borderColor?this.styles.borderColor.toString():null,i=this.styles.widgetShadow?this.styles.widgetShadow.toString():null;this.element.style.color=e,this.element.style.backgroundColor=t,this.element.style.borderColor=n,this.element.style.borderWidth=n?"1px":null,this.element.style.borderStyle=n?"solid":null,this.element.style.boxShadow=i?"0 5px 8px "+i: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,inputValidationInfoForeground:this.styles.inputValidationInfoForeground,inputValidationInfoBorder:this.styles.inputValidationInfoBorder,inputValidationWarningBackground:this.styles.inputValidationWarningBackground,inputValidationWarningForeground:this.styles.inputValidationWarningForeground,inputValidationWarningBorder:this.styles.inputValidationWarningBorder,inputValidationErrorBackground:this.styles.inputValidationErrorBackground,inputValidationErrorForeground:this.styles.inputValidationErrorForeground,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?s.D(this.helpText):s.Q(this.helpText)),this.callbacks.onType(e)},t.prototype.navigateInTree=function(e,t){var n=this.tree.getInput(),i=n?n.entries:[],r=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 o=this.tree.getFocus();i.length>1&&r===o&&(16===e||2===e&&t?this.tree.focusLast():(18===e||2===e&&!t)&&this.tree.focusFirst()),(o=this.tree.getFocus())&&this.tree.reveal(o)},t.prototype.elementFocused=function(e,t){if(e&&this.isVisible()){var n=this.treeElement.getAttribute("aria-activedescendant");n?this.inputElement.setAttribute("aria-activedescendant",n):this.inputElement.removeAttribute("aria-activedescendant");var i={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};this.model.runner.run(e,0,i)}},t.prototype.elementSelected=function(e,t,n){var i=!0;if(this.isVisible()){var r=n||1,o={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};i=this.model.runner.run(e,r,o)}i&&this.hide(0)},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?(s.D(this.inputContainer),s.Q(this.element),this.tree.domFocus()):(s.Q(this.inputContainer),s.Q(this.element),this.inputBox.focus()),this.helpText&&(this.quickNavigateConfiguration||c.i(e)?s.D(this.helpText):s.Q(this.helpText)),c.i(e)?this.doShowWithPrefix(e):(t&&t.value&&this.restoreLastInput(t.value),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.restoreLastInput=function(e){this.inputBox.value=e,this.inputBox.select(),this.callbacks.onType(e)},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 n=this;this.treeContainer.style.height=this.getHeight(e)+"px",this.tree.setInput(null).then(function(){return n.model=e,n.inputElement.setAttribute("aria-haspopup",String(e&&e.entries&&e.entries.length>0)),n.tree.setInput(e)}).then(function(){n.tree.layout();var i=e?e.entries.filter(function(t){return n.isElementVisible(e,t)}):[];n.updateResultCount(i.length),i.length&&n.autoFocus(e,i,t)})},t.prototype.isElementVisible=function(e,t){return!e.filter||e.filter.isVisible(t)},t.prototype.autoFocus=function(e,t,n){if(void 0===n&&(n={}),n.autoFocusPrefixMatch){for(var i=void 0,r=void 0,o=n.autoFocusPrefixMatch,s=o.toLowerCase(),a=0,u=t;an.autoFocusIndex&&(this.tree.focusNth(n.autoFocusIndex),this.tree.reveal(this.tree.getFocus())):n.autoFocusSecondEntry?t.length>1&&this.tree.focusNth(1):n.autoFocusLastEntry&&t.length>1&&this.tree.focusLast()},t.prototype.getHeight=function(e){var n=this,i=e.renderer;if(!e){var r=i.getHeight(null);return this.options.minItemsToShow?this.options.minItemsToShow*r:0}var o,s=0;this.layoutDimensions&&this.layoutDimensions.height&&(o=.4*(this.layoutDimensions.height-50)),(!o||o>t.MAX_ITEMS_HEIGHT)&&(o=t.MAX_ITEMS_HEIGHT);for(var a=e.entries.filter(function(t){return n.isElementVisible(e,t)}),u=this.options.maxItemsToShow||a.length,c=0;c=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Ce=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Se=function(){function e(e,t){this.themeService=t,this.widget=null,this.rangeHighlightDecorationId=null,this.lastKnownEditorSelection=null,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 n=function(e){t.clearDecorations(),e&&t.lastKnownEditorSelection&&(t.editor.setSelection(t.lastKnownEditorSelection),t.editor.revealRangeInCenterIfOutsideViewport(t.lastKnownEditorSelection,0)),t.lastKnownEditorSelection=null,document.activeElement!==document.body&&e||t.editor.focus()};this.widget=new _e(this.editor,function(){return n(!1)},function(){return n(!0)},function(n){t.widget.setInput(e.getModel(n),e.getAutoFocus(n))},{inputAriaLabel:e.inputAriaLabel},this.themeService),this.lastKnownEditorSelection||(this.lastKnownEditorSelection=this.editor.getSelection()),this.widget.show("")},e.prototype.decorateLine=function(t,n){var i=[];this.rangeHighlightDecorationId&&(i.push(this.rangeHighlightDecorationId),this.rangeHighlightDecorationId=null);var r=[{range:t,options:e._RANGE_HIGHLIGHT_DECORATION}],o=n.deltaDecorations(i,r);this.rangeHighlightDecorationId=o[0]},e.prototype.clearDecorations=function(){this.rangeHighlightDecorationId&&(this.editor.deltaDecorations([this.rangeHighlightDecorationId],[]),this.rangeHighlightDecorationId=null)},e.ID="editor.controller.quickOpenController",e._RANGE_HIGHLIGHT_DECORATION=o.a.register({className:"rangeHighlight",isWholeLine:!0}),e=we([Ce(1,be.c)],e)}(),xe=function(e){function t(t,n){var i=e.call(this,n)||this;return i._inputAriaLabel=t,i}return ye(t,e),t.prototype.getController=function(e){return Se.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}(r.b);Object(r.h)(Se)},zxiH:function(e,t,n){"use strict";t.e=function(e){o(e)||i.onUnexpectedError(e);return},t.f=function(e){o(e)||i.onUnexpectedExternalError(e);return},t.g=function(e){if(e instanceof Error){var t=e.name,n=e.message,i=e.stacktrace||e.stack;return{$isError:!0,name:t,message:n,stack:i}}return e},t.d=o,t.a=function(){var e=new Error(r);return e.name=e.message,e},t.b=function(e){return e?new Error("Illegal argument: "+e):new Error("Illegal argument")},t.c=function(e){return e?new Error("Illegal state: "+e):new Error("Illegal state")};var i=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}());var r="Canceled";function o(e){return e instanceof Error&&e.name===r&&e.message===r}}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/20.308aa0fdf6653ef3299f.js b/apps/emqx_dashboard/priv/www/static/js/20.308aa0fdf6653ef3299f.js new file mode 100644 index 000000000..590acc93e --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/20.308aa0fdf6653ef3299f.js @@ -0,0 +1 @@ +webpackJsonp([20],{"4odX":function(t,e){},LbE0:function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a={name:"help-view",components:{},data:function(){return{lang:window.localStorage.getItem("language")||"en"}},computed:{learnEnterprise:function(){return"zh"===this.lang?"https://www.emqx.io/cn/products/enterprise":"https://www.emqx.io/products/enterprise"},freeTrial:function(){return"zh"===this.lang?"https://www.emqx.io/cn/downloads#enterprise":"https://www.emqx.io/downloads#enterprise"},docsLink:function(){return"zh"===this.lang?"https://docs.emqx.io/broker/v4/cn":"https://docs.emqx.io/broker/v4/en"},faqLink:function(){return"zh"===this.lang?"https://docs.emqx.io/broker/latest/cn/faq/faq.html":"https://docs.emqx.io/tutorial/v4/en/faq/faq.html"}},methods:{}},n={render:function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"help-view"},[s("div",{staticClass:"page-title"},[t._v(t._s(t.$t("leftbar.help")))]),t._v(" "),s("div",{staticClass:"help-item"},[s("h3",[t._v(t._s(t.$t("help.quickStart")))]),t._v(" "),s("p",[t._v(t._s(t.$t("help.emqxDesc")))]),t._v(" "),s("a",{attrs:{target:"_blank",href:"https://github.com/emqx/emqx"}},[t._v("Github")])]),t._v(" "),s("el-divider"),t._v(" "),s("div",{staticClass:"help-item"},[s("h3",[t._v(t._s(t.$t("help.emqxEnterprise")))]),t._v(" "),s("p",{domProps:{innerHTML:t._s(t.$t("help.enterpriseDesc"))}}),t._v(" "),s("a",{attrs:{target:"_blank",href:t.learnEnterprise}},[t._v("\n "+t._s(t.$t("oper.learnMore"))+"\n ")]),t._v(" "),s("a",{attrs:{target:"_blank",href:t.freeTrial}},[t._v("\n "+t._s(t.$t("help.freeTrial"))+"\n ")])]),t._v(" "),s("el-divider"),t._v(" "),s("div",{staticClass:"help-item"},[s("h3",[t._v(t._s(t.$t("help.useDocs")))]),t._v(" "),s("p",[t._v(t._s(t.$t("help.docsDesc")))]),t._v(" "),s("a",{attrs:{target:"_blank",href:t.docsLink}},[t._v("\n "+t._s(t.$t("help.forwardView"))+"\n ")])]),t._v(" "),s("el-divider"),t._v(" "),s("div",{staticClass:"help-item"},[s("h3",[t._v("FAQ")]),t._v(" "),s("p",[t._v(t._s(t.$t("help.faqDesc")))]),t._v(" "),s("a",{attrs:{target:"_blank",href:t.faqLink}},[t._v("\n "+t._s(t.$t("help.forwardFaq"))+"\n ")])]),t._v(" "),s("el-divider"),t._v(" "),s("div",{staticClass:"help-item"},[s("h3",[t._v(t._s(t.$t("help.followUs")))]),t._v(" "),t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5)])],1)},staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("a",{staticClass:"follow-link",attrs:{target:"_blank",href:"https://github.com/emqx/emqx"}},[e("i",{staticClass:"iconfont icon-git"})])},function(){var t=this.$createElement,e=this._self._c||t;return e("a",{staticClass:"follow-link",attrs:{target:"_blank",href:"https://twitter.com/emqtt"}},[e("i",{staticClass:"iconfont icon-tuite"})])},function(){var t=this.$createElement,e=this._self._c||t;return e("a",{staticClass:"follow-link",attrs:{target:"_blank",href:"https://emqx.slack.com/"}},[e("i",{staticClass:"iconfont icon-slack"})])},function(){var t=this.$createElement,e=this._self._c||t;return e("a",{staticClass:"follow-link",attrs:{target:"_blank",href:"https://stackoverflow.com/questions/tagged/emq"}},[e("i",{staticClass:"iconfont icon-stack-overflow"})])},function(){var t=this.$createElement,e=this._self._c||t;return e("a",{staticClass:"follow-link",attrs:{target:"_blank",href:"https://groups.google.com/forum/#!forum/emqtt"}},[e("i",{staticClass:"iconfont icon-icons-google_groups"})])},function(){var t=this.$createElement,e=this._self._c||t;return e("a",{staticClass:"follow-link",attrs:{target:"_blank",href:"https://www.youtube.com/channel/UCDU9GWFk8NTGiTvPx_2XskA"}},[e("i",{staticClass:"iconfont icon-youtube"})])}]};var i=s("VU/8")(a,n,!1,function(t){s("4odX")},null,null);e.default=i.exports}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/20.e45283482e545b06e5c7.js b/apps/emqx_dashboard/priv/www/static/js/20.e45283482e545b06e5c7.js new file mode 100644 index 000000000..1617594b6 --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/20.e45283482e545b06e5c7.js @@ -0,0 +1 @@ +webpackJsonp([20],{LbE0:function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a={name:"help-view",components:{},data:function(){return{lang:window.localStorage.getItem("language")||"en"}},computed:{learnEnterprise:function(){return"zh"===this.lang?"https://www.emqx.io/cn/products/enterprise":"https://www.emqx.io/products/enterprise"},freeTrial:function(){return"zh"===this.lang?"https://www.emqx.io/cn/downloads#enterprise":"https://www.emqx.io/downloads#enterprise"},docsLink:function(){return"zh"===this.lang?"https://docs.emqx.io/broker/latest/cn":"https://docs.emqx.io/broker/latest/en"},faqLink:function(){return"zh"===this.lang?"https://docs.emqx.io/broker/latest/cn/faq/faq.html":"https://docs.emqx.io/tutorial/latest/en/faq/faq.html"}},methods:{}},n={render:function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"help-view"},[s("div",{staticClass:"page-title"},[t._v(t._s(t.$t("leftbar.help")))]),t._v(" "),s("div",{staticClass:"help-item"},[s("h3",[t._v(t._s(t.$t("help.quickStart")))]),t._v(" "),s("p",[t._v(t._s(t.$t("help.emqxDesc")))]),t._v(" "),s("a",{attrs:{target:"_blank",href:"https://github.com/emqx/emqx"}},[t._v("Github")])]),t._v(" "),s("el-divider"),t._v(" "),s("div",{staticClass:"help-item"},[s("h3",[t._v(t._s(t.$t("help.emqxEnterprise")))]),t._v(" "),s("p",{domProps:{innerHTML:t._s(t.$t("help.enterpriseDesc"))}}),t._v(" "),s("a",{attrs:{target:"_blank",href:t.learnEnterprise}},[t._v("\n "+t._s(t.$t("oper.learnMore"))+"\n ")]),t._v(" "),s("a",{attrs:{target:"_blank",href:t.freeTrial}},[t._v("\n "+t._s(t.$t("help.freeTrial"))+"\n ")])]),t._v(" "),s("el-divider"),t._v(" "),s("div",{staticClass:"help-item"},[s("h3",[t._v(t._s(t.$t("help.useDocs")))]),t._v(" "),s("p",[t._v(t._s(t.$t("help.docsDesc")))]),t._v(" "),s("a",{attrs:{target:"_blank",href:t.docsLink}},[t._v("\n "+t._s(t.$t("help.forwardView"))+"\n ")])]),t._v(" "),s("el-divider"),t._v(" "),s("div",{staticClass:"help-item"},[s("h3",[t._v("FAQ")]),t._v(" "),s("p",[t._v(t._s(t.$t("help.faqDesc")))]),t._v(" "),s("a",{attrs:{target:"_blank",href:t.faqLink}},[t._v("\n "+t._s(t.$t("help.forwardFaq"))+"\n ")])]),t._v(" "),s("el-divider"),t._v(" "),s("div",{staticClass:"help-item"},[s("h3",[t._v(t._s(t.$t("help.followUs")))]),t._v(" "),t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5)])],1)},staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("a",{staticClass:"follow-link",attrs:{target:"_blank",href:"https://github.com/emqx/emqx"}},[e("i",{staticClass:"iconfont icon-git"})])},function(){var t=this.$createElement,e=this._self._c||t;return e("a",{staticClass:"follow-link",attrs:{target:"_blank",href:"https://twitter.com/emqtt"}},[e("i",{staticClass:"iconfont icon-tuite"})])},function(){var t=this.$createElement,e=this._self._c||t;return e("a",{staticClass:"follow-link",attrs:{target:"_blank",href:"https://emqx.slack.com/"}},[e("i",{staticClass:"iconfont icon-slack"})])},function(){var t=this.$createElement,e=this._self._c||t;return e("a",{staticClass:"follow-link",attrs:{target:"_blank",href:"https://stackoverflow.com/questions/tagged/emq"}},[e("i",{staticClass:"iconfont icon-stack-overflow"})])},function(){var t=this.$createElement,e=this._self._c||t;return e("a",{staticClass:"follow-link",attrs:{target:"_blank",href:"https://groups.google.com/forum/#!forum/emqtt"}},[e("i",{staticClass:"iconfont icon-icons-google_groups"})])},function(){var t=this.$createElement,e=this._self._c||t;return e("a",{staticClass:"follow-link",attrs:{target:"_blank",href:"https://www.youtube.com/channel/UCDU9GWFk8NTGiTvPx_2XskA"}},[e("i",{staticClass:"iconfont icon-youtube"})])}]};var i=s("VU/8")(a,n,!1,function(t){s("t2MP")},null,null);e.default=i.exports},t2MP:function(t,e){}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/21.306758a2a6ef73532290.js b/apps/emqx_dashboard/priv/www/static/js/21.306758a2a6ef73532290.js new file mode 100644 index 000000000..7e8f3bdd9 --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/21.306758a2a6ef73532290.js @@ -0,0 +1 @@ +webpackJsonp([21],{Tk0c:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=r("Dd8w"),s=r.n(a),o=r("zL8q"),i=r("CqLJ"),l=r.n(i),p={name:"applications-view",components:{"el-dialog":o.Dialog,"el-input":o.Input,"el-switch":o.Switch,"el-select":o.Select,"el-option":o.Option,"el-button":o.Button,"el-table":o.Table,"el-table-column":o.TableColumn,"el-date-picker":o.DatePicker,"el-popover":o.Popover,"el-tooltip":o.Tooltip,"el-form":o.Form,"el-form-item":o.FormItem,"el-row":o.Row,"el-col":o.Col},data:function(){return{tableData:[],displayDialog:!1,oper:"new",record:{app_id:"",name:"",desc:"",secret:"",expired:"",status:!0},rules:{app_id:[{required:!0,message:this.$t("app.errors")}],name:[{required:!0,message:this.$t("app.errors")}]},popoverVisible:!1,pickerDisable:{disabledDate:function(e){return e.getTime()0&&void 0!==arguments[0]&&arguments[0],r=arguments[1];if(t){var a=s()({},r);13===new Date(a.expired).getTime().toString().length?a.expired/=1e3:a.expired=void 0,this.$httpPut("/apps/"+a.app_id,a).then(function(){e.$message.success(e.$t("oper.editSuccess")),e.loadData()}).catch(function(t){e.$message.error(t||e.$t("error.networkError"))})}else this.$refs.record.validate(function(t){if(t){var r=s()({},e.record);13===new Date(r.expired).getTime().toString().length?r.expired/=1e3:r.expired=void 0,e.$httpPut("/apps/"+r.app_id,r).then(function(){e.displayDialog=!1,e.$message.success(e.$t("oper.editSuccess")),e.loadData()}).catch(function(t){e.$message.error(t||e.$t("error.networkError"))})}})},showApp:function(e){var t=this;this.oper="view",this.$httpGet("/apps/"+e.app_id).then(function(e){t.displayDialog=!0,t.record=e.data,10===t.record.expired.toString().length&&(t.record.expired=new Date(1e3*t.record.expired)),t.displayDialog=!0}).catch(function(e){t.$message.error(e||t.$t("error.networkError"))})},deleteApp:function(e){var t=this;this.$httpDelete("/apps/"+e.app_id).then(function(){t.loadData(),t.hidePopover()}).catch(function(e){t.$message.error(e||t.$t("error.networkError"))})},handleOperation:function(){var e=this,t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],r=arguments[1];this.displayDialog=!0,setTimeout(function(){t?(e.oper="new",e.record={app_id:Math.random().toString(16).slice(2),name:"",desc:"",secret:"",expired:"",status:!0}):(e.oper="edit",e.record=s()({},r),e.record.expired=e.record.expired&&10===e.record.expired.toString().length?new Date(1e3*e.record.expired):""),e.$refs.record.resetFields()},10)},hidePopover:function(){var e=this;this.popoverVisible=!0,setTimeout(function(){e.popoverVisible=!1},0)},dateFormat:function(e){try{return 10===e.toString().length?l()(1e3*e,"yyyy-mm-dd"):this.$t("app.expiredText")}catch(e){return this.$t("app.expiredText")}}},created:function(){this.loadData()}},n={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"applications-view"},[r("div",{staticClass:"page-title"},[e._v("\n "+e._s(e.$t("leftbar.applications"))+"\n "),r("el-button",{staticClass:"confirm-btn",staticStyle:{float:"right"},attrs:{round:"",plain:"",type:"success",icon:"el-icon-plus",size:"medium",disable:e.$store.state.loading},on:{click:e.handleOperation}},[e._v("\n "+e._s(e.$t("app.newApp"))+"\n ")])],1),e._v(" "),r("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.$store.state.loading,expression:"$store.state.loading"}],attrs:{border:"",data:e.tableData}},[r("el-table-column",{attrs:{prop:"app_id","min-width":"90px",label:e.$t("app.appId")}}),e._v(" "),r("el-table-column",{attrs:{prop:"name","min-width":"100px",label:e.$t("app.name")}}),e._v(" "),r("el-table-column",{attrs:{prop:"expired","min-width":"120px",label:e.$t("app.expired")},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(e.dateFormat(t.row.expired))+"\n ")]}}])}),e._v(" "),r("el-table-column",{attrs:{prop:"desc","min-width":"90px",label:e.$t("app.desc")}}),e._v(" "),r("el-table-column",{attrs:{label:e.$t("app.status")},scopedSlots:e._u([{key:"default",fn:function(t){return[r("el-tooltip",{attrs:{content:t.row.status?e.$t("app.enableText"):e.$t("app.disableText"),placement:"left"}},[r("el-switch",{attrs:{"active-text":"","inactive-text":"","active-color":"#13ce66","inactive-color":"#ff4949"},on:{change:function(r){return e.updateApp(!0,t.row)}},model:{value:t.row.status,callback:function(r){e.$set(t.row,"status",r)},expression:"props.row.status"}})],1)]}}])}),e._v(" "),r("el-table-column",{attrs:{width:"180px",label:e.$t("oper.oper")},scopedSlots:e._u([{key:"default",fn:function(t){return[r("el-button",{attrs:{type:"success",size:"mini",plain:""},on:{click:function(r){return e.showApp(t.row)}}},[e._v("\n "+e._s(e.$t("oper.view"))+"\n ")]),e._v(" "),r("el-button",{attrs:{type:"success",size:"mini",plain:""},on:{click:function(r){return e.handleOperation(!1,t.row)}}},[e._v("\n "+e._s(e.$t("oper.edit"))+"\n ")]),e._v(" "),r("el-popover",{attrs:{placement:"right",trigger:"click",value:e.popoverVisible}},[r("p",[e._v(e._s(e.$t("oper.confirmDelete")))]),e._v(" "),r("div",{staticStyle:{"text-align":"right"}},[r("el-button",{staticClass:"cache-btn",attrs:{size:"mini",type:"text"},on:{click:e.hidePopover}},[e._v("\n "+e._s(e.$t("oper.cancel"))+"\n ")]),e._v(" "),r("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(r){return e.deleteApp(t.row)}}},[e._v("\n "+e._s(e.$t("oper.confirm"))+"\n ")])],1),e._v(" "),r("el-button",{attrs:{slot:"reference",size:"mini",type:"danger",plain:""},slot:"reference"},[e._v("\n "+e._s(e.$t("oper.delete"))+"\n ")])],1)]}}])})],1),e._v(" "),r("el-dialog",{attrs:{width:"view"===e.oper?"660px":"500px",visible:e.displayDialog,title:e.$t("app."+e.oper+"App")},on:{"update:visible":function(t){e.displayDialog=t}},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.createApp(t)}}},[r("el-form",{ref:"record",staticClass:"el-form--public app-info",attrs:{size:"medium",rules:"view"===e.oper?{}:e.rules,model:e.record}},[r("el-row",{attrs:{gutter:20}},["view"===e.oper?[r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{prop:"app_id",label:e.$t("app.appId")}},[r("el-input",{staticClass:"is-disabled",attrs:{readonly:!0},model:{value:e.record.app_id,callback:function(t){e.$set(e.record,"app_id",t)},expression:"record.app_id"}})],1)],1),e._v(" "),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{label:e.$t("app.secret")}},[r("el-input",{staticClass:"is-disabled",attrs:{readonly:!0},model:{value:e.record.secret,callback:function(t){e.$set(e.record,"secret",t)},expression:"record.secret"}})],1)],1),e._v(" "),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{prop:"name",label:e.$t("app.name")}},[r("el-input",{staticClass:"is-disabled",attrs:{readonly:!0},model:{value:e.record.name,callback:function(t){e.$set(e.record,"name",t)},expression:"record.name"}})],1)],1),e._v(" "),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{prop:"status",label:e.$t("app.status")}},[r("el-select",{staticClass:"el-select--public",attrs:{"popper-class":"el-select--public",disabled:"view"===e.oper},model:{value:e.record.status,callback:function(t){e.$set(e.record,"status",t)},expression:"record.status"}},[r("el-option",{attrs:{label:e.$t("app.enable"),value:!0}}),e._v(" "),r("el-option",{attrs:{label:e.$t("app.disable"),value:!1}})],1)],1)],1),e._v(" "),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{label:e.$t("app.expired")}},[r("el-date-picker",{attrs:{"picker-options":e.pickerDisable,placeholder:e.$t("app.expiredText"),disabled:"view"===e.oper},model:{value:e.record.expired,callback:function(t){e.$set(e.record,"expired",t)},expression:"record.expired"}})],1)],1),e._v(" "),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{prop:"desc",label:e.$t("app.desc")}},[r("el-input",{staticClass:"is-disabled",attrs:{readonly:!0},model:{value:e.record.desc,callback:function(t){e.$set(e.record,"desc",t)},expression:"record.desc"}})],1)],1)]:[r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{prop:"app_id",label:e.$t("app.appId")}},[r("el-input",{attrs:{disabled:["view","edit"].includes(e.oper)},model:{value:e.record.app_id,callback:function(t){e.$set(e.record,"app_id",t)},expression:"record.app_id"}})],1)],1),e._v(" "),r("el-col",{attrs:{span:12}},["view"===e.oper?r("el-form-item",{attrs:{label:e.$t("app.secret")}},[r("el-input",{attrs:{disabled:""},model:{value:e.record.secret,callback:function(t){e.$set(e.record,"secret",t)},expression:"record.secret"}})],1):e._e()],1),e._v(" "),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{prop:"name",label:e.$t("app.name")}},[r("el-input",{attrs:{disabled:["view","edit"].includes(e.oper)},model:{value:e.record.name,callback:function(t){e.$set(e.record,"name",t)},expression:"record.name"}})],1)],1),e._v(" "),r("el-col",{attrs:{span:12}}),e._v(" "),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{prop:"status",label:e.$t("app.status")}},[r("el-select",{staticClass:"el-select--public",attrs:{"popper-class":"el-select--public",disabled:"view"===e.oper},model:{value:e.record.status,callback:function(t){e.$set(e.record,"status",t)},expression:"record.status"}},[r("el-option",{attrs:{label:e.$t("app.enable"),value:!0}}),e._v(" "),r("el-option",{attrs:{label:e.$t("app.disable"),value:!1}})],1)],1)],1),e._v(" "),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{label:e.$t("app.expired")}},[r("el-date-picker",{attrs:{"picker-options":e.pickerDisable,placeholder:e.$t("app.expiredText"),disabled:"view"===e.oper},model:{value:e.record.expired,callback:function(t){e.$set(e.record,"expired",t)},expression:"record.expired"}})],1)],1),e._v(" "),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{prop:"desc",label:e.$t("app.desc")}},[r("el-input",{attrs:{disabled:["view"].includes(e.oper)},model:{value:e.record.desc,callback:function(t){e.$set(e.record,"desc",t)},expression:"record.desc"}})],1)],1)]],2)],1),e._v(" "),"view"!==e.oper?r("div",{attrs:{slot:"footer"},slot:"footer"},[r("el-button",{staticClass:"cache-btn",attrs:{type:"text"},on:{click:function(t){e.displayDialog=!1}}},[e._v("\n "+e._s(e.$t("oper.cancel"))+"\n ")]),e._v(" "),"edit"===e.oper?r("el-button",{staticClass:"confirm-btn",attrs:{type:"success",loading:e.$store.state.loading,disabled:e.$store.state.loading},on:{click:function(t){return e.updateApp(!1)}}},[e._v("\n "+e._s(e.$t("oper.save"))+"\n ")]):e._e(),e._v(" "),"new"===e.oper?r("el-button",{staticClass:"confirm-btn",attrs:{type:"success",loading:e.$store.state.loading,disabled:e.$store.state.loading},on:{click:e.createApp}},[e._v("\n "+e._s(e.$t("oper.save"))+"\n ")]):e._e()],1):r("div",{attrs:{slot:"footer"},slot:"footer"},[r("div",{staticClass:"guide-doc"},[e._v("\n "+e._s(this.$t("app.guide"))+"\n "),r("a",{attrs:{href:"zh"===e.lang?"https://docs.emqx.io/broker/latest/cn/advanced/http-api.html":"https://docs.emqx.io/broker/latest/en/advanced/http-api.html",target:"_blank"}},[e._v("\n "+e._s(e.$t("app.docs"))+"\n ")])])])],1)],1)},staticRenderFns:[]};var c=r("VU/8")(p,n,!1,function(e){r("q13D")},null,null);t.default=c.exports},q13D:function(e,t){}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/22.7b3c43c687badfefda6a.js b/apps/emqx_dashboard/priv/www/static/js/22.7b3c43c687badfefda6a.js new file mode 100644 index 000000000..b5a116cb9 --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/22.7b3c43c687badfefda6a.js @@ -0,0 +1 @@ +webpackJsonp([22],{OgCE:function(t,a,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var n=e("zL8q"),l=e("JaHG"),o=e("CqLJ"),r=e.n(o),s={name:"alarms-view",components:{"el-table":n.Table,"el-table-column":n.TableColumn,"el-popover":n.Popover,"el-tooltip":n.Tooltip},data:function(){return{loading:!1,currentTableData:[],historicalTableData:[],lang:window.localStorage.getItem("language")||"en"}},methods:{loadData:function(){this.loadAlarmData("activated","currentTableData"),this.loadAlarmData("deactivated","historicalTableData")},loadAlarmData:function(t,a){var e=this;this.loading=!0,this.$httpGet("/alarms/"+t).then(function(t){var n=[];t.data.forEach(function(t){t.alarms.forEach(function(a){a.node=t.node,n.push(a)})}),e[a]=n,e.loading=!1}).catch(function(t){e.loading=!1,e.$message.error(t||e.$t("error.networkError"))})},getDuration:function(t){return Object(l.a)(t/1e3,Date.now())},dateFormat:function(t){return"number"!=typeof t&&"infinity"===t?"":r()(t/1e3,"yyyy-mm-dd HH:MM:ss")},handleCancelAlarm:function(t,a,e){var n=this,l={node:t.node,name:t.name};this.$httpPost("/alarms/deactivated",l).then(function(){e.$refs["popover-"+a].doClose(),n.loadData()}).catch(function(t){n.$message.error(t||n.$t("error.networkError"))})},handleClearAll:function(){var t=this;this.$confirm(this.$t("analysis.confirmClear"),this.$t("oper.warning"),{confirmButtonClass:"confirm-btn",cancelButtonClass:"cache-btn el-button--text",type:"warning"}).then(function(){t.$httpDelete("/alarms/deactivated").then(function(){t.loadData()}).catch(function(a){t.$message.error(a||t.$t("error.networkError"))})}).catch(function(){})}},created:function(){this.loadData()}},i={render:function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("div",{staticClass:"alarms-view"},[e("div",{staticClass:"page-title"},[t._v("\n "+t._s(t.$t("leftbar.alarms"))+"\n ")]),t._v(" "),e("div",{staticClass:"table-title"},[t._v(t._s(t.$t("analysis.currentAlarms")))]),t._v(" "),e("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],attrs:{border:"",data:t.currentTableData}},[e("el-table-column",{attrs:{prop:"name",label:t.$t("analysis.alarmName")}}),t._v(" "),e("el-table-column",{attrs:{prop:"message","min-width":"140px",label:t.$t("analysis.alarmMessage"),"show-overflow-tooltip":""},scopedSlots:t._u([{key:"default",fn:function(a){var n=a.row;return[e("el-popover",{attrs:{placement:"top",trigger:"hover",width:"160","open-delay":500}},[t._l(n.details,function(a,n){return e("div",{key:n},[t._v(t._s(n)+": "+t._s(a))])}),t._v(" "),e("span",{staticClass:"details",attrs:{slot:"reference"},slot:"reference"},[e("i",{staticClass:"iconfont icon-bangzhu"})])],2),t._v(" "),e("span",[t._v(t._s(n.message))])]}}])}),t._v(" "),e("el-table-column",{attrs:{prop:"node","min-width":"60px",label:t.$t("clients.node"),"show-overflow-tooltip":""}}),t._v(" "),e("el-table-column",{attrs:{prop:"activate_at",label:t.$t("analysis.activateAt")},scopedSlots:t._u([{key:"default",fn:function(a){var e=a.row;return[t._v("\n "+t._s(t.dateFormat(e.activate_at))+"\n ")]}}])}),t._v(" "),e("el-table-column",{attrs:{label:t.$t("analysis.duration")},scopedSlots:t._u([{key:"default",fn:function(a){var e=a.row;return[t._v("\n "+t._s(t.getDuration(e.activate_at))+"\n ")]}}])}),t._v(" "),e("el-table-column",{attrs:{fixed:"right",width:"120px",label:t.$t("oper.oper")},scopedSlots:t._u([{key:"default",fn:function(a){var n=a.row,l=a.$index,o=a._self;return[e("el-popover",{ref:"popover-"+l,attrs:{placement:"right",trigger:"click"}},[e("p",[t._v(t._s(t.$t("analysis.confirmDeactivate")))]),t._v(" "),e("div",{staticStyle:{"text-align":"right"}},[e("el-button",{staticClass:"cache-btn",attrs:{size:"mini",type:"text"},on:{click:function(t){o.$refs["popover-"+l].doClose()}}},[t._v("\n "+t._s(t.$t("oper.cancel"))+"\n ")]),t._v(" "),e("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(a){return t.handleCancelAlarm(n,l,o)}}},[t._v("\n "+t._s(t.$t("oper.confirm"))+"\n ")])],1),t._v(" "),e("el-button",{attrs:{slot:"reference",size:"mini",type:"danger",plain:""},slot:"reference"},[t._v("\n "+t._s(t.$t("analysis.deactivate"))+"\n ")])],1)]}}])})],1),t._v(" "),e("div",{staticClass:"table-title"},[t._v("\n "+t._s(t.$t("analysis.historicalAlarm"))+"\n "),e("el-button",{staticClass:"table-oper",attrs:{size:"mini",type:"danger",plain:"",disabled:!t.historicalTableData.length},on:{click:t.handleClearAll}},[t._v("\n "+t._s(t.$t("analysis.clearAll"))+"\n ")])],1),t._v(" "),e("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],attrs:{border:"",data:t.historicalTableData}},[e("el-table-column",{attrs:{prop:"name",label:t.$t("analysis.alarmName")}}),t._v(" "),e("el-table-column",{attrs:{prop:"message","min-width":"140px",label:t.$t("analysis.alarmMessage"),"show-overflow-tooltip":""},scopedSlots:t._u([{key:"default",fn:function(a){var n=a.row;return[e("el-popover",{attrs:{placement:"top",trigger:"hover",width:"160","open-delay":500}},[t._l(n.details,function(a,n){return e("div",{key:n},[t._v(t._s(n)+": "+t._s(a))])}),t._v(" "),e("span",{staticClass:"details",attrs:{slot:"reference"},slot:"reference"},[e("i",{staticClass:"iconfont icon-bangzhu"})])],2),t._v(" "),e("span",[t._v(t._s(n.message))])]}}])}),t._v(" "),e("el-table-column",{attrs:{prop:"node","min-width":"60px",label:t.$t("clients.node"),"show-overflow-tooltip":""}}),t._v(" "),e("el-table-column",{attrs:{prop:"activate_at",label:t.$t("analysis.activateAt")},scopedSlots:t._u([{key:"default",fn:function(a){var e=a.row;return[t._v("\n "+t._s(t.dateFormat(e.activate_at))+"\n ")]}}])}),t._v(" "),e("el-table-column",{attrs:{prop:"deactivate_at",label:t.$t("analysis.deactivateAt")},scopedSlots:t._u([{key:"default",fn:function(a){var e=a.row;return[t._v("\n "+t._s(t.dateFormat(e.deactivate_at))+"\n ")]}}])})],1)],1)},staticRenderFns:[]};var c=e("VU/8")(s,i,!1,function(t){e("W11b")},null,null);a.default=c.exports},W11b:function(t,a){}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/22.d968dc6f54a690adde18.js b/apps/emqx_dashboard/priv/www/static/js/22.d968dc6f54a690adde18.js new file mode 100644 index 000000000..b5a116cb9 --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/22.d968dc6f54a690adde18.js @@ -0,0 +1 @@ +webpackJsonp([22],{OgCE:function(t,a,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var n=e("zL8q"),l=e("JaHG"),o=e("CqLJ"),r=e.n(o),s={name:"alarms-view",components:{"el-table":n.Table,"el-table-column":n.TableColumn,"el-popover":n.Popover,"el-tooltip":n.Tooltip},data:function(){return{loading:!1,currentTableData:[],historicalTableData:[],lang:window.localStorage.getItem("language")||"en"}},methods:{loadData:function(){this.loadAlarmData("activated","currentTableData"),this.loadAlarmData("deactivated","historicalTableData")},loadAlarmData:function(t,a){var e=this;this.loading=!0,this.$httpGet("/alarms/"+t).then(function(t){var n=[];t.data.forEach(function(t){t.alarms.forEach(function(a){a.node=t.node,n.push(a)})}),e[a]=n,e.loading=!1}).catch(function(t){e.loading=!1,e.$message.error(t||e.$t("error.networkError"))})},getDuration:function(t){return Object(l.a)(t/1e3,Date.now())},dateFormat:function(t){return"number"!=typeof t&&"infinity"===t?"":r()(t/1e3,"yyyy-mm-dd HH:MM:ss")},handleCancelAlarm:function(t,a,e){var n=this,l={node:t.node,name:t.name};this.$httpPost("/alarms/deactivated",l).then(function(){e.$refs["popover-"+a].doClose(),n.loadData()}).catch(function(t){n.$message.error(t||n.$t("error.networkError"))})},handleClearAll:function(){var t=this;this.$confirm(this.$t("analysis.confirmClear"),this.$t("oper.warning"),{confirmButtonClass:"confirm-btn",cancelButtonClass:"cache-btn el-button--text",type:"warning"}).then(function(){t.$httpDelete("/alarms/deactivated").then(function(){t.loadData()}).catch(function(a){t.$message.error(a||t.$t("error.networkError"))})}).catch(function(){})}},created:function(){this.loadData()}},i={render:function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("div",{staticClass:"alarms-view"},[e("div",{staticClass:"page-title"},[t._v("\n "+t._s(t.$t("leftbar.alarms"))+"\n ")]),t._v(" "),e("div",{staticClass:"table-title"},[t._v(t._s(t.$t("analysis.currentAlarms")))]),t._v(" "),e("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],attrs:{border:"",data:t.currentTableData}},[e("el-table-column",{attrs:{prop:"name",label:t.$t("analysis.alarmName")}}),t._v(" "),e("el-table-column",{attrs:{prop:"message","min-width":"140px",label:t.$t("analysis.alarmMessage"),"show-overflow-tooltip":""},scopedSlots:t._u([{key:"default",fn:function(a){var n=a.row;return[e("el-popover",{attrs:{placement:"top",trigger:"hover",width:"160","open-delay":500}},[t._l(n.details,function(a,n){return e("div",{key:n},[t._v(t._s(n)+": "+t._s(a))])}),t._v(" "),e("span",{staticClass:"details",attrs:{slot:"reference"},slot:"reference"},[e("i",{staticClass:"iconfont icon-bangzhu"})])],2),t._v(" "),e("span",[t._v(t._s(n.message))])]}}])}),t._v(" "),e("el-table-column",{attrs:{prop:"node","min-width":"60px",label:t.$t("clients.node"),"show-overflow-tooltip":""}}),t._v(" "),e("el-table-column",{attrs:{prop:"activate_at",label:t.$t("analysis.activateAt")},scopedSlots:t._u([{key:"default",fn:function(a){var e=a.row;return[t._v("\n "+t._s(t.dateFormat(e.activate_at))+"\n ")]}}])}),t._v(" "),e("el-table-column",{attrs:{label:t.$t("analysis.duration")},scopedSlots:t._u([{key:"default",fn:function(a){var e=a.row;return[t._v("\n "+t._s(t.getDuration(e.activate_at))+"\n ")]}}])}),t._v(" "),e("el-table-column",{attrs:{fixed:"right",width:"120px",label:t.$t("oper.oper")},scopedSlots:t._u([{key:"default",fn:function(a){var n=a.row,l=a.$index,o=a._self;return[e("el-popover",{ref:"popover-"+l,attrs:{placement:"right",trigger:"click"}},[e("p",[t._v(t._s(t.$t("analysis.confirmDeactivate")))]),t._v(" "),e("div",{staticStyle:{"text-align":"right"}},[e("el-button",{staticClass:"cache-btn",attrs:{size:"mini",type:"text"},on:{click:function(t){o.$refs["popover-"+l].doClose()}}},[t._v("\n "+t._s(t.$t("oper.cancel"))+"\n ")]),t._v(" "),e("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(a){return t.handleCancelAlarm(n,l,o)}}},[t._v("\n "+t._s(t.$t("oper.confirm"))+"\n ")])],1),t._v(" "),e("el-button",{attrs:{slot:"reference",size:"mini",type:"danger",plain:""},slot:"reference"},[t._v("\n "+t._s(t.$t("analysis.deactivate"))+"\n ")])],1)]}}])})],1),t._v(" "),e("div",{staticClass:"table-title"},[t._v("\n "+t._s(t.$t("analysis.historicalAlarm"))+"\n "),e("el-button",{staticClass:"table-oper",attrs:{size:"mini",type:"danger",plain:"",disabled:!t.historicalTableData.length},on:{click:t.handleClearAll}},[t._v("\n "+t._s(t.$t("analysis.clearAll"))+"\n ")])],1),t._v(" "),e("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],attrs:{border:"",data:t.historicalTableData}},[e("el-table-column",{attrs:{prop:"name",label:t.$t("analysis.alarmName")}}),t._v(" "),e("el-table-column",{attrs:{prop:"message","min-width":"140px",label:t.$t("analysis.alarmMessage"),"show-overflow-tooltip":""},scopedSlots:t._u([{key:"default",fn:function(a){var n=a.row;return[e("el-popover",{attrs:{placement:"top",trigger:"hover",width:"160","open-delay":500}},[t._l(n.details,function(a,n){return e("div",{key:n},[t._v(t._s(n)+": "+t._s(a))])}),t._v(" "),e("span",{staticClass:"details",attrs:{slot:"reference"},slot:"reference"},[e("i",{staticClass:"iconfont icon-bangzhu"})])],2),t._v(" "),e("span",[t._v(t._s(n.message))])]}}])}),t._v(" "),e("el-table-column",{attrs:{prop:"node","min-width":"60px",label:t.$t("clients.node"),"show-overflow-tooltip":""}}),t._v(" "),e("el-table-column",{attrs:{prop:"activate_at",label:t.$t("analysis.activateAt")},scopedSlots:t._u([{key:"default",fn:function(a){var e=a.row;return[t._v("\n "+t._s(t.dateFormat(e.activate_at))+"\n ")]}}])}),t._v(" "),e("el-table-column",{attrs:{prop:"deactivate_at",label:t.$t("analysis.deactivateAt")},scopedSlots:t._u([{key:"default",fn:function(a){var e=a.row;return[t._v("\n "+t._s(t.dateFormat(e.deactivate_at))+"\n ")]}}])})],1)],1)},staticRenderFns:[]};var c=e("VU/8")(s,i,!1,function(t){e("W11b")},null,null);a.default=c.exports},W11b:function(t,a){}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/25.8b2dccd8a7e1f91a5040.js b/apps/emqx_dashboard/priv/www/static/js/25.8b2dccd8a7e1f91a5040.js new file mode 100644 index 000000000..f70a69adb --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/25.8b2dccd8a7e1f91a5040.js @@ -0,0 +1 @@ +webpackJsonp([25],{"SG+P":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i,o,a,s,u,c,d,f,l,g,h,p,m,v,b,k,C,_,y=function(){function e(e){var t=this;this._defaults=e,this._worker=null,this._idleCheckInterval=setInterval(function(){return t._checkIfIdle()},3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(function(){return t._stopWorker()})}return e.prototype._stopWorker=function(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null},e.prototype.dispose=function(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()},e.prototype._checkIfIdle=function(){this._worker&&(Date.now()-this._lastUsedTime>12e4&&this._stopWorker())},e.prototype._getClient=function(){return this._lastUsedTime=Date.now(),this._client||(this._worker=monaco.editor.createWebWorker({moduleId:"vs/language/json/jsonWorker",label:this._defaults.languageId,createData:{languageSettings:this._defaults.diagnosticsOptions,languageId:this._defaults.languageId,enableSchemaRequest:this._defaults.diagnosticsOptions.enableSchemaRequest}}),this._client=this._worker.getProxy()),this._client},e.prototype.getLanguageServiceWorker=function(){for(var e,t=this,n=[],r=0;r0&&(i.arguments=n),i},e.is=function(e){var t=e;return Q.defined(t)&&Q.string(t.title)&&Q.string(t.command)}}(p||(p={})),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 Q.objectLiteral(t)&&Q.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 Q.defined(t)&&E.is(t.textDocument)&&Array.isArray(t.edits)}}(v||(v={})),function(e){e.create=function(e,t){var n={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(n.options=t),n},e.is=function(e){var t=e;return t&&"create"===t.kind&&Q.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||Q.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||Q.boolean(t.options.ignoreIfExists)))}}(b||(b={})),function(e){e.create=function(e,t,n){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&Q.string(t.oldUri)&&Q.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||Q.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||Q.boolean(t.options.ignoreIfExists)))}}(k||(k={})),function(e){e.create=function(e,t){var n={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(n.options=t),n},e.is=function(e){var t=e;return t&&"delete"===t.kind&&Q.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||Q.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||Q.boolean(t.options.ignoreIfNotExists)))}}(C||(C={})),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 Q.string(e.kind)?b.is(e)||k.is(e)||C.is(e):v.is(e)}))}}(_||(_={}));var w,E,x,S,I,A,T,M,P,R,F,j,D,L,O,W,N,U=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}();!function(){function e(e){var t=this;this._textEditChanges=Object.create(null),e&&(this._workspaceEdit=e,e.documentChanges?e.documentChanges.forEach(function(e){if(v.is(e)){var n=new U(e.edits);t._textEditChanges[e.textDocument.uri]=n}}):e.changes&&Object.keys(e.changes).forEach(function(n){var r=new U(e.changes[n]);t._textEditChanges[n]=r}))}Object.defineProperty(e.prototype,"edit",{get:function(){return this._workspaceEdit},enumerable:!0,configurable:!0}),e.prototype.getTextEditChange=function(e){if(E.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(!(r=this._textEditChanges[t.uri])){var n={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(n),r=new U(i),this._textEditChanges[t.uri]=r}return r}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 r;if(!(r=this._textEditChanges[e])){var i=[];this._workspaceEdit.changes[e]=i,r=new U(i),this._textEditChanges[e]=r}return r},e.prototype.createFile=function(e,t){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(b.create(e,t))},e.prototype.renameFile=function(e,t,n){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(k.create(e,t,n))},e.prototype.deleteFile=function(e,t){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(C.create(e,t))},e.prototype.checkDocumentChanges=function(){if(!this._workspaceEdit||!this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.")}}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return Q.defined(t)&&Q.string(t.uri)}}(w||(w={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return Q.defined(t)&&Q.string(t.uri)&&(null===t.version||Q.number(t.version))}}(E||(E={})),function(e){e.create=function(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}},e.is=function(e){var t=e;return Q.defined(t)&&Q.string(t.uri)&&Q.string(t.languageId)&&Q.number(t.version)&&Q.string(t.text)}}(x||(x={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(S||(S={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(S||(S={})),function(e){e.is=function(e){var t=e;return Q.objectLiteral(e)&&S.is(t.kind)&&Q.string(t.value)}}(I||(I={})),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}(A||(A={})),function(e){e.PlainText=1,e.Snippet=2}(T||(T={})),function(e){e.create=function(e){return{label:e}}}(M||(M={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(P||(P={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return Q.string(t)||Q.objectLiteral(t)&&Q.string(t.language)&&Q.string(t.value)}}(R||(R={})),function(e){e.is=function(e){var t=e;return!!t&&Q.objectLiteral(t)&&(I.is(t.contents)||R.is(t.contents)||Q.typedArray(t.contents,R.is))&&(void 0===e.range||i.is(e.range))}}(F||(F={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(j||(j={})),function(e){e.create=function(e,t){for(var n=[],r=2;r=0;o--){var a=r[o],s=e.offsetAt(a.range.start),u=e.offsetAt(a.range.end);if(!(u<=i))throw new Error("Overlapping edit");n=n.substring(0,s)+a.newText+n.substring(u,n.length),i=s}return n}}(G||(G={})),function(e){e.Manual=1,e.AfterDelay=2,e.FocusOut=3}(J||(J={}));var Q,X=function(){function e(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,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),n=this.offsetAt(e.end);return this._content.substring(t,n)}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,n=!0,r=0;r0&&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(),n=0,i=t.length;if(0===i)return r.create(0,e);for(;ne?i=o:n=o+1}var a=n-1;return r.create(a,e-t[a])},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 n=t[e.line],r=e.line+1=48&&a<=57)o=16*o+a-48;else if(a>=65&&a<=70)o=16*o+a-65+10;else{if(!(a>=97&&a<=102))break;o=16*o+a-97+10}n++,i++}return i=r)return o=r,a=17;var t=e.charCodeAt(n);if(pe(t)){do{n++,i+=String.fromCharCode(t),t=e.charCodeAt(n)}while(pe(t));return a=15}if(me(t))return n++,i+=String.fromCharCode(t),13===t&&10===e.charCodeAt(n)&&(n++,i+="\n"),s++,c=n,a=14;switch(t){case 123:return n++,a=1;case 125:return n++,a=2;case 91:return n++,a=3;case 93:return n++,a=4;case 58:return n++,a=6;case 44:return n++,a=5;case 34:return n++,i=function(){for(var t="",i=n;;){if(n>=r){t+=e.substring(i,n),f=2;break}var o=e.charCodeAt(n);if(34===o){t+=e.substring(i,n),n++;break}if(92!==o){if(o>=0&&o<=31){if(me(o)){t+=e.substring(i,n),f=2;break}f=6}n++}else{if(t+=e.substring(i,n),++n>=r){f=2;break}switch(o=e.charCodeAt(n++)){case 34:t+='"';break;case 92:t+="\\";break;case 47:t+="/";break;case 98:t+="\b";break;case 102:t+="\f";break;case 110:t+="\n";break;case 114:t+="\r";break;case 116:t+="\t";break;case 117:var a=l(4,!0);a>=0?t+=String.fromCharCode(a):f=4;break;default:f=5}i=n}}return t}(),a=10;case 47:var g=n-1;if(47===e.charCodeAt(n+1)){for(n+=2;n=12&&e<=15);return e}:g,getToken:function(){return a},getTokenValue:function(){return i},getTokenOffset:function(){return o},getTokenLength:function(){return n-o},getTokenStartLine:function(){return u},getTokenStartCharacter:function(){return o-d},getTokenError:function(){return f}}}function pe(e){return 32===e||9===e||11===e||12===e||160===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function me(e){return 10===e||13===e||8232===e||8233===e}function ve(e){return e>=48&&e<=57}!function(e){e.DEFAULT={allowTrailingComma:!1}}(ce||(ce={}));var be=he;function ke(e){return{getInitialState:function(){return new Pe(null,null,!1)},tokenize:function(t,n,r,i){return function(e,t,n,r,i){void 0===r&&(r=0);var o=0,a=!1;switch(n.scanError){case 2:t='"'+t,o=1;break;case 1:t="/*"+t,o=2}var s,u,c=be(t),d=n.lastWasColon;u={tokens:[],endState:n.clone()};for(;;){var f=r+c.getPosition(),l="";if(17===(s=c.scan()))break;if(f===r+c.getPosition())throw new Error("Scanner did not advance, next 3 characters are: "+t.substr(c.getPosition(),3));switch(a&&(f-=o),a=o>0,s){case 1:case 2:l=Ce,d=!1;break;case 3:case 4:l=_e,d=!1;break;case 6:l=ye,d=!0;break;case 5:l=we,d=!1;break;case 8:case 9:l=Ee,d=!1;break;case 7:l=xe,d=!1;break;case 10:l=d?Se:Ae,d=!1;break;case 11:l=Ie,d=!1}if(e)switch(s){case 12:l=Me;break;case 13:l=Te}u.endState=new Pe(n.getStateData(),c.getTokenError(),d),u.tokens.push({startIndex:f,scopes:l})}return u}(e,t,n,r)}}}var Ce="delimiter.bracket.json",_e="delimiter.array.json",ye="delimiter.colon.json",we="delimiter.comma.json",Ee="keyword.json",xe="keyword.json",Se="string.value.json",Ie="number.json",Ae="string.key.json",Te="comment.block.json",Me="comment.line.json",Pe=function(){function e(e,t,n){this._state=e,this.scanError=t,this.lastWasColon=n}return e.prototype.clone=function(){return new e(this._state,this.scanError,this.lastWasColon)},e.prototype.equals=function(t){return t===this||!!(t&&t instanceof e)&&(this.scanError===t.scanError&&this.lastWasColon===t.lastWasColon)},e.prototype.getStateData=function(){return this._state},e.prototype.setStateData=function(e){this._state=e},e}();function Re(e){return{dispose:function(){return Fe(e)}}}function Fe(e){for(;e.length;)e.pop().dispose()}t.setupMode=function(e){var t=[],n=[],r=new y(e);t.push(r);var i=function(){for(var e=[],t=0;t=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/N'/,{token:"string",next:"@string"}],[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/\[/,{token:"identifier.quote",next:"@bracketedIdentifier"}],[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],bracketedIdentifier:[[/[^\]]+/,"identifier"],[/]]/,"identifier"],[/]/,{token:"identifier.quote",next:"@pop"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[[/BEGIN\s+(DISTRIBUTED\s+)?TRAN(SACTION)?\b/i,"keyword"],[/BEGIN\s+TRY\b/i,{token:"keyword.try"}],[/END\s+TRY\b/i,{token:"keyword.try"}],[/BEGIN\s+CATCH\b/i,{token:"keyword.catch"}],[/END\s+CATCH\b/i,{token:"keyword.catch"}],[/(BEGIN|CASE)\b/i,{token:"keyword.block"}],[/END\b/i,{token:"keyword.block"}],[/WHEN\b/i,{token:"keyword.choice"}],[/THEN\b/i,{token:"keyword.choice"}]]}}}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/3.25b49772270df4b9915d.js b/apps/emqx_dashboard/priv/www/static/js/3.25b49772270df4b9915d.js new file mode 100644 index 000000000..4b801a581 --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/3.25b49772270df4b9915d.js @@ -0,0 +1 @@ +webpackJsonp([3],{"+0Qw":function(e,t){},"+66z":function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},"+Tn7":function(e,t){},"+gg+":function(e,t,n){var i=n("TQ3y")["__core-js_shared__"];e.exports=i},"+jct":function(e,t,n){"use strict";n.d(t,"b",function(){return i}),n.d(t,"a",function(){return o}),t.c=function(e){var t=o;if(e&&e instanceof RegExp)if(e.global)t=e;else{var n="g";e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),t=new RegExp(e.source,n)}return t.lastIndex=0,t},t.d=function(e,t,n,i){t.lastIndex=0;var o=t.exec(n);if(!o)return null;var r=o[0].indexOf(" ")>=0?function(e,t,n,i){var o,r=e-1-i;t.lastIndex=0;for(;o=t.exec(n);){var s=o.index||0;if(s>r)return null;if(t.lastIndex>=r)return{word:o[0],startColumn:i+1+s,endColumn:i+1+t.lastIndex}}return null}(e,t,n,i):function(e,t,n,i){var o,r=e-1-i,s=n.lastIndexOf(" ",r-1)+1;t.lastIndex=s;for(;o=t.exec(n);){var a=o.index||0;if(a<=r&&t.lastIndex>=r)return{word:o[0],startColumn:i+1+a,endColumn:i+1+t.lastIndex}}return null}(e,t,n,i);return t.lastIndex=0,r};var i="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";var o=function(e){void 0===e&&(e="");for(var t="(-?\\d*\\.\\d\\w*)|([^",n=0,o=i;n=0||(t+="\\"+r)}return t+="\\s]+)",new RegExp(t,"g")}()},"+oh4":function(e,t,n){"use strict";var i;n.d(t,"a",function(){return i}),n.d(t,"b",function(){return o}),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(i||(i={}));var o=function(){function e(e){if(this.open=e.open,this.close=e.close,this._standardTokenMask=0,Array.isArray(e.notIn))for(var t=0,n=e.notIn.length;t200)return t;if("object"==typeof t){switch(t.$mid){case 1:return i.a.revive(t);case 2:return new RegExp(t.source,t.flags)}for(var o in t)Object.hasOwnProperty.call(t,o)&&(t[o]=e(t[o],n+1))}return t}(t,0)};var i=n("mrx5")},"/9db":function(e,t,n){"use strict";n.d(t,"a",function(){return i});var i,o=n("7g0X");!function(e){e.editorTextFocus=new o.d("editorTextFocus",!1),e.focus=new o.d("editorFocus",!1),e.textInputFocus=new o.d("textInputFocus",!1),e.readOnly=new o.d("editorReadonly",!1),e.writable=e.readOnly.toNegated(),e.hasNonEmptySelection=new o.d("editorHasSelection",!1),e.hasOnlyEmptySelection=e.hasNonEmptySelection.toNegated(),e.hasMultipleSelections=new o.d("editorHasMultipleSelections",!1),e.hasSingleSelection=e.hasMultipleSelections.toNegated(),e.tabMovesFocus=new o.d("editorTabMovesFocus",!1),e.tabDoesNotMoveFocus=e.tabMovesFocus.toNegated(),e.isInEmbeddedEditor=new o.d("isInEmbeddedEditor",!1),e.canUndo=new o.d("canUndo",!1),e.canRedo=new o.d("canRedo",!1),e.languageId=new o.d("editorLangId",""),e.hasCompletionItemProvider=new o.d("editorHasCompletionItemProvider",!1),e.hasCodeActionsProvider=new o.d("editorHasCodeActionsProvider",!1),e.hasCodeLensProvider=new o.d("editorHasCodeLensProvider",!1),e.hasDefinitionProvider=new o.d("editorHasDefinitionProvider",!1),e.hasDeclarationProvider=new o.d("editorHasDeclarationProvider",!1),e.hasImplementationProvider=new o.d("editorHasImplementationProvider",!1),e.hasTypeDefinitionProvider=new o.d("editorHasTypeDefinitionProvider",!1),e.hasHoverProvider=new o.d("editorHasHoverProvider",!1),e.hasDocumentHighlightProvider=new o.d("editorHasDocumentHighlightProvider",!1),e.hasDocumentSymbolProvider=new o.d("editorHasDocumentSymbolProvider",!1),e.hasReferenceProvider=new o.d("editorHasReferenceProvider",!1),e.hasRenameProvider=new o.d("editorHasRenameProvider",!1),e.hasSignatureHelpProvider=new o.d("editorHasSignatureHelpProvider",!1),e.hasDocumentFormattingProvider=new o.d("editorHasDocumentFormattingProvider",!1),e.hasDocumentSelectionFormattingProvider=new o.d("editorHasDocumentSelectionFormattingProvider",!1),e.hasMultipleDocumentFormattingProvider=new o.d("editorHasMultipleDocumentFormattingProvider",!1),e.hasMultipleDocumentSelectionFormattingProvider=new o.d("editorHasMultipleDocumentSelectionFormattingProvider",!1)}(i||(i={}))},"/GnY":function(e,t,n){var i=n("HT7L"),o=n("W529"),r=Object.prototype.hasOwnProperty;e.exports=function(e){if(!i(e))return o(e);var t=[];for(var n in Object(e))r.call(e,n)&&"constructor"!=n&&t.push(n);return t}},"/tAm":function(e,t,n){"use strict";t.__esModule=!0;var i=r(n("gdof")),o=r(n("7PNz"));function r(e){return e&&e.__esModule?e:{default:e}}var s=["ALL","ALTER","ANALYZE","AND","ANY","ARRAY","AS","ASC","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CASE","CAST","CLUSTER","COLLATE","COLLECTION","COMMIT","CONNECT","CONTINUE","CORRELATE","COVER","CREATE","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DELETE","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","ELSE","END","EVERY","EXCEPT","EXCLUDE","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FIRST","FLATTEN","FOR","FORCE","FROM","FUNCTION","GRANT","GROUP","GSI","HAVING","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","JOIN","KEY","KEYS","KEYSPACE","KNOWN","LAST","LEFT","LET","LETTING","LIKE","LIMIT","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MERGE","MINUS","MISSING","NAMESPACE","NEST","NOT","NULL","NUMBER","OBJECT","OFFSET","ON","OPTION","OR","ORDER","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PREPARE","PRIMARY","PRIVATE","PRIVILEGE","PROCEDURE","PUBLIC","RAW","REALM","REDUCE","RENAME","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","SATISFIES","SCHEMA","SELECT","SELF","SEMI","SET","SHOW","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TO","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNDER","UNION","UNIQUE","UNKNOWN","UNNEST","UNSET","UPDATE","UPSERT","USE","USER","USING","VALIDATE","VALUE","VALUED","VALUES","VIA","VIEW","WHEN","WHERE","WHILE","WITH","WITHIN","WORK","XOR"],a=["DELETE FROM","EXCEPT ALL","EXCEPT","EXPLAIN DELETE FROM","EXPLAIN UPDATE","EXPLAIN UPSERT","FROM","GROUP BY","HAVING","INFER","INSERT INTO","INTERSECT ALL","INTERSECT","LET","LIMIT","MERGE","NEST","ORDER BY","PREPARE","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","UNION ALL","UNION","UNNEST","UPDATE","UPSERT","USE KEYS","VALUES","WHERE"],u=["AND","INNER JOIN","JOIN","LEFT JOIN","LEFT OUTER JOIN","OR","OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","XOR"],l=void 0,c=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.cfg=t}return e.prototype.format=function(e){return l||(l=new o.default({reservedWords:s,reservedToplevelWords:a,reservedNewlineWords:u,stringTypes:['""',"''","``"],openParens:["(","[","{"],closeParens:[")","]","}"],namedPlaceholderTypes:["$"],lineCommentTypes:["#","--"]})),new i.default(this.cfg,l).format(e)},e}();t.default=c,e.exports=t.default},"/uRs":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"win32",function(){return b}),n.d(t,"posix",function(){return C}),n.d(t,"normalize",function(){return w}),n.d(t,"join",function(){return S}),n.d(t,"relative",function(){return L}),n.d(t,"dirname",function(){return O}),n.d(t,"basename",function(){return E}),n.d(t,"extname",function(){return N}),n.d(t,"sep",function(){return x});var i,o=n("xgy6"),r=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=65,a=97,u=90,l=122,c=46,d=47,h=92,p=function(e){function t(t,n,i){var o,r=this;"string"==typeof n&&0===n.indexOf("not ")?(o="must not be",n=n.replace(/^not /,"")):o="must be";var s='The "'+t+'" '+(-1!==t.indexOf(".")?"property":"argument")+" "+o+" of type "+n;return s+=". Received type "+typeof i,(r=e.call(this,s)||this).code="ERR_INVALID_ARG_TYPE",r}return r(t,e),t}(Error);function f(e,t){if("string"!=typeof e)throw new p(t,"string",e)}function g(e){return e===d||e===h}function m(e){return e===d}function _(e){return e>=s&&e<=u||e>=a&&e<=l}function v(e,t,n,i){for(var o,r="",s=0,a=-1,u=0,l=0;l<=e.length;++l){if(l2){var h=r.lastIndexOf(n);-1===h?(r="",s=0):s=(r=r.slice(0,h)).length-1-r.lastIndexOf(n),a=l,u=0;continue}if(2===r.length||1===r.length){r="",s=0,a=l,u=0;continue}}t&&(r.length>0?r+=n+"..":r="..",s=2)}else r.length>0?r+=n+e.slice(a+1,l):r=e.slice(a+1,l),s=l-a-1;a=l,u=0}else o===c&&-1!==u?++u:u=-1}return r}function y(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+e+i:i}var b={resolve:function(){for(var e=[],t=0;t=-1;s--){var a=void 0;if(s>=0?a=e[s]:n?void 0!==(a=o.b["="+n]||o.a())&&a.slice(0,3).toLowerCase()===n.toLowerCase()+"\\"||(a=n+"\\"):a=o.a(),f(a,"path"),0!==a.length){var u=a.length,l=0,c="",d=!1,h=a.charCodeAt(0);if(u>1)if(g(h))if(d=!0,g(a.charCodeAt(1))){for(var p=2,m=p;p2&&g(a.charCodeAt(2))&&(d=!0,l=3));else g(h)&&(l=1,d=!0);if(!(c.length>0&&n.length>0&&c.toLowerCase()!==n.toLowerCase())&&(0===n.length&&c.length>0&&(n=c),r||(i=a.slice(l)+"\\"+i,r=d),n.length>0&&r))break}}return i=v(i,!r,"\\",g),n+(r?"\\":"")+i||"."},normalize:function(e){f(e,"path");var t=e.length;if(0===t)return".";var n,i,o=0,r=!1,s=e.charCodeAt(0);if(t>1)if(g(s))if(r=!0,g(e.charCodeAt(1))){for(var a=2,u=a;a2&&g(e.charCodeAt(2))&&(r=!0,o=3));else if(g(s))return"\\";return 0!==(i=o0&&g(e.charCodeAt(t-1))&&(i+="\\"),void 0===n?r?i.length>0?"\\"+i:"\\":i.length>0?i:"":r?i.length>0?n+"\\"+i:n+"\\":i.length>0?n+i:n},isAbsolute:function(e){f(e,"path");var t=e.length;if(0===t)return!1;var n=e.charCodeAt(0);return!!g(n)||!!(_(n)&&t>2&&58===e.charCodeAt(1)&&g(e.charCodeAt(2)))},join:function(){for(var e,t,n=[],i=0;i0&&(void 0===e?e=t=r:e+="\\"+r)}if(void 0===e)return".";var s=!0,a=0;if("string"==typeof t&&g(t.charCodeAt(0))){++a;var u=t.length;u>1&&g(t.charCodeAt(1))&&(++a,u>2&&(g(t.charCodeAt(2))?++a:s=!1))}if(s){for(;a=2&&(e="\\"+e.slice(a))}return b.normalize(e)},relative:function(e,t){if(f(e,"from"),f(t,"to"),e===t)return"";var n=b.resolve(e),i=b.resolve(t);if(n===i)return"";if((e=n.toLowerCase())===(t=i.toLowerCase()))return"";for(var o=0;oo&&e.charCodeAt(r-1)===h;--r);for(var s=r-o,a=0;aa&&t.charCodeAt(u-1)===h;--u);for(var l=u-a,c=sc){if(t.charCodeAt(a+p)===h)return i.slice(a+p+1);if(2===p)return i.slice(a+p)}s>c&&(e.charCodeAt(o+p)===h?d=p:2===p&&(d=3));break}var g=e.charCodeAt(o+p);if(g!==t.charCodeAt(a+p))break;g===h&&(d=p)}if(p!==c&&-1===d)return i;var m="";for(-1===d&&(d=0),p=o+d+1;p<=r;++p)p!==r&&e.charCodeAt(p)!==h||(0===m.length?m+="..":m+="\\..");return m.length>0?m+i.slice(a+d,u):(a+=d,i.charCodeAt(a)===h&&++a,i.slice(a,u))},toNamespacedPath:function(e){if("string"!=typeof e)return e;if(0===e.length)return"";var t=b.resolve(e);if(t.length>=3)if(t.charCodeAt(0)===h){if(t.charCodeAt(1)===h){var n=t.charCodeAt(2);if(63!==n&&n!==c)return"\\\\?\\UNC\\"+t.slice(2)}}else if(_(t.charCodeAt(0))&&58===t.charCodeAt(1)&&t.charCodeAt(2)===h)return"\\\\?\\"+t;return e},dirname:function(e){f(e,"path");var t=e.length;if(0===t)return".";var n=-1,i=-1,o=!0,r=0,s=e.charCodeAt(0);if(t>1)if(g(s)){if(n=r=1,g(e.charCodeAt(1))){for(var a=2,u=a;a2&&g(e.charCodeAt(2))&&(n=r=3));else if(g(s))return e;for(var l=t-1;l>=r;--l)if(g(e.charCodeAt(l))){if(!o){i=l;break}}else o=!1;if(-1===i){if(-1===n)return".";i=n}return e.slice(0,i)},basename:function(e,t){void 0!==t&&f(t,"ext"),f(e,"path");var n,i=0,o=-1,r=!0;e.length>=2&&(_(e.charCodeAt(0))&&58===e.charCodeAt(1)&&(i=2));if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var s=t.length-1,a=-1;for(n=e.length-1;n>=i;--n){var u=e.charCodeAt(n);if(g(u)){if(!r){i=n+1;break}}else-1===a&&(r=!1,a=n+1),s>=0&&(u===t.charCodeAt(s)?-1==--s&&(o=n):(s=-1,o=a))}return i===o?o=a:-1===o&&(o=e.length),e.slice(i,o)}for(n=e.length-1;n>=i;--n)if(g(e.charCodeAt(n))){if(!r){i=n+1;break}}else-1===o&&(r=!1,o=n+1);return-1===o?"":e.slice(i,o)},extname:function(e){f(e,"path");var t=0,n=-1,i=0,o=-1,r=!0,s=0;e.length>=2&&58===e.charCodeAt(1)&&_(e.charCodeAt(0))&&(t=i=2);for(var a=e.length-1;a>=t;--a){var u=e.charCodeAt(a);if(g(u)){if(!r){i=a+1;break}}else-1===o&&(r=!1,o=a+1),u===c?-1===n?n=a:1!==s&&(s=1):-1!==n&&(s=-1)}return-1===n||-1===o||0===s||1===s&&n===o-1&&n===i+1?"":e.slice(n,o)},format:function(e){if(null===e||"object"!=typeof e)throw new p("pathObject","Object",e);return y("\\",e)},parse:function(e){f(e,"path");var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var n=e.length,i=0,o=e.charCodeAt(0);if(n>1){if(g(o)){if(i=1,g(e.charCodeAt(1))){for(var r=2,s=r;r2))return t.root=t.dir=e,t;if(g(e.charCodeAt(2))){if(3===n)return t.root=t.dir=e,t;i=3}}}else if(g(o))return t.root=t.dir=e,t;i>0&&(t.root=e.slice(0,i));for(var a=-1,u=i,l=-1,d=!0,h=e.length-1,p=0;h>=i;--h)if(g(o=e.charCodeAt(h))){if(!d){u=h+1;break}}else-1===l&&(d=!1,l=h+1),o===c?-1===a?a=h:1!==p&&(p=1):-1!==a&&(p=-1);return-1===a||-1===l||0===p||1===p&&a===l-1&&a===u+1?-1!==l&&(t.base=t.name=e.slice(u,l)):(t.name=e.slice(u,a),t.base=e.slice(u,l),t.ext=e.slice(a,l)),t.dir=u>0&&u!==i?e.slice(0,u-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},C={resolve:function(){for(var e=[],t=0;t=-1&&!i;r--){var s=void 0;f(s=r>=0?e[r]:o.a(),"path"),0!==s.length&&(n=s+"/"+n,i=s.charCodeAt(0)===d)}return n=v(n,!i,"/",m),i?n.length>0?"/"+n:"/":n.length>0?n:"."},normalize:function(e){if(f(e,"path"),0===e.length)return".";var t=e.charCodeAt(0)===d,n=e.charCodeAt(e.length-1)===d;return 0!==(e=v(e,!t,"/",m)).length||t||(e="."),e.length>0&&n&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return f(e,"path"),e.length>0&&e.charCodeAt(0)===d},join:function(){for(var e,t=[],n=0;n0&&(void 0===e?e=o:e+="/"+o)}return void 0===e?".":C.normalize(e)},relative:function(e,t){if(f(e,"from"),f(t,"to"),e===t)return"";if((e=C.resolve(e))===(t=C.resolve(t)))return"";for(var n=1;na){if(t.charCodeAt(r+l)===d)return t.slice(r+l+1);if(0===l)return t.slice(r+l)}else o>a&&(e.charCodeAt(n+l)===d?u=l:0===l&&(u=0));break}var c=e.charCodeAt(n+l);if(c!==t.charCodeAt(r+l))break;c===d&&(u=l)}var h="";for(l=n+u+1;l<=i;++l)l!==i&&e.charCodeAt(l)!==d||(0===h.length?h+="..":h+="/..");return h.length>0?h+t.slice(r+u):(r+=u,t.charCodeAt(r)===d&&++r,t.slice(r))},toNamespacedPath:function(e){return e},dirname:function(e){if(f(e,"path"),0===e.length)return".";for(var t=e.charCodeAt(0)===d,n=-1,i=!0,o=e.length-1;o>=1;--o)if(e.charCodeAt(o)===d){if(!i){n=o;break}}else i=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)},basename:function(e,t){void 0!==t&&f(t,"ext"),f(e,"path");var n,i=0,o=-1,r=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var s=t.length-1,a=-1;for(n=e.length-1;n>=0;--n){var u=e.charCodeAt(n);if(u===d){if(!r){i=n+1;break}}else-1===a&&(r=!1,a=n+1),s>=0&&(u===t.charCodeAt(s)?-1==--s&&(o=n):(s=-1,o=a))}return i===o?o=a:-1===o&&(o=e.length),e.slice(i,o)}for(n=e.length-1;n>=0;--n)if(e.charCodeAt(n)===d){if(!r){i=n+1;break}}else-1===o&&(r=!1,o=n+1);return-1===o?"":e.slice(i,o)},extname:function(e){f(e,"path");for(var t=-1,n=0,i=-1,o=!0,r=0,s=e.length-1;s>=0;--s){var a=e.charCodeAt(s);if(a!==d)-1===i&&(o=!1,i=s+1),a===c?-1===t?t=s:1!==r&&(r=1):-1!==t&&(r=-1);else if(!o){n=s+1;break}}return-1===t||-1===i||0===r||1===r&&t===i-1&&t===n+1?"":e.slice(t,i)},format:function(e){if(null===e||"object"!=typeof e)throw new p("pathObject","Object",e);return y("/",e)},parse:function(e){f(e,"path");var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var n,i=e.charCodeAt(0)===d;i?(t.root="/",n=1):n=0;for(var o=-1,r=0,s=-1,a=!0,u=e.length-1,l=0;u>=n;--u){var h=e.charCodeAt(u);if(h!==d)-1===s&&(a=!1,s=u+1),h===c?-1===o?o=u:1!==l&&(l=1):-1!==o&&(l=-1);else if(!a){r=u+1;break}}return-1===o||-1===s||0===l||1===l&&o===s-1&&o===r+1?-1!==s&&(t.base=t.name=0===r&&i?e.slice(1,s):e.slice(r,s)):(0===r&&i?(t.name=e.slice(1,o),t.base=e.slice(1,s)):(t.name=e.slice(r,o),t.base=e.slice(r,s)),t.ext=e.slice(o,s)),r>0?t.dir=e.slice(0,r-1):i&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};C.win32=b.win32=b,C.posix=b.posix=C;var w="win32"===o.c?b.normalize:C.normalize,S="win32"===o.c?b.join:C.join,L="win32"===o.c?b.relative:C.relative,O="win32"===o.c?b.dirname:C.dirname,E="win32"===o.c?b.basename:C.basename,N="win32"===o.c?b.extname:C.extname,x="win32"===o.c?b.sep:C.sep},"03Zz":function(e,t,n){"use strict";n.d(t,"a",function(){return y}),n.d(t,"c",function(){return b}),n.d(t,"b",function(){return C}),t.j=w,t.e=function(e,t){w(e,function(e,n){var i=n.resource,o=n.position;if(!(i instanceof s.a))throw Object(r.b)("resource");if(!u.a.isIPosition(o))throw Object(r.b)("position");var a=e.get(l.a).getModel(i);if(a){var d=u.a.lift(o);return t(a,d,n)}return e.get(c.a).createModelReference(i).then(function(e){return new Promise(function(i,r){try{var s=t(e.object.textEditorModel,u.a.lift(o),n);i(s)}catch(e){r(e)}}).finally(function(){e.dispose()})})})},t.g=function(e){return S.INSTANCE.registerEditorCommand(e),e},t.f=function(e){S.INSTANCE.registerEditorAction(new e)},t.i=function(e){S.INSTANCE.registerEditorAction(e)},t.h=function(e){S.INSTANCE.registerEditorContribution(e)},n.d(t,"d",function(){return o});var i,o,r=n("zxiH"),s=n("mrx5"),a=n("vORD"),u=n("artP"),l=n("jIdl"),c=n("B/Xy"),d=n("C3c5"),h=n("ItKl"),p=n("7g0X"),f=n("Kx4b"),g=n("RWr8"),m=n("3ciN"),_=n("KIxu"),v=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),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&&d.c.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.a.and(t,this.precondition):this.precondition),f.a.registerCommandAndKeybindingRule({id:this.id,handler:function(t,n){return e.runCommand(t,n)},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 h.a.registerCommand({id:this.id,handler:function(t,n){return e.runCommand(t,n)},description:this._description})},e}(),b=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return v(t,e),t.bindToContribution=function(e){return function(t){function n(e){var n=t.call(this,e)||this;return n._callback=e.handler,n}return v(n,t),n.prototype.runEditorCommand=function(t,n,i){e(n)&&this._callback(e(n),i)},n}(t)},t.prototype.runCommand=function(e,t){var n=this,i=e.get(a.a),o=i.getFocusedCodeEditor()||i.getActiveCodeEditor();if(o)return o.invokeWithinContext(function(e){if(e.get(p.c).contextMatchesRules(Object(_.m)(n.precondition)))return n.runEditorCommand(e,o,t)})},t}(y),C=function(e){function t(t){var n=e.call(this,t)||this;return n.label=t.label,n.alias=t.alias,n.menuOpts=t.menuOpts,n}return v(t,e),t.prototype.register=function(){this.menuOpts&&d.c.appendMenuItem(7,{command:{id:this.id,title:this.label},when:p.a.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,n){return this.reportTelemetry(e,t),this.run(e,t,n||{})},t.prototype.reportTelemetry=function(e,t){e.get(m.a).publicLog2("editorActionInvoked",{name:this.label,id:this.id})},t}(b);function w(e,t){h.a.registerCommand(e,function(e,n){return t(e,n||{})})}!function(e){e.getEditorCommand=function(e){return S.INSTANCE.getEditorCommand(e)},e.getEditorActions=function(){return S.INSTANCE.getEditorActions()},e.getEditorContributions=function(){return S.INSTANCE.getEditorContributions()}}(o||(o={}));var S=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}();g.a.add("editor.contributions",S.INSTANCE)},"0Td8":function(e,t,n){"use strict";var i,o,r=n("tqet"),s=n("aL7J"),a=n("03Zz"),u=n("7VLx"),l=n("/9db"),c=n("zxiH"),d=n("Cv8t"),h=n("yO/1"),p=n("NqM+"),f=n("7/Cv"),g=n("AKCZ"),m=n("artP"),_=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),v=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},y=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},N=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}};!function(e){e.Hidden=new(function(){return function(){this.type=0}}());var t=function(){return function(e,t,n){this.actions=e,this.editorPosition=t,this.widgetPosition=n,this.type=1}}();e.Showing=t}(o||(o={}));var x,I=function(e){function t(t,n,i){var r=e.call(this)||this;return r._editor=t,r._quickFixActionId=n,r._keybindingService=i,r._onClick=r._register(new w.a),r.onClick=r._onClick.event,r._state=o.Hidden,r._domNode=document.createElement("div"),r._domNode.className="lightbulb-glyph",r._editor.addContentWidget(r),r._register(r._editor.onDidChangeModelContent(function(e){var t=r._editor.getModel();(1!==r._state.type||!t||r._state.editorPosition.lineNumber>=t.getLineCount())&&r.hide()})),r._register(f.k(r._domNode,"mousedown",function(e){if(1===r._state.type){r._editor.focus(),e.preventDefault();var t=f.x(r._domNode),n=t.top,i=t.height,o=r._editor.getConfiguration().lineHeight,s=Math.floor(o/3);null!==r._state.widgetPosition.position&&r._state.widgetPosition.position.lineNumber2&&i._editor.getTopForLineNumber(e)===i._editor.getTopForLineNumber(e-1)},p=s;if(!(r.fontInfo.spaceWidth*d>22))if(s>1&&!h(s-1))p-=1;else if(h(s+1)){if(a*r.fontInfo.spaceWidth<22)return this.hide()}else p+=1;this._state=new o.Showing(e,n,{position:{lineNumber:p,column:1},preference:t._posPref}),f.R(this._domNode,"autofixable",e.hasAutoFix),this._editor.layoutContentWidget(this)},Object.defineProperty(t.prototype,"title",{set:function(e){this._domNode.title=e},enumerable:!0,configurable:!0}),t.prototype.hide=function(){this._state=o.Hidden,this._editor.layoutContentWidget(this)},t.prototype._updateLightBulbTitle=function(){var e,t=this._keybindingService.lookupKeybinding(this._quickFixActionId);e=t?L.a("quickFixWithKb","Show Fixes ({0})",t.getLabel()):L.a("quickFix","Show Fixes"),this.title=e},t._posPref=[0],t=E([N(2,p.a)],t)}(r.a),D=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),k=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},T=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},M=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},R=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]0))return[3,9];if(1!==e.trigger.autoApply&&(0!==e.trigger.autoApply||1!==t.actions.length))return[3,9];i.label=5;case 5:return i.trys.push([5,,7,8]),[4,this.delegate.applyCodeAction(t.actions[0],!1)];case 6:return i.sent(),[3,8];case 7:return t.dispose(),[7];case 8:return[2];case 9:return this._activeCodeActions.value=t,this._codeActionWidget.show(t,e.position),[3,11];case 10:this._codeActionWidget.isVisible?t.dispose():this._activeCodeActions.value=t,i.label=11;case 11:return[2]}})})},t.prototype.showCodeActionList=function(e,t){return M(this,void 0,void 0,function(){return R(this,function(n){return this._codeActionWidget.show(e,t),[2]})})},t.prototype._handleLightBulbSelect=function(e){this._codeActionWidget.show(e.actions,e)},t=k([T(3,h.a),T(4,p.a)],t)}(r.a),P=n("ItKl"),F=n("7g0X"),W=n("OHx0"),j=n("DBt1"),V=n("odeJ"),B=n("vTy2"),H=n("PCC9"),z=n("OBuU"),U=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),K=new F.d("supportedCodeAction",""),q=function(e){function t(t,n,i,o){void 0===o&&(o=250);var r=e.call(this)||this;return r._editor=t,r._markerService=n,r._signalChange=i,r._delay=o,r._autoTriggerTimer=r._register(new V.e),r._register(r._markerService.onMarkerChanged(function(e){return r._onMarkerChanges(e)})),r._register(r._editor.onDidChangeCursorPosition(function(){return r._onCursorChange()})),r}return U(t,e),t.prototype.trigger=function(e){var t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);return this._createEventAndSignalChange(e,t)},t.prototype._onMarkerChanges=function(e){var t=this,n=this._editor.getModel();n&&e.some(function(e){return e.toString()===n.uri.toString()})&&this._autoTriggerTimer.cancelAndSet(function(){t.trigger({type:"auto"})},this._delay)},t.prototype._onCursorChange=function(){var e=this;this._autoTriggerTimer.cancelAndSet(function(){e.trigger({type:"auto"})},this._delay)},t.prototype._getRangeOfMarker=function(e){var t=this._editor.getModel();if(t)for(var n=0,i=this._markerService.read({resource:t.uri});n=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},J=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Q=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},$=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=0;t--)this.editOperations[t]={operations:e.applyEdits(this.editOperations[t].operations)}},e.prototype.redo=function(e){for(var t=0;t0){var e=this.past.pop();try{e.undo(this.model)}catch(e){return Object(i.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||null!==this.currentOpenStackElement},e.prototype.redo=function(){if(this.future.length>0){var e=this.future.pop();try{e.redo(this.model)}catch(e){return Object(i.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}(),_=function(){return function(){this.spacesDiff=0,this.looksLikeAlignment=!1}}();function v(e,t,n,i,o){var r;for(o.spacesDiff=0,o.looksLikeAlignment=!1,r=0;r0&&a>0||l>0&&c>0)){var d=Math.abs(a-c),h=Math.abs(s-l);if(0===d)return o.spacesDiff=h,void(h>0&&0<=l-1&&l-10?o++:m>1&&r++,v(s,a,h,g,l),!l.looksLikeAlignment||n&&t===l.spacesDiff)){var S=l.spacesDiff;S<=8&&u[S]++,s=h,a=g}}var L=n;o!==r&&(L=oE&&(E=t,O=e)}),4===O&&u[4]>0&&u[2]>0&&u[2]>=u[4]/2&&(O=2)}return{insertSpaces:L,tabSize:O}}function b(e){return(1&e.metadata)>>>0}function C(e,t){e.metadata=254&e.metadata|t<<0}function w(e){return(2&e.metadata)>>>1==1}function S(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function L(e){return(4&e.metadata)>>>2==1}function O(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function E(e){return(8&e.metadata)>>>3==1}function N(e,t){e.metadata=247&e.metadata|(t?1:0)<<3}function x(e,t){e.metadata=207&e.metadata|t<<4}function I(e,t){e.metadata=191&e.metadata|(t?1:0)<<6}var D=function(){function e(e,t,n){this.metadata=0,this.parent=this,this.left=this,this.right=this,C(this,1),this.start=t,this.end=n,this.delta=0,this.maxEnd=n,this.id=e,this.ownerId=0,this.options=null,O(this,!1),x(this,1),N(this,!1),I(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=null,S(this,!1)}return e.prototype.reset=function(e,t,n,i){this.start=t,this.end=n,this.maxEnd=n,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=i},e.prototype.setOptions=function(e){this.options=e;var t=this.options.className;O(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),x(this,this.options.stickiness),N(this,!(!this.options.overviewRuler||!this.options.overviewRuler.color)),I(this,this.options.collapseOnReplaceEdit)},e.prototype.setCachedOffsets=function(e,t,n){this.cachedVersionId!==n&&(this.range=null),this.cachedVersionId=n,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t},e.prototype.detach=function(){this.parent=null,this.left=null,this.right=null},e}(),k=new D(null,0,0);k.parent=k,k.left=k,k.right=k,C(k,0);var T=function(){function e(){this.root=k,this.requestNormalizeDelta=!1}return e.prototype.intervalSearch=function(e,t,n,i,o){return this.root===k?[]:function(e,t,n,i,o,r){var s=e.root,a=0,u=0,l=0,c=[],d=0;for(;s!==k;)if(w(s))S(s.left,!1),S(s.right,!1),s===s.parent.right&&(a-=s.parent.delta),s=s.parent;else{if(!w(s.left)){if(a+s.maxEndn)S(s,!0);else{if((l=a+s.end)>=t){s.setCachedOffsets(u,l,r);var h=!0;i&&s.ownerId&&s.ownerId!==i&&(h=!1),o&&L(s)&&(h=!1),h&&(c[d++]=s)}S(s,!0),s.right===k||w(s.right)||(a+=s.delta,s=s.right)}}return S(e.root,!1),c}(this,e,t,n,i,o)},e.prototype.search=function(e,t,n){return this.root===k?[]:function(e,t,n,i){var o=e.root,r=0,s=0,a=0,u=[],l=0;for(;o!==k;)if(w(o))S(o.left,!1),S(o.right,!1),o===o.parent.right&&(r-=o.parent.delta),o=o.parent;else if(o.left===k||w(o.left)){s=r+o.start,a=r+o.end,o.setCachedOffsets(s,a,i);var c=!0;t&&o.ownerId&&o.ownerId!==t&&(c=!1),n&&L(o)&&(c=!1),c&&(u[l++]=o),S(o,!0),o.right===k||w(o.right)||(r+=o.delta,o=o.right)}else o=o.left;return S(e.root,!1),u}(this,e,t,n)},e.prototype.collectNodesFromOwner=function(e){return function(e,t){var n=e.root,i=[],o=0;for(;n!==k;)w(n)?(S(n.left,!1),S(n.right,!1),n=n.parent):n.left===k||w(n.left)?(n.ownerId===t&&(i[o++]=n),S(n,!0),n.right===k||w(n.right)||(n=n.right)):n=n.left;return S(e.root,!1),i}(this,e)},e.prototype.collectNodesPostOrder=function(){return function(e){var t=e.root,n=[],i=0;for(;t!==k;)w(t)?(S(t.left,!1),S(t.right,!1),t=t.parent):t.left===k||w(t.left)?t.right===k||w(t.right)?(n[i++]=t,S(t,!0)):t=t.right:t=t.left;return S(e.root,!1),n}(this)},e.prototype.insert=function(e){A(this,e),this._normalizeDeltaIfNecessary()},e.prototype.delete=function(e){P(this,e),this._normalizeDeltaIfNecessary()},e.prototype.resolveNode=function(e,t){for(var n=e,i=0;e!==this.root;)e===e.parent.right&&(i+=e.parent.delta),e=e.parent;var o=n.start+i,r=n.end+i;n.setCachedOffsets(o,r,t)},e.prototype.acceptReplace=function(e,t,n,i){for(var o=function(e,t,n){var i=e.root,o=0,r=0,s=0,a=[],u=0;for(;i!==k;)if(w(i))S(i.left,!1),S(i.right,!1),i===i.parent.right&&(o-=i.parent.delta),i=i.parent;else{if(!w(i.left)){if(o+i.maxEndn?S(i,!0):((s=o+i.end)>=t&&(i.setCachedOffsets(r,s,0),a[u++]=i),S(i,!0),i.right===k||w(i.right)||(o+=i.delta,i=i.right))}return S(e.root,!1),a}(this,e,e+t),r=0,s=o.length;rn?(o.start+=s,o.end+=s,o.delta+=s,(o.delta<-1073741824||o.delta>1073741824)&&(e.requestNormalizeDelta=!0),S(o,!0)):(S(o,!0),o.right===k||w(o.right)||(r+=o.delta,o=o.right))}S(e.root,!1)}(this,e,e+t,n),this._normalizeDeltaIfNecessary();for(r=0,s=o.length;rn)&&(1!==i&&(2===i||t))}function R(e,t,n,i,o){var r=function(e){return(48&e.metadata)>>>4}(e),s=0===r||2===r,a=1===r||2===r,u=n-t,l=i,c=Math.min(u,l),d=e.start,h=!1,p=e.end,f=!1;t<=d&&p<=n&&function(e){return(64&e.metadata)>>>6==1}(e)&&(e.start=t,h=!0,e.end=t,f=!0);var g=o?1:u>0?2:0;if(!h&&M(d,s,t,g)&&(h=!0),!f&&M(p,a,t,g)&&(f=!0),c>0&&!o){g=u>l?2:0;!h&&M(d,s,t+c,g)&&(h=!0),!f&&M(p,a,t+c,g)&&(f=!0)}g=o?1:0;!h&&M(d,s,n,g)&&(e.start=t+l,h=!0),!f&&M(p,a,n,g)&&(e.end=t+l,f=!0);var m=l-u;h||(e.start=Math.max(0,d+m)),f||(e.end=Math.max(0,p+m)),e.start>e.end&&(e.end=e.start)}function A(e,t){if(e.root===k)return t.parent=k,t.left=k,t.right=k,C(t,0),e.root=t,e.root;!function(e,t){var n=0,i=e.root,o=t.start,r=t.end;for(;;){var s=z(o,r,i.start+n,i.end+n);if(s<0){if(i.left===k){t.start-=n,t.end-=n,t.maxEnd-=n,i.left=t;break}i=i.left}else{if(i.right===k){t.start-=n+i.delta,t.end-=n+i.delta,t.maxEnd-=n+i.delta,i.right=t;break}n+=i.delta,i=i.right}}t.parent=i,t.left=k,t.right=k,C(t,1)}(e,t),H(t.parent);for(var n=t;n!==e.root&&1===b(n.parent);){var i;if(n.parent===n.parent.parent.left)1===b(i=n.parent.parent.right)?(C(n.parent,0),C(i,0),C(n.parent.parent,1),n=n.parent.parent):(n===n.parent.right&&W(e,n=n.parent),C(n.parent,0),C(n.parent.parent,1),j(e,n.parent.parent));else 1===b(i=n.parent.parent.left)?(C(n.parent,0),C(i,0),C(n.parent.parent,1),n=n.parent.parent):(n===n.parent.left&&j(e,n=n.parent),C(n.parent,0),C(n.parent.parent,1),W(e,n.parent.parent))}return C(e.root,0),t}function P(e,t){var n,i;if(t.left===k?(i=t,(n=t.right).delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta):t.right===k?(n=t.left,i=t):((n=(i=function(e){for(;e.left!==k;)e=e.left;return e}(t.right)).right).start+=i.delta,n.end+=i.delta,n.delta+=i.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta,i.delta=t.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0)),i===e.root)return e.root=n,C(n,0),t.detach(),F(),B(n),void(e.root.parent=k);var o,r=1===b(i);if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?n.parent=i.parent:(i.parent===t?n.parent=i:n.parent=i.parent,i.left=t.left,i.right=t.right,i.parent=t.parent,C(i,b(t)),t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==k&&(i.left.parent=i),i.right!==k&&(i.right.parent=i)),t.detach(),r)return H(n.parent),i!==t&&(H(i),H(i.parent)),void F();for(H(n),H(n.parent),i!==t&&(H(i),H(i.parent));n!==e.root&&0===b(n);)n===n.parent.left?(1===b(o=n.parent.right)&&(C(o,0),C(n.parent,1),W(e,n.parent),o=n.parent.right),0===b(o.left)&&0===b(o.right)?(C(o,1),n=n.parent):(0===b(o.right)&&(C(o.left,0),C(o,1),j(e,o),o=n.parent.right),C(o,b(n.parent)),C(n.parent,0),C(o.right,0),W(e,n.parent),n=e.root)):(1===b(o=n.parent.left)&&(C(o,0),C(n.parent,1),j(e,n.parent),o=n.parent.left),0===b(o.left)&&0===b(o.right)?(C(o,1),n=n.parent):(0===b(o.left)&&(C(o.right,0),C(o,1),W(e,o),o=n.parent.left),C(o,b(n.parent)),C(n.parent,0),C(o.left,0),j(e,n.parent),n=e.root));C(n,0),F()}function F(){k.parent=k,k.delta=0,k.start=0,k.end=0}function W(e,t){var n=t.right;n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta,t.right=n.left,n.left!==k&&(n.left.parent=t),n.parent=t.parent,t.parent===k?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n,B(t),B(n)}function j(e,t){var n=t.left;t.delta-=n.delta,(t.delta<-1073741824||t.delta>1073741824)&&(e.requestNormalizeDelta=!0),t.start-=n.delta,t.end-=n.delta,t.left=n.right,n.right!==k&&(n.right.parent=t),n.parent=t.parent,t.parent===k?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n,B(t),B(n)}function V(e){var t=e.end;if(e.left!==k){var n=e.left.maxEnd;n>t&&(t=n)}if(e.right!==k){var i=e.right.maxEnd+e.delta;i>t&&(t=i)}return t}function B(e){e.maxEnd=V(e)}function H(e){for(;e!==k;){var t=V(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}function z(e,t,n,i){return e===n?t-i:e-n}var U=function(){function e(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}return e.prototype.next=function(){if(this.right!==K)return q(this.right);for(var e=this;e.parent!==K&&e.parent.left!==e;)e=e.parent;return e.parent===K?K:e.parent},e.prototype.prev=function(){if(this.left!==K)return G(this.left);for(var e=this;e.parent!==K&&e.parent.right!==e;)e=e.parent;return e.parent===K?K:e.parent},e.prototype.detach=function(){this.parent=null,this.left=null,this.right=null},e}(),K=new U(null,0);function q(e){for(;e.left!==K;)e=e.left;return e}function G(e){for(;e.right!==K;)e=e.right;return e}function Z(e){return e===K?0:e.size_left+e.piece.length+Z(e.right)}function Y(e){return e===K?0:e.lf_left+e.piece.lineFeedCnt+Y(e.right)}function X(){K.parent=K}function J(e,t){var n=t.right;n.size_left+=t.size_left+(t.piece?t.piece.length:0),n.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=n.left,n.left!==K&&(n.left.parent=t),n.parent=t.parent,t.parent===K?e.root=n:t.parent.left===t?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n}function Q(e,t){var n=t.left;t.left=n.right,n.right!==K&&(n.right.parent=t),n.parent=t.parent,t.size_left-=n.size_left+(n.piece?n.piece.length:0),t.lf_left-=n.lf_left+(n.piece?n.piece.lineFeedCnt:0),t.parent===K?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n}function $(e,t){var n,i;if(n=t.left===K?(i=t).right:t.right===K?(i=t).left:(i=q(t.right)).right,i===e.root)return e.root=n,n.color=0,t.detach(),X(),void(e.root.parent=K);var o=1===i.color;if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?(n.parent=i.parent,ne(e,n)):(i.parent===t?n.parent=i:n.parent=i.parent,ne(e,n),i.left=t.left,i.right=t.right,i.parent=t.parent,i.color=t.color,t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==K&&(i.left.parent=i),i.right!==K&&(i.right.parent=i),i.size_left=t.size_left,i.lf_left=t.lf_left,ne(e,i)),t.detach(),n.parent.left===n){var r=Z(n),s=Y(n);if(r!==n.parent.size_left||s!==n.parent.lf_left){var a=r-n.parent.size_left,u=s-n.parent.lf_left;n.parent.size_left=r,n.parent.lf_left=s,te(e,n.parent,a,u)}}if(ne(e,n.parent),o)X();else{for(var l;n!==e.root&&0===n.color;)n===n.parent.left?(1===(l=n.parent.right).color&&(l.color=0,n.parent.color=1,J(e,n.parent),l=n.parent.right),0===l.left.color&&0===l.right.color?(l.color=1,n=n.parent):(0===l.right.color&&(l.left.color=0,l.color=1,Q(e,l),l=n.parent.right),l.color=n.parent.color,n.parent.color=0,l.right.color=0,J(e,n.parent),n=e.root)):(1===(l=n.parent.left).color&&(l.color=0,n.parent.color=1,Q(e,n.parent),l=n.parent.left),0===l.left.color&&0===l.right.color?(l.color=1,n=n.parent):(0===l.left.color&&(l.right.color=0,l.color=1,J(e,l),l=n.parent.left),l.color=n.parent.color,n.parent.color=0,l.left.color=0,Q(e,n.parent),n=e.root));n.color=0,X()}}function ee(e,t){for(ne(e,t);t!==e.root&&1===t.parent.color;){var n;if(t.parent===t.parent.parent.left)1===(n=t.parent.parent.right).color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&J(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,Q(e,t.parent.parent));else 1===(n=t.parent.parent.left).color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&Q(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,J(e,t.parent.parent))}e.root.color=0}function te(e,t,n,i){for(;t!==e.root&&t!==K;)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}function ne(e,t){var n=0,i=0;if(t!==e.root){if(0===n){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t===e.root)return;n=Z((t=t.parent).left)-t.size_left,i=Y(t.left)-t.lf_left,t.size_left+=n,t.lf_left+=i}for(;t!==e.root&&(0!==n||0!==i);)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}}K.parent=K,K.left=K,K.right=K,K.color=0;var ie=n("IErJ");function oe(e){var t;return(t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length)).set(e,0),t}var re=function(){return function(e,t,n,i,o){this.lineStarts=e,this.cr=t,this.lf=n,this.crlf=i,this.isBasicASCII=o}}();function se(e,t){void 0===t&&(t=!0);for(var n=[0],i=1,o=0,r=e.length;o=0;t--){var n=this._cache[t];if(n.nodeStartOffset<=e&&n.nodeStartOffset+n.node.piece.length>=e)return n}return null},e.prototype.get2=function(e){for(var t=this._cache.length-1;t>=0;t--){var n=this._cache[t];if(n.nodeStartLineNumber&&n.nodeStartLineNumber=e)return n}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,n=this._cache,i=0;i=e)&&(n[i]=null,t=!0)}if(t){for(var r=[],s=0,a=n;s0){e[o].lineStarts||(e[o].lineStarts=se(e[o].buffer));var s=new ae(o+1,{line:0,column:0},{line:e[o].lineStarts.length-1,column:e[o].buffer.length-e[o].lineStarts[e[o].lineStarts.length-1]},e[o].lineStarts.length-1,e[o].buffer.length);this._buffers.push(e[o]),i=this.rbInsertRight(i,s)}this._searchCache=new le(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()},e.prototype.normalizeEOL=function(e){var t=this,n=65535-Math.floor(21845),i=2*n,o="",r=0,s=[];if(this.iterate(this.root,function(a){var u=t.getNodeContent(a),l=u.length;if(r<=n||r+l0){var a=o.replace(/\r\n|\r|\n/g,e);s.push(new ue(a,se(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 n=0,i=this.root;i!==K;)if(i.left!==K&&i.lf_left+1>=e)i=i.left;else{if(i.lf_left+i.piece.lineFeedCnt+1>=e)return(n+=i.size_left)+(this.getAccumulatedValue(i,e-i.lf_left-2)+t-1);e-=i.lf_left+i.piece.lineFeedCnt,n+=i.size_left+i.piece.length,i=i.right}return n},e.prototype.getPositionAt=function(e){e=Math.floor(e),e=Math.max(0,e);for(var t=this.root,n=0,i=e;t!==K;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){var o=this.getIndexOf(t,e-t.size_left);if(n+=t.lf_left+o.index,0===o.index){var r=i-this.getOffsetAt(n+1,1);return new l.a(n+1,r+1)}return new l.a(n+1,o.remainder+1)}if(e-=t.size_left+t.piece.length,n+=t.lf_left+t.piece.lineFeedCnt,t.right===K){r=i-e-this.getOffsetAt(n+1,1);return new l.a(n+1,r+1)}t=t.right}return new l.a(1,1)},e.prototype.getValueInRange=function(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";var n=this.nodeAt2(e.startLineNumber,e.startColumn),i=this.nodeAt2(e.endLineNumber,e.endColumn),o=this.getValueInRange2(n,i);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?o:o.replace(/\r\n|\r|\n/g,t):o},e.prototype.getValueInRange2=function(e,t){if(e.node===t.node){var n=e.node,i=this._buffers[n.piece.bufferIndex].buffer,o=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i.substring(o+e.remainder,o+t.remainder)}var r=e.node,s=this._buffers[r.piece.bufferIndex].buffer,a=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start),u=s.substring(a+e.remainder,a+r.piece.length);for(r=r.next();r!==K;){var l=this._buffers[r.piece.bufferIndex].buffer,c=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start);if(r===t.node){u+=l.substring(c,c+t.remainder);break}u+=l.substr(c,r.piece.length),r=r.next()}return u},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 n=this.nodeAt2(e,t+1);if(n.remainder===n.node.piece.length){var i=n.node.next();if(!i)return 0;var o=this._buffers[i.piece.bufferIndex],r=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return o.buffer.charCodeAt(r)}o=this._buffers[n.node.piece.bufferIndex];var s=(r=this.offsetInBuffer(n.node.piece.bufferIndex,n.node.piece.start))+n.remainder;return o.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,n,i,o,r,s,a,u,l,d){var h,p=this._buffers[e.piece.bufferIndex],f=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start),g=this.offsetInBuffer(e.piece.bufferIndex,o),m=this.offsetInBuffer(e.piece.bufferIndex,r);t.reset(g);var _={line:0,column:0};do{if(h=t.next(p.buffer)){if(h.index>=m)return l;this.positionInBuffer(e,h.index-f,_);var v=this.getLineFeedCnt(e.piece.bufferIndex,o,_),y=_.line===o.line?_.column-o.column+i:_.column+1,b=y+h[0].length;if(d[l++]=Object(ie.d)(new c.a(n+v,y,n+v,b),h,a),h.index+h[0].length>=m)return l;if(l>=u)return l}}while(h);return l},e.prototype.findMatchesLineByLine=function(e,t,n,i){var o=[],r=0,s=new ie.b(t.wordSeparators,t.regex),a=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===a)return[];var u=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===u)return[];var l=this.positionInBuffer(a.node,a.remainder),c=this.positionInBuffer(u.node,u.remainder);if(a.node===u.node)return this.findMatchesInNode(a.node,s,e.startLineNumber,e.startColumn,l,c,t,n,i,r,o),o;for(var d=e.startLineNumber,h=a.node;h!==u.node;){var p=this.getLineFeedCnt(h.piece.bufferIndex,l,h.piece.end);if(p>=1){var f=this._buffers[h.piece.bufferIndex].lineStarts,g=this.offsetInBuffer(h.piece.bufferIndex,h.piece.start),m=f[l.line+p],_=d===e.startLineNumber?e.startColumn:1;if((r=this.findMatchesInNode(h,s,d,_,l,this.positionInBuffer(h,m-g),t,n,i,r,o))>=i)return o;d+=p}var v=d===e.startLineNumber?e.startColumn-1:0;if(d===e.endLineNumber){var y=this.getLineContent(d).substring(v,e.endColumn-1);return r=this._findMatchesInLine(t,s,y,e.endLineNumber,v,r,o,n,i),o}if((r=this._findMatchesInLine(t,s,this.getLineContent(d).substr(v),d,v,r,o,n,i))>=i)return o;d++,h=(a=this.nodeAt2(d,1)).node,l=this.positionInBuffer(a.node,a.remainder)}if(d===e.endLineNumber){var b=d===e.startLineNumber?e.startColumn-1:0;y=this.getLineContent(d).substring(b,e.endColumn-1);return r=this._findMatchesInLine(t,s,y,e.endLineNumber,b,r,o,n,i),o}var C=d===e.startLineNumber?e.startColumn:1;return r=this.findMatchesInNode(u.node,s,d,C,l,c,t,n,i,r,o),o},e.prototype._findMatchesInLine=function(e,t,n,i,o,r,s,a,u){var l,d=e.wordSeparators;if(!a&&e.simpleSearch){for(var p=e.simpleSearch,f=p.length,g=n.length,m=-f;-1!==(m=n.indexOf(p,m+f));)if((!d||Object(ie.e)(d,n,g,m,f))&&(s[r++]=new h.b(new c.a(i,m+1+o,i,m+1+f+o),null),r>=u))return r;return r}t.reset(0);do{if((l=t.next(n))&&(s[r++]=Object(ie.d)(new c.a(i,l.index+1+o,i,l.index+1+l[0].length+o),l,a),r>=u))return r}while(l);return r},e.prototype.insert=function(e,t,n){if(void 0===n&&(n=!1),this._EOLNormalized=this._EOLNormalized&&n,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==K){var i=this.nodeAt(e),o=i.node,r=i.remainder,s=i.nodeStartOffset,a=o.piece,u=a.bufferIndex,l=this.positionInBuffer(o,r);if(0===o.piece.bufferIndex&&a.end.line===this._lastChangeBufferPos.line&&a.end.column===this._lastChangeBufferPos.column&&s+a.length===e&&t.length<65535)return this.appendToNode(o,t),void this.computeBufferMetadata();if(s===e)this.insertContentToNodeLeft(t,o),this._searchCache.valdiate(e);else if(s+o.piece.length>e){var c=[],d=new ae(a.bufferIndex,l,a.end,this.getLineFeedCnt(a.bufferIndex,l,a.end),this.offsetInBuffer(u,a.end)-this.offsetInBuffer(u,l));if(this.shouldCheckCRLF()&&this.endWithCR(t))if(10===this.nodeCharCodeAt(o,r)){var h={line:d.start.line+1,column:0};d=new ae(d.bufferIndex,h,d.end,this.getLineFeedCnt(d.bufferIndex,h,d.end),d.length-1),t+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(13===this.nodeCharCodeAt(o,r-1)){var p=this.positionInBuffer(o,r-1);this.deleteNodeTail(o,p),t="\r"+t,0===o.piece.length&&c.push(o)}else this.deleteNodeTail(o,l);else this.deleteNodeTail(o,l);var f=this.createNewPieces(t);d.length>0&&this.rbInsertRight(o,d);for(var g=o,m=0;m=0;u--)a=this.rbInsertLeft(a,s[u]);this.validateCRLFWithPrevNode(a),this.deleteNodes(n)},e.prototype.insertContentToNodeRight=function(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");for(var n=this.createNewPieces(e),i=this.rbInsertRight(t,n[0]),o=i,r=1;r=c))break;a=l+1}return n?(n.line=l,n.column=s-d,null):{line:l,column:s-d}},e.prototype.getLineFeedCnt=function(e,t,n){if(0===n.column)return n.line-t.line;var i=this._buffers[e].lineStarts;if(n.line===i.length-1)return n.line-t.line;var o=i[n.line+1],r=i[n.line]+n.column;if(o>r+1)return n.line-t.line;var s=r-1;return 13===this._buffers[e].buffer.charCodeAt(s)?n.line-t.line+1:n.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;t65535){for(var t=[];e.length>65535;){var n=e.charCodeAt(65534),i=void 0;13===n||n>=55296&&n<=56319?(i=e.substring(0,65534),e=e.substring(65534)):(i=e.substring(0,65535),e=e.substring(65535));var o=se(i);t.push(new ae(this._buffers.length,{line:0,column:0},{line:o.length-1,column:i.length-o[o.length-1]},o.length-1,i.length)),this._buffers.push(new ue(i,o))}var r=se(e);return t.push(new ae(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 ue(e,r)),t}var s=this._buffers[0].buffer.length,a=se(e,!1),u=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},u=this._lastChangeBufferPos;for(var l=0;l=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){r=this.getAccumulatedValue(n,e-n.lf_left-2),u=this.getAccumulatedValue(n,e-n.lf_left-1),s=this._buffers[n.piece.bufferIndex].buffer,a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return l+=n.size_left,this._searchCache.set({node:n,nodeStartOffset:l,nodeStartLineNumber:c-(e-1-n.lf_left)}),s.substring(a+r,a+u-t)}if(n.lf_left+n.piece.lineFeedCnt===e-1){r=this.getAccumulatedValue(n,e-n.lf_left-2),s=this._buffers[n.piece.bufferIndex].buffer,a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i=s.substring(a+r,a+n.piece.length);break}e-=n.lf_left+n.piece.lineFeedCnt,l+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==K;){s=this._buffers[n.piece.bufferIndex].buffer;if(n.piece.lineFeedCnt>0){u=this.getAccumulatedValue(n,0),a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i+=s.substring(a,a+u-t)}a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i+=s.substr(a,n.piece.length),n=n.next()}return i},e.prototype.computeBufferMetadata=function(){for(var e=this.root,t=1,n=0;e!==K;)t+=e.lf_left+e.piece.lineFeedCnt,n+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=n,this._searchCache.valdiate(this._length)},e.prototype.getIndexOf=function(e,t){var n=e.piece,i=this.positionInBuffer(e,t),o=i.line-n.start.line;if(this.offsetInBuffer(n.bufferIndex,n.end)-this.offsetInBuffer(n.bufferIndex,n.start)===t){var r=this.getLineFeedCnt(e.piece.bufferIndex,n.start,i);if(r!==o)return{index:r,remainder:0}}return{index:o,remainder:i.column}},e.prototype.getAccumulatedValue=function(e,t){if(t<0)return 0;var n=e.piece,i=this._buffers[n.bufferIndex].lineStarts,o=n.start.line+t+1;return o>n.end.line?i[n.end.line]+n.end.column-i[n.start.line]-n.start.column:i[o]-i[n.start.line]-n.start.column},e.prototype.deleteNodeTail=function(e,t){var n=e.piece,i=n.lineFeedCnt,o=this.offsetInBuffer(n.bufferIndex,n.end),r=t,s=this.offsetInBuffer(n.bufferIndex,r),a=this.getLineFeedCnt(n.bufferIndex,n.start,r),u=a-i,l=s-o,c=n.length+l;e.piece=new ae(n.bufferIndex,n.start,r,a,c),te(this,e,l,u)},e.prototype.deleteNodeHead=function(e,t){var n=e.piece,i=n.lineFeedCnt,o=this.offsetInBuffer(n.bufferIndex,n.start),r=t,s=this.getLineFeedCnt(n.bufferIndex,r,n.end),a=s-i,u=o-this.offsetInBuffer(n.bufferIndex,r),l=n.length+u;e.piece=new ae(n.bufferIndex,r,n.end,s,l),te(this,e,u,a)},e.prototype.shrinkNode=function(e,t,n){var i=e.piece,o=i.start,r=i.end,s=i.length,a=i.lineFeedCnt,u=t,l=this.getLineFeedCnt(i.bufferIndex,i.start,u),c=this.offsetInBuffer(i.bufferIndex,t)-this.offsetInBuffer(i.bufferIndex,o);e.piece=new ae(i.bufferIndex,i.start,u,l,c),te(this,e,c-s,l-a);var d=new ae(i.bufferIndex,n,r,this.getLineFeedCnt(i.bufferIndex,n,r),this.offsetInBuffer(i.bufferIndex,r)-this.offsetInBuffer(i.bufferIndex,n)),h=this.rbInsertRight(e,d);this.validateCRLFWithPrevNode(h)},e.prototype.appendToNode=function(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");var n=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),i=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;for(var o=se(t,!1),r=0;re)t=t.left;else{if(t.size_left+t.piece.length>=e){i+=t.size_left;var o={node:t,remainder:e-t.size_left,nodeStartOffset:i};return this._searchCache.set(o),o}e-=t.size_left+t.piece.length,i+=t.size_left+t.piece.length,t=t.right}return null},e.prototype.nodeAt2=function(e,t){for(var n=this.root,i=0;n!==K;)if(n.left!==K&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){var o=this.getAccumulatedValue(n,e-n.lf_left-2),r=this.getAccumulatedValue(n,e-n.lf_left-1);return i+=n.size_left,{node:n,remainder:Math.min(o+t-1,r),nodeStartOffset:i}}if(n.lf_left+n.piece.lineFeedCnt===e-1){if((o=this.getAccumulatedValue(n,e-n.lf_left-2))+t-1<=n.piece.length)return{node:n,remainder:o+t-1,nodeStartOffset:i};t-=n.piece.length-o;break}e-=n.lf_left+n.piece.lineFeedCnt,i+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==K;){if(n.piece.lineFeedCnt>0){r=this.getAccumulatedValue(n,0);var s=this.offsetOfNode(n);return{node:n,remainder:Math.min(t-1,r),nodeStartOffset:s}}if(n.piece.length>=t-1)return{node:n,remainder:t-1,nodeStartOffset:this.offsetOfNode(n)};t-=n.piece.length,n=n.next()}return null},e.prototype.nodeCharCodeAt=function(e,t){if(e.piece.lineFeedCnt<1)return-1;var n=this._buffers[e.piece.bufferIndex],i=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return n.buffer.charCodeAt(i)},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===K||0===e.piece.lineFeedCnt)return!1;var t=e.piece,n=this._buffers[t.bufferIndex].lineStarts,i=t.start.line,o=n[i]+t.start.column;return i!==n.length-1&&(!(n[i+1]>o+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(o))},e.prototype.endWithCR=function(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==K&&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 n,i=[],o=this._buffers[e.piece.bufferIndex].lineStarts;n=0===e.piece.end.column?{line:e.piece.end.line-1,column:o[e.piece.end.line]-o[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 ae(e.piece.bufferIndex,e.piece.start,n,s,r),te(this,e,-1,-1),0===e.piece.length&&i.push(e);var a={line:t.piece.start.line+1,column:0},u=t.piece.length-1,l=this.getLineFeedCnt(t.piece.bufferIndex,a,t.piece.end);t.piece=new ae(t.piece.bufferIndex,a,t.piece.end,l,u),te(this,t,-1,-1),0===t.piece.length&&i.push(t);var c=this.createNewPieces("\r\n");this.rbInsertRight(e,c[0]);for(var d=0;d0){_.sort(function(e,t){return t.lineNumber-e.lineNumber}),S=[];u=0;for(var L=_.length;u0&&_[u-1].lineNumber===y)){var O=_[u].oldContent,E=this.getLineContent(y);0!==E.length&&E!==O&&-1===s.q(E)&&S.push(y)}}}return new h.a(C,w,S)},e.prototype._reduceOperations=function(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]},e.prototype._toSingleEditOperation=function(e){for(var t=!1,n=e[0].range,i=e[e.length-1].range,o=new c.a(n.startLineNumber,n.startColumn,i.endLineNumber,i.endColumn),r=n.startLineNumber,s=n.startColumn,a=[],u=0,l=e.length;u0){var h=a.lines.length,p=a.lines[0],f=a.lines[h-1];d=1===h?new c.a(u,l,u,l+p.length):new c.a(u,l,u+h-1,f.length+1)}else d=new c.a(u,l,u,l);n=d.endLineNumber,i=d.endColumn,t.push(d),o=a}return t},e._sortOpsAscending=function(e,t){var n=c.a.compareRangesUsingEnds(e.range,t.range);return 0===n?e.sortIndex-t.sortIndex:n},e._sortOpsDescending=function(e,t){var n=c.a.compareRangesUsingEnds(e.range,t.range);return 0===n?t.sortIndex-e.sortIndex:-n},e}(),he=function(){function e(e,t,n,i,o,r,s,a){this._chunks=e,this._bom=t,this._cr=n,this._lf=i,this._crlf=o,this._containsRTL=r,this._isBasicASCII=s,this._normalizeEOL=a}return e.prototype._getEOL=function(e){var t=this._cr+this._lf+this._crlf,n=this._cr+this._crlf;return 0===t?1===e?"\n":"\r\n":n>t/2?"\r\n":"\n"},e.prototype.create=function(e){var t=this._getEOL(e),n=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(var i=0,o=n.length;i=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 n=1,i=0,o=0,r=0,s=!0,a=0,u=t.length;a126)&&(s=!1)}var c=new re(oe(e),i,o,r,s);return e.length=0,c}(this._tmpLineStarts,e);this.chunks.push(new ue(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=s.h(e))},e.prototype.finish=function(e){return void 0===e&&(e=!0),this._finish(),new he(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=se(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}},e}(),fe=function(){return function(){this.changeType=1}}(),ge=function(){return function(e,t){this.changeType=2,this.lineNumber=e,this.detail=t}}(),me=function(){return function(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}(),_e=function(){return function(e,t,n){this.changeType=4,this.fromLineNumber=e,this.toLineNumber=t,this.detail=n}}(),ve=function(){return function(){this.changeType=5}}(),ye=function(){function e(e,t,n,i){this.changes=e,this.versionId=t,this.isUndoing=n,this.isRedoing=i}return e.prototype.containsEvent=function(e){for(var t=0,n=this.changes.length;t>>0}var xe=new Uint32Array(0).buffer,Ie=function(){function e(){this.tokens=[]}return e.prototype.add=function(e,t){if(this.tokens.length>0){var n=this.tokens[this.tokens.length-1];if(n.startLineNumber+n.tokens.length-1+1===e)return void n.tokens.push(t)}this.tokens.push(new De(e,[t]))},e}(),De=function(){return function(e,t){this.startLineNumber=e,this.tokens=t}}();function ke(e){return e instanceof Uint32Array?e:new Uint32Array(e)}var Te,Me=function(){function e(){this._lineTokens=[],this._len=0}return e.prototype.flush=function(){this._lineTokens=[],this._len=0},e.prototype.getTokens=function(e,t,n){var i=null;if(t1&&(o=Se.x.getLanguageId(i[1])!==e),!o)return xe}if(!i||0===i.length){var r=new Uint32Array(2);return r[0]=t,r[1]=Ne(e),r.buffer}return i[i.length-2]=t,0===i.byteOffset&&i.byteLength===i.buffer.byteLength?i.buffer:i},e.prototype._ensureLine=function(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++},e.prototype._deleteLines=function(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)},e.prototype._insertLines=function(e,t){if(0!==t){for(var n=[],i=0;i=this._len))if(t.startLineNumber!==t.endLineNumber){this._lineTokens[n]=e._deleteEnding(this._lineTokens[n],t.startColumn-1);var i=t.endLineNumber-1,o=null;i=this._len||(0!==n?(this._lineTokens[o]=e._deleteEnding(this._lineTokens[o],t.column-1),this._lineTokens[o]=e._insert(this._lineTokens[o],t.column-1,i),this._insertLines(t.lineNumber,n)):this._lineTokens[o]=e._insert(this._lineTokens[o],t.column-1,i))}},e._deleteBeginning=function(t,n){return null===t||t===xe?t:e._delete(t,0,n)},e._deleteEnding=function(t,n){if(null===t||t===xe)return t;var i=ke(t),o=i[i.length-2];return e._delete(t,n,o)},e._delete=function(e,t,n){if(null===e||e===xe||t===n)return e;var i=ke(e),o=i.length>>>1;if(0===t&&i[i.length-2]===n)return xe;var r,s,a=we.a.findIndexInTokensArray(i,t),u=a>0?i[a-1<<1]:0;if(ns&&(i[r++]=p,i[r++]=i[1+(h<<1)],s=p)}if(r===i.length)return e;var f=new Uint32Array(r);return f.set(i.subarray(0,r),0),f.buffer},e._append=function(e,t){if(t===xe)return e;if(e===xe)return t;if(null===e)return e;if(null===t)return null;var n=ke(e),i=ke(t),o=i.length>>>1,r=new Uint32Array(n.length+i.length);r.set(n,0);for(var s=n.length,a=n[n.length-2],u=0;u>>1,r=we.a.findIndexInTokensArray(i,t);r>0&&(i[r-1<<1]===t&&r--);for(var s=r;s=this._len;)this._beginState[this._len]=null,this._valid[this._len]=!1,this._len++},e.prototype._deleteLines=function(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._beginState.splice(e,t),this._valid.splice(e,t),this._len-=t)},e.prototype._insertLines=function(e,t){if(0!==t){for(var n=[],i=[],o=0;o=0;o--)this._invalidateLine(e.startLineNumber+o-1);this._acceptDeleteRange(e),this._acceptInsertText(new l.a(e.startLineNumber,e.startColumn),t)},e.prototype._acceptDeleteRange=function(e){e.startLineNumber-1>=this._len||this._deleteLines(e.startLineNumber,e.endLineNumber-e.startLineNumber)},e.prototype._acceptInsertText=function(e,t){e.lineNumber-1>=this._len||this._insertLines(e.lineNumber,t)},e}(),Pe=function(e){function t(t){var n=e.call(this)||this;return n._textModel=t,n._tokenizationStateStore=new Ae,n._revalidateTokensTimeout=-1,n._tokenizationSupport=null,n._register(Se.y.onDidChange(function(e){var t=n._textModel.getLanguageIdentifier();-1!==e.changedLanguages.indexOf(t.language)&&(n._resetTokenizationState(),n._textModel.clearTokens())})),n._register(n._textModel.onDidChangeRawContentFast(function(e){e.containsEvent(1)&&n._resetTokenizationState()})),n._register(n._textModel.onDidChangeContentFast(function(e){for(var t=0,i=e.changes.length;t20);){if(this._tokenizeOneInvalidLine(t)>=e)break}this._beginBackgroundTokenization(),this._textModel.setTokens(t.tokens)},t.prototype.tokenizeViewport=function(e,t){var n=new Ie;this._tokenizeViewport(n,e,t),this._textModel.setTokens(n.tokens)},t.prototype.reset=function(){this._resetTokenizationState(),this._textModel.clearTokens()},t.prototype.forceTokenization=function(e){var t=new Ie;this._updateTokensUntilLine(t,e),this._textModel.setTokens(t.tokens)},t.prototype.isCheapToTokenize=function(e){if(!this._tokenizationSupport)return!0;var t=this._tokenizationStateStore.invalidLineStartIndex+1;return!(e>t)&&(e0&&s>=1;s--){var a=this._textModel.getLineFirstNonWhitespaceColumn(s);if(0!==a&&a=0;s--){l=(h=Fe(u,this._tokenizationSupport,o[s],l)).endState}for(var c=t;c<=n;c++){var d=this._textModel.getLineContent(c),h=Fe(u,this._tokenizationSupport,d,l);e.add(c,h.tokens),this._tokenizationStateStore.setFakeTokens(c-1),l=h.endState}}},t}(r.a);function Fe(e,t,n,o){var r=null;if(t)try{r=t.tokenize2(n,o.clone(),0)}catch(e){Object(i.e)(e)}return r||(r=Object(Le.e)(e.id,n,o,0)),we.a.convertToEndOffset(r.tokens,n.length),r}var We=n("+jct"),je=n("Fllr"),Ve=n("Eeyw"),Be=n("iNUG"),He=n("KIxu"),ze=n("TNPA");n.d(t,"b",function(){return Ye}),n.d(t,"a",function(){return tt});var Ue=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();function Ke(e){var t=new pe;return t.acceptChunk(e),t.finish()}function qe(e,t){return("string"==typeof e?Ke(e):e).create(t)}var Ge=0,Ze=function(){throw new Error("Invalid change accessor")},Ye=function(e){function t(n,i,r,u){void 0===u&&(u=null);var l=e.call(this)||this;l._onWillDispose=l._register(new o.a),l.onWillDispose=l._onWillDispose.event,l._onDidChangeDecorations=l._register(new ot),l.onDidChangeDecorations=l._onDidChangeDecorations.event,l._onDidChangeLanguage=l._register(new o.a),l.onDidChangeLanguage=l._onDidChangeLanguage.event,l._onDidChangeLanguageConfiguration=l._register(new o.a),l.onDidChangeLanguageConfiguration=l._onDidChangeLanguageConfiguration.event,l._onDidChangeTokens=l._register(new o.a),l.onDidChangeTokens=l._onDidChangeTokens.event,l._onDidChangeOptions=l._register(new o.a),l.onDidChangeOptions=l._onDidChangeOptions.event,l._onDidChangeAttached=l._register(new o.a),l.onDidChangeAttached=l._onDidChangeAttached.event,l._eventEmitter=l._register(new rt),Ge++,l.id="$model"+Ge,l.isForSimpleWidget=i.isForSimpleWidget,l._associatedResource=void 0===u||null===u?a.a.parse("inmemory://model/"+Ge):u,l._attachedEditorCount=0,l._buffer=qe(n,i.defaultEOL),l._options=t.resolveOptions(l._buffer,i);var d=l._buffer.getLineCount(),h=l._buffer.getValueLengthInRange(new c.a(1,1,d,l._buffer.getLineLength(d)+1),0);return i.largeFileOptimizations?l._isTooLargeForTokenization=h>t.LARGE_FILE_SIZE_THRESHOLD||d>t.LARGE_FILE_LINE_COUNT_THRESHOLD:l._isTooLargeForTokenization=!1,l._isTooLargeForSyncing=h>t.MODEL_SYNC_LIMIT,l._versionId=1,l._alternativeVersionId=1,l._isDisposed=!1,l._isDisposing=!1,l._languageIdentifier=r||Le.a,l._languageRegistryListener=je.a.onDidChange(function(e){e.languageIdentifier.id===l._languageIdentifier.id&&l._onDidChangeLanguageConfiguration.fire({})}),l._instanceId=s.I(Ge),l._lastDecorationId=0,l._decorations=Object.create(null),l._decorationsTree=new Xe,l._commandManager=new m(l),l._isUndoing=!1,l._isRedoing=!1,l._trimAutoWhitespaceLines=null,l._tokens=new Me,l._tokenization=new Pe(l),l}return Ue(t,e),t.createFromString=function(e,n,i,o){return void 0===n&&(n=t.DEFAULT_CREATION_OPTIONS),void 0===i&&(i=null),void 0===o&&(o=null),new t(e,n,i,o)},t.resolveOptions=function(e,t){if(t.detectIndentation){var n=y(e,t.tabSize,t.insertSpaces);return new h.e({tabSize:n.tabSize,indentSize:n.tabSize,insertSpaces:n.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL})}return new h.e({tabSize:t.tabSize,indentSize:t.indentSize,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.onDidChangeContentFast=function(e){return this._eventEmitter.fastEvent(function(t){return e(t.contentChangedEvent)})},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._languageRegistryListener.dispose(),this._tokenization.dispose(),this._isDisposed=!0,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 be(e,t))},t.prototype.setValue=function(e){if(this._assertNotDisposed(),null!==e){var t=qe(e,this._options.defaultEOL);this.setValueFromTextBuffer(t)}},t.prototype._createContentChanged2=function(e,t,n,i,o,r,s){return{changes:[{range:e,rangeOffset:t,rangeLength:n,text:i}],eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:o,isRedoing:r,isFlush:s}},t.prototype.setValueFromTextBuffer=function(e){if(this._assertNotDisposed(),null!==e){var t=this.getFullModelRange(),n=this.getValueLengthInRange(t),i=this.getLineCount(),o=this.getLineMaxColumn(i);this._buffer=e,this._increaseVersionId(),this._tokens.flush(),this._decorations=Object.create(null),this._decorationsTree=new Xe,this._commandManager=new m(this),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new ye([new fe],this._versionId,!1,!1),this._createContentChanged2(new c.a(1,1,i,o),0,n,this.getValue(),!1,!1,!0))}},t.prototype.setEOL=function(e){this._assertNotDisposed();var t=1===e?"\r\n":"\n";if(this._buffer.getEOL()!==t){var n=this.getFullModelRange(),i=this.getValueLengthInRange(n),o=this.getLineCount(),r=this.getLineMaxColumn(o);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new ye([new ve],this._versionId,!1,!1),this._createContentChanged2(new c.a(1,1,o,r),0,i,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(),n=0,i=t.length;n0},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,n=this._buffer.getLineCount(),i=1;i<=n;i++){var o=this._buffer.getLineLength(i);o>=1e4?t+=o:e+=o}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.getFormattingOptions=function(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}},t.prototype.updateOptions=function(e){this._assertNotDisposed();var t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,n=void 0!==e.indentSize?e.indentSize:this._options.indentSize,i=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,o=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,r=new h.e({tabSize:t,indentSize:n,insertSpaces:i,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:o});if(!this._options.equals(r)){var s=this._options.createChangeEvent(r);this._options=r,this._onDidChangeOptions.fire(s)}},t.prototype.detectIndentation=function(e,t){this._assertNotDisposed();var n=y(this._buffer,t,e);this.updateOptions({insertSpaces:n.insertSpaces,tabSize:n.tabSize,indentSize:n.tabSize})},t._normalizeIndentationFromWhitespace=function(e,t,n){for(var i=0,o=0;othis.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,n,i=this._buffer.getLineCount(),o=e.startLineNumber,r=e.startColumn;if(o<1)t=1,n=1;else if(o>i)t=i,n=this.getLineMaxColumn(t);else{if(t=0|o,r<=1)n=1;else n=r>=(h=this.getLineMaxColumn(t))?h:0|r}var s,a,u=e.endLineNumber,l=e.endColumn;if(u<1)s=1,a=1;else if(u>i)s=i,a=this.getLineMaxColumn(s);else{var h;if(s=0|u,l<=1)a=1;else a=l>=(h=this.getLineMaxColumn(s))?h:0|l}return o===t&&r===n&&u===s&&l===a&&e instanceof c.a&&!(e instanceof d.a)?e:new c.a(t,n,s,a)},t.prototype._isValidPosition=function(e,t,n){if("number"!=typeof e||"number"!=typeof t)return!1;if(isNaN(e)||isNaN(t))return!1;if(e<1||t<1)return!1;if((0|e)!==e||(0|t)!==t)return!1;if(e>this._buffer.getLineCount())return!1;if(t>this.getLineMaxColumn(e))return!1;if(n&&t>1){var i=this._buffer.getLineCharCode(e,t-2);if(s.w(i))return!1}return!0},t.prototype._validatePosition=function(e,t,n){var i=Math.floor("number"!=typeof e||isNaN(e)?1:e),o=Math.floor("number"!=typeof t||isNaN(t)?1:t),r=this._buffer.getLineCount();if(i<1)return new l.a(1,1);if(i>r)return new l.a(r,this.getLineMaxColumn(r));if(o<=1)return new l.a(i,1);var a=this.getLineMaxColumn(i);if(o>=a)return new l.a(i,a);if(n){var u=this._buffer.getLineCharCode(i,o-2);if(s.w(u))return new l.a(i,o-1)}return new l.a(i,o)},t.prototype.validatePosition=function(e){return this._assertNotDisposed(),e instanceof l.a&&this._isValidPosition(e.lineNumber,e.column,!0)?e:this._validatePosition(e.lineNumber,e.column,!0)},t.prototype._isValidRange=function(e,t){var n=e.startLineNumber,i=e.startColumn,o=e.endLineNumber,r=e.endColumn;if(!this._isValidPosition(n,i,!1))return!1;if(!this._isValidPosition(o,r,!1))return!1;if(t){var a=i>1?this._buffer.getLineCharCode(n,i-2):0,u=r>1&&r<=this._buffer.getLineLength(o)?this._buffer.getLineCharCode(o,r-2):0,l=s.w(a),c=s.w(u);return!l&&!c}return!0},t.prototype.validateRange=function(e){if(this._assertNotDisposed(),e instanceof c.a&&!(e instanceof d.a)&&this._isValidRange(e,!0))return e;var t=this._validatePosition(e.startLineNumber,e.startColumn,!1),n=this._validatePosition(e.endLineNumber,e.endColumn,!1),i=t.lineNumber,o=t.column,r=n.lineNumber,a=n.column,u=o>1?this._buffer.getLineCharCode(i,o-2):0,l=a>1&&a<=this._buffer.getLineLength(r)?this._buffer.getLineCharCode(r,a-2):0,h=s.w(u),p=s.w(l);return h||p?i===r&&o===a?new c.a(i,o-1,r,a-1):h&&p?new c.a(i,o-1,r,a+1):h?new c.a(i,o-1,r,a):new c.a(i,o,r,a+1):new c.a(i,o,r,a)},t.prototype.modifyPosition=function(e,t){this._assertNotDisposed();var n=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,n)))},t.prototype.getFullModelRange=function(){this._assertNotDisposed();var e=this.getLineCount();return new c.a(1,1,e,this.getLineMaxColumn(e))},t.prototype.findMatchesLineByLine=function(e,t,n,i){return this._buffer.findMatchesLineByLine(e,t,n,i)},t.prototype.findMatches=function(e,t,n,i,o,r,s){var a;if(void 0===s&&(s=999),this._assertNotDisposed(),a=c.a.isIRange(t)?this.validateRange(t):this.getFullModelRange(),!n&&e.indexOf("\n")<0){var u=new ie.a(e,n,i,o).parseSearchRequest();return u?this.findMatchesLineByLine(a,u,r,s):[]}return ie.c.findMatches(this,new ie.a(e,n,i,o),a,r,s)},t.prototype.findNextMatch=function(e,t,n,i,o,r){this._assertNotDisposed();var s=this.validatePosition(t);if(!n&&e.indexOf("\n")<0){var a=new ie.a(e,n,i,o).parseSearchRequest();if(!a)return null;var u=this.getLineCount(),l=new c.a(s.lineNumber,s.column,u,this.getLineMaxColumn(u)),d=this.findMatchesLineByLine(l,a,r,1);return ie.c.findNextMatch(this,new ie.a(e,n,i,o),s,r),d.length>0?d[0]:(l=new c.a(1,1,s.lineNumber,this.getLineMaxColumn(s.lineNumber)),(d=this.findMatchesLineByLine(l,a,r,1)).length>0?d[0]:null)}return ie.c.findNextMatch(this,new ie.a(e,n,i,o),s,r)},t.prototype.findPreviousMatch=function(e,t,n,i,o,r){this._assertNotDisposed();var s=this.validatePosition(t);return ie.c.findPreviousMatch(this,new ie.a(e,n,i,o),s,r)},t.prototype.pushStackElement=function(){this._commandManager.pushStackElement()},t.prototype.pushEOL=function(e){if(("\n"===this.getEOL()?0:1)!==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,n){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,t,n)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t.prototype._pushEditOperations=function(e,t,n){var i=this;if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){for(var o=t.map(function(e){return{range:i.validateRange(e.range),text:e.text}}),r=!0,s=0,a=e.length;su.endLineNumber,f=u.startLineNumber>v.endLineNumber;if(!p&&!f){l=!0;break}}if(!l){r=!1;break}}if(r)for(s=0,a=this._trimAutoWhitespaceLines.length;sv.endLineNumber)&&!(g===v.startLineNumber&&v.startColumn===m&&v.isEmpty()&&y&&y.length>0&&"\n"===y.charAt(0)||g===v.startLineNumber&&1===v.startColumn&&v.isEmpty()&&y&&y.length>0&&"\n"===y.charAt(y.length-1))){_=!1;break}}_&&t.push({range:new c.a(g,1,g,m),text:null})}this._trimAutoWhitespaceLines=null}return this._commandManager.pushEditOperation(e,t,n)},t.prototype.applyEdits=function(e){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._applyEdits(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t.prototype._applyEdits=function(e){for(var t=0,n=e.length;t=0;y--){var b=p+y,C=r-u-v+b;a.push(new ge(b,this.getLineContent(C)))}if(_this.getLineCount()?[]:this.getLinesDecorations(e,e,t,n)},t.prototype.getLinesDecorations=function(e,t,n,i){void 0===n&&(n=0),void 0===i&&(i=!1);var o=this.getLineCount(),r=Math.min(o,Math.max(1,e)),s=Math.min(o,Math.max(1,t)),a=this.getLineMaxColumn(s);return this._getDecorationsInRange(new c.a(r,1,s,a),n,i)},t.prototype.getDecorationsInRange=function(e,t,n){void 0===t&&(t=0),void 0===n&&(n=!1);var i=this.validateRange(e);return this._getDecorationsInRange(i,t,n)},t.prototype.getOverviewRulerDecorations=function(e,t){void 0===e&&(e=0),void 0===t&&(t=!1);var n=this.getVersionId(),i=this._decorationsTree.search(e,t,!0,n);return this._ensureNodesHaveRanges(i)},t.prototype.getAllDecorations=function(e,t){void 0===e&&(e=0),void 0===t&&(t=!1);var n=this.getVersionId(),i=this._decorationsTree.search(e,t,!1,n);return this._ensureNodesHaveRanges(i)},t.prototype._getDecorationsInRange=function(e,t,n){var i=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),o=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn),r=this.getVersionId(),s=this._decorationsTree.intervalSearch(i,o,t,n,r);return this._ensureNodesHaveRanges(s)},t.prototype._ensureNodesHaveRanges=function(e){for(var t=0,n=e.length;tthis.getLineCount())throw new Error("Illegal value for lineNumber");this._tokens.setTokens(this._languageIdentifier.id,e-1,this._buffer.getLineLength(e),t)},t.prototype.setTokens=function(e){if(0!==e.length){for(var t=[],n=0,i=e.length;nthis.getLineCount())throw new Error("Illegal value for lineNumber");this._tokenization.forceTokenization(e)},t.prototype.isCheapToTokenize=function(e){return this._tokenization.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.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._onDidChangeLanguage.fire(t),this._onDidChangeLanguageConfiguration.fire({})}},t.prototype.getLanguageIdAtPosition=function(e,t){var n=this.validatePosition(new l.a(e,t)),i=this.getLineTokens(n.lineNumber);return i.getLanguageId(i.findTokenIndexAtOffset(n.column-1))},t.prototype.getWordAtPosition=function(e){this._assertNotDisposed();var n=this.validatePosition(e),i=this.getLineContent(n.lineNumber),o=this._getLineTokens(n.lineNumber),r=o.findTokenIndexAtOffset(n.column-1),s=t._findLanguageBoundaries(o,r),a=s[0],u=s[1],l=Object(We.d)(n.column,je.a.getWordDefinition(o.getLanguageId(r)),i.substring(a,u),a);if(l&&l.startColumn<=e.column&&e.column<=l.endColumn)return l;if(r>0&&a===n.column-1){var c=t._findLanguageBoundaries(o,r-1),d=c[0],h=c[1],p=Object(We.d)(n.column,je.a.getWordDefinition(o.getLanguageId(r-1)),i.substring(d,h),d);if(p&&p.startColumn<=e.column&&e.column<=p.endColumn)return p}return null},t._findLanguageBoundaries=function(e,t){for(var n=e.getLanguageId(t),i=0,o=t;o>=0&&e.getLanguageId(o)===n;o--)i=e.getStartOffset(o);for(var r=e.getLineContent().length,s=(o=t,e.getCount());o0&&n.getStartOffset(o)===e.column-1){a=n.getStartOffset(o);o--;var l=je.a.getBracketsSupport(n.getLanguageId(o));if(l&&!Object(Ve.b)(n.getStandardTokenType(o))){var c,d,h;s=Math.max(n.getStartOffset(o),e.column-1-l.maxBracketLength);if((c=Be.a.findPrevBracketInToken(l.reversedRegex,t,i,s,a))&&c.startColumn<=e.column&&e.column<=c.endColumn)if(d=(d=i.substring(c.startColumn-1,c.endColumn-1)).toLowerCase(),h=this._matchFoundBracket(c,l.textIsBracket[d],l.textIsOpenBracket[d]))return h}}return null},t.prototype._matchFoundBracket=function(e,t,n){if(!t)return null;var i;if(n){if(i=this._findMatchingBracketDown(t,e.getEndPosition()))return[e,i]}else if(i=this._findMatchingBracketUp(t,e.getStartPosition()))return[e,i];return null},t.prototype._findMatchingBracketUp=function(e,t){for(var n=e.languageIdentifier.id,i=e.reversedRegex,o=-1,r=t.lineNumber;r>=1;r--){var s=this._getLineTokens(r),a=s.getCount(),u=this._buffer.getLineContent(r),l=a-1,c=-1;for(r===t.lineNumber&&(l=s.findTokenIndexAtOffset(t.column-1),c=t.column-1);l>=0;l--){var d=s.getLanguageId(l),h=s.getStandardTokenType(l),p=s.getStartOffset(l),f=s.getEndOffset(l);if(-1===c&&(c=f),d===n&&!Object(Ve.b)(h))for(;;){var g=Be.a.findPrevBracketInToken(i,r,u,p,c);if(!g)break;var m=u.substring(g.startColumn-1,g.endColumn-1);if((m=m.toLowerCase())===e.open?o++:m===e.close&&o--,0===o)return g;c=g.startColumn-1}c=-1}}return null},t.prototype._findMatchingBracketDown=function(e,t){for(var n=e.languageIdentifier.id,i=e.forwardRegex,o=1,r=t.lineNumber,s=this.getLineCount();r<=s;r++){var a=this._getLineTokens(r),u=a.getCount(),l=this._buffer.getLineContent(r),c=0,d=0;for(r===t.lineNumber&&(c=a.findTokenIndexAtOffset(t.column-1),d=t.column-1);c=1;o--){var r=this._getLineTokens(o),s=r.getCount(),a=this._buffer.getLineContent(o),u=s-1,l=-1;for(o===t.lineNumber&&(u=r.findTokenIndexAtOffset(t.column-1),l=t.column-1);u>=0;u--){var c=r.getLanguageId(u),d=r.getStandardTokenType(u),h=r.getStartOffset(u),p=r.getEndOffset(u);if(-1===l&&(l=p),n!==c&&(n=c,i=je.a.getBracketsSupport(n)),i&&!Object(Ve.b)(d)){var f=Be.a.findPrevBracketInToken(i.reversedRegex,o,a,h,l);if(f)return this._toFoundBracket(i,f)}l=-1}}return null},t.prototype.findNextBracket=function(e){for(var t=this.validatePosition(e),n=-1,i=null,o=t.lineNumber,r=this.getLineCount();o<=r;o++){var s=this._getLineTokens(o),a=s.getCount(),u=this._buffer.getLineContent(o),l=0,c=0;for(o===t.lineNumber&&(l=s.findTokenIndexAtOffset(t.column-1),c=t.column-1);lo)throw new Error("Illegal value for lineNumber");for(var r=je.a.getFoldingRules(this._languageIdentifier.id),s=Boolean(r&&r.offSide),a=-2,u=-1,l=-2,c=-1,d=function(e){if(-1!==a&&(-2===a||a>e-1)){a=-1,u=-1;for(var t=e-2;t>=0;t--){var n=i._computeIndentLevel(t);if(n>=0){a=t,u=n;break}}}if(-2===l){l=-1,c=-1;for(t=e;t=0){l=t,c=r;break}}}},h=-2,p=-1,f=-2,g=-1,m=function(e){if(-2===h){h=-1,p=-1;for(var t=e-2;t>=0;t--){var n=i._computeIndentLevel(t);if(n>=0){h=t,p=n;break}}}if(-1!==f&&(-2===f||f=0){f=t,g=r;break}}}},_=0,v=!0,y=0,b=!0,C=0,w=0;v||b;w++){var S=e-w,L=e+w;if(0!==w&&(S<1||So||L>n)&&(b=!1),w>5e4&&(v=!1,b=!1),v){var O=void 0;if((E=this._computeIndentLevel(S-1))>=0?(l=S-1,c=E,O=Math.ceil(E/this._options.indentSize)):(d(S),O=this._getIndentLevelForWhitespaceLine(s,u,c)),0===w){if(_=S,y=L,0===(C=O))return{startLineNumber:_,endLineNumber:y,indent:C};continue}O>=C?_=S:v=!1}if(b){var E,N=void 0;(E=this._computeIndentLevel(L-1))>=0?(h=L-1,p=E,N=Math.ceil(E/this._options.indentSize)):(m(L),N=this._getIndentLevelForWhitespaceLine(s,p,g)),N>=C?y=L:b=!1}}return{startLineNumber:_,endLineNumber:y,indent:C}},t.prototype.getLinesIndentGuides=function(e,t){this._assertNotDisposed();var n=this.getLineCount();if(e<1||e>n)throw new Error("Illegal value for startLineNumber");if(t<1||t>n)throw new Error("Illegal value for endLineNumber");for(var i=je.a.getFoldingRules(this._languageIdentifier.id),o=Boolean(i&&i.offSide),r=new Array(t-e+1),s=-2,a=-1,u=-2,l=-1,c=e;c<=t;c++){var d=c-e,h=this._computeIndentLevel(c-1);if(h>=0)s=c-1,a=h,r[d]=Math.ceil(h/this._options.indentSize);else{if(-2===s){s=-1,a=-1;for(var p=c-2;p>=0;p--){if((f=this._computeIndentLevel(p))>=0){s=p,a=f;break}}}if(-1!==u&&(-2===u||u=0){u=p,l=f;break}}}r[d]=this._getIndentLevelForWhitespaceLine(o,a,l)}}return r},t.prototype._getIndentLevelForWhitespaceLine=function(e,t,n){return-1===t||-1===n?0:t0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))},t}(r.a)},"0u1n":function(e,t){},"1LBi":function(e,t){},"1O6n":function(e,t){},"1Yb9":function(e,t,n){var i=n("mgnk"),o=n("UnEC"),r=Object.prototype,s=r.hasOwnProperty,a=r.propertyIsEnumerable,u=i(function(){return arguments}())?i:function(e){return o(e)&&s.call(e,"callee")&&!a.call(e,"callee")};e.exports=u},"1Z8u":function(e,t){},"1kli":function(e,t,n){var i=n("ZT2e"),o=/[\\^$.*+?()[\]{}|]/g,r=RegExp(o.source);e.exports=function(e){return(e=i(e))&&r.test(e)?e.replace(o,"\\$&"):e}},"1mBN":function(e,t){},"1sup":function(e,t,n){"use strict";t.b=function(e,t,n){"string"==typeof e&&(e=i.a.file(e));if(n){var h=n.getWorkspaceFolder(e);if(h){var p=n.getWorkspace().folders.length>1,f=void 0;if(f=Object(u.e)(h.uri,e)?"":Object(u.h)(h.uri,e),p){var g=h&&h.name?h.name:Object(u.b)(h.uri);f=f?g+" • "+f:g}return f}}if(e.scheme!==s.b.file&&e.scheme!==s.b.untitled)return e.with({query:null,fragment:null}).toString(!0);if(l(e.fsPath))return Object(o.normalize)(c(e.fsPath));var m=Object(o.normalize)(e.fsPath);!a.g&&t&&(m=function(e,t){if(a.g||!e||!t)return e;var n=d.original===t?d.normalized:void 0;n||(n=""+Object(r.G)(t,o.posix.sep)+o.posix.sep,d={original:t,normalized:n});(a.c?Object(r.J)(e,n):Object(r.K)(e,n))&&(e="~/"+e.substr(n.length));return e}(m,t.userHome));return m},t.a=function(e){if(!e)return;"string"==typeof e&&(e=i.a.file(e));var t=Object(u.b)(e)||(e.scheme===s.b.file?e.fsPath:e.path);if(l(t))return c(t);return t};var i=n("mrx5"),o=n("/uRs"),r=n("aL7J"),s=n("lapT"),a=n("ZfGv"),u=n("ZYUE");function l(e){return!(!a.g||!e||":"!==e[1])}function c(e){return l(e)?e.charAt(0).toUpperCase()+e.slice(1):e}var d=Object.create(null)},"1xIj":function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return r});var i=n("JVO/"),o=Object(i.c)("logService"),r=function(){function e(){}return e.prototype.trace=function(e){for(var t=[],n=1;n1){var m=n.getLineContent(g.lineNumber),_=i.q(m),v=-1===_?m.length+1:_+1;if(g.column<=v){var y=r.a.visibleColumnFromColumn2(t,n,g),b=r.a.prevIndentTabStop(y,t.indentSize),C=r.a.columnFromVisibleColumn2(t,n,g.lineNumber,b);f=new a.a(g.lineNumber,C,g.lineNumber,g.column)}else f=new a.a(g.lineNumber,g.column-1,g.lineNumber,g.column)}else{var w=s.a.left(t,n,g.lineNumber,g.column);f=new a.a(w.lineNumber,w.column,g.lineNumber,g.column)}}f.isEmpty()?l[d]=null:(f.startLineNumber!==f.endLineNumber&&(c=!0),l[d]=new o.a(f,""))}return[c,l]},e.cut=function(e,t,n){for(var i=[],s=0,u=n.length;s1?(d=c.lineNumber-1,h=t.getLineMaxColumn(c.lineNumber-1),p=c.lineNumber,f=t.getLineMaxColumn(c.lineNumber)):(d=c.lineNumber,h=1,p=c.lineNumber,f=t.getLineMaxColumn(c.lineNumber));var g=new a.a(d,h,p,f);g.isEmpty()?i[s]=null:i[s]=new o.a(g,"")}else i[s]=null;else i[s]=new o.a(l,"")}return new r.e(0,i,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e}()},"2LSJ":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"InsertCursorAbove",function(){return b}),n.d(t,"InsertCursorBelow",function(){return C}),n.d(t,"MultiCursorSessionResult",function(){return O}),n.d(t,"MultiCursorSession",function(){return E}),n.d(t,"MultiCursorSelectionController",function(){return N}),n.d(t,"MultiCursorSelectionControllerAction",function(){return x}),n.d(t,"AddSelectionToNextFindMatchAction",function(){return I}),n.d(t,"AddSelectionToPreviousFindMatchAction",function(){return D}),n.d(t,"MoveSelectionToNextFindMatchAction",function(){return k}),n.d(t,"MoveSelectionToPreviousFindMatchAction",function(){return T}),n.d(t,"SelectHighlightsAction",function(){return M}),n.d(t,"CompatChangeAll",function(){return R}),n.d(t,"SelectionHighlighter",function(){return P});var i,o=n("hK2W"),r=n("odeJ"),s=n("uNfg"),a=n("tqet"),u=n("03Zz"),l=n("HAT9"),c=n("vTy2"),d=n("iHM7"),h=n("/9db"),p=n("D2uo"),f=n("0ly5"),g=n("PCC9"),m=n("T1Qz"),_=n("L5KM"),v=n("eoic"),y=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),b=function(e){function t(){return e.call(this,{id:"editor.action.insertCursorAbove",label:o.a("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:h.a.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menubarOpts:{menuId:22,group:"3_multi",title:o.a({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})||this}return y(t,e),t.prototype.run=function(e,t,n){if(t.hasModel()){var i=n&&!0===n.logicalLine,o=t._getCursors(),r=o.context;r.config.readOnly||(r.model.pushStackElement(),o.setStates(n.source,3,l.b.addCursorUp(r,o.getAll(),i)),o.reveal(!0,1,0))}},t}(u.b),C=function(e){function t(){return e.call(this,{id:"editor.action.insertCursorBelow",label:o.a("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:h.a.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menubarOpts:{menuId:22,group:"3_multi",title:o.a({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})||this}return y(t,e),t.prototype.run=function(e,t,n){if(t.hasModel()){var i=n&&!0===n.logicalLine,o=t._getCursors(),r=o.context;r.config.readOnly||(r.model.pushStackElement(),o.setStates(n.source,3,l.b.addCursorDown(r,o.getAll(),i)),o.reveal(!0,2,0))}},t}(u.b),w=function(e){function t(){return e.call(this,{id:"editor.action.insertCursorAtEndOfEachLineSelected",label:o.a("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:h.a.editorTextFocus,primary:1575,weight:100},menubarOpts:{menuId:22,group:"3_multi",title:o.a({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})||this}return y(t,e),t.prototype.getCursorsForSelection=function(e,t,n){if(!e.isEmpty()){for(var i=e.startLineNumber;i1&&n.push(new d.a(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}},t.prototype.run=function(e,t){var n=this;if(t.hasModel()){var i=t.getModel(),o=[];t.getSelections().forEach(function(e){return n.getCursorsForSelection(e,i,o)}),o.length>0&&t.setSelections(o)}},t}(u.b),S=function(e){function t(){return e.call(this,{id:"editor.action.addCursorsToBottom",label:o.a("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})||this}return y(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getSelections(),i=t.getModel().getLineCount(),o=[],r=n[0].startLineNumber;r<=i;r++)o.push(new d.a(r,n[0].startColumn,r,n[0].endColumn));o.length>0&&t.setSelections(o)}},t}(u.b),L=function(e){function t(){return e.call(this,{id:"editor.action.addCursorsToTop",label:o.a("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})||this}return y(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getSelections(),i=[],o=n[0].startLineNumber;o>=1;o--)i.push(new d.a(o,n[0].startColumn,o,n[0].endColumn));i.length>0&&t.setSelections(i)}},t}(u.b),O=function(){return function(e,t,n){this.selections=e,this.revealRange=t,this.revealScrollType=n}}(),E=function(){function e(e,t,n,i,o,r,s){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=n,this.searchText=i,this.wholeWord=o,this.matchCase=r,this.currentMatch=s}return e.create=function(t,n){if(!t.hasModel())return null;var i=n.getState();if(!t.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new e(t,n,!1,i.searchString,i.wholeWord,i.matchCase,null);var o,r,s=!1,a=t.getSelections();1===a.length&&a[0].isEmpty()?(s=!0,o=!0,r=!0):(o=i.wholeWord,r=i.matchCase);var u,l=t.getSelection(),c=null;if(l.isEmpty()){var h=t.getModel().getWordAtPosition(l.getStartPosition());if(!h)return null;u=h.word,c=new d.a(l.startLineNumber,h.startColumn,l.startLineNumber,h.endColumn)}else u=t.getModel().getValueInRange(l).replace(/\r\n/g,"\n");return new e(t,n,s,u,o,r,c)},e.prototype.addSelectionToNextFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new O(t.concat(e),e,0)},e.prototype.moveSelectionToNextFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new O(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getNextMatch=function(){if(!this._editor.hasModel())return null;if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),n=t[t.length-1],i=this._editor.getModel().findNextMatch(this.searchText,n.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return i?new d.a(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null},e.prototype.addSelectionToPreviousFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new O(t.concat(e),e,0)},e.prototype.moveSelectionToPreviousFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new O(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getPreviousMatch=function(){if(!this._editor.hasModel())return null;if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),n=t[t.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,n.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return i?new d.a(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null},e.prototype.selectAll=function(){return this._editor.hasModel()?(this.findController.highlightFindOptions(),this._editor.getModel().findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1,1073741824)):[]},e}(),N=function(e){function t(t){var n=e.call(this)||this;return n._sessionDispose=n._register(new a.b),n._editor=t,n._ignoreSelectionChange=!1,n._session=null,n}return y(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 n=E.create(this._editor,e);if(!n)return;this._session=n;var i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(function(e){t._ignoreSelectionChange||t._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(function(){t._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(function(e){(e.matchCase||e.wholeWord)&&t._endSession()}))}},t.prototype._endSession=function(){if(this._sessionDispose.clear(),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 n=e.getWordAtPosition(t.getStartPosition());return n?new d.a(t.startLineNumber,n.startColumn,t.startLineNumber,n.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._editor.hasModel()){if(!this._session){var t=this._editor.getSelections();if(t.length>1){var n=e.getState().matchCase;if(!F(this._editor.getModel(),t,n)){for(var i=this._editor.getModel(),o=[],r=0,s=t.length;r0&&n.isRegex)t=this._editor.getModel().findMatches(n.searchString,!0,n.isRegex,n.matchCase,n.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 i=this._editor.getSelection(),o=0,r=t.length;o1){var a=o.getState().matchCase;if(!F(t.getModel(),s,a))return null}r=E.create(t,o)}if(!r)return null;if(r.currentMatch)return null;if(/^[ \t]+$/.test(r.searchText))return null;if(r.searchText.length>200)return null;var u=o.getState(),l=u.matchCase;if(u.isRevealed){var c=u.searchString;l||(c=c.toLowerCase());var d=r.searchText;if(l||(d=d.toLowerCase()),c===d&&r.matchCase===u.matchCase&&r.wholeWord===u.wholeWord&&!u.isRegex)return null}return new A(r.searchText,r.matchCase,r.wholeWord?t.getConfiguration().wordSeparators:null)},t.prototype._setState=function(e){if(A.softEquals(this.state,e))this.state=e;else if(this.state=e,this.state){if(this.editor.hasModel()){var n=this.editor.getModel();if(!n.isTooLargeForTokenization()){var i=g.i.has(n),o=n.findMatches(this.state.searchText,!0,!1,this.state.matchCase,this.state.wordSeparators,!1).map(function(e){return e.range});o.sort(c.a.compareRangesUsingStarts);var r=this.editor.getSelections();r.sort(c.a.compareRangesUsingStarts);for(var s=[],a=0,u=0,l=o.length,d=r.length;a=d)s.push(h),a++;else{var p=c.a.compareRangesUsingStarts(h,r[u]);p<0?(!r[u].isEmpty()&&c.a.areIntersecting(h,r[u])||s.push(h),a++):p>0?u++:(a++,u++)}}var f=s.map(function(e){return{range:e,options:i?t._SELECTION_HIGHLIGHT:t._SELECTION_HIGHLIGHT_OVERVIEW}});this.decorations=this.editor.deltaDecorations(this.decorations,f)}}}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=f.a.register({stickiness:1,className:"selectionHighlight",overviewRuler:{color:Object(v.g)(_._32),position:p.d.Center}}),t._SELECTION_HIGHLIGHT=f.a.register({stickiness:1,className:"selectionHighlight"}),t}(a.a);function F(e,t,n){for(var i=W(e,t[0],!n),o=1,r=t.length;o=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},C=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},w=Object(_._36)("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hc:null},o.a("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0),S=Object(_._36)("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hc:null},o.a("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0),L=Object(_._36)("editor.wordHighlightBorder",{light:null,dark:null,hc:_.b},o.a("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable.")),O=Object(_._36)("editor.wordHighlightStrongBorder",{light:null,dark:null,hc:_.b},o.a("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable.")),E=Object(_._36)("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hc:"#A0A0A0CC"},o.a("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),N=Object(_._36)("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hc:"#C0A0C0CC"},o.a("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),x=new m.d("hasWordHighlights",!1);function I(e,t,n){var i=g.i.ordered(e);return Object(s.h)(i.map(function(i){return function(){return Promise.resolve(i.provideDocumentHighlights(e,t,n)).then(void 0,u.f)}}),r.n)}var D=function(){function e(e,t,n){var i=this;this._wordRange=this._getCurrentWordRange(e,t),this.result=Object(s.f)(function(o){return i._compute(e,t,n,o)})}return e.prototype._getCurrentWordRange=function(e,t){var n=e.getWordAtPosition(t.getPosition());return n?new d.a(t.startLineNumber,n.startColumn,t.startLineNumber,n.endColumn):null},e.prototype.isValid=function(e,t,n){for(var i=t.startLineNumber,o=t.startColumn,r=t.endColumn,s=this._getCurrentWordRange(e,t),a=Boolean(this._wordRange&&this._wordRange.equalsRange(s)),u=0,l=n.length;!a&&u=r&&(a=!0)}return a},e.prototype.cancel=function(){this.result.cancel()},e}(),k=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return y(t,e),t.prototype._compute=function(e,t,n,i){return I(e,t.getPosition(),i).then(function(e){return e||[]})},t}(D),T=function(e){function t(t,n,i){var o=e.call(this,t,n,i)||this;return o._selectionIsEmpty=n.isEmpty(),o}return y(t,e),t.prototype._compute=function(e,t,n,i){return Object(s.l)(250,i).then(function(){if(!t.isEmpty())return[];var i=e.getWordAtPosition(t.getPosition());return i?e.findMatches(i.word,!0,!1,!0,n,!1).map(function(e){return{range:e.range,kind:g.h.Text}}):[]})},t.prototype.isValid=function(t,n,i){var o=n.isEmpty();return this._selectionIsEmpty===o&&e.prototype.isValid.call(this,t,n,i)},t}(D);Object(c.e)("_executeDocumentHighlights",function(e,t){return I(e,t,a.a.None)});var M=function(){function e(e,t){var n=this;this.toUnhook=new l.b,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=[],this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this._hasWordHighlights=x.bindTo(t),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getConfiguration().contribInfo.occurrencesHighlight,this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(function(e){n._ignorePositionChangeEvent||n.occurrencesHighlight&&n._onPositionChanged(e)})),this.toUnhook.add(e.onDidChangeModelContent(function(e){n._stopAll()})),this.toUnhook.add(e.onDidChangeConfiguration(function(e){var t=n.editor.getConfiguration().contribInfo.occurrencesHighlight;n.occurrencesHighlight!==t&&(n.occurrencesHighlight=t,n._stopAll())})),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 r.d(this._decorationIds.map(function(t){return e.model.getDecorationRange(t)}).sort(d.a.compareRangesUsingStarts))},e.prototype.moveNext=function(){var e=this,t=this._getSortedHighlights(),n=t[(r.j(t,function(t){return t.containsPosition(e.editor.getPosition())})+1)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n)}finally{this._ignorePositionChangeEvent=!1}},e.prototype.moveBack=function(){var e=this,t=this._getSortedHighlights(),n=t[(r.j(t,function(t){return t.containsPosition(e.editor.getPosition())})-1+t.length)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n)}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._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&&3===e.reason?this._run():this._stopAll()},e.prototype._run=function(){var e=this,t=this.editor.getSelection();if(t.startLineNumber===t.endLineNumber){var n=t.startLineNumber,i=t.startColumn,o=t.endColumn,r=this.model.getWordAtPosition({lineNumber:n,column:i});if(!r||r.startColumn>i||r.endColumn=n?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(function(){e.renderDecorations()},n-t)},e.prototype.renderDecorations=function(){this.renderDecorationsTimer=-1;for(var t=[],n=0,i=this.workerRequestValue.length;n0){n=o[0].getStartPosition();var r=t.getTopForPosition(n.lineNumber,n.column);i=t.getScrollTop()-r}}return new e(n,i)},e.prototype.restore=function(e){if(this._visiblePosition){var t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}},e}()},"5N57":function(e,t,n){var i=n("ICSD")(n("TQ3y"),"Set");e.exports=i},"5RGO":function(e,t){},"5TlO":function(e,t,n){"use strict";t.a=function(e,t){if(!e)throw new Error(t?"Assertion failed ("+t+")":"Assertion Failed")}},"5VRF":function(e,t,n){"use strict";n.d(t,"c",function(){return s}),n.d(t,"d",function(){return o}),t.f=function(e){return Array.isArray(e)?o.fromArray(e):e},n.d(t,"a",function(){return a}),n.d(t,"b",function(){return u}),n.d(t,"e",function(){return l});var i,o,r=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s={done:!0,value:void 0};!function(e){var t={next:function(){return s}};e.empty=function(){return t},e.single=function(e){var t=!1;return{next:function(){return t?s:(t=!0,{done:!1,value:e})}}},e.fromArray=function(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=e.length),{next:function(){return t>=n?s:{done:!1,value:e[t++]}}}},e.from=function(t){return t?Array.isArray(t)?e.fromArray(t):t:e.empty()},e.map=function(e,t){return{next:function(){var n=e.next();return n.done?s:{done:!1,value:t(n.value)}}}},e.filter=function(e,t){return{next:function(){for(;;){var n=e.next();if(n.done)return s;if(t(n.value))return{done:!1,value:n.value}}}}},e.forEach=function(e,t){for(var n=e.next();!n.done;n=e.next())t(n.value)},e.collect=function(e,t){void 0===t&&(t=Number.POSITIVE_INFINITY);var n=[];if(0===t)return n;for(var i=0,o=e.next();!(o.done||(n.push(o.value),++i>=t));o=e.next());return n},e.concat=function(){for(var e=[],t=0;t=e.length)return s;var t=e[n].next();return t.done?(n++,this.next()):t}}}}(o||(o={}));var a=function(){function e(e,t,n,i){void 0===t&&(t=0),void 0===n&&(n=e.length),void 0===i&&(i=t-1),this.items=e,this.start=t,this.end=n,this.index=i}return e.prototype.first=function(){return this.index=this.start,this.current()},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}(),u=function(e){function t(t,n,i,o){return void 0===n&&(n=0),void 0===i&&(i=t.length),void 0===o&&(o=n-1),e.call(this,t,n,i,o)||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}(a),l=function(){function e(e,t){this.iterator=e,this.fn=t}return e.prototype.next=function(){return this.fn(this.iterator.next())},e}()},"5Zxu":function(e,t,n){var i=n("sBat");e.exports=function(e){var t=i(e),n=t%1;return t==t?n?t-n:t:0}},"5kgg":function(e,t){},"5lao":function(e,t,n){"use strict";n.d(t,"a",function(){return h}),n.d(t,"b",function(){return p});var i,o=n("ZfGv"),r=n("iXRW"),s=n("G8r4"),a=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),u=o.d?1.5:1.35;function l(e,t){if("number"==typeof e)return e;if(void 0===e)return t;var n=parseFloat(e);return isNaN(n)?t:n}function c(e,t,n){return en?n:e}function d(e,t){return"string"!=typeof e?t:e}var h=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,n,i){void 0===i&&(i=!1);var o=d(t.fontFamily,r.b.fontFamily),a=d(t.fontWeight,r.b.fontWeight),h=l(t.fontSize,r.b.fontSize);0===(h=c(h,0,100))?h=r.b.fontSize:h<8&&(h=8);var p=function(e,t){if("number"==typeof e)return Math.round(e);if(void 0===e)return t;var n=parseInt(e);return isNaN(n)?t:n}(t.lineHeight,0);0===(p=c(p,0,150))?p=Math.round(u*h):p<8&&(p=8);var f=l(t.letterSpacing,0);f=c(f,-5,20);var g=1+(i?0:.1*s.a.getZoomLevel());return new e({zoomLevel:n,fontFamily:o,fontWeight:a,fontSize:h*=g,lineHeight:p*=g,letterSpacing:f})},e.prototype.getId=function(){return this.zoomLevel+"-"+this.fontFamily+"-"+this.fontWeight+"-"+this.fontSize+"-"+this.lineHeight+"-"+this.letterSpacing},e.prototype.getMassagedFontFamily=function(){return/[,"']/.test(this.fontFamily)?this.fontFamily:/[+ ]/.test(this.fontFamily)?'"'+this.fontFamily+'"':this.fontFamily},e}(),p=function(e){function t(t,n){var i=e.call(this,t)||this;return i.isTrusted=n,i.isMonospace=t.isMonospace,i.typicalHalfwidthCharacterWidth=t.typicalHalfwidthCharacterWidth,i.typicalFullwidthCharacterWidth=t.typicalFullwidthCharacterWidth,i.canUseHalfwidthRightwardsArrow=t.canUseHalfwidthRightwardsArrow,i.spaceWidth=t.spaceWidth,i.maxDigitWidth=t.maxDigitWidth,i}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.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.spaceWidth===e.spaceWidth&&this.maxDigitWidth===e.maxDigitWidth},t}(h)},"5tK6":function(e,t,n){"use strict";n.d(t,"a",function(){return m});var i,o=n("LCUL"),r=(n.n(o),n("tqet")),s=n("lAcG"),a=n("ZfGv"),u=n("KIxu"),l=n("Bug4"),c=n("b1X/"),d=n("Kp7x"),h=n("7/Cv"),p=n("Gxst"),f=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),g=!1,m=function(e){function t(t,n,i){void 0===i&&(i={});var o=e.call(this)||this;return o._state=3,o._onDidEnablementChange=o._register(new d.a),o.onDidEnablementChange=o._onDidEnablementChange.event,o._onDidStart=o._register(new d.a),o.onDidStart=o._onDidStart.event,o._onDidChange=o._register(new d.a),o.onDidChange=o._onDidChange.event,o._onDidReset=o._register(new d.a),o.onDidReset=o._onDidReset.event,o._onDidEnd=o._register(new d.a),o.onDidEnd=o._onDidEnd.event,o.linkedSash=void 0,o.orthogonalStartSashDisposables=o._register(new r.b),o.orthogonalEndSashDisposables=o._register(new r.b),o.el=Object(h.m)(t,Object(h.a)(".monaco-sash")),a.d&&Object(h.f)(o.el,"mac"),o._register(Object(p.a)(o.el,"mousedown")(o.onMouseDown,o)),o._register(Object(p.a)(o.el,"dblclick")(o.onMouseDoubleClick,o)),l.b.addTarget(o.el),o._register(Object(p.a)(o.el,l.a.Start)(o.onTouchStart,o)),s.k&&Object(h.f)(o.el,"touch"),o.setOrientation(i.orientation||0),o.hidden=!1,o.layoutProvider=n,o.orthogonalStartSash=i.orthogonalStartSash,o.orthogonalEndSash=i.orthogonalEndSash,Object(h.R)(o.el,"debug",g),o}return f(t,e),Object.defineProperty(t.prototype,"state",{get:function(){return this._state},set:function(e){this._state!==e&&(Object(h.R)(this.el,"disabled",0===e),Object(h.R)(this.el,"minimum",1===e),Object(h.R)(this.el,"maximum",2===e),this._state=e,this._onDidEnablementChange.fire(e))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"orthogonalStartSash",{get:function(){return this._orthogonalStartSash},set:function(e){this.orthogonalStartSashDisposables.clear(),e?(this.orthogonalStartSashDisposables.add(e.onDidEnablementChange(this.onOrthogonalStartSashEnablementChange,this)),this.onOrthogonalStartSashEnablementChange(e.state)):this.onOrthogonalStartSashEnablementChange(0),this._orthogonalStartSash=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"orthogonalEndSash",{get:function(){return this._orthogonalEndSash},set:function(e){this.orthogonalEndSashDisposables.clear(),e?(this.orthogonalEndSashDisposables.add(e.onDidEnablementChange(this.onOrthogonalEndSashEnablementChange,this)),this.onOrthogonalEndSashEnablementChange(e.state)):this.onOrthogonalEndSashEnablementChange(0),this._orthogonalEndSash=e},enumerable:!0,configurable:!0}),t.prototype.setOrientation=function(e){this.orientation=e,1===this.orientation?(Object(h.f)(this.el,"horizontal"),Object(h.I)(this.el,"vertical")):(Object(h.I)(this.el,"horizontal"),Object(h.f)(this.el,"vertical")),this.layoutProvider&&this.layout()},t.prototype.onMouseDown=function(e){var t=this;h.c.stop(e,!1);var n=!1;if(!e.__orthogonalSashEvent){var i=this.getOrthogonalSash(e);i&&(n=!0,e.__orthogonalSashEvent=!0,i.onMouseDown(e))}if(this.linkedSash&&!e.__linkedSashEvent&&(e.__linkedSashEvent=!0,this.linkedSash.onMouseDown(e)),this.state){for(var o=Object(h.y)("iframe").concat(Object(h.y)("webview")),s=0,u=o;s=this.el.clientHeight-4)return this.orthogonalEndSash}else{if(e.offsetX<=4)return this.orthogonalStartSash;if(e.offsetX>=this.el.clientWidth-4)return this.orthogonalEndSash}},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.el&&this.el.parentElement&&this.el.parentElement.removeChild(this.el),this.el=null},t}(r.a)},"5zde":function(e,t,n){n("zQR9"),n("qyJz"),e.exports=n("FeBl").Array.from},"606G":function(e,t,n){"use strict";n.d(t,"a",function(){return o});var i=n("JVO/"),o=Object(i.c)("editorWorkerService")},"67ys":function(e,t){},"6Hge":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("X6iQ"),o=n("80kS"),r=n("03Zz"),s=n("artP"),a=n("vTy2"),u=n("iHM7"),l=n("/9db"),c=n("PCC9"),d=n("hK2W"),h=n("tqet"),p=n("aL7J"),f=function(){function e(){}return e.prototype.provideSelectionRanges=function(e,t){for(var n=[],i=0,o=t;i=0;u--){if(95===(d=o.charCodeAt(u))||45===d)break;if(Object(p.y)(d)&&Object(p.z)(c))break;c=d}for(u+=1;l0&&0===t.getLineFirstNonWhitespaceColumn(n.lineNumber)&&0===t.getLineLastNonWhitespaceColumn(n.lineNumber)&&e.push({range:new a.a(n.lineNumber,1,n.lineNumber,t.getLineMaxColumn(n.lineNumber))})},e}(),g=n("NjuD"),m=n("ItKl"),_=n("zxiH");t.provideSelectionRanges=N;var v,y=this&&this.__extends||(v=function(e,t){return(v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}v(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),b=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},C=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=this.ranges.length)return this;var i=new e(n,this.ranges);return i.ranges[n].equalsRange(this.ranges[this.index])?i.mov(t):i},e}(),S=function(){function e(e){this._ignoreSelection=!1,this._editor=e}return e.get=function(t){return t.getContribution(e._id)},e.prototype.dispose=function(){Object(h.f)(this._selectionListener)},e.prototype.getId=function(){return e._id},e.prototype.run=function(e){var t=this;if(this._editor.hasModel()){var n=this._editor.getSelections(),r=this._editor.getModel();if(c.u.has(r)){var s=Promise.resolve(void 0);return this._state||(s=N(r,n.map(function(e){return e.getPosition()}),o.a.None).then(function(e){if(i.n(e)&&e.length===n.length&&t._editor.hasModel()&&i.g(t._editor.getSelections(),n,function(e,t){return e.equalsSelection(t)})){for(var o=function(t){e[t]=e[t].filter(function(e){return e.containsPosition(n[t].getStartPosition())&&e.containsPosition(n[t].getEndPosition())}),e[t].unshift(n[t])},r=0;r=i.length)&&o.x(i.charCodeAt(n))},e.isHighSurrogate=function(e,t,n){var i=e.getLineContent(t);return!(n<0||n>=i.length)&&o.w(i.charCodeAt(n))},e.isInsideSurrogatePair=function(e,t,n){return this.isHighSurrogate(e,t,n-2)},e.visibleColumnFromColumn=function(e,t,n){var i=e.length;i>t-1&&(i=t-1);for(var r=0,s=0;s=t)return u-ts?s:o},e.nextRenderTabStop=function(e,t){return e+t-e%t},e.nextIndentTabStop=function(e,t){return e+t-e%t},e.prevRenderTabStop=function(e,t){return e-1-(e-1)%t},e.prevIndentTabStop=function(e,t){return e-1-(e-1)%t},e}()},"6jTg":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("odeJ"),o=n("zxiH"),r=n("tqet"),s=n("4tuZ"),a=n("03Zz"),u=n("PCC9"),l=n("X6iQ"),c=n("80kS"),d=n("mrx5"),h=n("jIdl"),p=function(){function e(){this.lenses=[],this._dispoables=new r.b}return e.prototype.dispose=function(){this._dispoables.dispose()},e.prototype.add=function(e,t){this._dispoables.add(e);for(var n=0,i=e.lenses;nt.symbol.range.startLineNumber?1:i.get(e.provider)i.get(t.provider)?1:e.symbol.range.startColumnt.symbol.range.startColumn?1:0}),r})}Object(a.j)("_executeCodeLensProvider",function(e,t){var n=t.resource,i=t.itemResolveCount;if(!(n instanceof d.a))throw Object(o.b)();var s=e.get(h.a).getModel(n);if(!s)throw Object(o.b)();var a=[],u=new r.b;return f(s,c.a.None).then(function(e){u.add(e);for(var t=[],n=function(e){void 0===i||Boolean(e.symbol.command)?a.push(e.symbol):i-- >0&&e.provider.resolveCodeLens&&t.push(Promise.resolve(e.provider.resolveCodeLens(s,e.symbol,c.a.None)).then(function(t){return a.push(t||e.symbol)}))},o=0,r=e.lenses;ono commands";else{for(var i=[],o=0;o"+s+"",this._commands.set(String(o),r)):a=""+s+"",i.push(a)}}var u=""===this._domNode.innerHTML||" "===this._domNode.innerHTML;this._domNode.innerHTML=i.join(" | "),this._editor.layoutContentWidget(this),u&&t&&g.f(this._domNode,"fadein")}},e.prototype.getCommand=function(e){return e.parentElement===this._domNode?this._commands.get(e.id):void 0},e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.setSymbolRange=function(e){if(this._editor.hasModel()){var t=e.startLineNumber,n=this._editor.getModel().getLineFirstNonWhitespaceColumn(t);this._widgetPosition={position:{lineNumber:t,column:n},preference:[1]}}},e.prototype.getPosition=function(){return this._widgetPosition||null},e.prototype.isVisible=function(){return this._domNode.hasAttribute("monaco-visible-content-widget")},e._idPool=0,e}(),L=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),n=0,i=t.length;n a:hover { color: "+i+" !important; }")});var E=n("ItKl"),N=n("fAkY"),x=n("JVO/"),I=n("8xpx"),D=n("WTFd"),k=n("Cfmk"),T=n("dwjm"),M=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},R=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},A=Object(x.c)("ICodeLensCache"),P=function(){return function(e,t){this.lineCount=e,this.data=t}}(),F=function(){function e(e){var t=this;this._fakeProvider=new(function(){function e(){}return e.prototype.provideCodeLenses=function(){throw new Error("not supported")},e}()),this._cache=new D.a(20,.75);Object(i.k)(function(){return e.remove("codelens/cache",1)});var n="codelens/cache2",o=e.get(n,1,"{}");this._deserialize(o),Object(T.a)(e.onWillSaveState)(function(i){i.reason===k.c.SHUTDOWN&&e.store(n,t._serialize(),1)})}return e.prototype.put=function(e,t){var n=new p;n.add({lenses:t.lenses.map(function(e){return e.symbol}),dispose:function(){}},this._fakeProvider);var i=new P(e.getLineCount(),n);this._cache.set(e.uri.toString(),i)},e.prototype.get=function(e){var t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0},e.prototype.delete=function(e){this._cache.delete(e.uri.toString())},e.prototype._serialize=function(){var e=Object.create(null);return this._cache.forEach(function(t,n){for(var i=new Set,o=0,r=t.data.lenses;o=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},j=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},V=function(){function e(e,t,n,i){var o=this;this._editor=e,this._commandService=t,this._notificationService=n,this._codeLensCache=i,this._globalToDispose=new r.b,this._localToDispose=new r.b,this._lenses=[],this._oldCodeLensModels=new r.b,this._modelChangeCounter=0,this._isEnabled=this._editor.getConfiguration().contribInfo.codeLens,this._globalToDispose.add(this._editor.onDidChangeModel(function(){return o._onModelChange()})),this._globalToDispose.add(this._editor.onDidChangeModelLanguage(function(){return o._onModelChange()})),this._globalToDispose.add(this._editor.onDidChangeConfiguration(function(){var e=o._isEnabled;o._isEnabled=o._editor.getConfiguration().contribInfo.codeLens,e!==o._isEnabled&&o._onModelChange()})),this._globalToDispose.add(u.b.onDidChange(this._onModelChange,this)),this._onModelChange()}return e.prototype.dispose=function(){this._localDispose(),this._globalToDispose.dispose(),this._oldCodeLensModels.dispose(),Object(r.f)(this._currentCodeLensModel)},e.prototype._localDispose=function(){this._currentFindCodeLensSymbolsPromise&&(this._currentFindCodeLensSymbolsPromise.cancel(),this._currentFindCodeLensSymbolsPromise=void 0,this._modelChangeCounter++),this._currentResolveCodeLensSymbolsPromise&&(this._currentResolveCodeLensSymbolsPromise.cancel(),this._currentResolveCodeLensSymbolsPromise=void 0),this._localToDispose.clear(),this._oldCodeLensModels.clear(),Object(r.f)(this._currentCodeLensModel)},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){var n=this._codeLensCache.get(t);if(n&&this._renderCodeLensSymbols(n),u.b.has(t)){for(var a=0,l=u.b.all(t);a0&&h.schedule()})),this._localToDispose.add(this._editor.onDidLayoutChange(function(){h.schedule()})),this._localToDispose.add(Object(r.h)(function(){if(e._editor.getModel()){var t=s.c.capture(e._editor);e._editor.changeDecorations(function(t){e._editor.changeViewZones(function(n){e._disposeAllLenses(t,n)})}),t.restore(e._editor)}else e._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onDidChangeConfiguration(function(t){if(t.fontInfo)for(var n=0,i=e._lenses;ni||(n&&n[n.length-1].symbol.range.startLineNumber===l?n.push(u):(n=[u],o.push(n)))}var c=s.c.capture(this._editor);this._editor.changeDecorations(function(e){t._editor.changeViewZones(function(n){for(var i=new L,r=0,s=0;sn)return o;do{t%2&&(o+=e),(t=i(t/2))&&(e+=e)}while(t);return o}},"7/Cv":function(e,t,n){"use strict";t.p=function(e){for(;e.firstChild;)e.removeChild(e.firstChild)},t.K=function(e){e.parentNode&&e.parentNode.removeChild(e)},t.G=function(e){for(;e;){if(e===document.body)return!0;e=e.parentNode||e.host}return!1},n.d(t,"C",function(){return b}),n.d(t,"f",function(){return C}),n.d(t,"g",function(){return w}),n.d(t,"I",function(){return S}),n.d(t,"J",function(){return L}),n.d(t,"R",function(){return O}),t.h=N,n.d(t,"k",function(){return x}),t.i=function(e,t){return N(e,"mouseout",function(n){for(var i=n.relatedTarget||n.target;i&&i!==e;)i=i.parentNode;i!==e&&t(n)})},n.d(t,"N",function(){return I}),n.d(t,"P",function(){return D}),t.j=function(e,t,n,i,o){return new V(e,t,n,i,o)},t.u=B,n.d(t,"b",function(){return z}),t.z=function(e){var t=e.offsetParent,n=e.offsetTop,i=e.offsetLeft;for(;null!==(e=e.parentNode)&&e!==document.body&&e!==document.documentElement;){n-=e.scrollTop;var o=B(e);o&&(i-="rtl"!==o.direction?e.scrollLeft:-e.scrollLeft),e===t&&(i+=H.getBorderLeftWidth(e),n+=H.getBorderTopWidth(e),n+=e.offsetTop,i+=e.offsetLeft,t=e.offsetParent)}return{left:i,top:n}},t.x=function(e){var t=e.getBoundingClientRect();return{left:t.left+U.scrollX,top:t.top+U.scrollY,width:t.width,height:t.height}},n.d(t,"e",function(){return U}),t.B=function(e){var t=H.getMarginLeft(e)+H.getMarginRight(e);return e.offsetWidth+t},t.w=function(e){var t=H.getBorderLeftWidth(e)+H.getBorderRightWidth(e),n=H.getPaddingLeft(e)+H.getPaddingRight(e);return e.offsetWidth-t-n},t.v=function(e){var t=H.getBorderTopWidth(e)+H.getBorderBottomWidth(e),n=H.getPaddingTop(e)+H.getPaddingBottom(e);return e.offsetHeight-t-n},t.A=function(e){var t=H.getMarginTop(e)+H.getMarginBottom(e);return e.offsetHeight+t},t.E=K,t.t=function(e,t,n){for(;e;){if(b(e,t))return e;if(n)if("string"==typeof n){if(b(e,n))return null}else if(e===n)return null;e=e.parentNode}return null},t.s=q,t.r=function(e,t,n){void 0===n&&(n=Z());if(!n||!t)return;n.sheet.insertRule(e+"{"+t+"}",0)},t.H=function(e,t){void 0===t&&(t=Z());if(!t)return;for(var n=function(e){if(e&&e.sheet&&e.sheet.rules)return e.sheet.rules;if(e&&e.sheet&&e.sheet.cssRules)return e.sheet.cssRules;return[]}(t),i=[],o=0;o=0;o--)t.sheet.deleteRule(i[o])},t.F=function(e){if("object"==typeof HTMLElement)return e instanceof HTMLElement;return e&&"object"==typeof e&&1===e.nodeType&&"string"==typeof e.nodeName},n.d(t,"d",function(){return Y}),n.d(t,"c",function(){return X}),t.O=function(e){for(var t=[],n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)t[n]=e.scrollTop,e=e.parentNode;return t},t.M=function(e,t){for(var n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)e.scrollTop!==t[n]&&(e.scrollTop=t[n]),e=e.parentNode},t.S=function(e){return new J(e)},t.m=function(e){for(var t=[],n=1;n=0;){if(r=s+o,(0===s||32===n.charCodeAt(s-1))&&32===n.charCodeAt(r))return this._lastStart=s,void(this._lastEnd=r+1);if(s>0&&32===n.charCodeAt(s-1)&&r===i)return this._lastStart=s-1,void(this._lastEnd=r);if(0===s&&r===i)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,n=[],i=1;i0;){M.sort(F.sort),M.shift().execute()}A=!1},D=function(e,t){void 0===t&&(t=0);var n,i=new F(e,t);return T.push(i),R||(R=!0,n=P,k||(k=self.requestAnimationFrame||self.msRequestAnimationFrame||self.webkitRequestAnimationFrame||self.mozRequestAnimationFrame||self.oRequestAnimationFrame||function(e){return setTimeout(function(){return e((new Date).getTime())},0)}),k.call(self,n)),i},I=function(e,t){if(A){var n=new F(e,t);return M.push(n),n}return D(e,t)};var W=16,j=function(e,t){return t},V=function(e){function t(t,n,i,o,r){void 0===o&&(o=j),void 0===r&&(r=W);var s=e.call(this)||this,a=null,l=0,c=s._register(new u.e),d=function(){l=(new Date).getTime(),i(a),a=null};return s._register(N(t,n,function(e){a=o(a,e);var t=(new Date).getTime()-l;t>=r?(c.cancel(),d()):c.setIfNotSet(d,r-t)})),s}return g(t,e),t}(d.a);function B(e){return document.defaultView.getComputedStyle(e,null)}var H=function(){function e(){}return e.convertToPixels=function(e,t){return parseFloat(t)||0},e.getDimension=function(t,n,i){var o=B(t),r="0";return o&&(r=o.getPropertyValue?o.getPropertyValue(n):o.getAttribute(i)),e.convertToPixels(t,r)},e.getBorderLeftWidth=function(t){return e.getDimension(t,"border-left-width","borderLeftWidth")},e.getBorderRightWidth=function(t){return e.getDimension(t,"border-right-width","borderRightWidth")},e.getBorderTopWidth=function(t){return e.getDimension(t,"border-top-width","borderTopWidth")},e.getBorderBottomWidth=function(t){return e.getDimension(t,"border-bottom-width","borderBottomWidth")},e.getPaddingLeft=function(t){return e.getDimension(t,"padding-left","paddingLeft")},e.getPaddingRight=function(t){return e.getDimension(t,"padding-right","paddingRight")},e.getPaddingTop=function(t){return e.getDimension(t,"padding-top","paddingTop")},e.getPaddingBottom=function(t){return e.getDimension(t,"padding-bottom","paddingBottom")},e.getMarginLeft=function(t){return e.getDimension(t,"margin-left","marginLeft")},e.getMarginTop=function(t){return e.getDimension(t,"margin-top","marginTop")},e.getMarginRight=function(t){return e.getDimension(t,"margin-right","marginRight")},e.getMarginBottom=function(t){return e.getDimension(t,"margin-bottom","marginBottom")},e}(),z=function(){return function(e,t){this.width=e,this.height=t}}();var U=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 K(e,t){for(;e;){if(e===t)return!0;e=e.parentNode}return!1}function q(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 G=null;function Z(){return G||(G=q()),G}var Y={CLICK:"click",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",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",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:o.m?"webkitAnimationStart":"animationstart",ANIMATION_END:o.m?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:o.m?"webkitAnimationIteration":"animationiteration"},X={stop:function(e,t){e.preventDefault?e.preventDefault():e.returnValue=!1,t&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)}};var J=function(e){function t(t){var n=e.call(this)||this;n._onDidFocus=n._register(new c.a),n.onDidFocus=n._onDidFocus.event,n._onDidBlur=n._register(new c.a),n.onDidBlur=n._onDidBlur.event;var i=K(document.activeElement,t),o=!1;return n._register(Object(r.a)(t,Y.FOCUS,!0)(function(){o=!1,i||(i=!0,n._onDidFocus.fire())})),n._register(Object(r.a)(t,Y.BLUR,!0)(function(){i&&(o=!0,window.setTimeout(function(){o&&(o=!1,i=!1,n._onDidBlur.fire())},0))})),n}return g(t,e),t}(d.a);var Q,$=/([\w\-]+)?(#([\w\-]+))?((.([\w\-]+))*)/;function ee(e,t,n){for(var i=[],o=3;o|==|<=|>=|!<|!>|\|\||::|->>|->|~~\*|~~|!~~\*|!~~|~\*|!~\*|!~|.)/,this.BLOCK_COMMENT_REGEX=/^(\/\*[^]*?(?:\*\/|$))/,this.LINE_COMMENT_REGEX=this.createLineCommentRegex(t.lineCommentTypes),this.RESERVED_TOPLEVEL_REGEX=this.createReservedWordRegex(t.reservedToplevelWords),this.RESERVED_NEWLINE_REGEX=this.createReservedWordRegex(t.reservedNewlineWords),this.RESERVED_PLAIN_REGEX=this.createReservedWordRegex(t.reservedWords),this.WORD_REGEX=this.createWordRegex(t.specialWordChars),this.STRING_REGEX=this.createStringRegex(t.stringTypes),this.OPEN_PAREN_REGEX=this.createParenRegex(t.openParens),this.CLOSE_PAREN_REGEX=this.createParenRegex(t.closeParens),this.INDEXED_PLACEHOLDER_REGEX=this.createPlaceholderRegex(t.indexedPlaceholderTypes,"[0-9]*"),this.IDENT_NAMED_PLACEHOLDER_REGEX=this.createPlaceholderRegex(t.namedPlaceholderTypes,"[a-zA-Z0-9._$]+"),this.STRING_NAMED_PLACEHOLDER_REGEX=this.createPlaceholderRegex(t.namedPlaceholderTypes,this.createStringPattern(t.stringTypes))}return e.prototype.createLineCommentRegex=function(e){return new RegExp("^((?:"+e.map(function(e){return(0,o.default)(e)}).join("|")+").*?(?:\n|$))")},e.prototype.createReservedWordRegex=function(e){var t=e.join("|").replace(/ /g,"\\s+");return new RegExp("^("+t+")\\b","i")},e.prototype.createWordRegex=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return new RegExp("^([\\w"+e.join("")+"]+)")},e.prototype.createStringRegex=function(e){return new RegExp("^("+this.createStringPattern(e)+")")},e.prototype.createStringPattern=function(e){var t={"``":"((`[^`]*($|`))+)","[]":"((\\[[^\\]]*($|\\]))(\\][^\\]]*($|\\]))*)",'""':'(("[^"\\\\]*(?:\\\\.[^"\\\\]*)*("|$))+)',"''":"(('[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)","N''":"((N'[^N'\\\\]*(?:\\\\.[^N'\\\\]*)*('|$))+)"};return e.map(function(e){return t[e]}).join("|")},e.prototype.createParenRegex=function(e){var t=this;return new RegExp("^("+e.map(function(e){return t.escapeParen(e)}).join("|")+")","i")},e.prototype.escapeParen=function(e){return 1===e.length?(0,o.default)(e):"\\b"+e+"\\b"},e.prototype.createPlaceholderRegex=function(e,t){if((0,i.default)(e))return!1;var n=e.map(o.default).join("|");return new RegExp("^((?:"+n+")(?:"+t+"))")},e.prototype.tokenize=function(e){for(var t=[],n=void 0;e.length;)n=this.getNextToken(e,n),e=e.substring(n.value.length),t.push(n);return t},e.prototype.getNextToken=function(e,t){return this.getWhitespaceToken(e)||this.getCommentToken(e)||this.getStringToken(e)||this.getOpenParenToken(e)||this.getCloseParenToken(e)||this.getPlaceholderToken(e)||this.getNumberToken(e)||this.getReservedWordToken(e,t)||this.getWordToken(e)||this.getOperatorToken(e)},e.prototype.getWhitespaceToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.WHITESPACE,regex:this.WHITESPACE_REGEX})},e.prototype.getCommentToken=function(e){return this.getLineCommentToken(e)||this.getBlockCommentToken(e)},e.prototype.getLineCommentToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.LINE_COMMENT,regex:this.LINE_COMMENT_REGEX})},e.prototype.getBlockCommentToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.BLOCK_COMMENT,regex:this.BLOCK_COMMENT_REGEX})},e.prototype.getStringToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.STRING,regex:this.STRING_REGEX})},e.prototype.getOpenParenToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.OPEN_PAREN,regex:this.OPEN_PAREN_REGEX})},e.prototype.getCloseParenToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.CLOSE_PAREN,regex:this.CLOSE_PAREN_REGEX})},e.prototype.getPlaceholderToken=function(e){return this.getIdentNamedPlaceholderToken(e)||this.getStringNamedPlaceholderToken(e)||this.getIndexedPlaceholderToken(e)},e.prototype.getIdentNamedPlaceholderToken=function(e){return this.getPlaceholderTokenWithKey({input:e,regex:this.IDENT_NAMED_PLACEHOLDER_REGEX,parseKey:function(e){return e.slice(1)}})},e.prototype.getStringNamedPlaceholderToken=function(e){var t=this;return this.getPlaceholderTokenWithKey({input:e,regex:this.STRING_NAMED_PLACEHOLDER_REGEX,parseKey:function(e){return t.getEscapedPlaceholderKey({key:e.slice(2,-1),quoteChar:e.slice(-1)})}})},e.prototype.getIndexedPlaceholderToken=function(e){return this.getPlaceholderTokenWithKey({input:e,regex:this.INDEXED_PLACEHOLDER_REGEX,parseKey:function(e){return e.slice(1)}})},e.prototype.getPlaceholderTokenWithKey=function(e){var t=e.input,n=e.regex,i=e.parseKey,o=this.getTokenOnFirstMatch({input:t,regex:n,type:r.default.PLACEHOLDER});return o&&(o.key=i(o.value)),o},e.prototype.getEscapedPlaceholderKey=function(e){var t=e.key,n=e.quoteChar;return t.replace(new RegExp((0,o.default)("\\")+n,"g"),n)},e.prototype.getNumberToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.NUMBER,regex:this.NUMBER_REGEX})},e.prototype.getOperatorToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.OPERATOR,regex:this.OPERATOR_REGEX})},e.prototype.getReservedWordToken=function(e,t){if(!t||!t.value||"."!==t.value)return this.getToplevelReservedToken(e)||this.getNewlineReservedToken(e)||this.getPlainReservedToken(e)},e.prototype.getToplevelReservedToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.RESERVED_TOPLEVEL,regex:this.RESERVED_TOPLEVEL_REGEX})},e.prototype.getNewlineReservedToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.RESERVED_NEWLINE,regex:this.RESERVED_NEWLINE_REGEX})},e.prototype.getPlainReservedToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.RESERVED,regex:this.RESERVED_PLAIN_REGEX})},e.prototype.getWordToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.WORD,regex:this.WORD_REGEX})},e.prototype.getTokenOnFirstMatch=function(e){var t=e.input,n=e.type,i=e.regex,o=t.match(i);if(o)return{type:n,value:o[1]}},e}();t.default=a,e.exports=t.default},"7VLx":function(e,t,n){"use strict";n.d(t,"a",function(){return o});var i=n("JVO/"),o=Object(i.c)("IWorkspaceEditService")},"7YfR":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o=n("UqCF"),r=n("X6iQ"),s=n("zxiH"),a=n("tqet"),u=n("03Zz"),l=n("0WPX"),c=n("vTy2"),d=n("/9db"),h=n("Bzq0"),p=n("Evjx"),f=n("WTFd"),g=n("Cfmk"),m=n("PCC9"),_=n("odeJ"),v=n("JVO/"),y=n("Gzpe"),b=n("8xpx"),C=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),w=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},S=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},L=function(){function e(){}return e.prototype.select=function(e,t,n){if(0===n.length)return 0;for(var i=n[0].score[0],o=1;ou&&d.type===i[l].completion.kind&&d.insertText===i[l].completion.insertText&&(u=d.touch,a=l),i[l].completion.preselect&&-1===s)return l}return-1!==a?a:-1!==s?s:0},t.prototype.toJSON=function(){var e=[];return this._cache.forEach(function(t,n){e.push([n,t])}),e},t.prototype.fromJSON=function(e){this._cache.clear();for(var t=0,n=e;t0){this._seq=e[0][1].touch+1;for(var t=0,n=e;t=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},P=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},F=function(){function e(t,n){this._editor=t,this._index=0,this._ckOtherSuggestions=e.OtherSuggestions.bindTo(n)}return e.prototype.dispose=function(){this.reset()},e.prototype.reset=function(){this._ckOtherSuggestions.reset(),Object(a.f)(this._listener),this._model=void 0,this._acceptNext=void 0,this._ignore=!1},e.prototype.set=function(t,n){var i=this,o=t.model,r=t.index;0!==o.items.length?e._moveIndex(!0,o,r)!==r?(this._acceptNext=n,this._model=o,this._index=r,this._listener=this._editor.onDidChangeCursorPosition(function(){i._ignore||i.reset()}),this._ckOtherSuggestions.set(!0)):this.reset():this.reset()},e._moveIndex=function(e,t,n){for(var i=n;(i=(i+t.items.length+(e?1:-1))%t.items.length)!==n&&t.items[i].completion.additionalTextEdits;);return i},e.prototype.next=function(){this._move(!0)},e.prototype.prev=function(){this._move(!1)},e.prototype._move=function(t){if(this._model)try{this._ignore=!0,this._index=e._moveIndex(t,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}},e.OtherSuggestions=new M.d("hasOtherSuggestions",!1),e=A([P(1,M.c)],e)}(),W=n("Kp7x"),j=n("iHM7"),V=n("GYOr"),B=n("iXRW"),H=n("aL7J"),z=(function(){}(),function(){function e(t,n,i,o,r){void 0===r&&(r=B.a.contribInfo.suggest),this._snippetCompareFn=e._compareCompletionItems,this._items=t,this._column=n,this._wordDistance=o,this._options=r,this._refilterKind=1,this._lineContext=i,"top"===r.snippets?this._snippetCompareFn=e._compareCompletionItemsSnippetsUp:"bottom"===r.snippets&&(this._snippetCompareFn=e._compareCompletionItemsSnippetsDown)}return 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.characterCountDelta2e3?V.d:V.e,u=0;u=d)l.score=V.a.Default;else if("string"==typeof l.completion.filterText){if(!(f=a(i,o,h,l.completion.filterText,l.filterTextLow,0,!1)))continue;0===Object(H.e)(l.completion.filterText,l.completion.label)?l.score=f:(l.score=Object(V.b)(i,o,h,l.completion.label,l.labelLow,0),l.score[0]=f[0])}else{var f;if(!(f=a(i,o,h,l.completion.label,l.labelLow,0,!1)))continue;l.score=f}}switch(l.idx=u,l.distance=this._wordDistance.distance(l.position,l.completion),s.push(l),this._stats.suggestionCount++,l.completion.kind){case 25:this._stats.snippetCount++;break;case 18:this._stats.textCount++}}this._filteredItems=s.sort(this._snippetCompareFn),this._refilterKind=0},e._compareCompletionItems=function(e,t){return e.score[0]>t.score[0]?-1:e.score[0]t.distance?1:e.idxt.idx?1:0},e._compareCompletionItemsSnippetsDown=function(t,n){if(t.completion.kind!==n.completion.kind){if(25===t.completion.kind)return 1;if(25===n.completion.kind)return-1}return e._compareCompletionItems(t,n)},e._compareCompletionItemsSnippetsUp=function(t,n){if(t.completion.kind!==n.completion.kind){if(25===t.completion.kind)return-1;if(25===n.completion.kind)return 1}return e._compareCompletionItems(t,n)},e}()),U=n("80kS"),K=n("NjuD"),q=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),G=function(){function e(){}return e.create=function(t,n){if(!n.getConfiguration().contribInfo.suggest.localityBonus)return Promise.resolve(e.None);if(!n.hasModel())return Promise.resolve(e.None);var i=n.getModel(),o=n.getPosition();return t.canComputeWordRanges(i.uri)?(new K.a).provideSelectionRanges(i,[o]).then(function(s){return s&&0!==s.length&&0!==s[0].length?t.computeWordRanges(i.uri,s[0][0].range).then(function(t){return new(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return q(i,e),i.prototype.distance=function(e,i){if(!t||!o.equals(n.getPosition()))return 0;if(17===i.kind)return 2<<20;var a=i.label,u=t[a];if(Object(r.m)(u))return 2<<20;for(var l=Object(r.c)(u,c.a.fromPositions(e),c.a.compareRangesUsingStarts),d=l>=0?u[l]:u[Math.max(0,~l-1)],h=s.length,p=0,f=s[0];p0?{triggerKind:2}:{triggerKind:0},this._requestToken=new U.b;var h=this._editor.getConfiguration().contribInfo,p=new Set,f=1;switch(h.suggest.snippets){case"top":f=0;break;case"bottom":f=2;break;case"none":p.add(25)}for(var g in h.suggest.filteredTypes){var _=Object(m.A)(g,!0);void 0!==_&&!1===h.suggest.filteredTypes[g]&&p.add(_)}var v=G.create(this._editorWorker,this._editor),y=Object(R.e)(l,this._editor.getPosition(),new R.a(f,p,n),u,this._requestToken.token);Promise.all([y,v]).then(function(t){var n=t[0],s=t[1];if(Object(a.f)(o._requestToken),0!==o._state&&o._editor.hasModel()){var u=o._editor.getModel();if(Object(r.n)(i)){var l=Object(R.d)(f);n=n.concat(i).sort(l)}var d=new Z(u,o._editor.getPosition(),c,e.shy);o._completionModel=new z(n,o._context.column,{leadingLineContent:d.leadingLineContent,characterCountDelta:d.column-o._context.column},s,o._editor.getConfiguration().contribInfo.suggest);for(var h=0,p=n;hthis._context.column&&this._completionModel.incomplete.size>0&&0!==e.leadingWord.word.length){var t=this._completionModel.incomplete,n=this._completionModel.adopt(t);this.trigger({auto:2===this._state,shy:!1},!0,t,n)}else{var i=this._completionModel.lineContext,o=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},0===this._completionModel.items.length){if(Z.shouldAutoTrigger(this._editor)&&this._context.leadingWord.endColumn0)&&0===e.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,auto:this._context.auto,shy:this._context.shy,isFrozen:o})}}else this.cancel()},e}(),X=(n("YUwp"),n("7/Cv")),J=n("SWdJ"),Q=n("qecS"),$=n("NqM+"),ee=n("3ciN"),te=n("Yqb6"),ne=n("eoic"),ie=n("L5KM"),oe=n("VBCr"),re=n("6TMp"),se=n("GsV8"),ae=n("tpa8"),ue=n("lapT"),le=n("ZYUE"),ce=n("9XyG");function de(e,t,n,i){var o=i===D.ROOT_FOLDER?["rootfolder-icon"]:i===D.FOLDER?["folder-icon"]:["file-icon"];if(n){var r;if(n.scheme===ue.b.data)r=le.a.parseMetaData(n).get(le.a.META_DATA_LABEL);else r=he(Object(le.c)(n).toLowerCase());if(i===D.FOLDER)o.push(r+"-name-folder-icon");else{if(r){o.push(r+"-name-file-icon");for(var s=r.split("."),a=1;a=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},ve=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ye=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},be=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=0&&(l.extraClasses=(l.extraClasses||[]).concat(["deprecated"]),l.matches=[]),o.iconLabel.setLabel(s.label,void 0,l),o.typeLabel.textContent=(s.detail||"").replace(/\n.*$/m,""),Ne(e)?(Object(X.Q)(o.readMore),o.readMore.onmousedown=function(e){e.stopPropagation(),e.preventDefault()},o.readMore.onclick=function(e){e.stopPropagation(),e.preventDefault(),i.widget.toggleDetails()}):(Object(X.D)(o.readMore),o.readMore.onmousedown=null,o.readMore.onclick=null)},e.prototype.disposeTemplate=function(e){e.disposables.dispose()},e=_e([ve(3,pe.a),ve(4,re.a),ve(5,ne.c)],e)}(),Ie=function(){function e(e,t,n,i,o){var r=this;this.widget=t,this.editor=n,this.markdownRenderer=i,this.triggerKeybindingLabel=o,this.borderWidth=1,this.disposables=new a.b,this.el=Object(X.m)(e,Object(X.a)(".details")),this.disposables.add(Object(a.h)(function(){return e.removeChild(r.el)})),this.body=Object(X.a)(".body"),this.scrollbar=new Q.a(this.body,{}),Object(X.m)(this.el,this.scrollbar.getDomNode()),this.disposables.add(this.scrollbar),this.header=Object(X.m)(this.body,Object(X.a)(".header")),this.close=Object(X.m)(this.header,Object(X.a)("span.close")),this.close.title=k.a("readLess","Read less...{0}",this.triggerKeybindingLabel),this.type=Object(X.m)(this.header,Object(X.a)("p.type")),this.docs=Object(X.m)(this.body,Object(X.a)("p.docs")),this.ariaLabel=null,this.configureFont(),W.b.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(function(e){return e.fontInfo}).on(this.configureFont,this,this.disposables),i.onDidRenderCodeBlock(function(){return r.scrollbar.scanDomNode()},this,this.disposables)}return Object.defineProperty(e.prototype,"element",{get:function(){return this.el},enumerable:!0,configurable:!0}),e.prototype.renderLoading=function(){this.type.textContent=k.a("loading","Loading..."),this.docs.textContent=""},e.prototype.renderItem=function(e,t){var n=this;this.renderDisposeable=Object(a.f)(this.renderDisposeable);var i=e.completion,o=i.documentation,r=i.detail;if(t){var s="";s+="score: "+e.score[0]+(e.word?", compared '"+(e.completion.filterText&&e.completion.filterText+" (filterText)"||e.completion.label)+"' with '"+e.word+"'":" (no prefix)")+"\n",s+="distance: "+e.distance+", see localityBonus-setting\n",s+="index: "+e.idx+", based on "+(e.completion.sortText&&'sortText: "'+e.completion.sortText+'"'||"label")+"\n",o=(new ge.a).appendCodeblock("empty",s),r="Provider: "+e.provider._debugDisplayName}if(!t&&!Ne(e))return this.type.textContent="",this.docs.textContent="",Object(X.f)(this.el,"no-docs"),void(this.ariaLabel=null);if(Object(X.I)(this.el,"no-docs"),"string"==typeof o)Object(X.I)(this.docs,"markdown-docs"),this.docs.textContent=o;else{Object(X.f)(this.docs,"markdown-docs"),this.docs.innerHTML="";var u=this.markdownRenderer.render(o);this.renderDisposeable=u,this.docs.appendChild(u.element)}r?(this.type.innerText=r,Object(X.Q)(this.type)):(this.type.innerText="",Object(X.D)(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(),n.widget.toggleDetails()},this.body.scrollTop=0,this.scrollbar.scanDomNode(),this.ariaLabel=H.r("{0}{1}",r||"",o?"string"==typeof o?o:o.value:"")},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,n=e.contribInfo.suggestFontSize||e.fontInfo.fontSize,i=e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight,o=e.fontInfo.fontWeight,r=n+"px",s=i+"px";this.el.style.fontSize=r,this.el.style.fontWeight=o,this.type.style.fontFamily=t,this.close.style.height=s,this.close.style.width=s},e.prototype.dispose=function(){this.disposables.dispose(),this.renderDisposeable=Object(a.f)(this.renderDisposeable)},e}(),De=function(){function e(e,t,n,i,o,r,s,u,l){var c=this;this.editor=e,this.telemetryService=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.state=null,this.isAuto=!1,this.loadingTimeout=a.a.None,this.currentSuggestionDetails=null,this.ignoreFocusEvents=!1,this.completionModel=null,this.showTimeout=new _.e,this.toDispose=new a.b,this.onDidSelectEmitter=new W.a,this.onDidFocusEmitter=new W.a,this.onDidHideEmitter=new W.a,this.onDidShowEmitter=new W.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.firstFocusInCurrentList=!1,this.preferDocPositionTop=!1,this.docsPositionPreviousWidgetY=null,this.explainMode=!1,this._lastAriaAlertLabel=null;var d=r.lookupKeybinding("editor.action.triggerSuggest"),h=d?" ("+d.getLabel()+")":"",p=this.toDispose.add(new oe.a(e,s,u));this.isAuto=!1,this.focusedItem=null,this.storageService=o,this.element=Object(X.a)(".editor-widget.suggest-widget"),this.toDispose.add(Object(X.h)(this.element,"click",function(e){e.target===c.element&&c.hideWidget()})),this.messageElement=Object(X.m)(this.element,Object(X.a)(".message")),this.listElement=Object(X.m)(this.element,Object(X.a)(".tree")),this.details=l.createInstance(Ie,this.element,this,this.editor,p,h);var f=function(){return Object(X.R)(c.element,"no-icons",!c.editor.getConfiguration().contribInfo.suggest.showIcons)};f();var g=l.createInstance(xe,this,this.editor,h);this.list=new J.b(this.listElement,this,[g],{useShadows:!1,openController:{shouldOpen:function(){return!1}},mouseSupport:!1}),this.toDispose.add(Object(te.b)(this.list,i,{listInactiveFocusBackground:Le,listInactiveFocusOutline:ie.b})),this.toDispose.add(i.onThemeChange(function(e){return c.onThemeChange(e)})),this.toDispose.add(e.onDidLayoutChange(function(){return c.onEditorLayoutChange()})),this.toDispose.add(this.list.onMouseDown(function(e){return c.onListMouseDown(e)})),this.toDispose.add(this.list.onSelectionChange(function(e){return c.onListSelection(e)})),this.toDispose.add(this.list.onFocusChange(function(e){return c.onListFocus(e)})),this.toDispose.add(this.editor.onDidChangeCursorSelection(function(){return c.onCursorSelectionChanged()})),this.toDispose.add(this.editor.onDidChangeConfiguration(function(e){return e.contribInfo&&f()})),this.suggestWidgetVisible=R.b.Visible.bindTo(n),this.suggestWidgetMultipleSuggestions=R.b.MultipleSuggestions.bindTo(n),this.editor.addContentWidget(this),this.setState(0),this.onThemeChange(i.getTheme())}return e.prototype.onCursorSelectionChanged=function(){0!==this.state&&this.editor.layoutContentWidget(this)},e.prototype.onEditorLayoutChange=function(){3!==this.state&&5!==this.state||!this.expandDocsSettingFromStorage()||this.expandSideOrBelow()},e.prototype.onListMouseDown=function(e){void 0!==e.element&&void 0!==e.index&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this.select(e.element,e.index))},e.prototype.onListSelection=function(e){e.elements.length&&this.select(e.elements[0],e.indexes[0])},e.prototype.select=function(e,t){var n=this.completionModel;n&&(this.onDidSelectEmitter.fire({item:e,index:t,model:n}),this.editor.focus())},e.prototype._getSuggestionAriaAlertLabel=function(e){return this.expandDocsSettingFromStorage()?k.a("ariaCurrenttSuggestionReadDetails","Item {0}, docs: {1}",e.completion.label,this.details.getAriaLabel()):e.completion.label},e.prototype._ariaAlert=function(e){this._lastAriaAlertLabel!==e&&(this._lastAriaAlertLabel=e,this._lastAriaAlertLabel&&Object(o.a)(this._lastAriaAlertLabel,!0))},e.prototype.onThemeChange=function(e){var t=e.getColor(Ce);t&&(this.listElement.style.backgroundColor=t.toString(),this.details.element.style.backgroundColor=t.toString(),this.messageElement.style.backgroundColor=t.toString());var n=e.getColor(we);n&&(this.listElement.style.borderColor=n.toString(),this.details.element.style.borderColor=n.toString(),this.messageElement.style.borderColor=n.toString(),this.detailsBorderColor=n.toString());var i=e.getColor(ie.S);i&&(this.detailsFocusBorderColor=i.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);if(this.completionModel){var n=e.elements[0],i=e.indexes[0];this.firstFocusInCurrentList=!this.focusedItem,n!==this.focusedItem&&(this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null),this.focusedItem=n,this.list.reveal(i),this.currentSuggestionDetails=Object(_.f)(function(e){return ye(t,void 0,void 0,function(){var t,i,o=this;return be(this,function(r){switch(r.label){case 0:return t=Object(_.g)(function(){return o.showDetails(!0)},250),e.onCancellationRequested(function(){return t.dispose()}),[4,n.resolve(e)];case 1:return i=r.sent(),t.dispose(),[2,i]}})})}),this.currentSuggestionDetails.then(function(){i>=t.list.length||n!==t.list.element(i)||(t.ignoreFocusEvents=!0,t.list.splice(i,1,[n]),t.list.setFocus([i]),t.ignoreFocusEvents=!1,t.expandDocsSettingFromStorage()?t.showDetails(!1):Object(X.I)(t.element,"docs-side"),t._ariaAlert(t._getSuggestionAriaAlertLabel(n)))}).catch(s.e)),this.onDidFocusEmitter.fire({item:n,index:i,model:this.completionModel})}}},e.prototype.setState=function(t){if(this.element){var n=this.state!==t;switch(this.state=t,Object(X.R)(this.element,"frozen",4===t),t){case 0:Object(X.D)(this.messageElement,this.details.element,this.listElement),this.hide(),this.listHeight=0,n&&this.list.splice(0,this.list.length),this.focusedItem=null;break;case 1:this.messageElement.textContent=e.LOADING_MESSAGE,Object(X.D)(this.listElement,this.details.element),Object(X.Q)(this.messageElement),Object(X.I)(this.element,"docs-side"),this.show(),this.focusedItem=null;break;case 2:this.messageElement.textContent=e.NO_SUGGESTIONS_MESSAGE,Object(X.D)(this.listElement,this.details.element),Object(X.Q)(this.messageElement),Object(X.I)(this.element,"docs-side"),this.show(),this.focusedItem=null;break;case 3:case 4:Object(X.D)(this.messageElement),Object(X.Q)(this.listElement),this.show();break;case 5:Object(X.D)(this.messageElement),Object(X.Q)(this.details.element,this.listElement),this.show(),this._ariaAlert(this.details.getAriaLabel())}}},e.prototype.showTriggered=function(e,t){var n=this;0===this.state&&(this.isAuto=!!e,this.isAuto||(this.loadingTimeout=Object(_.g)(function(){return n.setState(1)},t)))},e.prototype.showSuggestions=function(e,t,n,i){if(this.preferDocPositionTop=!1,this.docsPositionPreviousWidgetY=null,this.loadingTimeout.dispose(),this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null),this.completionModel!==e&&(this.completionModel=e),n&&2!==this.state&&0!==this.state)this.setState(4);else{var o=this.completionModel.items.length,r=0===o;if(this.suggestWidgetMultipleSuggestions.set(o>1),r)i?this.setState(0):this.setState(2),this.completionModel=null;else{if(3!==this.state){var s=this.completionModel.stats;s.wasAutomaticallyTriggered=!!i,this.telemetryService.publicLog("suggestWidget",me({},s))}this.focusedItem=null,this.list.splice(0,this.list.length,this.completionModel.items),n?this.setState(4):this.setState(3),this.list.reveal(t,0),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&&this.completionModel)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.publicLog2("suggestWidget:toggleDetailsFocus")},e.prototype.toggleDetails=function(){if(Ne(this.list.getFocusedElements()[0]))if(this.expandDocsSettingFromStorage())this.updateExpandDocsSetting(!1),Object(X.D)(this.details.element),Object(X.I)(this.element,"docs-side"),Object(X.I)(this.element,"docs-below"),this.editor.layoutContentWidget(this),this.telemetryService.publicLog2("suggestWidget:collapseDetails");else{if(3!==this.state&&5!==this.state&&4!==this.state)return;this.updateExpandDocsSetting(!0),this.showDetails(!1),this._ariaAlert(this.details.getAriaLabel()),this.telemetryService.publicLog2("suggestWidget:expandDetails")}},e.prototype.showDetails=function(e){this.expandSideOrBelow(),Object(X.Q)(this.details.element),this.details.element.style.maxHeight=this.maxWidgetHeight+"px",e?this.details.renderLoading():this.details.renderItem(this.list.getFocusedElements()[0],this.explainMode),this.listElement.style.marginTop="0px",this.editor.layoutContentWidget(this),this.adjustDocsPosition(),this.editor.focus()},e.prototype.toggleExplainMode=function(){this.list.getFocusedElements()[0]&&this.expandDocsSettingFromStorage()&&(this.explainMode=!this.explainMode,this.showDetails(!1))},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(X.f)(e.element,"visible"),e.onDidShowEmitter.fire(e)},100)},e.prototype.hide=function(){this.suggestWidgetVisible.reset(),this.suggestWidgetMultipleSuggestions.reset(),Object(X.I)(this.element,"visible")},e.prototype.hideWidget=function(){this.loadingTimeout.dispose(),this.setState(0),this.onDidHideEmitter.fire(this)},e.prototype.getPosition=function(){if(0===this.state)return null;var e=[2,1];return this.preferDocPositionTop&&(e=[1]),{position:this.editor.getPosition(),preference:e}},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,n=this.editor.getConfiguration().contribInfo.suggest.maxVisibleSuggestions;e=Math.min(t,n)*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(){if(this.editor.hasModel()){var e=this.editor.getConfiguration().fontInfo.lineHeight,t=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),n=Object(X.x)(this.editor.getDomNode()),i=n.left+t.left,o=n.top+t.top+t.height,r=Object(X.x)(this.element),s=r.left,a=r.top;if(this.docsPositionPreviousWidgetY&&this.docsPositionPreviousWidgetYa&&this.details.element.offsetHeight>this.listElement.offsetHeight&&(this.listElement.style.marginTop=this.details.element.offsetHeight-this.listElement.offsetHeight+"px")}},e.prototype.expandSideOrBelow=function(){if(!Ne(this.focusedItem)&&this.firstFocusInCurrentList)return Object(X.I)(this.element,"docs-side"),void Object(X.I)(this.element,"docs-below");var e=this.element.style.maxWidth.match(/(\d+)px/);!e||Number(e[1])=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},Me=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Re=function(e){function t(n,i){var o=e.call(this)||this;return o._editor=n,o._enabled=!1,o._ckAtEnd=t.AtEnd.bindTo(i),o._register(o._editor.onDidChangeConfiguration(function(e){return e.contribInfo&&o._update()})),o._update(),o}return ke(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),Object(a.f)(this._selectionListener),this._ckAtEnd.reset()},t.prototype._update=function(){var e=this,t="on"===this._editor.getConfiguration().contribInfo.tabCompletion;if(this._enabled!==t)if(this._enabled=t,this._enabled){var n=function(){if(e._editor.hasModel()){var t=e._editor.getModel(),n=e._editor.getSelection(),i=t.getWordAtPosition(n.getStartPosition());i?e._ckAtEnd.set(i.endColumn===n.getStartPosition().column):e._ckAtEnd.set(!1)}else e._ckAtEnd.set(!1)};this._selectionListener=this._editor.onDidChangeCursorSelection(n),n()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)},t.AtEnd=new M.d("atEndOfWord",!1),t=Te([Me(1,M.c)],t)}(a.a),Ae=n("606G"),Pe=n("KIxu"),Fe=n("GfE5"),We=function(){function e(e,t,n){var i=this;this._disposables=new a.b,this._disposables.add(t.onDidShow(function(){return i._onItem(t.getFocusedItem())})),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(function(t){if(i._active){var o=t.charCodeAt(t.length-1);i._active.acceptCharacters.has(o)&&e.getConfiguration().contribInfo.acceptSuggestionOnCommitCharacter&&n(i._active.item)}}))}return e.prototype._onItem=function(e){if(e&&Object(r.n)(e.item.completion.commitCharacters)){if(!this._active||this._active.item.item!==e.item){for(var t=new Fe.b,n=0,i=e.item.completion.commitCharacters;n0&&t.add(o.charCodeAt(0))}this._active={acceptCharacters:t,item:e}}}else this.reset()},e.prototype.reset=function(){this._active=void 0},e.prototype.dispose=function(){this._disposables.dispose()},e}();n.d(t,"SuggestController",function(){return Ke}),n.d(t,"TriggerSuggestAction",function(){return qe});var je=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ve=this&&this.__assign||function(){return(Ve=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},He=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ze=!1,Ue=function(){function e(e,t){if(this._model=e,this._position=t,e.getLineMaxColumn(t.lineNumber)!==t.column){var n=e.getOffsetAt(t),i=e.getPositionAt(n+1);this._marker=e.deltaDecorations([],[{range:c.a.fromPositions(t,i),options:{stickiness:1}}])}}return e.prototype.dispose=function(){this._marker&&!this._model.isDisposed()&&this._model.deltaDecorations(this._marker,[])},e.prototype.delta=function(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){var t=this._model.getDecorationRange(this._marker[0]);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}return this._model.getLineMaxColumn(e.lineNumber)-e.column},e}(),Ke=function(){function e(e,t,n,i,o,r){var s=this;this._editor=e,this._memoryService=n,this._commandService=i,this._contextKeyService=o,this._instantiationService=r,this._lineSuffix=new a.d,this._toDispose=new a.b,this._model=new Y(this._editor,t),this._widget=new _.b(function(){var e=s._instantiationService.createInstance(De,s._editor);s._toDispose.add(e),s._toDispose.add(e.onDidSelect(function(e){return s._insertSuggestion(e,!1,!0)},s));var t=new We(s._editor,e,function(e){return s._insertSuggestion(e,!1,!0)});s._toDispose.add(t),s._toDispose.add(s._model.onDidSuggest(function(e){0===e.completionModel.items.length&&t.reset()}));var n=R.b.MakesTextEdit.bindTo(s._contextKeyService);return s._toDispose.add(e.onDidFocus(function(e){var t=e.item,i=s._editor.getPosition(),o=t.completion.range.startColumn,r=i.column,a=!0;"smart"!==s._editor.getConfiguration().contribInfo.acceptSuggestionOnEnter||2!==s._model.state||t.completion.command||t.completion.additionalTextEdits||4&t.completion.insertTextRules||r-o!==t.completion.insertText.length||(a=s._editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:o,endLineNumber:i.lineNumber,endColumn:r})!==t.completion.insertText);n.set(a)})),s._toDispose.add(Object(a.h)(function(){return n.reset()})),e}),this._alternatives=new _.b(function(){return s._toDispose.add(new F(s._editor,s._contextKeyService))}),this._toDispose.add(r.createInstance(Re,e)),this._toDispose.add(this._model.onDidTrigger(function(e){s._widget.getValue().showTriggered(e.auto,e.shy?250:50),s._lineSuffix.value=new Ue(s._editor.getModel(),e.position)})),this._toDispose.add(this._model.onDidSuggest(function(e){if(!e.shy){var t=s._memoryService.select(s._editor.getModel(),s._editor.getPosition(),e.completionModel.items);s._widget.getValue().showSuggestions(e.completionModel,t,e.isFrozen,e.auto)}})),this._toDispose.add(this._model.onDidCancel(function(e){e.retrigger||s._widget.getValue().hideWidget()})),this._toDispose.add(this._editor.onDidBlurEditorWidget(function(){ze||(s._model.cancel(),s._model.clear())}));var u=R.b.AcceptSuggestionsOnEnter.bindTo(o),l=function(){var e=s._editor.getConfiguration().contribInfo.acceptSuggestionOnEnter;u.set("on"===e||"smart"===e)};this._toDispose.add(this._editor.onDidChangeConfiguration(function(){return l()})),l()}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._alternatives.dispose(),this._toDispose.dispose(),this._widget.dispose(),this._model.dispose(),this._lineSuffix.dispose()},e.prototype._insertSuggestion=function(e,t,n){var i,o=this;if(!e||!e.item)return this._alternatives.getValue().reset(),this._model.cancel(),void this._model.clear();if(this._editor.hasModel()){var r=this._editor.getModel(),a=r.getAlternativeVersionId(),u=e.item,d=u.completion,f=u.position,g=this._editor.getPosition().column-f.column;n&&this._editor.pushUndoStop(),Array.isArray(d.additionalTextEdits)&&this._editor.executeEdits("suggestController.additionalTextEdits",d.additionalTextEdits.map(function(e){return l.a.replace(c.a.lift(e.range),e.text)})),this._memoryService.memorize(r,this._editor.getPosition(),e.item);var m=d.insertText;4&d.insertTextRules||(m=p.c.escape(m));var _=f.column-d.range.startColumn,v=d.range.endColumn-f.column,y=this._lineSuffix.value?this._lineSuffix.value.delta(this._editor.getPosition()):0;h.SnippetController2.get(this._editor).insert(m,{overwriteBefore:_+g,overwriteAfter:v+y,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(1&d.insertTextRules)}),n&&this._editor.pushUndoStop(),d.command?d.command.id===qe.id?this._model.trigger({auto:!0,shy:!1},!0):((i=this._commandService).executeCommand.apply(i,[d.command.id].concat(d.command.arguments?d.command.arguments.slice():[])).catch(s.e).finally(function(){return o._model.clear()}),this._model.cancel()):(this._model.cancel(),this._model.clear()),t&&this._alternatives.getValue().set(e,function(e){for(;r.canUndo();){a!==r.getAlternativeVersionId()&&r.undo(),o._insertSuggestion(e,!1,!1);break}}),this._alertCompletionItem(e.item)}},e.prototype._alertCompletionItem=function(e){var t=e.completion;if(Object(r.n)(t.additionalTextEdits)){var n=k.a("arai.alert.snippet","Accepting '{0}' made {1} additional edits",t.label,t.additionalTextEdits.length);Object(o.a)(n)}},e.prototype.triggerSuggest=function(e){this._editor.hasModel()&&(this._model.trigger({auto:!1,shy:!1},!1,e),this._editor.revealLine(this._editor.getPosition().lineNumber,0),this._editor.focus())},e.prototype.triggerSuggestAndAcceptBest=function(e){var t=this;if(this._editor.hasModel()){var n=this._editor.getPosition(),i=function(){n.equals(t._editor.getPosition())&&t._commandService.executeCommand(e.fallback)};W.b.once(this._model.onDidTrigger)(function(e){var n=[];W.b.any(t._model.onDidTrigger,t._model.onDidCancel)(function(){Object(a.f)(n),i()},void 0,n),t._model.onDidSuggest(function(e){var o=e.completionModel;if(Object(a.f)(n),0!==o.items.length){var r=t._memoryService.select(t._editor.getModel(),t._editor.getPosition(),o.items),s=o.items[r];!function(e){if(4&e.completion.insertTextRules||e.completion.additionalTextEdits)return!0;var n=t._editor.getPosition(),i=e.completion.range.startColumn,o=n.column;return o-i!==e.completion.insertText.length||t._editor.getModel().getValueInRange({startLineNumber:n.lineNumber,startColumn:i,endLineNumber:n.lineNumber,endColumn:o})!==e.completion.insertText}(s)?i():(t._editor.pushUndoStop(),t._insertSuggestion({index:r,item:s,model:o},!0,!1))}else i()},void 0,n)}),this._model.trigger({auto:!1,shy:!0}),this._editor.revealLine(n.lineNumber,0),this._editor.focus()}},e.prototype.acceptSelectedSuggestion=function(e){var t=this._widget.getValue().getFocusedItem();this._insertSuggestion(t,!!e,!0)},e.prototype.acceptNextSuggestion=function(){this._alternatives.getValue().next()},e.prototype.acceptPrevSuggestion=function(){this._alternatives.getValue().prev()},e.prototype.cancelSuggestWidget=function(){this._model.cancel(),this._model.clear(),this._widget.getValue().hideWidget()},e.prototype.selectNextSuggestion=function(){this._widget.getValue().selectNext()},e.prototype.selectNextPageSuggestion=function(){this._widget.getValue().selectNextPage()},e.prototype.selectLastSuggestion=function(){this._widget.getValue().selectLast()},e.prototype.selectPrevSuggestion=function(){this._widget.getValue().selectPrevious()},e.prototype.selectPrevPageSuggestion=function(){this._widget.getValue().selectPreviousPage()},e.prototype.selectFirstSuggestion=function(){this._widget.getValue().selectFirst()},e.prototype.toggleSuggestionDetails=function(){this._widget.getValue().toggleDetails()},e.prototype.toggleExplainMode=function(){this._widget.getValue().toggleExplainMode()},e.prototype.toggleSuggestionFocus=function(){this._widget.getValue().toggleDetailsFocus()},e.ID="editor.contrib.suggestController",e=Be([He(1,Ae.a),He(2,I),He(3,T.b),He(4,M.c),He(5,v.a)],e)}(),qe=function(e){function t(){return e.call(this,{id:t.id,label:k.a("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:M.a.and(d.a.writable,d.a.hasCompletionItemProvider),kbOpts:{kbExpr:d.a.textInputFocus,primary:2058,mac:{primary:266},weight:100}})||this}return je(t,e),t.prototype.run=function(e,t){var n=Ke.get(t);n&&n.triggerSuggest()},t.id="editor.action.triggerSuggest",t}(u.b);Object(u.h)(Ke),Object(u.f)(qe);var Ge=u.c.bindToContribution(Ke.get);Object(u.g)(new Ge({id:"acceptSelectedSuggestion",precondition:R.b.Visible,handler:function(e){return e.acceptSelectedSuggestion(!0)},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:2}})),Object(u.g)(new Ge({id:"acceptSelectedSuggestionOnEnter",precondition:R.b.Visible,handler:function(e){return e.acceptSelectedSuggestion(!1)},kbOpts:{weight:190,kbExpr:M.a.and(d.a.textInputFocus,R.b.AcceptSuggestionsOnEnter,R.b.MakesTextEdit),primary:3}})),Object(u.g)(new Ge({id:"hideSuggestWidget",precondition:R.b.Visible,handler:function(e){return e.cancelSuggestWidget()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:9,secondary:[1033]}})),Object(u.g)(new Ge({id:"selectNextSuggestion",precondition:M.a.and(R.b.Visible,R.b.MultipleSuggestions),handler:function(e){return e.selectNextSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),Object(u.g)(new Ge({id:"selectNextPageSuggestion",precondition:M.a.and(R.b.Visible,R.b.MultipleSuggestions),handler:function(e){return e.selectNextPageSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:12,secondary:[2060]}})),Object(u.g)(new Ge({id:"selectLastSuggestion",precondition:M.a.and(R.b.Visible,R.b.MultipleSuggestions),handler:function(e){return e.selectLastSuggestion()}})),Object(u.g)(new Ge({id:"selectPrevSuggestion",precondition:M.a.and(R.b.Visible,R.b.MultipleSuggestions),handler:function(e){return e.selectPrevSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),Object(u.g)(new Ge({id:"selectPrevPageSuggestion",precondition:M.a.and(R.b.Visible,R.b.MultipleSuggestions),handler:function(e){return e.selectPrevPageSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:11,secondary:[2059]}})),Object(u.g)(new Ge({id:"selectFirstSuggestion",precondition:M.a.and(R.b.Visible,R.b.MultipleSuggestions),handler:function(e){return e.selectFirstSuggestion()}})),Object(u.g)(new Ge({id:"toggleSuggestionDetails",precondition:R.b.Visible,handler:function(e){return e.toggleSuggestionDetails()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:2058,mac:{primary:266}}})),Object(u.g)(new Ge({id:"toggleExplainMode",precondition:R.b.Visible,handler:function(e){return e.toggleExplainMode()},kbOpts:{weight:100,primary:2133}})),Object(u.g)(new Ge({id:"toggleSuggestionFocus",precondition:R.b.Visible,handler:function(e){return e.toggleSuggestionFocus()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:2570,mac:{primary:778}}})),Object(u.g)(new Ge({id:"insertBestCompletion",precondition:M.a.and(M.a.equals("config.editor.tabCompletion","on"),Re.AtEnd,R.b.Visible.toNegated(),F.OtherSuggestions.toNegated(),h.SnippetController2.InSnippetMode.toNegated()),handler:function(e,t){e.triggerSuggestAndAcceptBest(Object(Pe.h)(t)?Ve({fallback:"tab"},t):{fallback:"tab"})},kbOpts:{weight:190,primary:2}})),Object(u.g)(new Ge({id:"insertNextSuggestion",precondition:M.a.and(M.a.equals("config.editor.tabCompletion","on"),F.OtherSuggestions,R.b.Visible.toNegated(),h.SnippetController2.InSnippetMode.toNegated()),handler:function(e){return e.acceptNextSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:2}})),Object(u.g)(new Ge({id:"insertPrevSuggestion",precondition:M.a.and(M.a.equals("config.editor.tabCompletion","on"),F.OtherSuggestions,R.b.Visible.toNegated(),h.SnippetController2.InSnippetMode.toNegated()),handler:function(e){return e.acceptPrevSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:1026}}))},"7g0X":function(e,t,n){"use strict";n.d(t,"a",function(){return a}),n.d(t,"b",function(){return m}),n.d(t,"d",function(){return _}),n.d(t,"c",function(){return v}),n.d(t,"e",function(){return y});var i,o=n("aL7J"),r=n("JVO/"),s=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=function(){function e(){}return e.has=function(e){return l.create(e)},e.equals=function(e,t){return c.create(e,t)},e.regex=function(e,t){return p.create(e,t)},e.not=function(e){return h.create(e)},e.and=function(){for(var e=[],t=0;t=0){var n=e.split("!=");return d.create(n[0].trim(),this._deserializeValue(n[1],t))}if(e.indexOf("==")>=0){n=e.split("==");return c.create(n[0].trim(),this._deserializeValue(n[1],t))}if(e.indexOf("=~")>=0){n=e.split("=~");return p.create(n[0].trim(),this._deserializeRegexValue(n[1],t))}return/^\!\s*/.test(e)?h.create(e.substr(1).trim()):l.create(e)},e._deserializeValue=function(e,t){if("true"===(e=e.trim()))return!0;if("false"===e)return!1;var n=/^'([^']*)'$/.exec(e);return n?n[1].trim():e},e._deserializeRegexValue=function(e,t){if(Object(o.u)(e)){if(t)throw new Error("missing regexp-value for =~-expression");return console.warn("missing regexp-value for =~-expression"),null}var n=e.indexOf("/"),i=e.lastIndexOf("/");if(n===i||n<0){if(t)throw new Error("bad regexp-value '"+e+"', missing /-enclosure");return console.warn("bad regexp-value '"+e+"', missing /-enclosure"),null}var r=e.slice(n+1,i),s="i"===e[i+1]?"i":"";try{return new RegExp(r,s)}catch(n){if(t)throw new Error("bad regexp-value '"+e+"', parse error: "+n);return console.warn("bad regexp-value '"+e+"', parse error: "+n),null}},e}();function u(e,t){var n=e.getType(),i=t.getType();if(n!==i)return n-i;switch(n){case 1:case 2:case 3:case 4:case 6:case 7:case 5:return e.cmp(t);default:throw new Error("Unknown ContextKeyExpr!")}}var l=function(){function e(e){this.key=e}return e.create=function(t){return new e(t)},e.prototype.getType=function(){return 1},e.prototype.cmp=function(e){return this.keye.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.keys=function(){return[this.key]},e.prototype.negate=function(){return h.create(this.key)},e}(),c=function(){function e(e,t){this.key=e,this.value=t}return e.create=function(t,n){return"boolean"==typeof n?n?l.create(t):h.create(t):new e(t,n)},e.prototype.getType=function(){return 3},e.prototype.cmp=function(e){return this.keye.key?1:this.valuee.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.keys=function(){return[this.key]},e.prototype.negate=function(){return d.create(this.key,this.value)},e}(),d=function(){function e(e,t){this.key=e,this.value=t}return e.create=function(t,n){return"boolean"==typeof n?n?h.create(t):l.create(t):new e(t,n)},e.prototype.getType=function(){return 4},e.prototype.cmp=function(e){return this.keye.key?1:this.valuee.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.keys=function(){return[this.key]},e.prototype.negate=function(){return c.create(this.key,this.value)},e}(),h=function(){function e(e){this.key=e}return e.create=function(t){return new e(t)},e.prototype.getType=function(){return 2},e.prototype.cmp=function(e){return this.keye.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.keys=function(){return[this.key]},e.prototype.negate=function(){return l.create(this.key)},e}(),p=function(){function e(e,t){this.key=e,this.regexp=t}return e.create=function(t,n){return new e(t,n)},e.prototype.getType=function(){return 6},e.prototype.cmp=function(e){if(this.keye.key)return 1;var t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return tn?1:0},e.prototype.equals=function(t){if(t instanceof e){var n=this.regexp?this.regexp.source:"",i=t.regexp?t.regexp.source:"";return this.key===t.key&&n===i}return!1},e.prototype.evaluate=function(e){var t=e.getValue(this.key);return!!this.regexp&&this.regexp.test(t)},e.prototype.keys=function(){return[this.key]},e.prototype.negate=function(){return f.create(this)},e}(),f=function(){function e(e){this._actual=e}return e.create=function(t){return new e(t)},e.prototype.getType=function(){return 7},e.prototype.cmp=function(e){return this._actual.cmp(e._actual)},e.prototype.equals=function(t){return t instanceof e&&this._actual.equals(t._actual)},e.prototype.evaluate=function(e){return!this._actual.evaluate(e)},e.prototype.keys=function(){return this._actual.keys()},e.prototype.negate=function(){return this._actual},e}(),g=function(){function e(e){this.expr=e}return e.create=function(t){var n=e._normalizeArr(t);if(0!==n.length)return 1===n.length?n[0]:new e(n)},e.prototype.getType=function(){return 5},e.prototype.cmp=function(e){if(this.expr.lengthe.expr.length)return 1;for(var t=0,n=this.expr.length;t1;){for(var s=t.shift(),u=t.shift(),l=[],c=0,d=r(s);c0&&(n._decorations=n._editor.deltaDecorations(n._decorations,[])),n._updateBracketsSoon.schedule()})),n}return v(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.jumpToBracket=function(){if(this._editor.hasModel()){var e=this._editor.getModel(),t=this._editor.getSelections().map(function(t){var n=t.getStartPosition(),i=e.matchBracket(n),o=null;if(i)i[0].containsPosition(n)?o=i[1].getStartPosition():i[1].containsPosition(n)&&(o=i[0].getStartPosition());else{var r=e.findNextBracket(n);r&&r.range&&(o=r.range.getStartPosition())}return o?new c.a(o.lineNumber,o.column,o.lineNumber,o.column):new c.a(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}},t.prototype.selectToBracket=function(){if(this._editor.hasModel()){var e=this._editor.getModel(),t=[];this._editor.getSelections().forEach(function(n){var i=n.getStartPosition(),o=e.matchBracket(i),r=null,s=null;if(!o){var a=e.findNextBracket(i);a&&a.range&&(o=e.matchBracket(a.range.getStartPosition()))}o&&(o[0].startLineNumber===o[1].startLineNumber?(r=o[1].startColumn0&&(this._editor.setSelections(t),this._editor.revealRange(t[0]))}},t.prototype._updateBrackets=function(){if(this._matchBrackets){this._recomputeBrackets();for(var e=[],n=0,i=0,o=this._lastBracketsData.length;i1&&o.sort(l.a.compare);var c=[],d=0,h=0,p=n.length;for(s=0,a=o.length;s0&&void 0!==arguments[0]&&arguments[0];var e=[].concat(o()(this.provider));return"sql"===this.lang&&e.push.apply(e,o()(this.sqlHints)),e},registerCustomHintsProvider:function(){var e=this;this.providerDisposeID=r.languages.registerCompletionItemProvider(this.lang,{provideCompletionItems:function(t,n,i){var o=t.getWordUntilPosition(n);return{suggestions:function(e,t,n){n.word;var i=[];return e.length&&(i=e.map(function(e){return{label:e.name,kind:e.type?r.languages.CompletionItemKind[e.type]:r.languages.CompletionItemKind.Function,documentation:e.documentation,insertText:(n=e.name,n),detail:e.detail||"EMQX",range:t};var n})),i}(e.getHints(o),{startLineNumber:n.lineNumber,endLineNumber:n.lineNumber,startColumn:o.startColumn,endColumn:o.endColumn},o)}},triggerCharacters:[" "]})},registerCustomHoverProvider:function(){var e=this;r.languages.register({id:this.lang}),this.hoverDisposeID=r.languages.registerHoverProvider(this.lang,{provideHover:function(t,n){if(!t.getWordAtPosition(n))return{};var i,o,r,s=t.getWordAtPosition(n).word;return{contents:(i=s,o=e.provider,r=[],o.forEach(function(e){var t=e.name;e.name.match(/\$events\//)&&(t=e.name.split("/")[1].replace('"',"")),i===t&&r.push({value:function(e){var t=e.name,n=e.default,i=e.valueType;return i&&(t=t+": "+i),n?t+", value: "+n:t}(e)},{value:e.documentation})}),r)}}})}},mounted:function(){this.initEditor()},created:function(){var e=this;this.defineTheme(),window.onresize=function(){e.editor&&e.editor.layout()},this.provider.length&&(this.registerCustomHintsProvider(),this.registerCustomHoverProvider())},beforeDestroy:function(){this.editor&&(this.editor.getModel().dispose(),this.editor.dispose(),this.editor=null),this.providerDisposeID&&this.providerDisposeID.dispose(),this.hoverDisposeID&&this.hoverDisposeID.dispose()}},l={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"monaco-view",attrs:{id:"monaco-"+this.id}})},staticRenderFns:[]};var c=n("VU/8")(u,l,!1,function(e){n("u9OF")},null,null);t.a=c.exports},"9XyG":function(e,t,n){"use strict";n.d(t,"a",function(){return u}),n.d(t,"c",function(){return l}),n.d(t,"b",function(){return c});var i=n("hK2W"),o=n("Kp7x"),r=n("PCC9"),s=n("Fllr"),a=n("RWr8"),u=new(function(){function e(){this._onDidChangeLanguages=new o.a,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[],this._dynamicLanguages=[]}return e.prototype.registerLanguage=function(e){this._languages.push(e),this._onDidChangeLanguages.fire(void 0)},e.prototype.getLanguages=function(){return[].concat(this._languages).concat(this._dynamicLanguages)},e}());a.a.add("editor.modesRegistry",u);var l="plaintext",c=new r.p(l,1);u.registerLanguage({id:l,extensions:[".txt",".gitignore"],aliases:[i.a("plainText.alias","Plain Text"),"text"],mimetypes:["text/plain"]}),s.a.register(c,{brackets:[["(",")"],["[","]"],["{","}"]]})},"9bHL":function(e,t,n){"use strict";var i=n("TU7t"),o=n("tqet"),r=n("Bug4"),s=n("7/Cv"),a=n("Kp7x"),u=n("Gxst"),l=n("qecS"),c=n("vbff");function d(e,t){for(var n=[],i=0,o=t;i=r.range.end)){if(e.end=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},w={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements:function(e){return[e]},getDragURI:function(){return null},onDragStart:function(){},onDragOver:function(){return!1},drop:function(){}},horizontalScrolling:!1},S=function(){function e(e){this.elements=e}return e.prototype.update=function(){},e.prototype.getData=function(){return this.elements},e}(),L=function(){function e(e){this.elements=e}return e.prototype.update=function(){},e.prototype.getData=function(){return this.elements},e}(),O=function(){function e(){this.types=[],this.files=[]}return e.prototype.update=function(e){var t;if(e.types&&(t=this.types).splice.apply(t,[0,this.types.length].concat(e.types)),e.files){this.files.splice(0,this.files.length);for(var n=0;n=this.items.length?(this.rangeMap=new p,this.rangeMap.splice(0,0,_),this.items=_,d=[]):(this.rangeMap.splice(e,t,_),d=(i=this.items).splice.apply(i,[e,t].concat(_)));var v=n.length-t,y=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),b=h(g,v),C=c.a.intersect(y,b);for(l=C.start;l=-1&&en&&(this.scrollTop+=Math.min(14,Math.floor(.3*(t-n))))}},e.prototype.teardownDragAndDropScrollTopAnimation=function(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)},e.prototype.getItemIndexFromEventTarget=function(e){for(var t=e;t instanceof HTMLElement&&t!==this.rowsContainer;){var n=t.getAttribute("data-index");if(n){var i=Number(n);if(!isNaN(i))return i}t=t.parentElement}},e.prototype.getRenderRange=function(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}},e.prototype._rerender=function(e,t){var n,i,o=this.getRenderRange(e,t);e===this.elementTop(o.start)?(n=o.start,i=0):o.end-o.start>1&&(n=o.start+1,i=this.elementTop(n)-e);for(var r=0;;){for(var s=this.getRenderRange(e,t),a=!1,u=s.start;u0?(i=t?(i+1)%o:(i+o-1)%o,n.children[i]):(i=n.parent.groups.indexOf(n),t?(i=(i+1)%r,n.parent.groups[i].children[0]):(i=(i+r-1)%r,n.parent.groups[i].children[n.parent.groups[i].children.length-1]))},e.prototype.nearestReference=function(e,t){var n=this.references.map(function(n,i){return{idx:i,prefixLen:a.b(n.uri.toString(),e.toString()),offsetDist:100*Math.abs(n.range.startLineNumber-t.lineNumber)+Math.abs(n.range.startColumn-t.column)}}).sort(function(e,t){return e.prefixLen>t.prefixLen?-1:e.prefixLent.offsetDist?1:0})[0];if(n)return this.references[n.idx]},e.prototype.firstReference=function(){for(var e=0,t=this.references;ei?1:l.a.compareRangesUsingStarts(e.range,t.range)},e}()},"9vcT":function(e,t){},AKCZ:function(e,t,n){"use strict";n.d(t,"a",function(){return l}),n.d(t,"b",function(){return c});var i,o=n("tqet"),r=n("Kp7x"),s=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},u=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]0?n.actionBar.push(r,{icon:!0,label:!1}):n.actionBar.isEmpty()||r&&0!==r.length||n.actionBar.clear(),e instanceof y&&e.getGroupLabel()?u.f(n.container,"has-group-label"):u.I(n.container,"has-group-label"),e instanceof y){var s=e,a=n;s.showBorder()?(u.f(a.container,"results-group-separator"),i.pickerGroupBorder&&(a.container.style.borderTopColor=i.pickerGroupBorder.toString())):(u.I(a.container,"results-group-separator"),a.container.style.borderTopColor=null);var l=s.getGroupLabel()||"";a.group&&(a.group.textContent=l,i.pickerGroupForeground&&(a.group.style.color=i.pickerGroupForeground.toString()))}if(e instanceof v){var c=e.getHighlights(),d=c[0],h=c[1],p=c[2],f=e.getIcon()?"quick-open-entry-icon "+e.getIcon():"";n.icon.className=f;var g=e.getLabelOptions()||Object.create(null);g.matches=d||[],g.title=e.getTooltip(),g.descriptionTitle=e.getDescriptionTooltip()||e.getDescription(),g.descriptionMatches=h||[],n.label.setLabel(o.m(e.getLabel()),e.getDescription(),g),n.detail.set(e.getDetail(),p),n.keybinding.set(e.getKeybinding())}},e.prototype.disposeTemplate=function(e,t){t.actionBar.dispose(),t.actionBar=null,t.container=null,t.entry=null,t.keybinding=null,t.detail=null,t.group=null,t.icon=null,t.label.dispose(),t.label=null},e}(),w=function(){function e(e,t){void 0===e&&(e=[]),void 0===t&&(t=new b),this._entries=e,this._dataSource=this,this._renderer=new C(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 o.n(e.getLabel())},e.prototype.getAriaLabel=function(e){return e.getAriaLabel()?i.a("quickOpenAriaLabelEntry","{0}, picker",e.getAriaLabel()):i.a("quickOpenAriaLabel","picker")},e.prototype.isVisible=function(e){return!e.isHidden()},e.prototype.run=function(e,t,n){return e.run(t,n)},e}()},Ao9X:function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"d",function(){return r}),n.d(t,"c",function(){return s}),n.d(t,"b",function(){return a});var i=n("iHM7"),o=function(){function e(e,t,n){void 0===n&&(n=!1),this._range=e,this._text=t,this.insertsAutoWhitespace=n}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return new i.a(n.endLineNumber,n.endColumn,n.endLineNumber,n.endColumn)},e}(),r=function(){function e(e,t,n){void 0===n&&(n=!1),this._range=e,this._text=t,this.insertsAutoWhitespace=n}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return new i.a(n.startLineNumber,n.startColumn,n.startLineNumber,n.startColumn)},e}(),s=function(){function e(e,t,n,i,o){void 0===o&&(o=!1),this._range=e,this._text=t,this._columnDeltaOffset=i,this._lineNumberDeltaOffset=n,this.insertsAutoWhitespace=o}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return new i.a(n.endLineNumber+this._lineNumberDeltaOffset,n.endColumn+this._columnDeltaOffset,n.endLineNumber+this._lineNumberDeltaOffset,n.endColumn+this._columnDeltaOffset)},e}(),a=function(){function e(e,t,n){this._range=e,this._text=t,this._initialSelection=n,this._selectionId=null}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}()},"B/Xy":function(e,t,n){"use strict";n.d(t,"a",function(){return o});var i=n("JVO/"),o=Object(i.c)("textModelService")},Bug4:function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return d});var i,o,r=n("X6iQ"),s=n("tqet"),a=n("7/Cv"),u=n("2VYG"),l=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),c=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s};!function(e){e.Tap="-monaco-gesturetap",e.Change="-monaco-gesturechange",e.Start="-monaco-gesturestart",e.End="-monaco-gesturesend",e.Contextmenu="-monaco-gesturecontextmenu"}(o||(o={}));var d=function(e){function t(){var t=e.call(this)||this;return t.dispatched=!1,t.activeTouches={},t.handle=null,t.targets=[],t._register(a.h(document,"touchstart",function(e){return t.onTouchStart(e)})),t._register(a.h(document,"touchend",function(e){return t.onTouchEnd(e)})),t._register(a.h(document,"touchmove",function(e){return t.onTouchMove(e)})),t}return l(t,e),t.addTarget=function(e){t.isTouchDevice()&&(t.INSTANCE||(t.INSTANCE=new t),t.INSTANCE.targets.push(e))},t.isTouchDevice=function(){return"ontouchstart"in window||navigator.maxTouchPoints>0||window.navigator.msMaxTouchPoints>0},t.prototype.dispose=function(){this.handle&&(this.handle.dispose(),this.handle=null),e.prototype.dispose.call(this)},t.prototype.onTouchStart=function(e){var t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(var n=0,i=e.targetTouches.length;n=t.HOLD_DELAY&&Math.abs(c.initialPageX-r.s(c.rollingPageX))<30&&Math.abs(c.initialPageY-r.s(c.rollingPageY))<30){var h;(h=a.newGestureEvent(o.Contextmenu,c.initialTarget)).pageX=r.s(c.rollingPageX),h.pageY=r.s(c.rollingPageY),a.dispatchEvent(h)}else if(1===i){var p=r.s(c.rollingPageX),f=r.s(c.rollingPageY),g=r.s(c.rollingTimestamps)-c.rollingTimestamps[0],m=p-c.rollingPageX[0],_=f-c.rollingPageY[0],v=a.targets.filter(function(e){return c.initialTarget instanceof Node&&e.contains(c.initialTarget)});a.inertia(v,n,Math.abs(m)/g,m>0?1:-1,p,Math.abs(_)/g,_>0?1:-1,f)}a.dispatchEvent(a.newGestureEvent(o.End,c.initialTarget)),delete a.activeTouches[l.identifier]},a=this,u=0,l=e.changedTouches.length;u0&&(g=!1,p=r*i*h),u>0&&(g=!1,f=l*u*h);var m=d.newGestureEvent(o.Change);m.translationX=p,m.translationY=f,e.forEach(function(e){return e.dispatchEvent(m)}),g||d.inertia(e,a,i,r,s+p,u,l,c+f)})},t.prototype.onTouchMove=function(e){for(var t=Date.now(),n=0,i=e.changedTouches.length;n3&&(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)},t.SCROLL_FRICTION=-.005,t.HOLD_DELAY=700,c([u.a],t,"isTouchDevice",null),t}(s.a)},Bv73:function(e,t){},BwcV:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var i,o=n("GfE5"),r=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=function(e){function t(t){for(var n=e.call(this,0)||this,i=0,o=t.length;i=0){for(var i=[],o=0,r=this._placeholderGroups[this._placeholderGroupsIdx];o0&&this._editor.executeEdits("snippet.placeholderTransform",i)}var d=!1;!0===t&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,d=!0);var h=this._editor.getModel().changeDecorations(function(t){for(var i=new Set,o=[],r=0,s=n._placeholderGroups[n._placeholderGroupsIdx];r0)return!0}t=t.parent}return!1},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,n=this._placeholderGroups;t0&&S!==d.getLineFirstNonWhitespaceColumn(F.positionLineNumber))&&e.adjustWhitespace(d,z,H),H.resolveVariables(new L([f,new N(u,W,k.length),new O(d,F),new x(d),new I,new D(h)]));var U=d.getOffsetAt(z)+b;b+=H.toString().length-d.getValueLengthInRange(B),l[W]=p.a.replace(B,H.toString()),c[W]=new R(t,H,U)}return{edits:l,snippets:c}},e.prototype.dispose=function(){Object(i.f)(this._snippets)},e.prototype._logInfo=function(){return'template="'+this._template+'", merged_templates="'+this._templateMerges.join(" -> ")+'"'},e.prototype.insert=function(){var t=this;if(this._editor.hasModel()){var n=e.createEditsAndSnippets(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText),i=n.edits,o=n.snippets;this._snippets=o,this._editor.executeEdits("snippet",i,function(e){return t._snippets[0].hasPlaceholder?t._move(!0):e.map(function(e){return a.a.fromPositions(e.range.getEndPosition())})}),this._editor.revealRange(this._editor.getSelections()[0])}},e.prototype.merge=function(t,n){var i=this;if(void 0===n&&(n=A),this._editor.hasModel()){this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,t]);var o=e.createEditsAndSnippets(this._editor,t,n.overwriteBefore,n.overwriteAfter,!0,n.adjustWhitespace,n.clipboardText),r=o.edits,s=o.snippets;this._editor.executeEdits("snippet",r,function(e){for(var t=0,n=i._snippets;t0},e}();n.d(t,"SnippetController2",function(){return B});var F=this&&this.__assign||function(){return(F=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},j=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},V={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0},B=function(){function e(t,n,o){this._editor=t,this._logService=n,this._snippetListener=new i.b,this._modelVersionId=-1,this._inSnippet=e.InSnippetMode.bindTo(o),this._hasNextTabstop=e.HasNextTabstop.bindTo(o),this._hasPrevTabstop=e.HasPrevTabstop.bindTo(o)}return e.get=function(e){return e.getContribution("snippetController2")},e.prototype.dispose=function(){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),Object(i.f)(this._session),this._snippetListener.dispose()},e.prototype.getId=function(){return"snippetController2"},e.prototype.insert=function(e,t){try{this._doInsert(e,void 0===t?V:F({},V,t))}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():"")}},e.prototype._doInsert=function(e,t){var n=this;this._editor.hasModel()&&(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session?this._session.merge(e,t):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new P(this._editor,e,t),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(function(e){return e.isFlush&&n.cancel()})),this._snippetListener.add(this._editor.onDidChangeModel(function(){return n.cancel()})),this._snippetListener.add(this._editor.onDidChangeCursorSelection(function(){return n._updateState()})))},e.prototype._updateState=function(){if(this._session&&this._editor.hasModel()){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;if(this._session&&this._editor.hasModel()){var t=this._session.choice;if(t){if(this._currentChoice!==t){this._currentChoice=t,this._editor.setSelections(this._editor.getSelections().map(function(e){return a.a.fromPositions(e.getStartPosition())}));var n=t.options[0];Object(l.f)(this._editor,t.options.map(function(t,i){return{kind:13,label:t.value,insertText:t.value,sortText:Object(o.F)("a",i+1),range:s.a.fromPositions(e._editor.getPosition(),e._editor.getPosition().delta(0,n.value.length))}}))}}else this._currentChoice=void 0}else this._currentChoice=void 0},e.prototype.finish=function(){for(;this._inSnippet.get();)this.next()},e.prototype.cancel=function(e){void 0===e&&(e=!1),this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),Object(i.f)(this._session),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])},e.prototype.prev=function(){this._session&&this._session.prev(),this._updateState()},e.prototype.next=function(){this._session&&this._session.next(),this._updateState()},e.prototype.isInSnippet=function(){return Boolean(this._inSnippet.get())},e.InSnippetMode=new c.d("inSnippetMode",!1),e.HasNextTabstop=new c.d("hasNextTabstop",!1),e.HasPrevTabstop=new c.d("hasPrevTabstop",!1),e=W([j(1,d.a),j(2,c.c)],e)}();Object(r.h)(B);var H=r.c.bindToContribution(B.get);Object(r.g)(new H({id:"jumpToNextSnippetPlaceholder",precondition:c.a.and(B.InSnippetMode,B.HasNextTabstop),handler:function(e){return e.next()},kbOpts:{weight:130,kbExpr:u.a.editorTextFocus,primary:2}})),Object(r.g)(new H({id:"jumpToPrevSnippetPlaceholder",precondition:c.a.and(B.InSnippetMode,B.HasPrevTabstop),handler:function(e){return e.prev()},kbOpts:{weight:130,kbExpr:u.a.editorTextFocus,primary:1026}})),Object(r.g)(new H({id:"leaveSnippet",precondition:B.InSnippetMode,handler:function(e){return e.cancel(!0)},kbOpts:{weight:130,kbExpr:u.a.editorTextFocus,primary:9,secondary:[1033]}})),Object(r.g)(new H({id:"acceptSnippet",precondition:B.InSnippetMode,handler:function(e){return e.finish()}}))},C3c5:function(e,t,n){"use strict";t.e=h,n.d(t,"a",function(){return p}),n.d(t,"c",function(){return f}),n.d(t,"d",function(){return m}),n.d(t,"b",function(){return _});var i,o=n("AKCZ"),r=n("JVO/"),s=n("7g0X"),a=n("ItKl"),u=n("Kp7x"),l=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),c=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}};function h(e){return void 0!==e.command}var p=Object(r.c)("menuService"),f=new(function(){function e(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new u.a,this.onDidChangeMenu=this._onDidChangeMenu.event}return e.prototype.addCommand=function(e){var t=this;return this._commands.set(e.id,e),this._onDidChangeMenu.fire(0),{dispose:function(){t._commands.delete(e.id)&&t._onDidChangeMenu.fire(0)}}},e.prototype.getCommand=function(e){return this._commands.get(e)},e.prototype.getCommands=function(){var e=new Map;return this._commands.forEach(function(t,n){return e.set(n,t)}),e},e.prototype.appendMenuItem=function(e,t){var n=this,i=this._menuItems.get(e);return i?i.push(t):(i=[t],this._menuItems.set(e,i)),this._onDidChangeMenu.fire(e),{dispose:function(){var o=i.indexOf(t);o>=0&&(i.splice(o,1),n._onDidChangeMenu.fire(e))}}},e.prototype.getMenuItems=function(e){var t=(this._menuItems.get(e)||[]).slice(0);return 0===e&&this._appendImplicitItems(t),t},e.prototype._appendImplicitItems=function(e){for(var t=new Set,n=0,i=e.filter(function(e){return h(e)});n=0;o--){var r=e.charCodeAt(o),s=t.get(r);if(0===s){if(2===i)return this._createWord(e,i,s,o+1,this._findEndOfWord(e,t,i,o+1));i=1}else if(2===s){if(1===i)return this._createWord(e,i,s,o+1,this._findEndOfWord(e,t,i,o+1));i=2}else if(1===s&&0!==i)return this._createWord(e,i,s,o+1,this._findEndOfWord(e,t,i,o+1))}return 0!==i?this._createWord(e,i,1,0,this._findEndOfWord(e,t,i,0)):null},e._findEndOfWord=function(e,t,n,i){for(var o=e.length,r=i;r=0;o--){var r=e.charCodeAt(o),s=t.get(r);if(1===s)return o+1;if(1===n&&2===s)return o+1;if(2===n&&0===s)return o+1}return 0},e.moveWordLeft=function(t,n,i,o){var r=i.lineNumber,s=i.column,u=!1;1===s&&r>1&&(u=!0,r-=1,s=n.getLineMaxColumn(r));var l=e._findPreviousWordOnLine(t,n,new a.a(r,s));if(0===o){if(l&&!u)if(n.getLineLastNonWhitespaceColumn(r)1?new a.a(n-1,e.getLineMaxColumn(n-1)):t;for(var r=e.getLineContent(n),s=t.column-1;s>1;s--){var u=r.charCodeAt(s-2),l=r.charCodeAt(s-1);if(95!==u&&95===l)return new a.a(n,s);if(o.y(u)&&o.z(l))return new a.a(n,s);if(o.z(u)&&o.z(l)&&s+1=l.start+1&&(l=e._findNextWordOnLine(t,n,new a.a(r,l.end+1))),s=l?l.start+1:n.getLineMaxColumn(r);return new a.a(r,s)},e._moveWordPartRight=function(e,t){var n=t.lineNumber,i=e.getLineMaxColumn(n);if(t.column===i)return n1?c=1:(l--,c=n.getLineMaxColumn(l)):(h&&c<=h.end+1&&(h=e._findPreviousWordOnLine(t,n,new a.a(l,h.start+1))),h?c=h.end+1:c>1?c=1:(l--,c=n.getLineMaxColumn(l))),new u.a(l,c,s.lineNumber,s.column)},e._deleteWordPartLeft=function(t,n){if(!n.isEmpty())return n;var i=n.getPosition(),o=e._moveWordPartLeft(t,i);return new u.a(i.lineNumber,i.column,o.lineNumber,o.column)},e._findFirstNonWhitespaceChar=function(e,t){for(var n=e.length,i=t;i=f.start+1&&(f=e._findNextWordOnLine(t,n,new a.a(l,f.end+1))),f?c=f.start+1:c255)return 255;return 0|e},t.b=o,t.c=function(e){for(var t=e.length,n=new Uint32Array(t),i=0;i4294967295?4294967295:0|e}},CX1u:function(e,t,n){"use strict";t.c=function(e,t){void 0===t&&(t={});var n=o(t);return n.textContent=e,n},t.b=function(e,t){void 0===t&&(t={});var n=o(t);return function e(t,n,o){var r;if(2===n.type)r=document.createTextNode(n.content||"");else if(3===n.type)r=document.createElement("b");else if(4===n.type)r=document.createElement("i");else if(5===n.type&&o){var s=document.createElement("a");s.href="#",o.disposeables.add(i.k(s,"click",function(e){o.callback(String(n.index),e)})),r=s}else 7===n.type?r=document.createElement("br"):1===n.type&&(r=t);r&&t!==r&&t.appendChild(r),r&&Array.isArray(n.children)&&n.children.forEach(function(t){e(r,t,o)})}(n,function(e){for(var t={type:1,children:[]},n=0,i=t,o=[],a=new r(e);!a.eos();){var u=a.next(),l="\\"===u&&0!==s(a.peek());if(l&&(u=a.next()),l||0===s(u)||u!==a.peek())if("\n"===u)2===i.type&&(i=o.pop()),i.children.push({type:7});else if(2!==i.type){var c={type:2,content:u};i.children.push(c),o.push(i),i=c}else i.content+=u;else{a.advance(),2===i.type&&(i=o.pop());var d=s(u);if(i.type===d||5===i.type&&6===d)i=o.pop();else{var h={type:d,children:[]};5===d&&(h.index=n,n++),i.children.push(h),o.push(i),i=h}}}return 2===i.type&&(i=o.pop()),o.length,t}(e),t.actionHandler),n},t.a=o;var i=n("7/Cv");function o(e){var t=e.inline?"span":"div",n=document.createElement(t);return e.className&&(n.className=e.className),n}var r=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 s(e){switch(e){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;default:return 0}}},Cfmk:function(e,t,n){"use strict";n.d(t,"a",function(){return c}),n.d(t,"c",function(){return o}),n.d(t,"b",function(){return d});var i,o,r=n("JVO/"),s=n("Kp7x"),a=n("tqet"),u=n("KIxu"),l=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),c=Object(r.c)("storageService");!function(e){e[e.NONE=0]="NONE",e[e.SHUTDOWN=1]="SHUTDOWN"}(o||(o={}));var d=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._serviceBrand=null,t._onDidChangeStorage=t._register(new s.a),t.onDidChangeStorage=t._onDidChangeStorage.event,t.onWillSaveState=s.b.None,t.globalCache=new Map,t.workspaceCache=new Map,t}return l(t,e),t.prototype.getCache=function(e){return 0===e?this.globalCache:this.workspaceCache},t.prototype.get=function(e,t,n){var i=this.getCache(t).get(e);return Object(u.k)(i)?n:i},t.prototype.getBoolean=function(e,t,n){var i=this.getCache(t).get(e);return Object(u.k)(i)?n:"true"===i},t.prototype.store=function(e,t,n){if(Object(u.k)(t))return this.remove(e,n);var i=String(t);return this.getCache(n).get(e)===i?Promise.resolve():(this.getCache(n).set(e,i),this._onDidChangeStorage.fire({scope:n,key:e}),Promise.resolve())},t.prototype.remove=function(e,t){return this.getCache(t).delete(e)?(this._onDidChangeStorage.fire({scope:t,key:e}),Promise.resolve()):Promise.resolve()},t}(a.a)},Crnc:function(e,t,n){"use strict";n.d(t,"a",function(){return a});var i=!1,o=null;function r(e){if(!e.parent||e.parent===e)return null;try{var t=e.location,n=e.parent.location;if(t.protocol!==n.protocol||t.hostname!==n.hostname||t.port!==n.port)return i=!0,null}catch(e){return i=!0,null}return e.parent}function s(e,t){for(var n,i=e.document.getElementsByTagName("iframe"),o=0,r=i.length;o=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},_=function(e){function t(n,i){var o=e.call(this)||this;return o.closeTimeout=3e3,o._messageWidget=o._register(new a.d),o._messageListeners=o._register(new a.b),o._editor=n,o._visible=t.MESSAGE_VISIBLE.bindTo(i),o._register(o._editor.onDidAttemptReadOnlyEdit(function(){return o._onDidAttemptReadOnlyEdit()})),o}return f(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 n,i=this;Object(u.a)(e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._messageWidget.value=new y(this._editor,t,e),this._messageListeners.add(this._editor.onDidBlurEditorText(function(){return i.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(function(){return i.closeMessage()})),this._messageListeners.add(this._editor.onDidDispose(function(){return i.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeModel(function(){return i.closeMessage()})),this._messageListeners.add(new s.e(function(){return i.closeMessage()},this.closeTimeout)),this._messageListeners.add(this._editor.onMouseMove(function(e){e.target.position&&(n?n.containsPosition(e.target.position)||i.closeMessage():n=new l.a(t.lineNumber-3,1,e.target.position.lineNumber+3,1))}))},t.prototype.closeMessage=function(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(y.fadeOut(this._messageWidget.value))},t.prototype._onDidAttemptReadOnlyEdit=function(){this._editor.hasModel()&&this.showMessage(r.a("editor.readonly","Cannot edit in read-only editor"),this._editor.getPosition())},t._id="editor.contrib.messageController",t.MESSAGE_VISIBLE=new d.d("messageVisible",!1),t=g([m(1,d.c)],t)}(a.a),v=c.c.bindToContribution(_.get);Object(c.g)(new v({id:"leaveEditorMessage",precondition:_.MESSAGE_VISIBLE,handler:function(e){return e.closeMessage()},kbOpts:{weight:130,primary:9}}));var y=function(){function e(e,t,n){var i=t.lineNumber,o=t.column;this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(i,i,0),this._position={lineNumber:i,column:o-1},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage");var r=document.createElement("div");r.classList.add("message"),r.textContent=n,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,n=function(){e.dispose(),clearTimeout(t),e.getDomNode().removeEventListener("animationend",n)};return t=setTimeout(n,110),e.getDomNode().addEventListener("animationend",n),e.getDomNode().classList.add("fadeOut"),{dispose:n}},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:[1]}},e}();Object(c.h)(_),Object(h.f)(function(e,t){var n=e.getColor(p._3);if(n){var i=e.type===h.b?2:1;t.addRule(".monaco-editor .monaco-editor-overlaymessage .anchor { border-top-color: "+n+"; }"),t.addRule(".monaco-editor .monaco-editor-overlaymessage .message { border: "+i+"px solid "+n+"; }")}var o=e.getColor(p._2);o&&t.addRule(".monaco-editor .monaco-editor-overlaymessage .message { background-color: "+o+"; }");var r=e.getColor(p._4);r&&t.addRule(".monaco-editor .monaco-editor-overlaymessage .message { color: "+r+"; }")})},D2uo:function(e,t,n){"use strict";var i,o;n.d(t,"d",function(){return i}),n.d(t,"c",function(){return o}),n.d(t,"e",function(){return r}),n.d(t,"b",function(){return s}),n.d(t,"a",function(){return a}),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(i||(i={})),function(e){e[e.Inline=1]="Inline"}(o||(o={}));var r=function(){function e(e){this.tabSize=0|e.tabSize,this.indentSize=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.indentSize===e.indentSize&&this.insertSpaces===e.insertSpaces&&this.defaultEOL===e.defaultEOL&&this.trimAutoWhitespace===e.trimAutoWhitespace},e.prototype.createChangeEvent=function(e){return{tabSize:this.tabSize!==e.tabSize,indentSize:this.indentSize!==e.indentSize,insertSpaces:this.insertSpaces!==e.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==e.trimAutoWhitespace}},e}(),s=function(){return function(e,t){this.range=e,this.matches=t}}(),a=function(){return function(e,t,n){this.reverseEdits=e,this.changes=t,this.trimAutoWhitespaceLineNumbers=n}}()},DBt1:function(e,t,n){"use strict";n.d(t,"a",function(){return o});var i=n("JVO/"),o=Object(i.c)("editorProgressService")},Dc0G:function(e,t,n){(function(e){var i=n("blYT"),o="object"==typeof t&&t&&!t.nodeType&&t,r=o&&"object"==typeof e&&e&&!e.nodeType&&e,s=r&&r.exports===o&&i.process,a=function(){try{var e=r&&r.require&&r.require("util").types;return e||s&&s.binding&&s.binding("util")}catch(e){}}();e.exports=a}).call(t,n("3IRH")(e))},"EG+O":function(e,t){},EMDP:function(e,t,n){"use strict";n.d(t,"a",function(){return l}),n.d(t,"b",function(){return c});var i,o,r=n("mrx5"),s=n("ZYUE"),a=n("JVO/"),u=n("WTFd"),l=Object(a.c)("contextService");!function(e){e.isIWorkspace=function(e){return e&&"object"==typeof e&&"string"==typeof e.id&&Array.isArray(e.folders)}}(i||(i={})),function(e){e.isIWorkspaceFolder=function(e){return e&&"object"==typeof e&&r.a.isUri(e.uri)&&"string"==typeof e.name&&"function"==typeof e.toResource}}(o||(o={}));!function(){function e(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=null),this._id=e,this._configuration=n,this._foldersMap=u.c.forPaths(),this.folders=t}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,"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.with({scheme:e.scheme,authority:e.authority,path:e.path}).toString())||null},e.prototype.updateFoldersMap=function(){this._foldersMap=u.c.forPaths();for(var e=0,t=this.folders;e0&&e.getLanguageId(a-1)===r;)a--;return new i(e,r,a,s+1,e.getStartOffset(a),e.getEndOffset(s))},t.b=function(e){return 0!=(7&e)};var i=function(){function e(e,t,n,i,o,r){this._actual=e,this.languageId=t,this._firstTokenIndex=n,this._lastTokenIndex=i,this.firstCharOffset=o,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}()},EfIu:function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"c",function(){return o}),n.d(t,"b",function(){return r}),n.d(t,"d",function(){return s}),n.d(t,"e",function(){return a}),n.d(t,"g",function(){return u}),n.d(t,"h",function(){return l}),n.d(t,"f",function(){return c});var i,o,r,s,a,u,l,c,d=n("hK2W");!function(e){e.noSelection=d.a("noSelection","No selection"),e.singleSelectionRange=d.a("singleSelectionRange","Line {0}, Column {1} ({2} selected)"),e.singleSelection=d.a("singleSelection","Line {0}, Column {1}"),e.multiSelectionRange=d.a("multiSelectionRange","{0} selections ({1} characters selected)"),e.multiSelection=d.a("multiSelection","{0} selections"),e.emergencyConfOn=d.a("emergencyConfOn","Now changing the setting `accessibilitySupport` to 'on'."),e.openingDocs=d.a("openingDocs","Now opening the Editor Accessibility documentation page."),e.readonlyDiffEditor=d.a("readonlyDiffEditor"," in a read-only pane of a diff editor."),e.editableDiffEditor=d.a("editableDiffEditor"," in a pane of a diff editor."),e.readonlyEditor=d.a("readonlyEditor"," in a read-only code editor"),e.editableEditor=d.a("editableEditor"," in a code editor"),e.changeConfigToOnMac=d.a("changeConfigToOnMac","To configure the editor to be optimized for usage with a Screen Reader press Command+E now."),e.changeConfigToOnWinLinux=d.a("changeConfigToOnWinLinux","To configure the editor to be optimized for usage with a Screen Reader press Control+E now."),e.auto_on=d.a("auto_on","The editor is configured to be optimized for usage with a Screen Reader."),e.auto_off=d.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."),e.tabFocusModeOnMsg=d.a("tabFocusModeOnMsg","Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}."),e.tabFocusModeOnMsgNoKb=d.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."),e.tabFocusModeOffMsg=d.a("tabFocusModeOffMsg","Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}."),e.tabFocusModeOffMsgNoKb=d.a("tabFocusModeOffMsgNoKb","Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding."),e.openDocMac=d.a("openDocMac","Press Command+H now to open a browser window with more information related to editor accessibility."),e.openDocWinLinux=d.a("openDocWinLinux","Press Control+H now to open a browser window with more information related to editor accessibility."),e.outroMsg=d.a("outroMsg","You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape."),e.showAccessibilityHelpAction=d.a("showAccessibilityHelpAction","Show Accessibility Help")}(i||(i={})),function(e){e.inspectTokensAction=d.a("inspectTokens","Developer: Inspect Tokens")}(o||(o={})),function(e){e.gotoLineLabelValidLineAndColumn=d.a("gotoLineLabelValidLineAndColumn","Go to line {0} and character {1}"),e.gotoLineLabelValidLine=d.a("gotoLineLabelValidLine","Go to line {0}"),e.gotoLineLabelEmptyWithLineLimit=d.a("gotoLineLabelEmptyWithLineLimit","Type a line number between 1 and {0} to navigate to"),e.gotoLineLabelEmptyWithLineAndColumnLimit=d.a("gotoLineLabelEmptyWithLineAndColumnLimit","Type a character between 1 and {0} to navigate to"),e.gotoLineAriaLabel=d.a("gotoLineAriaLabel","Current Line: {0}. Go to line {1}."),e.gotoLineActionInput=d.a("gotoLineActionInput","Type a line number, followed by an optional colon and a character number to navigate to"),e.gotoLineActionLabel=d.a("gotoLineActionLabel","Go to Line...")}(r||(r={})),function(e){e.ariaLabelEntryWithKey=d.a("ariaLabelEntryWithKey","{0}, {1}, commands"),e.ariaLabelEntry=d.a("ariaLabelEntry","{0}, commands"),e.quickCommandActionInput=d.a("quickCommandActionInput","Type the name of an action you want to execute"),e.quickCommandActionLabel=d.a("quickCommandActionLabel","Command Palette")}(s||(s={})),function(e){e.entryAriaLabel=d.a("entryAriaLabel","{0}, symbols"),e.quickOutlineActionInput=d.a("quickOutlineActionInput","Type the name of an identifier you wish to navigate to"),e.quickOutlineActionLabel=d.a("quickOutlineActionLabel","Go to Symbol..."),e._symbols_=d.a("symbols","symbols ({0})"),e._modules_=d.a("modules","modules ({0})"),e._class_=d.a("class","classes ({0})"),e._interface_=d.a("interface","interfaces ({0})"),e._method_=d.a("method","methods ({0})"),e._function_=d.a("function","functions ({0})"),e._property_=d.a("property","properties ({0})"),e._variable_=d.a("variable","variables ({0})"),e._variable2_=d.a("variable2","variables ({0})"),e._constructor_=d.a("_constructor","constructors ({0})"),e._call_=d.a("call","calls ({0})")}(a||(a={})),function(e){e.editorViewAccessibleLabel=d.a("editorViewAccessibleLabel","Editor content"),e.accessibilityHelpMessageIE=d.a("accessibilityHelpMessageIE","Press Ctrl+F1 for Accessibility Options."),e.accessibilityHelpMessage=d.a("accessibilityHelpMessage","Press Alt+F1 for Accessibility Options.")}(u||(u={})),function(e){e.toggleHighContrast=d.a("toggleHighContrast","Toggle High Contrast Theme")}(l||(l={})),function(e){e.bulkEditServiceSummary=d.a("bulkEditServiceSummary","Made {0} edits in {1} files")}(c||(c={}))},EfRI:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"DeleteWordPartLeft",function(){return d}),n.d(t,"DeleteWordPartRight",function(){return h}),n.d(t,"WordPartLeftCommand",function(){return p}),n.d(t,"CursorWordPartLeft",function(){return f}),n.d(t,"CursorWordPartLeftSelect",function(){return g}),n.d(t,"WordPartRightCommand",function(){return m}),n.d(t,"CursorWordPartRight",function(){return _}),n.d(t,"CursorWordPartRightSelect",function(){return v});var i,o=n("03Zz"),r=n("CIBl"),s=n("vTy2"),a=n("/9db"),u=n("I8T6"),l=n("ItKl"),c=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),d=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:a.a.writable,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:769},weight:100}})||this}return c(t,e),t.prototype._delete=function(e,t,n,i,o){var a=r.b.deleteWordPartLeft(e,t,n,i);return a||new s.a(1,1,1,1)},t}(u.DeleteWordCommand),h=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:a.a.writable,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:788},weight:100}})||this}return c(t,e),t.prototype._delete=function(e,t,n,i,o){var a=r.b.deleteWordPartRight(e,t,n,i);if(a)return a;var u=t.getLineCount(),l=t.getLineMaxColumn(u);return new s.a(u,l,u,l)},t}(u.DeleteWordCommand),p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return c(t,e),t.prototype._move=function(e,t,n,i){return r.b.moveWordPartLeft(e,t,n)},t}(u.MoveWordCommand),f=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:783},weight:100}})||this}return c(t,e),t}(p);l.a.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");var g=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:1807},weight:100}})||this}return c(t,e),t}(p);l.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,n,i){return r.b.moveWordPartRight(e,t,n)},t}(u.MoveWordCommand),_=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:785},weight:100}})||this}return c(t,e),t}(m),v=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:1809},weight:100}})||this}return c(t,e),t}(m);Object(o.g)(new d),Object(o.g)(new h),Object(o.g)(new f),Object(o.g)(new g),Object(o.g)(new _),Object(o.g)(new v)},Evjx:function(e,t,n){"use strict";n.d(t,"d",function(){return u}),n.d(t,"b",function(){return c}),n.d(t,"a",function(){return d}),n.d(t,"c",function(){return _});var i,o,r=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=function(){function e(){this.value="",this.pos=0}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,n=this.pos,i=0,o=this.value.charCodeAt(n);if("number"==typeof(t=e._table[o]))return this.pos+=1,{type:t,pos:n,len:1};if(e.isDigitCharacter(o)){t=8;do{i+=1,o=this.value.charCodeAt(n+i)}while(e.isDigitCharacter(o));return this.pos+=i,{type:t,pos:n,len:i}}if(e.isVariableCharacter(o)){t=9;do{o=this.value.charCodeAt(n+ ++i)}while(e.isVariableCharacter(o)||e.isDigitCharacter(o));return this.pos+=i,{type:t,pos:n,len:i}}t=10;do{i+=1,o=this.value.charCodeAt(n+i)}while(!isNaN(o)&&void 0===e._table[o]&&!e.isDigitCharacter(o)&&!e.isVariableCharacter(o));return this.pos+=i,{type:t,pos:n,len:i}},e._table=((o={})[36]=0,o[58]=1,o[44]=2,o[123]=3,o[125]=4,o[92]=5,o[47]=6,o[124]=7,o[43]=11,o[45]=12,o[63]=13,o),e}(),a=function(){function e(){this._children=[]}return e.prototype.appendChild=function(e){return e instanceof u&&this._children[this._children.length-1]instanceof u?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this},e.prototype.replace=function(e,t){var n=e.parent,i=n.children.indexOf(e),o=n.children.slice(0);o.splice.apply(o,[i,1].concat(t)),n._children=o,function e(t,n){for(var i=0,o=t;it.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 d?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}(l),d=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 u&&(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),h=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.regexp=new RegExp(""),t}return r(t,e),t.prototype.resolve=function(e){var t=this,n=!1,i=e.replace(this.regexp,function(){return n=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!n&&this._children.some(function(e){return e instanceof p&&Boolean(e.elseValue)})&&(i=this._replace([])),i},t.prototype._replace=function(e){for(var t="",n=0,i=this._children;n0;){var i=n.shift();if(!t(i))break;n.unshift.apply(n,i.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(n){return n instanceof c&&(t.push(n),e=!e||e.index0?o.set(e.index,e.children):r.push(e)),!0});for(var a=0,u=r;a0&&t),!o.has(0)&&n&&i.appendChild(new c(0)),i},e.prototype._accept=function(e,t){if(void 0===e||this._token.type===e){var n=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),n}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="",n=this._token.pos,i={type:14,pos:0,len:0};this._token.type!==e||5===i.type;)if(this._token.type===e&&(t+=this._scanner.value.substring(n,i.pos),n=this._token.pos),i=this._token,this._token=this._scanner.next(),14===this._token.type)return!1;return t+=this._scanner.value.substring(n,this._token.pos),this._token=this._scanner.next(),t},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 u(t)),!0)},e.prototype._parseTabstopOrVariableName=function(e){var t,n=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 f(t)),!0):this._backTo(n)},e.prototype._parseComplexPlaceholder=function(e){var t,n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(n);var i=new c(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(i),!0;if(!this._parse(i))return e.appendChild(new u("${"+t+":")),i.children.forEach(e.appendChild,e),!0}else{if(!(i.index>0&&this._accept(7)))return this._accept(6)?this._parseTransform(i)?(e.appendChild(i),!0):(this._backTo(n),!1):this._accept(4)?(e.appendChild(i),!0):this._backTo(n);for(var o=new d;;){if(this._parseChoiceElement(o)){if(this._accept(2))continue;if(this._accept(7)&&(i.appendChild(o),this._accept(4)))return e.appendChild(i),!0}return this._backTo(n),!1}}},e.prototype._parseChoiceElement=function(e){for(var t=this._token,n=[];2!==this._token.type&&7!==this._token.type;){var i=void 0;if(!(i=(i=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||i:this._accept(void 0,!0)))return this._backTo(t),!1;n.push(i)}return 0===n.length?(this._backTo(t),!1):(e.appendChild(new u(n.join(""))),!0)},e.prototype._parseComplexVariable=function(e){var t,n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(n);var i=new f(t);if(!this._accept(1))return this._accept(6)?this._parseTransform(i)?(e.appendChild(i),!0):(this._backTo(n),!1):this._accept(4)?(e.appendChild(i),!0):this._backTo(n);for(;;){if(this._accept(4))return e.appendChild(i),!0;if(!this._parse(i))return e.appendChild(new u("${"+t+":")),i.children.forEach(e.appendChild,e),!0}},e.prototype._parseTransform=function(e){for(var t=new h,n="",i="";!this._accept(6);){var o=void 0;if(o=this._accept(5,!0))n+=o=this._accept(6,!0)||o;else{if(14===this._token.type)return!1;n+=this._accept(void 0,!0)}}for(;!this._accept(6);){o=void 0;if(o=this._accept(5,!0))o=this._accept(5,!0)||this._accept(6,!0)||o,t.appendChild(new u(o));else if(!this._parseFormatString(t)&&!this._parseAnything(t))return!1}for(;!this._accept(4);){if(14===this._token.type)return!1;i+=this._accept(void 0,!0)}try{t.regexp=new RegExp(n,i)}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 n=!1;this._accept(3)&&(n=!0);var i=this._accept(8,!0);if(!i)return this._backTo(t),!1;if(!n)return e.appendChild(new p(Number(i))),!0;if(this._accept(4))return e.appendChild(new p(Number(i))),!0;if(!this._accept(1))return this._backTo(t),!1;if(this._accept(6)){var o=this._accept(9,!0);return o&&this._accept(4)?(e.appendChild(new p(Number(i),o)),!0):(this._backTo(t),!1)}if(this._accept(11)){if(r=this._until(4))return e.appendChild(new p(Number(i),void 0,r,void 0)),!0}else if(this._accept(12)){if(s=this._until(4))return e.appendChild(new p(Number(i),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 p(Number(i),void 0,r,s)),!0}else{var s;if(s=this._until(4))return e.appendChild(new p(Number(i),void 0,void 0,s)),!0}return this._backTo(t),!1},e.prototype._parseAnything=function(e){return 14!==this._token.type&&(e.appendChild(new u(this._scanner.tokenText(this._token))),this._accept(void 0),!0)},e}()},F5mM:function(e,t){},Fllr:function(e,t,n){"use strict";var i=n("zxiH"),o=n("Kp7x"),r=n("tqet"),s=n("aL7J"),a=n("vTy2"),u=n("+jct"),l=n("+oh4"),c=n("Eeyw"),d=function(){function e(t){if(t.autoClosingPairs?this._autoClosingPairs=t.autoClosingPairs.map(function(e){return new l.b(e)}):t.brackets?this._autoClosingPairs=t.brackets.map(function(e){return new l.b({open:e[0],close:e[1]})}):this._autoClosingPairs=[],t.__electricCharacterSupport&&t.__electricCharacterSupport.docComment){var n=t.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new l.b({open:n.open,close:n.close||""}))}this._autoCloseBefore="string"==typeof t.autoCloseBefore?t.autoCloseBefore:e.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED,this._surroundingPairs=t.surroundingPairs||this._autoClosingPairs}return e.prototype.getAutoClosingPairs=function(){return this._autoClosingPairs},e.prototype.getAutoCloseBeforeSet=function(){return this._autoCloseBefore},e.shouldAutoClosePair=function(e,t,n){if(0===t.getTokenCount())return!0;var i=t.findTokenIndexAtOffset(n-2),o=t.getStandardTokenType(i);return e.isOK(o)},e.prototype.getSurroundingPairs=function(){return this._surroundingPairs},e.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED=";:.,=}])> \n\t",e}(),h=n("iNUG"),p=function(){function e(e){this._richEditBrackets=e}return e.prototype.getElectricCharacters=function(){var e=[];if(this._richEditBrackets)for(var t=0,n=this._richEditBrackets.brackets.length;t0&&n.length>0)for(i=0,o=this._brackets.length;i0)for(i=0,o=this._brackets.length;i1){var o=void 0,r=-1;for(o=t-1;o>=1;o--){if(e.getLanguageIdAtPosition(o,0)!==i)return r;var s=e.getLineContent(o);if(!n.shouldIgnore(s)&&!/^\s+$/.test(s)&&""!==s)return o;r=o}}return-1},e.prototype.getInheritIndentForLine=function(e,t,n){void 0===n&&(n=!0);var i=this.getIndentRulesSupport(e.getLanguageIdentifier().id);if(!i)return null;if(t<=1)return{indentation:"",action:null};var o=this.getPrecedingValidLine(e,t,i);if(o<0)return null;if(o<1)return{indentation:"",action:null};var r=e.getLineContent(o);if(i.shouldIncrease(r)||i.shouldIndentNextLine(r))return{indentation:s.s(r),action:l.a.Indent,line:o};if(i.shouldDecrease(r))return{indentation:s.s(r),action:null,line:o};if(1===o)return{indentation:s.s(e.getLineContent(o)),action:null,line:o};var a=o-1,u=i.getIndentMetadata(e.getLineContent(a));if(!(3&u)&&4&u){for(var c=0,d=a-1;d>0;d--)if(!i.shouldIndentNextLine(e.getLineContent(d))){c=d;break}return{indentation:s.s(e.getLineContent(c+1)),action:null,line:c+1}}if(n)return{indentation:s.s(e.getLineContent(o)),action:null,line:o};for(d=o;d>0;d--){var h=e.getLineContent(d);if(i.shouldIncrease(h))return{indentation:s.s(h),action:l.a.Indent,line:d};if(i.shouldIndentNextLine(h)){c=0;for(var p=d-1;p>0;p--)if(!i.shouldIndentNextLine(e.getLineContent(d))){c=p;break}return{indentation:s.s(e.getLineContent(c+1)),action:null,line:c+1}}if(i.shouldDecrease(h))return{indentation:s.s(h),action:null,line:d}}return{indentation:s.s(e.getLineContent(1)),action:null,line:1}},e.prototype.getGoodIndentForLine=function(e,t,n,o){var r=this.getIndentRulesSupport(t);if(!r)return null;var a=this.getInheritIndentForLine(e,n),u=e.getLineContent(n);if(a){var c=a.line;if(void 0!==c){var d=this._getOnEnterSupport(t),h=null;try{d&&(h=d.onEnter("",e.getLineContent(c),""))}catch(e){Object(i.e)(e)}if(h){var p=s.s(e.getLineContent(c));return h.removeText&&(p=p.substring(0,p.length-h.removeText)),h.indentAction===l.a.Indent||h.indentAction===l.a.IndentOutdent?p=o.shiftIndent(p):h.indentAction===l.a.Outdent&&(p=o.unshiftIndent(p)),r.shouldDecrease(u)&&(p=o.unshiftIndent(p)),h.appendText&&(p+=h.appendText),s.s(p)}}return r.shouldDecrease(u)?a.action===l.a.Indent?a.indentation:o.unshiftIndent(a.indentation):a.action===l.a.Indent?o.shiftIndent(a.indentation):a.indentation}return null},e.prototype.getIndentForEnter=function(e,t,n,i){e.forceTokenization(t.startLineNumber);var o,r,a=e.getLineTokens(t.startLineNumber),u=Object(c.a)(a,t.startColumn-1),d=u.getLineContent(),h=!1;(u.firstCharOffset>0&&a.getLanguageId(0)!==u.languageId?(h=!0,o=d.substr(0,t.startColumn-1-u.firstCharOffset)):o=a.getLineContent().substring(0,t.startColumn-1),t.isEmpty())?r=d.substr(t.startColumn-1-u.firstCharOffset):r=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-u.firstCharOffset);var p=this.getIndentRulesSupport(u.languageId);if(!p)return null;var f=o,g=s.s(o);if(!i&&!h){var m=this.getInheritIndentForLine(e,t.startLineNumber);p.shouldDecrease(o)&&m&&(g=m.indentation,m.action!==l.a.Indent&&(g=n.unshiftIndent(g))),f=g+s.B(s.B(o," "),"\t")}var _={getLineTokens:function(t){return e.getLineTokens(t)},getLanguageIdentifier:function(){return e.getLanguageIdentifier()},getLanguageIdAtPosition:function(t,n){return e.getLanguageIdAtPosition(t,n)},getLineContent:function(n){return n===t.startLineNumber?f:e.getLineContent(n)}},v=s.s(a.getLineContent()),y=this.getInheritIndentForLine(_,t.startLineNumber+1);if(!y){var b=h?v:g;return{beforeEnter:b,afterEnter:b}}var C=h?v:y.indentation;return y.action===l.a.Indent&&(C=n.shiftIndent(C)),p.shouldDecrease(r)&&(C=n.unshiftIndent(C)),{beforeEnter:h?v:g,afterEnter:C}},e.prototype.getIndentActionForType=function(e,t,n,i){var o=this.getScopedLineTokens(e,t.startLineNumber,t.startColumn),r=this.getIndentRulesSupport(o.languageId);if(!r)return null;var s,a=o.getLineContent(),u=a.substr(0,t.startColumn-1-o.firstCharOffset);t.isEmpty()?s=a.substr(t.startColumn-1-o.firstCharOffset):s=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-o.firstCharOffset);if(!r.shouldDecrease(u+s)&&r.shouldDecrease(u+n+s)){var c=this.getInheritIndentForLine(e,t.startLineNumber,!1);if(!c)return null;var d=c.indentation;return c.action!==l.a.Indent&&(d=i.unshiftIndent(d)),d}return null},e.prototype.getIndentMetadata=function(e,t){var n=this.getIndentRulesSupport(e.getLanguageIdentifier().id);return n?t<1||t>e.getLineCount()?null:n.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,n){var i=this.getEnterAction(e,new a.a(t,n,t,n));return i?i.enterAction:null},e.prototype.getEnterAction=function(e,t){var n=this.getIndentationAtPosition(e,t.startLineNumber,t.startColumn),o=this.getScopedLineTokens(e,t.startLineNumber,t.startColumn),r=this._getOnEnterSupport(o.languageId);if(!r)return null;var s,a=o.getLineContent(),u=a.substr(0,t.startColumn-1-o.firstCharOffset);t.isEmpty()?s=a.substr(t.startColumn-1-o.firstCharOffset):s=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-o.firstCharOffset);var c=t.startLineNumber,d="";if(c>1&&0===o.firstCharOffset){var h=this.getScopedLineTokens(e,c-1);h.languageId===o.languageId&&(d=h.getLineContent())}var p=null;try{p=r.onEnter(d,u,s)}catch(e){Object(i.e)(e)}return p?(p.appendText||(p.indentAction===l.a.Indent||p.indentAction===l.a.IndentOutdent?p.appendText="\t":p.appendText=""),p.removeText&&(n=n.substring(0,n.length-p.removeText)),{enterAction:p,indentation:n}):null},e.prototype.getIndentationAtPosition=function(e,t,n){var i=e.getLineContent(t),o=s.s(i);return o.length>n-1&&(o=o.substring(0,n-1)),o},e.prototype.getScopedLineTokens=function(e,t,n){e.forceTokenization(t);var i=e.getLineTokens(t),o=void 0===n?e.getLineMaxColumn(t)-1:n-1;return Object(c.a)(i,o)},e.prototype.getBracketsSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.brackets||null},e}())},G7Ib:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("03Zz"),o=n("0Td8");Object(i.h)(o.f),Object(i.f)(o.e),Object(i.f)(o.g),Object(i.f)(o.h),Object(i.f)(o.d),Object(i.f)(o.a),Object(i.f)(o.c),Object(i.g)(new o.b)},G8ar:function(e,t,n){var i=n("cdq7"),o=n("8++/"),r=n("i6nN");e.exports=function(e,t,n){return t==t?r(e,t,n):i(e,o,n)}},G8r4:function(e,t,n){"use strict";n.d(t,"a",function(){return o});var i=n("Kp7x"),o=new(function(){function e(){this._zoomLevel=0,this._onDidChangeZoomLevel=new i.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}())},GV5w:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"GotoLineEntry",function(){return g}),n.d(t,"GotoLineAction",function(){return m});var i,o=n("wtJh"),r=(n.n(o),n("aL7J")),s=n("Al6Q"),a=n("P1SM"),u=n("03Zz"),l=n("artP"),c=n("vTy2"),d=n("/9db"),h=n("zwZj"),p=n("EfIu"),f=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),g=function(e){function t(t,n,i){var o=e.call(this)||this;return o.editor=n,o.decorator=i,o.parseResult=o.parseInput(t),o}return f(t,e),t.prototype.parseInput=function(e){var t,n,i=e.split(",").map(function(e){return parseInt(e,10)}).filter(function(e){return!isNaN(e)});if(t=0===i.length?new l.a(-1,-1):1===i.length?new l.a(i[0],1):new l.a(i[0],i[1]),Object(a.a)(this.editor))n=this.editor.getModel();else{var o=this.editor.getModel();n=o?o.modified:null}var s=!!n&&n.validatePosition(t).equals(t);return{position:t,isValid:s,label:s?t.column&&t.column>1?r.r(p.b.gotoLineLabelValidLineAndColumn,t.lineNumber,t.column):r.r(p.b.gotoLineLabelValidLine,t.lineNumber):t.lineNumber<1||t.lineNumber>(n?n.getLineCount():0)?r.r(p.b.gotoLineLabelEmptyWithLineLimit,n?n.getLineCount():0):r.r(p.b.gotoLineLabelEmptyWithLineAndColumnLimit,n?n.getLineMaxColumn(t.lineNumber):0)}},t.prototype.getLabel=function(){return this.parseResult.label},t.prototype.getAriaLabel=function(){var e=this.editor.getPosition(),t=e?e.lineNumber:0;return r.r(p.b.gotoLineAriaLabel,t,this.parseResult.label)},t.prototype.run=function(e,t){return 1===e?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 c.a(this.parseResult.position.lineNumber,this.parseResult.position.column,this.parseResult.position.lineNumber,this.parseResult.position.column)},t}(s.a),m=function(e){function t(){return e.call(this,p.b.gotoLineActionInput,{id:"editor.action.gotoLine",label:p.b.gotoLineActionLabel,alias:"Go to Line...",precondition:void 0,kbOpts:{kbExpr:d.a.focus,primary:2085,mac:{primary:293},weight:100}})||this}return f(t,e),t.prototype.run=function(e,t){var n=this;this._show(this.getController(t),{getModel:function(e){return new s.c([new g(e,t,n.getController(t))])},getAutoFocus:function(e){return{autoFocusFirstEntry:e.length>0}}})},t}(h.a);Object(u.f)(m)},GYOr:function(e,t,n){"use strict";n.d(t,"g",function(){return s}),t.f=function(e,t,n){void 0===n&&(n=!1);if("string"!=typeof e||"string"!=typeof t)return null;var i=y.get(e);i||(i=new RegExp(o.j(e),"i"),y.set(e,i));var r=i.exec(t);if(r)return[{start:r.index,end:r.index+r[0].length}];return n?v(e,t):_(e,t)},t.b=function(e,t,n,i,o,r){var s=D(e,t,0,i,o,0,!0);if(s)return s;for(var a=0,u=0,l=r,c=0;c=0)u+=1,a+=Math.pow(2,d),l=d+1;else if(0!==a)break}return[u,a,r]},t.c=function(e){if(void 0===e)return[];for(var t=e[1].toString(2),n=[],i=e[2];i=3)for(var l=Math.min(7,e.length-1),c=n+1;cu[0])&&(u=h))}}return u}(e,t,n,i,o,r,!0,s)};var i=n("WTFd"),o=n("aL7J");function r(){for(var e=[],t=0;t0?[{start:0,end:t.length}]:[]}.bind(void 0,!0);function a(e){return 97<=e&&e<=122}function u(e){return 65<=e&&e<=90}function l(e){return 48<=e&&e<=57}function c(e){return 32===e||9===e||10===e||13===e}var d=new Set;function h(e){return a(e)||u(e)||l(e)}function p(e,t){return 0===t.length?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function f(e,t){for(var n=t;n0&&!h(e.charCodeAt(n-1)))return n}return e.length}function g(e,t,n,i){if(n===e.length)return[];if(i===t.length)return null;if(e[n]!==t[i].toLowerCase())return null;var o=null,r=i+1;for(o=g(e,t,n+1,i+1);!o&&(r=f(t,r))60)return null;var n=function(e){for(var t=0,n=0,i=0,o=0,r=0,s=0;s.2&&t<.8&&i>.6&&o<.2}(n)){if(!function(e){var t=e.upperPercent;return 0===e.lowerPercent&&t>.6}(n))return null;t=t.toLowerCase()}var i=null,o=0;for(e=e.toLowerCase();o/?".split("").forEach(function(e){return d.add(e.charCodeAt(0))});var _=r(s,m,function(e,t){var n=t.toLowerCase().indexOf(e.toLowerCase());return-1===n?null:[{start:n,end:n+e.length}]}),v=r(s,m,function(e,t){return function e(t,n,i,o){if(i===t.length)return[];if(o===n.length)return null;if(t[i]===n[o]){var r=null;return(r=e(t,n,i+1,o+1))?p({start:o,end:o+1},r):null}return e(t,n,i,o+1)}(e.toLowerCase(),t.toLowerCase(),0,0)}),y=new i.a(1e4);var b=128;function C(){for(var e=[],t=[0],n=1;n<=b;n++)t.push(-n);for(n=0;n<=b;n++){var i=t.slice(0);i[0]=-n,e.push(i)}return e}var w,S=C(),L=C(),O=C(),E=!1;function N(e,t,n,i,o){function r(e,t,n){for(void 0===n&&(n=" ");e.length=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:case 36:return!0;default:return!1}}function I(e,t,n){return t[e]!==n[e]}function D(e,t,n,i,o,r,s){var a=e.length>b?b:e.length,u=i.length>b?b:i.length;if(!(n>=a||r>=u||a>u)&&function(e,t,n,i,o,r){for(;t1?1:p),g=S[l-1][c]+-1,m=S[l][c-1]+-1;m>=g?m>f?(S[l][c]=m,O[l][c]=4):m===f?(S[l][c]=m,O[l][c]=6):(S[l][c]=f,O[l][c]=2):g>f?(S[l][c]=g,O[l][c]=1):g===f?(S[l][c]=g,O[l][c]=3):(S[l][c]=f,O[l][c]=2)}if(E&&function(e,t,n,i){e=e.substr(t),n=n.substr(i),console.log(N(S,e,e.length,n,n.length)),console.log(N(O,e,e.length,n,n.length)),console.log(N(L,e,e.length,n,n.length))}(e,n,i,r),T=0,R=-100,A=r,P=s,function e(t,n,i,o,r){if(T>=10||i<-25)return;var s=0;for(;t>0&&n>0;){var a=L[t][n],u=O[t][n];if(4===u)n-=1,r?i-=5:0!==o&&(i-=1),r=!1,s=0;else{if(!(2&u))return;if(4&u&&e(t,n-1,0!==o?i-1:i,o,r),i+=a,t-=1,n-=1,r=!0,o+=Math.pow(2,n+A),1===a){if(s+=1,0===t&&!P)return}else i+=1+s*(a-1),s=0}}i-=n>=3?9:3*n;T+=1;i>R&&(R=i,M=o)}(l-1,c-1,a===u?1:0,0,!1),0!==T)return[R,M,r]}}function k(e,t,n,i,o,r,s){return t[n]!==r[s]?-1:s===n-i?e[n]===o[s]?7:5:!I(s,o,r)||0!==s&&I(s-1,o,r)?!x(r,s)||0!==s&&x(r,s-1)?x(r,s-1)||function(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 32:case 9:return!0;default:return!1}}(r,s-1)?5:1:5:e[n]===o[s]?7:5}!function(e){e.Default=Object.freeze([-100,0,0]),e.isDefault=function(e){return!e||-100===e[0]&&0===e[1]&&0===e[2]}}(w||(w={}));var T=0,M=0,R=0,A=0,P=!1;function F(e,t){if(!(t+1>=e.length)){var n=e[t],i=e[t+1];if(n!==i)return e.slice(0,t)+i+n+e.slice(t+2)}}},GZKt:function(e,t){},GfE5:function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return r});var i=n("CQAd"),o=function(){function e(t){var n=Object(i.d)(t);this._defaultValue=n,this._asciiMap=e._createAsciiMap(n),this._map=new Map}return e._createAsciiMap=function(e){for(var t=new Uint8Array(256),n=0;n<256;n++)t[n]=e;return t},e.prototype.set=function(e,t){var n=Object(i.d)(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)},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 o(0)}return e.prototype.add=function(e){this._actual.set(e,1)},e.prototype.has=function(e){return 1===this._actual.get(e)},e}()},GsV8:function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return r});var i=n("JVO/"),o=Object(i.c)("openerService"),r=Object.freeze({_serviceBrand:void 0,registerOpener:function(){return{dispose:function(){}}},registerValidator:function(){return{dispose:function(){}}},open:function(){return Promise.resolve(!1)}})},Gu5N:function(e,t){},Gu7T:function(e,t,n){"use strict";t.__esModule=!0;var i,o=n("c/Tr"),r=(i=o)&&i.__esModule?i:{default:i};t.default=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);tc&&(d=c,h=e.model.getLineMaxColumn(d)),r.d.fromModelState(new r.f(new l.a(s.lineNumber,1,d,h),0,new u.a(d,h),0))}var p=t.modelState.selectionStart.getStartPosition().lineNumber;if(s.lineNumberp){c=e.viewModel.getLineCount();var f=a.lineNumber+1,g=1;return f>c&&(f=c,g=e.viewModel.getLineMaxColumn(f)),r.d.fromViewState(t.viewState.move(t.modelState.hasSelection(),f,g,0))}var m=t.modelState.selectionStart.getEndPosition();return r.d.fromModelState(t.modelState.move(t.modelState.hasSelection(),m.lineNumber,m.column,0))},e.word=function(e,t,n,i){var o=e.model.validatePosition(i);return r.d.fromModelState(a.a.word(e.config,e.model,t.modelState,n,o))},e.cancelSelection=function(e,t){if(!t.modelState.hasSelection())return new r.d(t.modelState,t.viewState);var n=t.viewState.position.lineNumber,i=t.viewState.position.column;return r.d.fromViewState(new r.f(new l.a(n,i,n,i),0,new u.a(n,i),0))},e.moveTo=function(e,t,n,i,o){var s=e.model.validatePosition(i),a=o?e.validateViewPosition(new u.a(o.lineNumber,o.column),s):e.convertModelPositionToViewPosition(s);return r.d.fromViewState(t.viewState.move(n,a.lineNumber,a.column,0))},e.move=function(e,t,n){var i=n.select,o=n.value;switch(n.direction){case 0:return 4===n.unit?this._moveHalfLineLeft(e,t,i):this._moveLeft(e,t,i,o);case 1:return 4===n.unit?this._moveHalfLineRight(e,t,i):this._moveRight(e,t,i,o);case 2:return 2===n.unit?this._moveUpByViewLines(e,t,i,o):this._moveUpByModelLines(e,t,i,o);case 3:return 2===n.unit?this._moveDownByViewLines(e,t,i,o):this._moveDownByModelLines(e,t,i,o);case 4:return this._moveToViewMinColumn(e,t,i);case 5:return this._moveToViewFirstNonWhitespaceColumn(e,t,i);case 6:return this._moveToViewCenterColumn(e,t,i);case 7:return this._moveToViewMaxColumn(e,t,i);case 8:return this._moveToViewLastNonWhitespaceColumn(e,t,i);case 9:var r=t[0],s=e.getCompletelyVisibleModelRange(),a=this._firstLineNumberInRange(e.model,s,o),u=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,r,i,a,u)];case 11:r=t[0],s=e.getCompletelyVisibleModelRange(),a=this._lastLineNumberInRange(e.model,s,o),u=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,r,i,a,u)];case 10:r=t[0],s=e.getCompletelyVisibleModelRange(),a=Math.round((s.startLineNumber+s.endLineNumber)/2),u=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,r,i,a,u)];case 12:for(var l=e.getCompletelyVisibleViewRange(),c=[],d=0,h=t.length;dn.endLineNumber-1&&(o=n.endLineNumber-1),oo,d=i>r,h=ir)continue;if(yi)continue;if(v1&&o--,e.columnSelect(t,n,i.fromViewLineNumber,i.fromViewVisualColumn,i.toViewLineNumber,o)},e.columnSelectRight=function(e,t,n){for(var i=0,o=Math.min(n.fromViewLineNumber,n.toViewLineNumber),r=Math.max(n.fromViewLineNumber,n.toViewLineNumber),s=o;s<=r;s++){var l=t.getLineMaxColumn(s),c=a.a.visibleColumnFromColumn2(e,t,new u.a(s,l));i=Math.max(i,c)}var d=n.toViewVisualColumn;return d1)for(var r=n.modelState?n.modelState.position:null,s=n.viewState?n.viewState.position:null,a=0,u=o.length;ao&&(i=o);var r=new l.a(i,1,i,e.context.model.getLineMaxColumn(i)),s=0;if(n.at)switch(n.at){case y.RawAtArgument.Top:s=3;break;case y.RawAtArgument.Center:s=1;break;case y.RawAtArgument.Bottom:s=4}var a=e.context.convertModelRangeToViewRange(r);e.revealRange(!1,a,s,0)},t}(N))),e.SelectAll=Object(r.g)(new(function(e){function t(){return e.call(this,{id:"selectAll",precondition:void 0})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,3,[h.b.selectAll(e.context,e.getPrimaryCursor())])},t}(N))),e.SetSelection=Object(r.g)(new(function(e){function t(){return e.call(this,{id:"setSelection",precondition:void 0})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,3,[a.d.fromModelSelection(t.selection)])},t}(N)))}(C||(C={})),S=w||(w={}),L=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return O(t,e),t.prototype.runEditorCommand=function(e,t,n){var i=t._getCursors();i&&this.runCoreEditingCommand(t,i,n||{})},t}(r.c),S.CoreEditingCommand=L,S.LineBreakInsert=Object(r.g)(new(function(e){function t(){return e.call(this,{id:"lineBreakInsert",precondition:g.a.writable,kbOpts:{weight:E,kbExpr:g.a.textInputFocus,primary:0,mac:{primary:301}}})||this}return O(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,p.a.lineBreakInsert(t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection})))},t}(L))),S.Outdent=Object(r.g)(new(function(e){function t(){return e.call(this,{id:"outdent",precondition:g.a.writable,kbOpts:{weight:E,kbExpr:m.a.and(g.a.editorTextFocus,g.a.tabDoesNotMoveFocus),primary:1026}})||this}return O(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,p.a.outdent(t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection}))),e.pushUndoStop()},t}(L))),S.Tab=Object(r.g)(new(function(e){function t(){return e.call(this,{id:"tab",precondition:g.a.writable,kbOpts:{weight:E,kbExpr:m.a.and(g.a.editorTextFocus,g.a.tabDoesNotMoveFocus),primary:2}})||this}return O(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,p.a.tab(t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection}))),e.pushUndoStop()},t}(L))),S.DeleteLeft=Object(r.g)(new(function(e){function t(){return e.call(this,{id:"deleteLeft",precondition:g.a.writable,kbOpts:{weight:E,kbExpr:g.a.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})||this}return O(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){var i=d.a.deleteLeft(t.getPrevEditOperationType(),t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection})),o=i[0],r=i[1];o&&e.pushUndoStop(),e.executeCommands(this.id,r),t.setPrevEditOperationType(2)},t}(L))),S.DeleteRight=Object(r.g)(new(function(e){function t(){return e.call(this,{id:"deleteRight",precondition:g.a.writable,kbOpts:{weight:E,kbExpr:g.a.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})||this}return O(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){var i=d.a.deleteRight(t.getPrevEditOperationType(),t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection})),o=i[0],r=i[1];o&&e.pushUndoStop(),e.executeCommands(this.id,r),t.setPrevEditOperationType(3)},t}(L)));var I=function(e){function t(t){var n=e.call(this,t)||this;return n._editorHandler=t.editorHandler,n._inputHandler=t.inputHandler,n}return O(t,e),t.prototype.runCommand=function(e,t){var n=e.get(s.a).getFocusedCodeEditor();if(n&&n.hasTextFocus())return this._runEditorHandler(e,n,t);var i=document.activeElement;if(!(i&&["input","textarea"].indexOf(i.tagName.toLowerCase())>=0)){var o=e.get(s.a).getActiveCodeEditor();return o?(o.focus(),this._runEditorHandler(e,o,t)):void 0}document.execCommand(this._inputHandler)},t.prototype._runEditorHandler=function(e,t,n){var i=this._editorHandler;"string"==typeof i?t.trigger("keyboard",i,n):((n=n||{}).source="keyboard",i.runEditorCommand(e,t,n))},t}(r.a),D=function(e){function t(t,n,i){var o=e.call(this,{id:t,precondition:void 0,description:i})||this;return o._handlerId=n,o}return O(t,e),t.prototype.runCommand=function(e,t){var n=e.get(s.a).getFocusedCodeEditor();n&&n.trigger("keyboard",this._handlerId,t)},t}(r.a);function k(e,t){x(new D("default:"+e,e)),x(new D(e,e,t))}x(new I({editorHandler:C.SelectAll,inputHandler:"selectAll",id:"editor.action.selectAll",precondition:g.a.textInputFocus,kbOpts:{weight:E,kbExpr:null,primary:2079},menubarOpts:{menuId:22,group:"1_basic",title:i.a({key:"miSelectAll",comment:["&& denotes a mnemonic"]},"&&Select All"),order:1}})),x(new I({editorHandler:f.b.Undo,inputHandler:"undo",id:f.b.Undo,precondition:g.a.writable,kbOpts:{weight:E,kbExpr:g.a.textInputFocus,primary:2104},menubarOpts:{menuId:14,group:"1_do",title:i.a({key:"miUndo",comment:["&& denotes a mnemonic"]},"&&Undo"),order:1}})),x(new D("default:"+f.b.Undo,f.b.Undo)),x(new I({editorHandler:f.b.Redo,inputHandler:"redo",id:f.b.Redo,precondition:g.a.writable,kbOpts:{weight:E,kbExpr:g.a.textInputFocus,primary:2103,secondary:[3128],mac:{primary:3128}},menubarOpts:{menuId:14,group:"1_do",title:i.a({key:"miRedo",comment:["&& denotes a mnemonic"]},"&&Redo"),order:2}})),x(new D("default:"+f.b.Redo,f.b.Redo)),k(f.b.Type,{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),k(f.b.ReplacePreviousChar),k(f.b.CompositionStart),k(f.b.CompositionEnd),k(f.b.Paste),k(f.b.Cut)},Hv4S:function(e,t){},Hxdr:function(e,t){e.exports=function(e,t){for(var n=-1,i=null==e?0:e.length,o=Array(i);++n=n)break;var o=e.charCodeAt(t);if(110===o||114===o||87===o)return!0}}return!1}(this.searchString):this.searchString.indexOf("\n")>=0;var t=null;try{t=i.k(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0})}catch(e){return null}if(!t)return null;var n=!this.isRegex&&!e;return n&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(n=this.matchCase),new l(t,this.wordSeparators?Object(o.a)(this.wordSeparators):null,n?this.searchString:null)},e}();var l=function(){return function(e,t,n){this.regex=e,this.wordSeparators=t,this.simpleSearch=n}}();function c(e,t,n){if(!n)return new a.b(e,null);for(var i=[],o=0,r=t.length;o>0);t[o]>=e?i=o-1:t[o+1]>=e?(n=o,i=o):n=o+1}return n+1},e}(),h=function(){function e(){}return e.findMatches=function(e,t,n,i,o){var r=t.parseSearchRequest();return r?r.regex.multiline?this._doFindMatchesMultiline(e,n,new f(r.wordSeparators,r.regex),i,o):this._doFindMatchesLineByLine(e,n,r,i,o):[]},e._getMultilineMatchRange=function(e,t,n,i,o,r){var a,u,l=0;if(a=i?t+o+(l=i.findLineFeedCountBeforeOffset(o)):t+o,i){var c=i.findLineFeedCountBeforeOffset(o+r.length)-l;u=a+r.length+c}else u=a+r.length;var d=e.getPositionAt(a),h=e.getPositionAt(u);return new s.a(d.lineNumber,d.column,h.lineNumber,h.column)},e._doFindMatchesMultiline=function(e,t,n,i,o){var r,s=e.getOffsetAt(t.getStartPosition()),a=e.getValueInRange(t,1),u="\r\n"===e.getEOL()?new d(a):null,l=[],h=0;for(n.reset(0);r=n.next(a);)if(l[h++]=c(this._getMultilineMatchRange(e,s,a,u,r.index,r[0]),r,i),h>=o)return l;return l},e._doFindMatchesLineByLine=function(e,t,n,i,o){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(n,a,t.startLineNumber,t.startColumn-1,s,r,i,o),r}var u=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);s=this._findMatchesInLine(n,u,t.startLineNumber,t.startColumn-1,s,r,i,o);for(var l=t.startLineNumber+1;l=l))return o;return o}var v,y=new f(e.wordSeparators,e.regex);y.reset(0);do{if((v=y.next(t))&&(r[o++]=c(new s.a(n,v.index+1+i,n,v.index+1+v[0].length+i),v,u),o>=l))return o}while(v);return o},e.findNextMatch=function(e,t,n,i){var o=t.parseSearchRequest();if(!o)return null;var r=new f(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindNextMatchMultiline(e,n,r,i):this._doFindNextMatchLineByLine(e,n,r,i)},e._doFindNextMatchMultiline=function(e,t,n,i){var o=new r.a(t.lineNumber,1),a=e.getOffsetAt(o),u=e.getLineCount(),l=e.getValueInRange(new s.a(o.lineNumber,o.column,u,e.getLineMaxColumn(u)),1),h="\r\n"===e.getEOL()?new d(l):null;n.reset(t.column-1);var p=n.next(l);return p?c(this._getMultilineMatchRange(e,a,l,h,p.index,p[0]),p,i):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new r.a(1,1),n,i):null},e._doFindNextMatchLineByLine=function(e,t,n,i){var o=e.getLineCount(),r=t.lineNumber,s=e.getLineContent(r),a=this._findFirstMatchInLine(n,s,r,t.column,i);if(a)return a;for(var u=1;u<=o;u++){var l=(r+u-1)%o,c=e.getLineContent(l+1),d=this._findFirstMatchInLine(n,c,l+1,1,i);if(d)return d}return null},e._findFirstMatchInLine=function(e,t,n,i,o){e.reset(i-1);var r=e.next(t);return r?c(new s.a(n,r.index+1,n,r.index+1+r[0].length),r,o):null},e.findPreviousMatch=function(e,t,n,i){var o=t.parseSearchRequest();if(!o)return null;var r=new f(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindPreviousMatchMultiline(e,n,r,i):this._doFindPreviousMatchLineByLine(e,n,r,i)},e._doFindPreviousMatchMultiline=function(e,t,n,i){var o=this._doFindMatchesMultiline(e,new s.a(1,1,t.lineNumber,t.column),n,i,9990);if(o.length>0)return o[o.length-1];var a=e.getLineCount();return t.lineNumber!==a||t.column!==e.getLineMaxColumn(a)?this._doFindPreviousMatchMultiline(e,new r.a(a,e.getLineMaxColumn(a)),n,i):null},e._doFindPreviousMatchLineByLine=function(e,t,n,i){var o=e.getLineCount(),r=t.lineNumber,s=e.getLineContent(r).substring(0,t.column-1),a=this._findLastMatchInLine(n,s,r,i);if(a)return a;for(var u=1;u<=o;u++){var l=(o+r-u-1)%o,c=e.getLineContent(l+1),d=this._findLastMatchInLine(n,c,l+1,i);if(d)return d}return null},e._findLastMatchInLine=function(e,t,n,i){var o,r=null;for(e.reset(0);o=e.next(t);)r=c(new s.a(n,o.index+1,n,o.index+1+o[0].length),o,i);return r},e}();function p(e,t,n,i,o){return function(e,t,n,i,o){if(0===i)return!0;var r=t.charCodeAt(i-1);if(0!==e.get(r))return!0;if(13===r||10===r)return!0;if(o>0){var s=t.charCodeAt(i);if(0!==e.get(s))return!0}return!1}(e,t,0,i,o)&&function(e,t,n,i,o){if(i+o===n)return!0;var r=t.charCodeAt(i+o);if(0!==e.get(r))return!0;if(13===r||10===r)return!0;if(o>0){var s=t.charCodeAt(i+o-1);if(0!==e.get(s))return!0}return!1}(e,t,n,i,o)}var f=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,n=e.length;do{if(this._prevMatchStartIndex+this._prevMatchLength===n)return null;if(!(t=this._searchRegex.exec(e)))return null;var i=t.index,o=t[0].length;if(i===this._prevMatchStartIndex&&o===this._prevMatchLength){if(0===o){this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=i,this._prevMatchLength=o,!this._wordSeparators||p(this._wordSeparators,e,n,i,o))return t}while(t);return null},e}()},IG52:function(e,t,n){"use strict";n.d(t,"c",function(){return g}),n.d(t,"d",function(){return m}),n.d(t,"b",function(){return _}),n.d(t,"a",function(){return y});var i,o=n("LC7R"),r=(n.n(o),n("ZfGv")),s=n("hK2W"),a=n("tqet"),u=n("AKCZ"),l=n("7/Cv"),c=n("KIxu"),d=n("Bug4"),h=n("gzF+"),p=n("Kp7x"),f=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),g=function(e){function t(t,n,i){var o=e.call(this)||this;return o.options=i,o._context=t||o,o._action=n,n instanceof u.a&&o._register(n.onDidChange(function(e){o.element&&o.handleActionChangeEvent(e)})),o}return f(t,e),t.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(t.prototype,"actionRunner",{get:function(){return this._actionRunner},set:function(e){this._actionRunner=e},enumerable:!0,configurable:!0}),t.prototype.getAction=function(){return this._action},t.prototype.isEnabled=function(){return this._action.enabled},t.prototype.setActionContext=function(e){this._context=e},t.prototype.render=function(e){var t=this;this.element=e,d.b.addTarget(e);var n=this.options&&this.options.draggable;n&&(e.draggable=!0),this._register(l.h(this.element,d.a.Tap,function(e){return t.onClick(e)})),this._register(l.h(this.element,l.d.MOUSE_DOWN,function(e){n||l.c.stop(e,!0),t._action.enabled&&0===e.button&&t.element&&l.f(t.element,"active")})),this._register(l.h(this.element,l.d.CLICK,function(e){l.c.stop(e,!0),t.options&&t.options.isMenu?t.onClick(e):r.h(function(){return t.onClick(e)})})),this._register(l.h(this.element,l.d.DBLCLICK,function(e){l.c.stop(e,!0)})),[l.d.MOUSE_UP,l.d.MOUSE_OUT].forEach(function(e){t._register(l.h(t.element,e,function(e){l.c.stop(e),l.I(t.element,"active")}))})},t.prototype.onClick=function(e){var t;l.c.stop(e,!0),c.k(this._context)?t=e:(t=this._context,c.h(t)&&(t.event=e)),this._actionRunner.run(this._action,t)},t.prototype.focus=function(){this.element&&(this.element.focus(),l.f(this.element,"focused"))},t.prototype.blur=function(){this.element&&(this.element.blur(),l.I(this.element,"focused"))},t.prototype.updateEnabled=function(){},t.prototype.updateLabel=function(){},t.prototype.updateTooltip=function(){},t.prototype.updateClass=function(){},t.prototype.updateChecked=function(){},t.prototype.dispose=function(){this.element&&(l.K(this.element),this.element=void 0),e.prototype.dispose.call(this)},t}(a.a),m=function(e){function t(n){var i=e.call(this,t.ID,n,n?"separator text":"separator")||this;return i.checked=!1,i.radio=!1,i.enabled=!1,i}return f(t,e),t.ID="vs.actions.separator",t}(u.a),_=function(e){function t(t,n,i){void 0===i&&(i={});var o=e.call(this,t,n,i)||this;return o.options=i,o.options.icon=void 0!==i.icon&&i.icon,o.options.label=void 0===i.label||i.label,o.cssClass="",o}return f(t,e),t.prototype.render=function(t){e.prototype.render.call(this,t),this.element&&(this.label=l.m(this.element,l.a("a.action-label"))),this._action.id===m.ID?this.label.setAttribute("role","presentation"):this.options.isMenu?this.label.setAttribute("role","menuitem"):this.label.setAttribute("role","button"),this.options.label&&this.options.keybinding&&this.element&&(l.m(this.element,l.a("span.keybinding")).textContent=this.options.keybinding),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()},t.prototype.focus=function(){e.prototype.focus.call(this),this.label.focus()},t.prototype.updateLabel=function(){this.options.label&&(this.label.textContent=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.label.title=e)},t.prototype.updateClass=function(){this.cssClass&&l.J(this.label,this.cssClass),this.options.icon?(this.cssClass=this.getAction().class,l.f(this.label,"icon"),this.cssClass&&l.g(this.label,this.cssClass),this.updateEnabled()):l.I(this.label,"icon")},t.prototype.updateEnabled=function(){this.getAction().enabled?(this.label.removeAttribute("aria-disabled"),this.element&&l.I(this.element,"disabled"),l.I(this.label,"disabled"),this.label.tabIndex=0):(this.label.setAttribute("aria-disabled","true"),this.element&&l.f(this.element,"disabled"),l.f(this.label,"disabled"),l.L(this.label))},t.prototype.updateChecked=function(){this.getAction().checked?l.f(this.label,"checked"):l.I(this.label,"checked")},t}(g),v={orientation:0,context:null,triggerKeys:{keys:[3,10],keyDown:!1}},y=function(e){function t(t,n){void 0===n&&(n=v);var i,o,r=e.call(this)||this;switch(r._onDidBlur=r._register(new p.a),r.onDidBlur=r._onDidBlur.event,r._onDidCancel=r._register(new p.a),r.onDidCancel=r._onDidCancel.event,r._onDidRun=r._register(new p.a),r.onDidRun=r._onDidRun.event,r._onDidBeforeRun=r._register(new p.a),r.onDidBeforeRun=r._onDidBeforeRun.event,r.options=n,r._context=n.context,r.options.triggerKeys||(r.options.triggerKeys=v.triggerKeys),r.options.actionRunner?r._actionRunner=r.options.actionRunner:(r._actionRunner=new u.b,r._register(r._actionRunner)),r._register(r._actionRunner.onDidRun(function(e){return r._onDidRun.fire(e)})),r._register(r._actionRunner.onDidBeforeRun(function(e){return r._onDidBeforeRun.fire(e)})),r.viewItems=[],r.focusedItem=void 0,r.domNode=document.createElement("div"),r.domNode.className="monaco-action-bar",!1!==n.animated&&l.f(r.domNode,"animated"),r.options.orientation){case 0:i=15,o=17;break;case 1:i=17,o=15,r.domNode.className+=" reverse";break;case 2:i=16,o=18,r.domNode.className+=" vertical";break;case 3:i=18,o=16,r.domNode.className+=" vertical reverse"}return r._register(l.h(r.domNode,l.d.KEY_DOWN,function(e){var t=new h.a(e),n=!0;t.equals(i)?r.focusPrevious():t.equals(o)?r.focusNext():t.equals(9)?r.cancel():r.isTriggerKeyEvent(t)?r.options.triggerKeys&&r.options.triggerKeys.keyDown&&r.doTrigger(t):n=!1,n&&(t.preventDefault(),t.stopPropagation())})),r._register(l.h(r.domNode,l.d.KEY_UP,function(e){var t=new h.a(e);r.isTriggerKeyEvent(t)?(r.options.triggerKeys&&!r.options.triggerKeys.keyDown&&r.doTrigger(t),t.preventDefault(),t.stopPropagation()):(t.equals(2)||t.equals(1026))&&r.updateFocusedItem()})),r.focusTracker=r._register(l.S(r.domNode)),r._register(r.focusTracker.onDidBlur(function(){document.activeElement!==r.domNode&&l.E(document.activeElement,r.domNode)||(r._onDidBlur.fire(),r.focusedItem=void 0)})),r._register(r.focusTracker.onDidFocus(function(){return r.updateFocusedItem()})),r.actionsList=document.createElement("ul"),r.actionsList.className="actions-container",r.actionsList.setAttribute("role","toolbar"),r.options.ariaLabel&&r.actionsList.setAttribute("aria-label",r.options.ariaLabel),r.domNode.appendChild(r.actionsList),t.appendChild(r.domNode),r}return f(t,e),t.prototype.isTriggerKeyEvent=function(e){var t=!1;return this.options.triggerKeys&&this.options.triggerKeys.keys.forEach(function(n){t=t||e.equals(n)}),t},t.prototype.updateFocusedItem=function(){for(var e=0;e=n.actionsList.children.length?(n.actionsList.appendChild(r),n.viewItems.push(i)):(n.actionsList.insertBefore(r,n.actionsList.children[o]),n.viewItems.splice(o,0,i),o++)})},t.prototype.clear=function(){this.viewItems=Object(a.f)(this.viewItems),l.p(this.actionsList)},t.prototype.isEmpty=function(){return 0===this.viewItems.length},t.prototype.focus=function(e){var t=!1,n=void 0;void 0===e?t=!0:"number"==typeof e?n=e:"boolean"==typeof e&&(t=e),t&&void 0===this.focusedItem?(this.focusedItem=this.viewItems.length-1,this.focusNext()):(void 0!==n&&(this.focusedItem=n),this.updateFocus())},t.prototype.focusNext=function(){void 0===this.focusedItem&&(this.focusedItem=this.viewItems.length-1);var e,t=this.focusedItem;do{this.focusedItem=(this.focusedItem+1)%this.viewItems.length,e=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&!e.isEnabled());this.focusedItem!==t||e.isEnabled()||(this.focusedItem=void 0),this.updateFocus()},t.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.viewItems.length-1),e=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&!e.isEnabled());this.focusedItem!==t||e.isEnabled()||(this.focusedItem=void 0),this.updateFocus(!0)},t.prototype.updateFocus=function(e){void 0===this.focusedItem&&this.actionsList.focus();for(var t=0;t=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},g=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},m=function(e){function t(t,n,i,o,r,s,a,u,l,c){var d=e.call(this,t,i.getRawConfiguration(),{},o,r,s,a,u,l,c)||this;return d._parentEditor=i,d._overwriteOptions=n,e.prototype.updateOptions.call(d,d._overwriteOptions),d._register(i.onDidChangeConfiguration(function(e){return d._onParentConfigurationChanged(e)})),d}return p(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){o.g(this._overwriteOptions,t,!0),e.prototype.updateOptions.call(this,this._overwriteOptions)},t=f([g(3,l.a),g(4,r.a),g(5,a.b),g(6,u.c),g(7,d.c),g(8,c.a),g(9,h.b)],t)}(s.a)},ItKl:function(e,t,n){"use strict";n.d(t,"b",function(){return l}),n.d(t,"a",function(){return c});var i=n("tqet"),o=n("KIxu"),r=n("JVO/"),s=n("Kp7x"),a=n("EMhq"),u=n("WTFd"),l=Object(r.c)("commandService"),c=new(function(){function e(){this._commands=new Map,this._onDidRegisterCommand=new s.a,this.onDidRegisterCommand=this._onDidRegisterCommand.event}return e.prototype.registerCommand=function(e,t){var n=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=[],s=0,u=e.description.args;s1)&&l.fire(e),u=0},n)})},onLastListenerRemove:function(){r.dispose()}});return l.event},e.stopwatch=function(e){var i=(new Date).getTime();return n(t(e),function(e){return(new Date).getTime()-i})},e.latch=u,e.buffer=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=[]);var i=n.slice(),o=e(function(e){i?i.push(e):s.fire(e)}),r=function(){i&&i.forEach(function(e){return s.fire(e)}),i=null},s=new h({onFirstListenerAdd:function(){o||(o=e(function(e){return s.fire(e)}))},onFirstListenerDidAdd:function(){i&&(t?setTimeout(r):r())},onLastListenerRemove:function(){o&&o.dispose(),o=null}});return s.event};var l=function(){function e(e){this.event=e}return e.prototype.map=function(t){return new e(n(this.event,t))},e.prototype.forEach=function(t){return new e(i(this.event,t))},e.prototype.filter=function(t){return new e(o(this.event,t))},e.prototype.reduce=function(t,n){return new e(r(this.event,t,n))},e.prototype.latch=function(){return new e(u(this.event))},e.prototype.on=function(e,t,n){return this.event(e,t,n)},e.prototype.once=function(e,n,i){return t(this.event)(e,n,i)},e}();e.chain=function(e){return new l(e)},e.fromNodeEventEmitter=function(e,t,n){void 0===n&&(n=function(e){return e});var i=function(){for(var e=[],t=0;t0?new d(this._options&&this._options.leakWarningThreshold):void 0}return Object.defineProperty(e.prototype,"event",{get:function(){var t=this;return this._event||(this._event=function(n,i,o){t._listeners||(t._listeners=new u.a);var r=t._listeners.isEmpty();r&&t._options&&t._options.onFirstListenerAdd&&t._options.onFirstListenerAdd(t);var s,l,c=t._listeners.push(i?[n,i]:n);return r&&t._options&&t._options.onFirstListenerDidAdd&&t._options.onFirstListenerDidAdd(t),t._options&&t._options.onListenerDidAdd&&t._options.onListenerDidAdd(t,n,i),t._leakageMon&&(s=t._leakageMon.check(t._listeners.size)),l={dispose:function(){(s&&s(),l.dispose=e._noop,t._disposed)||(c(),t._options&&t._options.onLastListenerRemove&&(t._listeners&&!t._listeners.isEmpty()||t._options.onLastListenerRemove(t)))}},o instanceof a.b?o.add(l):Array.isArray(o)&&o.push(l),l}),this._event},enumerable:!0,configurable:!0}),e.prototype.fire=function(e){if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new u.a);for(var t=this._listeners.iterator(),n=t.next();!n.done;n=t.next())this._deliveryQueue.push([n.value,e]);for(;this._deliveryQueue.size>0;){var i=this._deliveryQueue.shift(),o=i[0],s=i[1];try{"function"==typeof o?o.call(void 0,s):o[0].call(o[1],s)}catch(n){Object(r.e)(n)}}}},e.prototype.dispose=function(){this._listeners&&this._listeners.clear(),this._deliveryQueue&&this._deliveryQueue.clear(),this._leakageMon&&this._leakageMon.dispose(),this._disposed=!0},e._noop=function(){},e}(),p=function(e){function t(t){var n=e.call(this,t)||this;return n._isPaused=0,n._eventQueue=new u.a,n._mergeFn=t&&t.merge,n}return l(t,e),t.prototype.pause=function(){this._isPaused++},t.prototype.resume=function(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){var t=this._eventQueue.toArray();this._eventQueue.clear(),e.prototype.fire.call(this,this._mergeFn(t))}else for(;!this._isPaused&&0!==this._eventQueue.size;)e.prototype.fire.call(this,this._eventQueue.shift())},t.prototype.fire=function(t){this._listeners&&(0!==this._isPaused?this._eventQueue.push(t):e.prototype.fire.call(this,t))},t}(h),f=function(){function e(){var e=this;this.hasListeners=!1,this.events=[],this.emitter=new h({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,n={event:e,listener:null};this.events.push(n),this.hasListeners&&this.hook(n);return Object(a.h)(Object(s.a)(function(){t.hasListeners&&t.unhook(n);var e=t.events.indexOf(n);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&&e.listener.dispose(),e.listener=null},e.prototype.dispose=function(){this.emitter.dispose()},e}(),g=function(){function e(){this.buffers=[]}return e.prototype.wrapEvent=function(e){var t=this;return function(n,i,o){return e(function(e){var o=t.buffers[t.buffers.length-1];o?o.push(function(){return n.call(i,e)}):n.call(i,e)},void 0,o)}},e.prototype.bufferEvents=function(e){var t=[];this.buffers.push(t);var n=e();return this.buffers.pop(),t.forEach(function(e){return e()}),n},e}(),m=function(){function e(){var e=this;this.listening=!1,this.inputEvent=o.None,this.inputEventListener=a.a.None,this.emitter=new h({onFirstListenerDidAdd:function(){e.listening=!0,e.inputEventListener=e.inputEvent(e.emitter.fire,e.emitter)},onLastListenerRemove:function(){e.listening=!1,e.inputEventListener.dispose()}}),this.event=this.emitter.event}return Object.defineProperty(e.prototype,"input",{set:function(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.inputEventListener.dispose(),this.emitter.dispose()},e}()},Kx4b:function(e,t,n){"use strict";n.d(t,"a",function(){return a});var i=n("uNfg"),o=n("ZfGv"),r=n("ItKl"),s=n("RWr8"),a=new(function(){function e(){this._coreKeybindings=[],this._extensionKeybindings=[],this._cachedMergedKeybindings=null}return e.bindToCurrentPlatform=function(e){if(1===o.a){if(e&&e.win)return e.win}else if(2===o.a){if(e&&e.mac)return e.mac}else if(e&&e.linux)return e.linux;return e},e.prototype.registerKeybindingRule=function(t){var n=e.bindToCurrentPlatform(t);n&&n.primary&&((a=Object(i.f)(n.primary,o.a))&&this._registerDefaultKeybinding(a,t.id,void 0,t.weight,0,t.when));if(n&&Array.isArray(n.secondary))for(var r=0,s=n.secondary.length;r=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,n){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 ",n)},e.prototype._registerDefaultKeybinding=function(e,t,n,i,r,s){1===o.a&&this._assertNoCtrlAlt(e.parts[0],t),this._coreKeybindings.push({keybinding:e,command:t,commandArgs:n,when:s,weight1:i,weight2:r}),this._cachedMergedKeybindings=null},e.prototype.getDefaultKeybindings=function(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=[].concat(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(u)),this._cachedMergedKeybindings.slice(0)},e}());function u(e,t){return e.weight1!==t.weight1?e.weight1-t.weight1:e.commandt.command?1:e.weight2-t.weight2}s.a.add("platform.keybindingsRegistry",a)},L5KM:function(e,t,n){"use strict";n.d(t,"a",function(){return l}),t._36=d,n.d(t,"T",function(){return f}),n.d(t,"R",function(){return g}),n.d(t,"S",function(){return m}),n.d(t,"e",function(){return _}),n.d(t,"b",function(){return v}),n.d(t,"_46",function(){return y}),n.d(t,"_45",function(){return b}),n.d(t,"_48",function(){return C}),n.d(t,"W",function(){return w}),n.d(t,"Y",function(){return S}),n.d(t,"X",function(){return L}),n.d(t,"V",function(){return O}),n.d(t,"U",function(){return E}),n.d(t,"_2",function(){return N}),n.d(t,"_4",function(){return x}),n.d(t,"_3",function(){return I}),n.d(t,"_5",function(){return D}),n.d(t,"_7",function(){return k}),n.d(t,"_6",function(){return T}),n.d(t,"Z",function(){return M}),n.d(t,"_1",function(){return R}),n.d(t,"_0",function(){return A}),n.d(t,"_14",function(){return W}),n.d(t,"_15",function(){return j}),n.d(t,"_8",function(){return V}),n.d(t,"_9",function(){return B}),n.d(t,"_20",function(){return H}),n.d(t,"_21",function(){return z}),n.d(t,"_19",function(){return U}),n.d(t,"_17",function(){return K}),n.d(t,"_18",function(){return q}),n.d(t,"_10",function(){return G}),n.d(t,"_16",function(){return Z}),n.d(t,"_11",function(){return Y}),n.d(t,"_13",function(){return X}),n.d(t,"_12",function(){return J}),n.d(t,"_47",function(){return Q}),n.d(t,"_34",function(){return $}),n.d(t,"_33",function(){return ee}),n.d(t,"c",function(){return te}),n.d(t,"d",function(){return ne}),n.d(t,"_37",function(){return ie}),n.d(t,"_39",function(){return oe}),n.d(t,"_40",function(){return re}),n.d(t,"_38",function(){return se}),n.d(t,"_35",function(){return ae}),n.d(t,"_23",function(){return ue}),n.d(t,"_24",function(){return le}),n.d(t,"_22",function(){return ce}),n.d(t,"_27",function(){return de}),n.d(t,"_25",function(){return he}),n.d(t,"_26",function(){return pe}),n.d(t,"_28",function(){return fe}),n.d(t,"q",function(){return ge}),n.d(t,"p",function(){return me}),n.d(t,"M",function(){return _e}),n.d(t,"L",function(){return ve}),n.d(t,"G",function(){return ye}),n.d(t,"F",function(){return be}),n.d(t,"z",function(){return Ce}),n.d(t,"y",function(){return we}),n.d(t,"o",function(){return Se}),n.d(t,"x",function(){return Le}),n.d(t,"N",function(){return Oe}),n.d(t,"P",function(){return Ee}),n.d(t,"O",function(){return Ne}),n.d(t,"Q",function(){return xe}),n.d(t,"H",function(){return Ie}),n.d(t,"I",function(){return De}),n.d(t,"E",function(){return ke}),n.d(t,"J",function(){return Te}),n.d(t,"K",function(){return Me}),n.d(t,"r",function(){return Re}),n.d(t,"t",function(){return Ae}),n.d(t,"v",function(){return Pe}),n.d(t,"s",function(){return Fe}),n.d(t,"u",function(){return We}),n.d(t,"w",function(){return je}),n.d(t,"C",function(){return Ve}),n.d(t,"A",function(){return Be}),n.d(t,"B",function(){return He}),n.d(t,"D",function(){return ze}),n.d(t,"n",function(){return Ue}),n.d(t,"g",function(){return Ke}),n.d(t,"h",function(){return qe}),n.d(t,"j",function(){return Ge}),n.d(t,"l",function(){return Ze}),n.d(t,"k",function(){return Ye}),n.d(t,"m",function(){return Xe}),n.d(t,"i",function(){return Je}),n.d(t,"_43",function(){return Qe}),n.d(t,"_44",function(){return $e}),n.d(t,"_41",function(){return et}),n.d(t,"_42",function(){return tt}),n.d(t,"_31",function(){return nt}),n.d(t,"_32",function(){return it}),n.d(t,"_29",function(){return ot}),t.f=rt,t._30=function(){for(var e=[],t=0;te.length)return!1;for(var o=0;o=65&&r<=90&&r+32===s||s>=65&&s<=90&&s+32===r))return!1}return!0},e.prototype._createOperationsForBlockComment=function(t,n,i,o,r){var s,a=t.startLineNumber,u=t.startColumn,l=t.endLineNumber,d=t.endColumn,h=o.getLineContent(a),p=o.getLineContent(l),f=h.lastIndexOf(n,u-1+n.length),g=p.indexOf(i,d-1-i.length);if(-1!==f&&-1!==g)if(a===l){h.substring(f+n.length,g).indexOf(i)>=0&&(f=-1,g=-1)}else{var m=h.substring(f+n.length),_=p.substring(0,g);(m.indexOf(i)>=0||_.indexOf(i)>=0)&&(f=-1,g=-1)}-1!==f&&-1!==g?(f+n.length0&&32===p.charCodeAt(g-1)&&(i=" "+i,g-=1),s=e._createRemoveBlockCommentOperations(new c.a(a,f+n.length+1,l,g+1),n,i)):(s=e._createAddBlockCommentOperations(t,n,i),this._usedEndToken=1===s.length?i:null);for(var v=0,y=s;va?r-1:r}},e}(),m=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),_=function(e){function t(t,n){var i=e.call(this,n)||this;return i._type=t,i}return m(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getModel(),i=[],o=t.getSelections(),r=n.getOptions(),s=0,a=o;s0&&"#"===n.charAt(n.length-1)?n.substring(0,n.length-1):n)]=t,this._onDidChangeSchema.fire(e)},e.prototype.notifySchemaChanged=function(e){this._onDidChangeSchema.fire(e)},e}());i.a.add(r.JSONContribution,s)},M1c9:function(e,t){e.exports=function(e,t,n){var i=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var r=Array(o);++i'),O=encodeURIComponent(''),N=encodeURIComponent(''),I=encodeURIComponent(''),k=encodeURIComponent(''),M=encodeURIComponent('');function A(e,t){return"."+i.className(e).split(" ").join(".")+' { background: url("data:image/svg+xml,'+i.getSVGData(e,t)+'") center center no-repeat; height: 16px; width: 16px; }'}!function(e){e.getSVGData=function(e,t){switch(e){case w.a.Ignore:var n=t.type===d.d?g.a.fromHex("#75BEFF"):g.a.fromHex("#007ACC");return t.type===d.d?k+encodeURIComponent(n.toString())+T:M+encodeURIComponent(n.toString())+R;case w.a.Info:var i=t.type===d.d?g.a.fromHex("#007ACC"):g.a.fromHex("#75BEFF");return t.type===d.d?k+encodeURIComponent(i.toString())+T:M+encodeURIComponent(i.toString())+R;case w.a.Warning:var o=t.type===d.d?g.a.fromHex("#DDB100"):g.a.fromHex("#fc0");return t.type===d.d?N+encodeURIComponent(o.toString())+x:I+encodeURIComponent(o.toString())+D;case w.a.Error:var r=t.type===d.d?g.a.fromHex("#A1260D"):g.a.fromHex("#F48771");return t.type===d.d?S+encodeURIComponent(r.toString())+L:O+encodeURIComponent(r.toString())+E}return""},e.className=function(e){switch(e){case w.a.Ignore:return"severity-icon severity-ignore";case w.a.Info:return"severity-icon severity-info";case w.a.Warning:return"severity-icon severity-warning";case w.a.Error:return"severity-icon severity-error"}return""}}(i||(i={})),Object(d.f)(function(e,t){t.addRule(A(w.a.Error,e)),t.addRule(A(w.a.Warning,e)),t.addRule(A(w.a.Info,e)),t.addRule(A(w.a.Ignore,e))});var P,F=this&&this.__extends||(P=function(e,t){return(P=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}P(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),W=function(){function e(e,t,n){var i=this;this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=[],this._editor=t;var o=document.createElement("div");o.className="descriptioncontainer",o.setAttribute("aria-live","assertive"),o.setAttribute("role","alert"),this._messageBlock=document.createElement("div"),p.f(this._messageBlock,"message"),o.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),o.appendChild(this._relatedBlock),this._disposables.push(p.k(this._relatedBlock,"click",function(e){e.preventDefault();var t=i._relatedDiagnostics.get(e.target);t&&n(t)})),this._scrollable=new m.b(o,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:3,verticalScrollbarSize:3}),e.appendChild(this._scrollable.getDomNode()),this._disposables.push(this._scrollable.onScroll(function(e){o.style.left="-"+e.scrollLeft+"px",o.style.top="-"+e.scrollTop+"px"})),this._disposables.push(this._scrollable)}return e.prototype.dispose=function(){Object(s.f)(this._disposables)},e.prototype.update=function(e){var t=e.source,n=e.message,i=e.relatedInformation,o=e.code,r=n.split(/\r\n|\r|\n/g);this._lines=r.length,this._longestLineLength=0;for(var s=0,a=r;s1?o.a("problems","{0} of {1} problems",n,r):o.a("change","{0} of {1} problem",n,r);this.setTitle(Object(b.b)(d.uri),h)}this._icon.className=i.className(u.c.toSeverity(this._severity)),this.editor.revealPositionInCenter(c,0)},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._doLayoutBody=function(t,n){e.prototype._doLayoutBody.call(this,t,n),this._heightInPixel=t,this._message.layout(t,n),this._container.style.height=t+"px"},t.prototype._onWidth=function(e){this._message.layout(this._heightInPixel,e)},t.prototype._relayout=function(){e.prototype._relayout.call(this,this.computeRequiredHeight())},t.prototype.computeRequiredHeight=function(){return 3+this._message.getHeightInLines()},t}(y.c),V=Object(f._30)(f.q,f.p),B=Object(f._30)(f.M,f.L),H=Object(f._30)(f.G,f.F),z=Object(f._36)("editorMarkerNavigationError.background",{dark:V,light:V,hc:V},o.a("editorMarkerNavigationError","Editor marker navigation widget error color.")),U=Object(f._36)("editorMarkerNavigationWarning.background",{dark:B,light:B,hc:B},o.a("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),K=Object(f._36)("editorMarkerNavigationInfo.background",{dark:H,light:H,hc:H},o.a("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),q=Object(f._36)("editorMarkerNavigation.background",{dark:"#2D2D30",light:g.a.white,hc:"#0C141F"},o.a("editorMarkerNavigationBackground","Editor marker navigation widget background."));Object(d.f)(function(e,t){var n=e.getColor(f._46);n&&t.addRule(".monaco-editor .marker-widget a { color: "+n+"; }")});var G=n("aL7J"),Z=n("vORD"),Y=n("zxiH"),X=n("C3c5"),J=n("AKCZ"),Q=n("NqM+");n.d(t,"MarkerController",function(){return re}),n.d(t,"NextMarkerAction",function(){return ae});var $=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ee=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},te=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ne=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},ie=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=0?this._markers[this._nextIdx]:void 0;this._markers=e||[],this._markers.sort(se.compareMarker),this._nextIdx=t?Math.max(-1,Object(v.c)(this._markers,t,se.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,n=this._editor.getPosition(),i=0;i0?this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length:i=!0),n!==this._nextIdx){var o=this._markers[this._nextIdx];this._onCurrentMarkerChanged.fire(o)}return i},e.prototype.canNavigate=function(){return this._markers.length>0},e.prototype.findMarkerAtPosition=function(e){for(var t=0,n=this._markers;t=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},b=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},C=function(e){function t(t,n,i){var o=e.call(this)||this;return o._editor=t,o._codeEditorService=n,o._configurationService=i,o._localToDispose=o._register(new l.b),o._decorationsIds=[],o._colorDatas=new Map,o._colorDecoratorIds=[],o._decorationsTypes=new Set,o._register(t.onDidChangeModel(function(e){o._isEnabled=o.isEnabled(),o.onModelChanged()})),o._register(t.onDidChangeModelLanguage(function(e){return o.onModelChanged()})),o._register(f.c.onDidChange(function(e){return o.onModelChanged()})),o._register(t.onDidChangeConfiguration(function(e){var t=o._isEnabled;o._isEnabled=o.isEnabled(),t!==o._isEnabled&&(o._isEnabled?o.onModelChanged():o.removeAllDecorations())})),o._timeoutTimer=null,o._computePromise=null,o._isEnabled=o.isEnabled(),o.onModelChanged(),o}return v(t,e),t.prototype.isEnabled=function(){var e=this._editor.getModel();if(!e)return!1;var t=e.getLanguageIdentifier(),n=this._configurationService.getValue(t.language);if(n){var i=n.colorDecorators;if(i&&void 0!==i.enable&&!i.enable)return i.enable}return this._editor.getConfiguration().contribInfo.colorDecorators},t.prototype.getId=function(){return t.ID},t.get=function(e){return e.getContribution(this.ID)},t.prototype.dispose=function(){this.stop(),this.removeAllDecorations(),e.prototype.dispose.call(this)},t.prototype.onModelChanged=function(){var e=this;if(this.stop(),this._isEnabled){var n=this._editor.getModel();n&&f.c.has(n)&&(this._localToDispose.add(this._editor.onDidChangeModelContent(function(n){e._timeoutTimer||(e._timeoutTimer=new i.e,e._timeoutTimer.cancelAndSet(function(){e._timeoutTimer=null,e.beginCompute()},t.RECOMPUTE_TIME))})),this.beginCompute())}},t.prototype.beginCompute=function(){var e=this;this._computePromise=Object(i.f)(function(t){var n=e._editor.getModel();return n?Object(g.b)(n,t):Promise.resolve([])}),this._computePromise.then(function(t){e.updateDecorations(t),e.updateColorDecorators(t),e._computePromise=null},r.e)},t.prototype.stop=function(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()},t.prototype.updateDecorations=function(e){var t=this,n=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,n),this._colorDatas=new Map,this._decorationsIds.forEach(function(n,i){return t._colorDatas.set(n,e[i])})},t.prototype.updateColorDecorators=function(e){for(var t=this,n=[],i={},r=0;rthis.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.lineNumber0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=e._maxRounds){t();break}if(!o){t();break}var l=i.findNextBracket(o);if(!l){t();break}if(Date.now()-u>e._maxDuration){setTimeout(function(){return e._bracketsRightYield(t,n+1,i,o,s)});break}var c=l.close;if(l.isOpen){var d=a.has(c)?a.get(c):0;a.set(c,d+1)}else{d=a.has(c)?a.get(c):0;if(d-=1,a.set(c,Math.max(0,d)),d<0){var h=s.get(c);h||(h=new r.a,s.set(c,h)),h.push(l.range)}}o=l.range.getEndPosition()}},e._bracketsLeftYield=function(t,n,i,r,s,a){for(var u=new Map,l=Date.now();;){if(n>=e._maxRounds&&0===s.size){t();break}if(!r){t();break}var c=i.findPrevBracket(r);if(!c){t();break}if(Date.now()-l>e._maxDuration){setTimeout(function(){return e._bracketsLeftYield(t,n+1,i,r,s,a)});break}var d=c.close;if(c.isOpen){m=u.has(d)?u.get(d):0;if(m-=1,u.set(d,Math.max(0,m)),m<0){var h=s.get(d);if(h){var p=h.shift();0===h.size&&s.delete(d);var f=o.a.fromPositions(c.range.getEndPosition(),p.getStartPosition()),g=o.a.fromPositions(c.range.getStartPosition(),p.getEndPosition());a.push({range:f}),a.push({range:g}),e._addBracketLeading(i,g,a)}}}else{var m=u.has(d)?u.get(d):0;u.set(d,m+1)}r=c.range.getStartPosition()}},e._addBracketLeading=function(e,t,n){if(t.startLineNumber!==t.endLineNumber){var r=t.startLineNumber,s=e.getLineFirstNonWhitespaceColumn(r);0!==s&&s!==t.startColumn&&(n.push({range:o.a.fromPositions(new i.a(r,s),t.getEndPosition())}),n.push({range:o.a.fromPositions(new i.a(r,1),t.getEndPosition())}));var a=r-1;if(a>0){var u=e.getLineFirstNonWhitespaceColumn(a);u===t.startColumn&&u!==e.getLineLastNonWhitespaceColumn(a)&&(n.push({range:o.a.fromPositions(new i.a(a,u),t.getEndPosition())}),n.push({range:o.a.fromPositions(new i.a(a,1),t.getEndPosition())}))}}},e._maxDuration=30,e._maxRounds=2,e}()},NkRn:function(e,t,n){var i=n("TQ3y").Symbol;e.exports=i},"NqM+":function(e,t,n){"use strict";n.d(t,"a",function(){return o});var i=n("JVO/"),o=Object(i.c)("keybindingService")},Nr0y:function(e,t,n){"use strict";var i,o=n("hK2W"),r=n("aL7J");!function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(i||(i={})),function(e){var t="error",n="warning",i="warn",s="info",a=Object.create(null);a[e.Error]=o.a("sev.error","Error"),a[e.Warning]=o.a("sev.warning","Warning"),a[e.Info]=o.a("sev.info","Info"),e.fromValue=function(o){return o?r.n(t,o)?e.Error:r.n(n,o)||r.n(i,o)?e.Warning:r.n(s,o)?e.Info:e.Ignore:e.Ignore}}(i||(i={})),t.a=i},Ny4g:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o,r,s,a,u,l,c,d,h,p,f,g,m,_,v,y,b,C,w,S,L,O,E,N,x,I,D,k,T,M=n("iXRW"),R=(n("tZcU"),n("80kS")),A=n("Kp7x"),P=n("uNfg"),F=n("mrx5"),W=n("artP"),j=n("vTy2"),V=n("iHM7"),B=n("c6Qy");!function(e){e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated"}(i||(i={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(o||(o={})),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"}(r||(r={})),function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(s||(s={})),function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"}(a||(a={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(u||(u={})),function(e){e[e.Inline=1]="Inline"}(l||(l={})),function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(c||(c={})),function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(d||(d={})),function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(h||(h={})),function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(p||(p={})),function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"}(f||(f={})),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"}(g||(g={})),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"}(m||(m={})),function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"}(_||(_={})),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"}(v||(v={})),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"}(y||(y={})),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"}(b||(b={})),function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(C||(C={})),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"}(w||(w={})),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"}(S||(S={})),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(L||(L={})),function(e){e[e.Method=0]="Method",e[e.Function=1]="Function",e[e.Constructor=2]="Constructor",e[e.Field=3]="Field",e[e.Variable=4]="Variable",e[e.Class=5]="Class",e[e.Struct=6]="Struct",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Event=10]="Event",e[e.Operator=11]="Operator",e[e.Unit=12]="Unit",e[e.Value=13]="Value",e[e.Constant=14]="Constant",e[e.Enum=15]="Enum",e[e.EnumMember=16]="EnumMember",e[e.Keyword=17]="Keyword",e[e.Text=18]="Text",e[e.Color=19]="Color",e[e.File=20]="File",e[e.Reference=21]="Reference",e[e.Customcolor=22]="Customcolor",e[e.Folder=23]="Folder",e[e.TypeParameter=24]="TypeParameter",e[e.Snippet=25]="Snippet"}(O||(O={})),function(e){e[e.Deprecated=1]="Deprecated"}(E||(E={})),function(e){e[e.KeepWhitespace=1]="KeepWhitespace",e[e.InsertAsSnippet=4]="InsertAsSnippet"}(N||(N={})),function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(x||(x={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(I||(I={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(D||(D={})),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"}(k||(k={})),function(e){e[e.Deprecated=1]="Deprecated"}(T||(T={}));var H=function(){function e(){}return e.chord=function(e,t){return Object(P.a)(e,t)},e.CtrlCmd=2048,e.Shift=1024,e.Alt=512,e.WinCtrl=256,e}();function z(){return{editor:void 0,languages:void 0,CancellationTokenSource:R.b,Emitter:A.a,KeyCode:r,KeyMod:H,Position:W.a,Range:j.a,Selection:V.a,SelectionDirection:s,MarkerSeverity:o,MarkerTag:i,Uri:F.a,Token:B.a}}n("gvGx");var U,K=n("vORD"),q=n("7/Cv"),G=n("tqet"),Z=n("EMhq"),Y=n("+vUW"),X=n("lapT"),J=n("ZYUE"),Q=n("aL7J"),$=n("ItKl"),ee=this&&this.__extends||(U=function(e,t){return(U=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}U(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),te=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},ne=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ie=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},oe=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=this.ranges.length&&(this.nextIdx=0)):(this.nextIdx-=1,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));var n=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{var i=n.range.getStartPosition();this._editor.setPosition(i),this._editor.revealPositionInCenter(i,t)}finally{this.ignoreSelectionChange=!1}}},t.prototype.canNavigate=function(){return this.ranges&&this.ranges.length>0},t.prototype.next=function(e){void 0===e&&(e=0),this._move(!0,e)},t.prototype.previous=function(e){void 0===e&&(e=0),this._move(!1,e)},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.ranges=[],this.disposed=!0},t}(G.a),de=n("5lao"),he=n("33h2"),pe=n("D2uo"),fe=n("PCC9"),ge=n("jUH2"),me=n("606G"),_e=n("B/Xy"),ve=n("odeJ"),ye=n("zxiH"),be=n("ZfGv"),Ce=n("KIxu"),we=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Se="$initialize",Le=!1;function Oe(e){be.f&&(Le||(Le=!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 Ee=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 n=this,i=String(++this._lastSentReq);return new Promise(function(o,r){n._pendingReplies[i]={resolve:o,reject:r},n._send({vsWorker:n._workerId,req:i,method:e,args:t})})},e.prototype.handleMessage=function(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))},e.prototype._handleMessage=function(e){var t=this;if(e.seq){var n=e;if(!this._pendingReplies[n.seq])return void console.warn("Got reply to unknown seq");var i=this._pendingReplies[n.seq];if(delete this._pendingReplies[n.seq],n.err){var o=n.err;return n.err.$isError&&((o=new Error).name=n.err.name,o.message=n.err.message,o.stack=n.err.stack),void i.reject(o)}i.resolve(n.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(ye.g)(e.detail)),t._send({vsWorker:t._workerId,seq:s,res:void 0,err:Object(ye.g)(e)})})}},e.prototype._send=function(e){var t=[];if(e.req)for(var n=e,i=0;i1&&f>1;){if(d.charCodeAt(p-2)!==h.charCodeAt(f-2))break;p--,f--}(p>1||f>1)&&this._pushTrimWhitespaceCharChange(o,r+1,1,p,s+1,1,f);for(var g=Fe._getLastNonBlankColumn(d,1),m=Fe._getLastNonBlankColumn(h,1),_=d.length+1,v=h.length+1;g<_&&mt&&(t=a),s>n&&(n=s),u>n&&(n=u)}t++,n++;var l=new qe.a(n,t,0);for(i=0,o=e.length;i=this._maxCharCode?0:this._states.get(e,t)},e}(),Ze=null;var Ye=null;var Xe=function(){function e(){}return e._createLink=function(e,t,n,i,o){var r=o-1;do{var s=t.charCodeAt(r);if(2!==e.get(s))break;r--}while(r>i);if(i>0){var a=t.charCodeAt(i-1),u=t.charCodeAt(r);(40===a&&41===u||91===a&&93===u||123===a&&125===u)&&r--}return{range:{startLineNumber:n,startColumn:i+1,endLineNumber:n,endColumn:r+2},url:t.substring(i,r+1)}},e.computeLinks=function(t,n){void 0===n&&(null===Ze&&(Ze=new Ge([[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]])),n=Ze);for(var i=function(){if(null===Ye){Ye=new Ke.a(0);for(var e=0;e<" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".length;e++)Ye.set(" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".charCodeAt(e),1);for(e=0;e<".,;".length;e++)Ye.set(".,;".charCodeAt(e),2)}return Ye}(),o=[],r=1,s=t.getLineCount();r<=s;r++){for(var a=t.getLineContent(r),u=a.length,l=0,c=0,d=0,h=1,p=!1,f=!1,g=!1;l=0?((i+=n?1:-1)<0?i=e.length-1:i%=e.length,e[i]):null},e.INSTANCE=new e,e}(),Qe=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),$e=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Qe(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 n=Object(Ue.d)(e.column,Object(Ue.c)(t),this._lines[e.lineNumber-1],0);return n?new j.a(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null},t.prototype.getWordUntilPosition=function(e,t){var n=this.getWordAtPosition(e,t);return n?{word:this._lines[e.lineNumber-1].substring(n.startColumn-1,e.column-1),startColumn:n.startColumn,endColumn:e.column}:{word:"",startColumn:e.column,endColumn:e.column}},t.prototype.createWordIterator=function(e){var t,n,i=this,o=0,r=0,s=[],a=function(){if(r=i._lines.length?Me.c:(n=i._lines[o],s=i._wordenize(n,e),r=0,o+=1,a())};return{next:a}},t.prototype.getLineWords=function(e,t){for(var n=this._lines[e-1],i=[],o=0,r=this._wordenize(n,t);othis._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,i=!0;else{var o=this._lines[t-1].length+1;n<1?(n=1,i=!0):n>o&&(n=o,i=!0)}return i?{lineNumber:t,column:n}:e},t}(ze),et=function(){function e(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}return e.prototype.dispose=function(){this._models=Object.create(null)},e.prototype._getModel=function(e){return this._models[e]},e.prototype._getModels=function(){var e=this,t=[];return Object.keys(this._models).forEach(function(n){return t.push(e._models[n])}),t},e.prototype.acceptNewModel=function(e){this._models[e.url]=new $e(F.a.parse(e.url),e.lines,e.EOL,e.versionId)},e.prototype.acceptModelChanged=function(e,t){this._models[e]&&this._models[e].onEvents(t)},e.prototype.acceptRemovedModel=function(e){this._models[e]&&delete this._models[e]},e.prototype.computeDiff=function(e,t,n){var i=this._getModel(e),o=this._getModel(t);if(!i||!o)return Promise.resolve(null);var r=i.getLinesContent(),s=o.getLinesContent(),a=new Be(r,s,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0}).computeDiff(),u=!(a.length>0)&&this._modelsAreIdentical(i,o);return Promise.resolve({identical:u,changes:a})},e.prototype._modelsAreIdentical=function(e,t){var n=e.getLineCount();if(n!==t.getLineCount())return!1;for(var i=1;i<=n;i++){if(e.getLineContent(i)!==t.getLineContent(i))return!1}return!0},e.prototype.computeMoreMinimalEdits=function(t,n){var i=this._getModel(t);if(!i)return Promise.resolve(n);for(var o=[],r=void 0,s=0,a=n=Object(ke.o)(n,function(e,t){return e.range&&t.range?j.a.compareRangesUsingStarts(e.range,t.range):(e.range?0:1)-(t.range?0:1)});se._diffLimit)o.push({range:l,text:c});else for(var p=Object(Te.b)(h,c,!1),f=i.offsetAt(j.a.lift(l).getStartPosition()),g=0,m=p;g=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},lt=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ct=6e4,dt=3e5;function ht(e,t){var n=e.getModel(t);return!!n&&!n.isTooLargeForSyncing()}var pt=function(e){function t(t,n,i){var o=e.call(this)||this;return o._modelService=t,o._workerManager=o._register(new gt(o._modelService)),o._logService=i,o._register(fe.q.register("*",{provideLinks:function(e,t){return ht(o._modelService,e.uri)?o._workerManager.withWorker().then(function(t){return t.computeLinks(e.uri)}).then(function(e){return e&&{links:e}}):Promise.resolve({links:[]})}})),o._register(fe.d.register("*",new ft(o._workerManager,n,o._modelService))),o}return at(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.canComputeDiff=function(e,t){return ht(this._modelService,e)&&ht(this._modelService,t)},t.prototype.computeDiff=function(e,t,n){return this._workerManager.withWorker().then(function(i){return i.computeDiff(e,t,n)})},t.prototype.computeMoreMinimalEdits=function(e,t){var n=this;if(Object(ke.n)(t)){if(!ht(this._modelService,e))return Promise.resolve(t);var i=st.a.create(!0),o=this._workerManager.withWorker().then(function(n){return n.computeMoreMinimalEdits(e,t)});return o.finally(function(){return n._logService.trace("FORMAT#computeMoreMinimalEdits",e.toString(!0),i.elapsed())}),o}return Promise.resolve(void 0)},t.prototype.canNavigateValueSet=function(e){return ht(this._modelService,e)},t.prototype.navigateValueSet=function(e,t,n){return this._workerManager.withWorker().then(function(i){return i.navigateValueSet(e,t,n)})},t.prototype.canComputeWordRanges=function(e){return ht(this._modelService,e)},t.prototype.computeWordRanges=function(e,t){return this._workerManager.withWorker().then(function(n){return n.computeWordRanges(e,t)})},t=ut([lt(0,tt.a),lt(1,it),lt(2,rt.a)],t)}(G.a),ft=function(){function e(e,t,n){this._debugDisplayName="wordbasedCompletions",this._workerManager=e,this._configurationService=t,this._modelService=n}return e.prototype.provideCompletionItems=function(e,t){if(this._configurationService.getValue(e.uri,t,"editor").wordBasedSuggestions&&ht(this._modelService,e.uri))return this._workerManager.withWorker().then(function(n){return n.textualSuggest(e.uri,t)})},e}(),gt=function(e){function t(t){var n=e.call(this)||this;return n._modelService=t,n._editorWorkerClient=null,n._lastWorkerUsedTime=(new Date).getTime(),n._register(new ve.c).cancelAndSet(function(){return n._checkStopIdleWorker()},Math.round(dt/2)),n._register(n._modelService.onModelRemoved(function(e){return n._checkStopEmptyWorker()})),n}return at(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>dt&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null))},t.prototype.withWorker=function(){return this._lastWorkerUsedTime=(new Date).getTime(),this._editorWorkerClient||(this._editorWorkerClient=new yt(this._modelService,"editorWorkerService")),Promise.resolve(this._editorWorkerClient)},t}(G.a),mt=function(e){function t(t,n,i){var o=e.call(this)||this;if(o._syncedModels=Object.create(null),o._syncedModelsLastUsedTime=Object.create(null),o._proxy=t,o._modelService=n,!i){var r=new ve.c;r.cancelAndSet(function(){return o._checkStopModelSync()},Math.round(ct/2)),o._register(r)}return o}return at(t,e),t.prototype.dispose=function(){for(var t in this._syncedModels)Object(G.f)(this._syncedModels[t]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),e.prototype.dispose.call(this)},t.prototype.ensureSyncedResources=function(e){for(var t=0,n=e;tct&&t.push(n)}for(var i=0,o=t;i'"_]/g,"-")}function kt(e,t){return new Error(e.languageId+": "+t)}function Tt(e,t,n,i,o){var r=null;return t.replace(/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,function(t,s,a,u,l,c,d,h,p){return xt(a)?xt(u)?!xt(l)&&l0;){var i=e.tokenizer[n];if(i)return i;var o=n.lastIndexOf(".");n=o<0?null:n.substr(0,o)}return null}var Rt=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 At(e,t);var n=At.getStackElementId(e);n.length>0&&(n+="|"),n+=t;var i=this._entries[n];return i||(i=new At(e,t),this._entries[n]=i,i)},e._INSTANCE=new e(5),e}(),At=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 Rt.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 Rt.create(this.parent,e)},e}(),Pt=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}(),Ft=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 Wt(e,t);if(null!==e&&e.depth>=this._maxCacheDepth)return new Wt(e,t);var n=At.getStackElementId(e),i=this._entries[n];return i||(i=new Wt(e,null),this._entries[n]=i,i)},e._INSTANCE=new e(5),e}(),Wt=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:Ft.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}(),jt=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 B.a(e,t,this._language)))},e.prototype.nestedModeTokenize=function(e,t,n){var i=t.modeId,o=t.state,r=fe.y.get(i);if(!r)return this.enterMode(n,i),this.emit(n,""),o;var s=r.tokenize(e,o,n);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 B.b(this._tokens,e)},e}(),Vt=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 n=this._theme.match(this._currentLanguageId,t);this._lastTokenMetadata!==n&&(this._lastTokenMetadata=n,this._tokens.push(e),this._tokens.push(n))},e._merge=function(e,t,n){var i=null!==e?e.length:0,o=t.length,r=null!==n?n.length:0;if(0===i&&0===o&&0===r)return new Uint32Array(0);if(0===i&&0===o)return n;if(0===o&&0===r)return e;var s=new Uint32Array(i+o+r);null!==e&&s.set(e);for(var a=0;a0&&i.nestedModeTokenize(s,t.embeddedModeData,n);var a=e.substring(o);return this._myTokenize(a,t,n+o,i)},e.prototype._safeRuleName=function(e){return e?e.name:"(unknown)"},e.prototype._myTokenize=function(e,t,n,i){i.enterMode(n,this._modeId);for(var o,r,s=e.length,a=t.embeddedModeData,u=t.stack,l=0,c=null,d=!0;d||l=s)break;d=!1;var w=this._lexer.tokenizer[g];if(!w&&!(w=Mt(this._lexer,g)))throw kt(this._lexer,"tokenizer state is not defined: "+g);for(var S=e.substr(l),L=0,O=w;L=this._lexer.maxStack)throw kt(this._lexer,"maximum tokenizer stack size reached: ["+u.state+","+u.parent.state+",...]");u=u.push(g)}else if("@pop"===v.next){if(u.depth<=1)throw kt(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(y));u=u.pop()}else if("@popall"===v.next)u=u.popall();else{var x;if("@"===(x=Tt(this._lexer,v.next,_,m,g))[0]&&(x=x.substr(1)),!Mt(this._lexer,x))throw kt(this._lexer,"trying to set a next state '"+x+"' that is undefined in rule: "+this._safeRuleName(y));u=u.push(x)}}v.log&&"string"==typeof v.log&&(o=this._lexer,r=this._lexer.languageId+": "+Tt(this._lexer,v.log,_,m,g),console.log(o.languageId+": "+r))}if(null===N)throw kt(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(y));if(Array.isArray(N)){if(c&&c.groups.length>0)throw kt(this._lexer,"groups cannot be nested: "+this._safeRuleName(y));if(m.length!==N.length+1)throw kt(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(y));for(var I=0,D=1;D=0&&a()})})},e.colorizeLine=function(e,t,n,i,o){void 0===o&&(o=4);var r=Lt.d.isBasicASCII(e,t),s=Lt.d.containsRTL(e,r,n);return Object(St.e)(new St.c(!1,!0,e,!1,r,s,0,i,[],o,0,-1,"none",!1,!1,null)).html},e.colorizeModelLine=function(e,t,n){void 0===n&&(n=4);var i=e.getLineContent(t);e.forceTokenization(t);var o=e.getLineTokens(t).inflate();return this.colorizeLine(i,e.mightContainNonBasicASCII(),e.mightContainRTL(),o,n)},e}();function Ut(e,t,n){return new Promise(function(i,o){var r=function(){var s=function(e,t,n){for(var i=[],o=n.getInitialState(),r=0,s=e.length;r"),o=u.endState}return i.join("")}(e,t,n);if(n instanceof Bt){var a=n.getLoadStatus();if(!1===a.loaded)return void a.promise.then(r,o)}i(s)};r()})}function Kt(e,t){var n=[],i=new Uint32Array(2);i[0]=0,i[1]=16793600;for(var o=0,r=e.length;o")}return n.join("")}var qt=n("gzF+"),Gt=n("Nr0y"),Zt=n("P1SM"),Yt=n("TeKV"),Xt=n("0WPX"),Jt=n("Gzpe"),Qt=n("WTFd"),$t=n("rHGw"),en=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),tn=function(){function e(e,t,n){void 0===e&&(e={}),void 0===t&&(t=[]),void 0===n&&(n=[]),this._contents=e,this._keys=t,this._overrides=n,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.isEmpty=function(){return 0===this._keys.length&&0===Object.keys(this._contents).length&&0===this._overrides.length},e.prototype.getValue=function(e){return e?Object(Jt.d)(this.contents,e):this.contents},e.prototype.override=function(t){var n=this.getContentsForOverrideIdentifer(t);if(!n||"object"!=typeof n||!Object.keys(n).length)return this;for(var i={},o=0,r=ke.e(Object.keys(this.contents).concat(Object.keys(n)));o5e3&&n._leaveChordMode():n._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){return this._doDispatch(this.resolveKeyboardEvent(e),t)},t.prototype._doDispatch=function(e,t){var n=this,i=!1;if(e.isChord())return console.warn("Unexpected keyboard event mapped to a chord"),!1;var o=e.getDispatchParts()[0];if(null===o)return i;var r=this._contextKeyService.getContext(t),s=this._currentChord?this._currentChord.keypress:null,a=e.getLabel(),u=this._getResolver().resolve(r,s,o);return u&&u.enterChord?(i=!0,this._enterChordMode(o,a),i):(this._currentChord&&(u&&u.commandId||(this._notificationService.status(rn.a("missing.chord","The key combination ({0}, {1}) is not a command.",this._currentChord.label,a),{hideAfter:1e4}),i=!0)),this._leaveChordMode(),u&&u.commandId&&(u.bubble||(i=!0),void 0===u.commandArgs?this._commandService.executeCommand(u.commandId).then(void 0,function(e){return n._notificationService.warn(e)}):this._commandService.executeCommand(u.commandId,u.commandArgs).then(void 0,function(e){return n._notificationService.warn(e)}),this._telemetryService.publicLog2("workbenchActionExecuted",{id:u.commandId,from:"keybinding"})),i)},t.prototype.mightProducePrintableCharacter=function(e){return!e.ctrlKey&&!e.metaKey&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30)},t}(G.a),un=n("7g0X"),ln=function(){function e(t,n){this._defaultKeybindings=t,this._defaultBoundCommands=new Map;for(var i=0,o=t.length;i=0;c--)this._isTargetedForRemoval(e[c],a,u,s,l)&&e.splice(c,1);else n.push(r)}return e.concat(n)},e.prototype._addKeyPress=function(t,n){var i=this._map.get(t);if(void 0===i)return this._map.set(t,[n]),void this._addToLookupMap(n);for(var o=i.length-1;o>=0;o--){var r=i[o];if(r.command!==n.command){var s=r.keypressParts.length>1,a=n.keypressParts.length>1;s&&a&&r.keypressParts[1]!==n.keypressParts[1]||e.whenIsEntirelyIncluded(r.when,n.when)&&this._removeFromLookupMap(r)}}i.push(n),this._addToLookupMap(n)},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){if(e.command){var t=this._lookupMap.get(e.command);if(void 0!==t)for(var n=0,i=t.length;n1&&null!==u.keypressParts[1]?{enterChord:!0,commandId:null,commandArgs:null,bubble:!1}:{enterChord:!1,commandId:u.command,commandArgs:u.commandArgs,bubble:u.bubble}:null},e.prototype._findCommand=function(t,n){for(var i=n.length-1;i>=0;i--){var o=n[i];if(e.contextMatchesRules(t,o.when))return o}return null},e.contextMatchesRules=function(e,t){return!t||t.evaluate(e)},e}(),cn=n("Kx4b"),dn=function(){return function(e,t,n,i,o){this.resolvedKeybinding=e,this.keypressParts=e?function(e){for(var t=[],n=0,i=e.length;n1},t.prototype.getParts=function(){var e=this;return this._parts.map(function(t){return e._getPart(t)})},t.prototype._getPart=function(e){return new P.d(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getLabel(e),this._getAriaLabel(e))},t.prototype.getDispatchParts=function(){var e=this;return this._parts.map(function(t){return e._getDispatchPart(t)})},t}(P.c),gn=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),mn=function(e){function t(t,n){return e.call(this,n,t.parts)||this}return gn(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 P.b.toString(e)},t.prototype._getLabel=function(e){return e.isDuplicateModifierCase()?"":this._keyCodeToUILabel(e.keyCode)},t.prototype._getAriaLabel=function(e){return e.isDuplicateModifierCase()?"":P.b.toString(e.keyCode)},t.prototype._getDispatchPart=function(e){return t.getDispatchStr(e)},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+=P.b.toString(e.keyCode)},t}(fn),_n=n("fAkY"),vn=n("EMDP"),yn=n("EfIu"),bn=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Cn=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},wn=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Sn=function(){function e(e){this.model=e,this._onDispose=new A.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 Ln=function(){function e(){}return e.prototype.setEditor=function(e){this.editor=e},e.prototype.createModelReference=function(e){var t,n,i,o=this,r=null;return this.editor&&(t=this.editor,n=function(t){return o.findModel(t,e)},i=function(t){return o.findModel(t.getOriginalEditor(),e)||o.findModel(t.getModifiedEditor(),e)},r=Object(Zt.a)(t)?n(t):i(t)),r?Promise.resolve(new G.c(new Sn(r))):Promise.reject(new Error("Model not found"))},e.prototype.findModel=function(e,t){var n=e.getModel();return n&&n.uri.toString()!==t.toString()?null:n},e}(),On=function(){function e(){}return e.prototype.showWhile=function(e,t){return Promise.resolve(void 0)},e}(),En=function(){return function(){}}(),Nn=function(){function e(){}return e.prototype.info=function(e){return this.notify({severity:Gt.a.Info,message:e})},e.prototype.warn=function(e){return this.notify({severity:Gt.a.Warning,message:e})},e.prototype.error=function(e){return this.notify({severity:Gt.a.Error,message:e})},e.prototype.notify=function(t){switch(t.severity){case Gt.a.Error:console.error(t.message);break;case Gt.a.Warning:console.warn(t.message);break;default:console.log(t.message)}return e.NO_OP},e.prototype.status=function(e,t){return G.a.None},e.NO_OP=new _n.b,e}(),xn=function(){function e(e){this._onWillExecuteCommand=new A.a,this._onDidExecuteCommand=new A.a,this._instantiationService=e,this._dynamicCommands=Object.create(null)}return e.prototype.addCommand=function(e){var t=this,n=e.id;return this._dynamicCommands[n]=e,Object(G.h)(function(){delete t._dynamicCommands[n]})},e.prototype.executeCommand=function(e){for(var t=[],n=1;n0){var v=e[r-1];m=0===v.originalEndLineNumber?v.originalStartLineNumber+1:v.originalEndLineNumber+1,_=0===v.modifiedEndLineNumber?v.modifiedStartLineNumber+1:v.modifiedEndLineNumber+1}var y=f-3+1,b=g-3+1;if(yS)N+=E=S-N,x+=E;if(x>L)N+=E=L-x,x+=E;h[p++]=new ti(C,N,w,x),i[o++]=new ni(h)}var I=i[0].entries,D=[],k=0;for(r=1,s=i.length;rd)&&(d=_),0!==v&&(0===h||vp)&&(p=y)}var b=document.createElement("div");b.className="diff-review-row";var C=document.createElement("div");C.className="diff-review-cell diff-review-summary";var w=d-c+1,S=p-h+1;C.appendChild(document.createTextNode(a+1+"/"+this._diffs.length+": @@ -"+c+","+w+" +"+h+","+S+" @@")),b.setAttribute("data-line",String(h));var L=function(e){return 0===e?rn.a("no_lines","no lines"):1===e?rn.a("one_line","1 line"):rn.a("more_lines","{0} lines",e)},O=L(w),E=L(S);b.setAttribute("aria-label",rn.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}",a+1,this._diffs.length,c,O,h,E)),b.appendChild(C),b.setAttribute("role","listitem"),l.appendChild(b);var N=h;for(f=0,g=u.length;f0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]o.modifiedStartLineNumber?rn.a("diff.clipboard.copyDeletedLinesContent.label","Copy deleted lines"):rn.a("diff.clipboard.copyDeletedLinesContent.single.label","Copy deleted line"),void 0,!0,function(){return fi(a,void 0,void 0,function(){return gi(this,function(e){switch(e.label){case 0:return[4,this._clipboardService.writeText(o.originalContent.join(l)+l)];case 1:return e.sent(),[2]}})})}));var d=0,h=void 0;return o.originalEndLineNumber>o.modifiedStartLineNumber&&(h=new Yn.a("diff.clipboard.copyDeletedLineContent",rn.a("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",o.originalStartLineNumber),void 0,!0,function(){return fi(a,void 0,void 0,function(){return gi(this,function(e){switch(e.label){case 0:return[4,this._clipboardService.writeText(o.originalContent[d])];case 1:return e.sent(),[2]}})})}),c.push(h)),i.getConfiguration().readOnly||c.push(new Yn.a("diff.inline.revertChange",rn.a("diff.inline.revertChange.label","Revert this change"),void 0,!0,function(){return fi(a,void 0,void 0,function(){var e;return gi(this,function(t){return 0===o.modifiedEndLineNumber?(e=i.getModel().getLineMaxColumn(o.modifiedStartLineNumber),i.executeEdits("diffEditor",[{range:new j.a(o.modifiedStartLineNumber,e,o.modifiedStartLineNumber,e),text:l+o.originalContent.join(l)}])):(e=i.getModel().getLineMaxColumn(o.modifiedEndLineNumber),i.executeEdits("diffEditor",[{range:new j.a(o.modifiedStartLineNumber,1,o.modifiedEndLineNumber,e),text:o.originalContent.join(l)}])),[2]})})})),a._register(q.k(a._diffActions,"mousedown",function(e){var t=q.x(a._diffActions),n=t.top,i=t.height,r=Math.floor(u/3);e.preventDefault(),a._contextMenuService.showContextMenu({getAnchor:function(){return{x:e.posx,y:n+i+r}},getActions:function(){return h&&(h.label=rn.a("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",o.originalStartLineNumber+d)),c},autoSelectFirstItem:!0})})),a._register(i.onMouseMove(function(e){8===e.target.type||5===e.target.type?e.target.detail.viewZoneId===a._viewZoneId?(a.visibility=!0,d=a._updateLightBulbPosition(a._marginDomNode,e.event.browserEvent.y,u)):a.visibility=!1:a.visibility=!1})),a}return pi(t,e),Object.defineProperty(t.prototype,"visibility",{get:function(){return this._visibility},set:function(e){this._visibility!==e&&(this._visibility=e,this._diffActions.style.visibility=e?"visible":"hidden")},enumerable:!0,configurable:!0}),t.prototype._updateLightBulbPosition=function(e,t,n){var i=t-q.x(e).top,o=Math.floor(i/n),r=o*n;return this._diffActions.style.top=r+"px",o},t}(G.a),_i=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),vi=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},yi=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},bi=function(){function e(e,t){this._contextMenuService=e,this._clipboardService=t,this._zones=[],this.inlineDiffMargins=[],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 n=0,i=t._zones.length;n0?o/n: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._diffComputationResult&&this._updateDecorations(),this._measureDomElement(!0)},t.prototype._getLineChangeAtOrBeforeLineNumber=function(e,t){var n=this._diffComputationResult?this._diffComputationResult.changes:[];if(0===n.length||e=a?i=r+1:(i=r,o=r)}return n[i]},t.prototype._getEquivalentLineForOriginalLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,function(e){return e.originalStartLineNumber});if(!t)return e;var n=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),i=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),o=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-n;return s<=o?i+Math.min(s,r):i+r-o+s},t.prototype._getEquivalentLineForModifiedLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,function(e){return e.modifiedStartLineNumber});if(!t)return e;var n=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),i=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),o=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-i;return s<=r?n+Math.min(s,o):n+o-r+s},t.prototype.getDiffLineInformationForOriginal=function(e){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForOriginalLineNumber(e)}:null},t.prototype.getDiffLineInformationForModified=function(e){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForModifiedLineNumber(e)}:null},t.ONE_OVERVIEW_WIDTH=15,t.ENTIRE_DIFF_OVERVIEW_WIDTH=30,t.UPDATE_DIFF_DECORATIONS_DELAY=200,t=vi([yi(3,me.a),yi(4,un.c),yi(5,nt.a),yi(6,K.a),yi(7,$n.c),yi(8,_n.a),yi(9,hi.a)],t)}(G.a),Si=function(e){function t(t){var n=e.call(this)||this;return n._dataSource=t,n._insertColor=null,n._removeColor=null,n}return _i(t,e),t.prototype.applyColors=function(e){var t=(e.getColor(Qn.j)||Qn.g).transparent(2),n=(e.getColor(Qn.l)||Qn.h).transparent(2),i=!t.equals(this._insertColor)||!n.equals(this._removeColor);return this._insertColor=t,this._removeColor=n,i},t.prototype.getEditorsDiffDecorations=function(e,t,n,i,o,r,s){o=o.sort(function(e,t){return e.afterLineNumber-t.afterLineNumber}),i=i.sort(function(e,t){return e.afterLineNumber-t.afterLineNumber});var a=this._getViewZones(e,i,o,r,s,n),u=this._getOriginalEditorDecorations(e,t,n,r,s),l=this._getModifiedEditorDecorations(e,t,n,r,s);return{original:{decorations:u.decorations,overviewZones:u.overviewZones,zones:a.original},modified:{decorations:l.decorations,overviewZones:l.overviewZones,zones:a.modified}}},t}(G.a),Li=function(){function e(e){this._source=e,this._index=-1,this.current=null,this.advance()}return e.prototype.advance=function(){this._index++,this._index0){var n=e[e.length-1];if(n.afterLineNumber===t.afterLineNumber&&null===n.domNode)return void(n.heightInLines+=t.heightInLines)}e.push(t)},d=new Li(this.modifiedForeignVZ),h=new Li(this.originalForeignVZ),p=0,f=this.lineChanges.length;p<=f;p++){var g=p0?-1:0),s=g.modifiedStartLineNumber+(g.modifiedEndLineNumber>0?-1:0),o=g.originalEndLineNumber>0?g.originalEndLineNumber-g.originalStartLineNumber+1:0,i=g.modifiedEndLineNumber>0?g.modifiedEndLineNumber-g.modifiedStartLineNumber+1:0,a=Math.max(g.originalStartLineNumber,g.originalEndLineNumber),u=Math.max(g.modifiedStartLineNumber,g.modifiedEndLineNumber)):(a=r+=1e7+o,u=s+=1e7+i);for(var m,_=[],v=[];d.current&&d.current.afterLineNumber<=u;){var y=void 0;y=d.current.afterLineNumber<=s?r-s+d.current.afterLineNumber:a;var b=null;g&&g.modifiedStartLineNumber<=d.current.afterLineNumber&&d.current.afterLineNumber<=g.modifiedEndLineNumber&&(b=this._createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion()),_.push({afterLineNumber:y,heightInLines:d.current.heightInLines,domNode:null,marginDomNode:b}),d.advance()}for(;h.current&&h.current.afterLineNumber<=a;){y=void 0;y=h.current.afterLineNumber<=r?s-r+h.current.afterLineNumber:u,v.push({afterLineNumber:y,heightInLines:h.current.heightInLines,domNode:null}),h.advance()}if(null!==g&&Ti(g))(m=this._produceOriginalFromDiff(g,o,i))&&_.push(m);if(null!==g&&Mi(g))(m=this._produceModifiedFromDiff(g,o,i))&&v.push(m);var C=0,w=0;for(_=_.sort(l),v=v.sort(l);C<_.length&&w=L.heightInLines?(S.heightInLines-=L.heightInLines,w++):(L.heightInLines-=S.heightInLines,C++)}for(;C<_.length;)c(t,_[C]),C++;for(;w2*t.MINIMUM_EDITOR_WIDTH?(in-t.MINIMUM_EDITOR_WIDTH&&(i=n-t.MINIMUM_EDITOR_WIDTH)):i=o,this._sashPosition!==i&&(this._sashPosition=i,this._sash.layout()),this._sashPosition},t.prototype.onSashDragStart=function(){this._startSashPosition=this._sashPosition},t.prototype.onSashDrag=function(e){var t=this._dataSource.getWidth()-wi.ENTIRE_DIFF_OVERVIEW_WIDTH,n=this.layout((this._startSashPosition+(e.currentX-e.startX))/t);this._sashRatio=n/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,n,i,o){return new Ii(e,t,n).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,n,i,o){for(var r=String(this._removeColor),s={decorations:[],overviewZones:[]},a=i.getModel(),u=0,l=e.length;ut?{afterLineNumber:Math.max(e.originalStartLineNumber,e.originalEndLineNumber),heightInLines:n-t,domNode:null}:null},t.prototype._produceModifiedFromDiff=function(e,t,n){return t>n?{afterLineNumber:Math.max(e.modifiedStartLineNumber,e.modifiedEndLineNumber),heightInLines:t-n,domNode:null}:null},t}(Oi),Di=function(e){function t(t,n){var i=e.call(this,t)||this;return i.decorationsLeft=t.getOriginalEditor().getLayoutInfo().decorationsLeft,i._register(t.getOriginalEditor().onDidLayoutChange(function(e){i.decorationsLeft!==e.decorationsLeft&&(i.decorationsLeft=e.decorationsLeft,t.relayoutEditors())})),i}return _i(t,e),t.prototype.setEnableSplitViewResizing=function(e){},t.prototype._getViewZones=function(e,t,n,i,o,r){return new ki(e,t,n,i,o,r).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,n,i,o){for(var r=String(this._removeColor),s={decorations:[],overviewZones:[]},a=0,u=e.length;a'])}h+=this.modifiedEditorConfiguration.viewInfo.scrollBeyondLastColumn;var m=document.createElement("div");m.className="view-lines line-delete",m.innerHTML=a.build(),Kn.a.applyFontInfoSlow(m,this.modifiedEditorConfiguration.fontInfo);var _=document.createElement("div");return _.className="inline-deleted-margin-view-zone",_.innerHTML=u.join(""),Kn.a.applyFontInfoSlow(_,this.modifiedEditorConfiguration.fontInfo),{shouldNotShrink:!0,afterLineNumber:0===e.modifiedEndLineNumber?e.modifiedStartLineNumber:e.modifiedStartLineNumber-1,heightInLines:t,minWidthInPx:h*d,domNode:m,marginDomNode:_,diff:{originalStartLineNumber:e.originalStartLineNumber,originalEndLineNumber:e.originalEndLineNumber,modifiedStartLineNumber:e.modifiedStartLineNumber,modifiedEndLineNumber:e.modifiedEndLineNumber,originalContent:p}}},t.prototype._renderOriginalLine=function(e,t,n,i,o,r,s){var a=t.getLineTokens(o),u=a.getLineContent(),l=ci.a.filter(r,o,1,u.length+1);s.appendASCIIString('
    ');var c=Lt.d.isBasicASCII(u,t.mightContainNonBasicASCII()),d=Lt.d.containsRTL(u,c,t.mightContainRTL()),h=Object(St.d)(new St.c(n.fontInfo.isMonospace&&!n.viewInfo.disableMonospaceOptimizations,n.fontInfo.canUseHalfwidthRightwardsArrow,u,!1,c,d,0,a,l,i,n.fontInfo.spaceWidth,n.viewInfo.stopRenderingLineAfter,n.viewInfo.renderWhitespace,n.viewInfo.renderControlCharacters,n.viewInfo.fontLigatures,null),s);s.appendASCIIString("
    ");var p=h.characterMapping.getAbsoluteOffsets();return p.length>0?p[p.length-1]:0},t}(Oi);function Ti(e){return e.modifiedEndLineNumber>0}function Mi(e){return e.originalEndLineNumber>0}Object($n.f)(function(e,t){var n=e.getColor(Qn.j);n&&(t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { background-color: "+n+"; }"),t.addRule(".monaco-diff-editor .line-insert, .monaco-diff-editor .char-insert { background-color: "+n+"; }"),t.addRule(".monaco-editor .inline-added-margin-view-zone { background-color: "+n+"; }"));var i=e.getColor(Qn.l);i&&(t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { background-color: "+i+"; }"),t.addRule(".monaco-diff-editor .line-delete, .monaco-diff-editor .char-delete { background-color: "+i+"; }"),t.addRule(".monaco-editor .inline-deleted-margin-view-zone { background-color: "+i+"; }"));var o=e.getColor(Qn.k);o&&t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+o+"; }");var r=e.getColor(Qn.m);r&&t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+r+"; }");var s=e.getColor(Qn._37);s&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px "+s+"; }");var a=e.getColor(Qn.i);a&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid "+a+"; }")});var Ri=n("lthF"),Ai=n("sKqm"),Pi=n("C3c5"),Fi=n("NqM+"),Wi=n("xJaW"),ji=n("44YW"),Vi=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Bi=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},Hi=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},zi=0,Ui=!1;var Ki=function(e){function t(t,n,i,o,r,s,a,u,l,c){var d=this;return(n=n||{}).ariaLabel=n.ariaLabel||yn.g.editorViewAccessibleLabel,n.ariaLabel=n.ariaLabel+";"+(Vn.j?yn.g.accessibilityHelpMessageIE:yn.g.accessibilityHelpMessage),(d=e.call(this,t,n,{},i,o,r,s,u,l,c)||this)._standaloneKeybindingService=a instanceof In?a:null,Ui||(Ui=!0,Bn.b(document.body)),d}return Vi(t,e),t.prototype.addCommand=function(e,t,n){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;var i="DYNAMIC_"+ ++zi,o=un.a.deserialize(n);return this._standaloneKeybindingService.addDynamicKeybinding(i,e,t,o),i},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"),G.a.None;var n=e.id,i=e.label,o=un.a.and(un.a.equals("editorId",this.getId()),un.a.deserialize(e.precondition)),r=e.keybindings,s=un.a.and(o,un.a.deserialize(e.keybindingContext)),a=e.contextMenuGroupId||null,u=e.contextMenuOrder||0,l=function(){return Promise.resolve(e.run(t))},c=new G.b,d=this.getId()+":"+n;if(c.add($.a.registerCommand(d,l)),a){var h={command:{id:d,title:i},when:o,group:a,order:u};c.add(Pi.c.appendMenuItem(7,h))}if(Array.isArray(r))for(var p=0,f=r;p=0}}(e);to.push(n),n.userConfigured?io.push(n):no.push(n),t&&!n.userConfigured&&to.forEach(function(e){e.mime===n.mime||e.userConfigured||(n.extension&&e.extension===n.extension&&console.warn("Overwriting extension <<"+n.extension+">> to now point to mime <<"+n.mime+">>"),n.filename&&e.filename===n.filename&&console.warn("Overwriting filename <<"+n.filename+">> to now point to mime <<"+n.mime+">>"),n.filepattern&&e.filepattern===n.filepattern&&console.warn("Overwriting filepattern <<"+n.filepattern+">> to now point to mime <<"+n.mime+">>"),n.firstline&&e.firstline===n.firstline&&console.warn("Overwriting firstline <<"+n.firstline+">> to now point to mime <<"+n.mime+">>"))})}function ro(e,t){var n;if(e)switch(e.scheme){case X.b.file:n=e.fsPath;break;case X.b.data:n=J.a.parseMetaData(e).get(J.a.META_DATA_LABEL);break;default:n=e.path}if(!n)return[eo];n=n.toLowerCase();var i=Object(Ji.basename)(n),o=so(n,i,io);if(o)return[o,$i];var r=so(n,i,no);if(r)return[r,$i];if(t){var s=function(e){Object(Q.L)(e)&&(e=e.substr(1));if(e.length>0)for(var t=to.length-1;t>=0;t--){var n=to[t];if(n.firstline){var i=e.match(n.firstline);if(i&&i.length>0)return n.mime}}return null}(t);if(s)return[s,$i]}return[eo]}function so(e,t,n){for(var i=null,o=null,r=null,s=n.length-1;s>=0;s--){var a=n[s];if(t===a.filenameLowercase){i=a;break}if(a.filepattern&&(!o||a.filepattern.length>o.filepattern.length)){var u=a.filepatternOnPath?e:t;Object(Qi.a)(a.filepatternLowercase,u)&&(o=a)}a.extension&&(!r||a.extension.length>r.extension.length)&&Object(Q.m)(t,a.extensionLowercase)&&(r=a)}return i?i.mime:o?o.mime:r?r.mime:null}var ao=n("9XyG"),uo=n("RWr8"),lo=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),co=Object.prototype.hasOwnProperty,ho=function(e){function t(t,n){void 0===t&&(t=!0),void 0===n&&(n=!1);var i=e.call(this)||this;return i._onDidChange=i._register(new A.a),i.onDidChange=i._onDidChange.event,i._warnOnOverwrite=n,i._nextLanguageId2=1,i._languageIdToLanguage=[],i._languageToLanguageId=Object.create(null),i._languages={},i._mimeTypesMap={},i._nameMap={},i._lowercaseNameMap={},t&&(i._initializeFromRegistry(),i._register(ao.a.onDidChangeLanguages(function(e){return i._initializeFromRegistry()}))),i}return lo(t,e),t.prototype._initializeFromRegistry=function(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={};var e=ao.a.getLanguages();this._registerLanguages(e)},t.prototype._registerLanguages=function(e){for(var t=this,n=0,i=e;n0&&((n=e.mimetypes).push.apply(n,t.mimetypes),o=t.mimetypes[0]),o||(o="text/x-"+i,e.mimetypes.push(o)),Array.isArray(t.extensions))for(var r=0,s=t.extensions;r0){var p=t.firstLine;"^"!==p.charAt(0)&&(p="^"+p);try{var f=new RegExp(p);Q.E(f)||oo({id:i,mime:o,firstline:f},this._warnOnOverwrite)}catch(e){Object(ye.e)(e)}}e.aliases.push(i);var g=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(g=0===t.aliases.length?[null]:t.aliases),null!==g)for(var m=0,_=g;m<_.length;m++){var v=_[m];v&&0!==v.length&&e.aliases.push(v)}var y=null!==g&&g.length>0;if(y&&null===g[0]);else{var b=(y?g[0]:null)||i;!y&&e.name||(e.name=b)}t.configuration&&e.configurationFiles.push(t.configuration)},t.prototype.isRegisteredMode=function(e){return!!co.call(this._mimeTypesMap,e)||co.call(this._languages,e)},t.prototype.getModeIdForLanguageNameLowercase=function(e){return co.call(this._lowercaseNameMap,e)?this._lowercaseNameMap[e].language:null},t.prototype.extractModeIds=function(e){var t=this;return e?e.split(",").map(function(e){return e.trim()}).map(function(e){return co.call(t._mimeTypesMap,e)?t._mimeTypesMap[e].language:e}).filter(function(e){return co.call(t._languages,e)}):[]},t.prototype.getLanguageIdentifier=function(e){if(e===ge.b||0===e)return ge.a;var t;if("string"==typeof e)t=e;else if(!(t=this._languageIdToLanguage[e]))return null;return co.call(this._languages,t)?this._languages[t].identifier:null},t.prototype.getModeIdsFromFilepathOrFirstLine=function(e,t){if(!e&&!t)return[];var n=ro(e,t);return this.extractModeIds(n.join(","))},t}(G.a),po=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),fo=function(e){function t(t,n){var i=e.call(this)||this;return i._onDidChange=i._register(new A.a),i.onDidChange=i._onDidChange.event,i._selector=n,i.languageIdentifier=i._selector(),i._register(t(function(){return i._evaluate()})),i}return po(t,e),t.prototype._evaluate=function(){var e=this._selector();e.id!==this.languageIdentifier.id&&(this.languageIdentifier=e,this._onDidChange.fire(this.languageIdentifier))},t}(G.a),go=function(){function e(e){var t=this;void 0===e&&(e=!1),this._onDidCreateMode=new A.a,this.onDidCreateMode=this._onDidCreateMode.event,this._onLanguagesMaybeChanged=new A.a,this.onLanguagesMaybeChanged=this._onLanguagesMaybeChanged.event,this._instantiatedModes={},this._registry=new ho(!0,e),this._registry.onDidChange(function(){return t._onLanguagesMaybeChanged.fire()})}return e.prototype.isRegisteredMode=function(e){return this._registry.isRegisteredMode(e)},e.prototype.getModeIdForLanguageName=function(e){return this._registry.getModeIdForLanguageNameLowercase(e)},e.prototype.getModeIdByFilepathOrFirstLine=function(e,t){var n=this._registry.getModeIdsFromFilepathOrFirstLine(e,t);return n.length>0?n[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.create=function(e){var t=this;return new fo(this.onLanguagesMaybeChanged,function(){var n=t.getModeId(e);return t._createModeAndGetLanguageIdentifier(n)})},e.prototype.createByFilepathOrFirstLine=function(e,t){var n=this;return new fo(this.onLanguagesMaybeChanged,function(){var i=n.getModeIdByFilepathOrFirstLine(e,t);return n._createModeAndGetLanguageIdentifier(i)})},e.prototype._createModeAndGetLanguageIdentifier=function(e){var t=this.getLanguageIdentifier(e||"plaintext")||ge.a;return this._getOrCreateMode(t.language),t},e.prototype.triggerMode=function(e){var t=this.getModeId(e);this._getOrCreateMode(t||"plaintext")},e.prototype._getOrCreateMode=function(e){if(!this._instantiatedModes.hasOwnProperty(e)){var t=this.getLanguageIdentifier(e)||ge.a;this._instantiatedModes[e]=new Xi(t),this._onDidCreateMode.fire(this._instantiatedModes[e])}return this._instantiatedModes[e]},e}(),mo=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),_o=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},vo=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}};function yo(e){return e.toString()}var bo=function(){function e(e,t,n){this._modelEventListeners=new G.b,this.model=e,this._languageSelection=null,this._languageSelectionListener=null,this._modelEventListeners.add(e.onWillDispose(function(){return t(e)})),this._modelEventListeners.add(e.onDidChangeLanguage(function(t){return n(e,t)}))}return e.prototype._disposeLanguageSelection=function(){this._languageSelectionListener&&(this._languageSelectionListener.dispose(),this._languageSelectionListener=null),this._languageSelection&&(this._languageSelection.dispose(),this._languageSelection=null)},e.prototype.dispose=function(){this._modelEventListeners.dispose(),this._disposeLanguageSelection()},e.prototype.setLanguage=function(e){var t=this;this._disposeLanguageSelection(),this._languageSelection=e,this._languageSelectionListener=this._languageSelection.onDidChange(function(){return t.model.setMode(e.languageIdentifier)}),this.model.setMode(e.languageIdentifier)},e}(),Co=be.c||be.d?1:2,wo=function(e){function t(t,n){var i=e.call(this)||this;return i._onModelAdded=i._register(new A.a),i.onModelAdded=i._onModelAdded.event,i._onModelRemoved=i._register(new A.a),i.onModelRemoved=i._onModelRemoved.event,i._onModelModeChanged=i._register(new A.a),i.onModelModeChanged=i._onModelModeChanged.event,i._configurationService=t,i._resourcePropertiesService=n,i._models={},i._modelCreationOptionsByLanguageAndResource=Object.create(null),i._configurationServiceSubscription=i._configurationService.onDidChangeConfiguration(function(e){return i._updateModelOptions()}),i._updateModelOptions(),i}return mo(t,e),t._readModelOptions=function(e,t){var n=M.c.tabSize;if(e.editor&&void 0!==e.editor.tabSize){var i=parseInt(e.editor.tabSize,10);isNaN(i)||(n=i),n<1&&(n=1)}var o=n;if(e.editor&&void 0!==e.editor.indentSize&&"tabSize"!==e.editor.indentSize){var r=parseInt(e.editor.indentSize,10);isNaN(r)||(o=r),o<1&&(o=1)}var s=M.c.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(s="false"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));var a=Co,u=e.eol;"\r\n"===u?a=2:"\n"===u&&(a=1);var l=M.c.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(l="false"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));var c=M.c.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(c="false"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));var d=M.c.largeFileOptimizations;return e.editor&&void 0!==e.editor.largeFileOptimizations&&(d="false"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations)),{isForSimpleWidget:t,tabSize:n,indentSize:o,insertSpaces:s,detectIndentation:c,defaultEOL:a,trimAutoWhitespace:l,largeFileOptimizations:d}},t.prototype.getCreationOptions=function(e,n,i){var o=this._modelCreationOptionsByLanguageAndResource[e+n];if(!o){var r=this._configurationService.getValue("editor",{overrideIdentifier:e,resource:n}),s=this._resourcePropertiesService.getEOL(n,e);o=t._readModelOptions({editor:r,eol:s},i),this._modelCreationOptionsByLanguageAndResource[e+n]=o}return o},t.prototype._updateModelOptions=function(){var e=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);for(var n=Object.keys(this._models),i=0,o=n.length;i=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},No=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},xo=function(e){function t(t,n){void 0===n&&(n=q.s());var i=e.call(this)||this;return i._decorationOptionProviders=new Map,i._styleSheet=n,i._themeService=t,i}return Oo(t,e),t.prototype.registerDecorationType=function(e,t,n){var i=this._decorationOptionProviders.get(e);if(!i){var o={styleSheet:this._styleSheet,key:e,parentTypeKey:n,options:t||Object.create(null)};i=n?new Io(this._themeService,o):new Do(this._themeService,o),this._decorationOptionProviders.set(e,i)}i.refCount++},t.prototype.removeDecorationType=function(e){var t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach(function(t){return t.removeDecorations(e)})))},t.prototype.resolveDecorationOptions=function(e,t){var n=this._decorationOptionProviders.get(e);if(!n)throw new Error("Unknown decoration type key: "+e);return n.getOptions(this,t)},t=Eo([No(0,$n.c)],t)}(Lo),Io=function(){function e(e,t){this._parentTypeKey=t.parentTypeKey,this.refCount=0,this._beforeContentRules=new To(3,t,e),this._afterContentRules=new To(4,t,e)}return e.prototype.getOptions=function(e,t){var n=e.resolveDecorationOptions(this._parentTypeKey,!0);return this._beforeContentRules&&(n.beforeContentClassName=this._beforeContentRules.className),this._afterContentRules&&(n.afterContentClassName=this._afterContentRules.className),n},e.prototype.dispose=function(){this._beforeContentRules&&(this._beforeContentRules.dispose(),this._beforeContentRules=null),this._afterContentRules&&(this._afterContentRules.dispose(),this._afterContentRules=null)},e}(),Do=function(){function e(e,t){var n=this;this._disposables=new G.b,this.refCount=0;var i=function(i){var o=new To(i,t,e);if(n._disposables.add(o),o.hasContent)return o.className};this.className=i(0);var o,r=(o=new To(1,t,e),n._disposables.add(o),o.hasContent?{className:o.className,hasLetterSpacing:o.hasLetterSpacing}:null);r&&(this.inlineClassName=r.className,this.inlineClassNameAffectsLetterSpacing=r.hasLetterSpacing),this.beforeContentClassName=i(3),this.afterContentClassName=i(4),this.glyphMarginClassName=i(2);var s=t.options;this.isWholeLine=Boolean(s.isWholeLine),this.stickiness=s.rangeBehavior;var a=s.light&&s.light.overviewRulerColor||s.overviewRulerColor,u=s.dark&&s.dark.overviewRulerColor||s.overviewRulerColor;void 0===a&&void 0===u||(this.overviewRuler={color:a||u,darkColor:u||a,position:s.overviewRulerLane||pe.d.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.dispose()},e}(),ko={color:"color:{0} !important;",opacity:"opacity:{0};",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:{0} center center no-repeat;",gutterIconSize:"background-size:{0};",contentText:"content:'{0}';",contentIconPath:"content:{0};",margin:"margin:{0};",width:"width:{0};",height:"height:{0};"},To=function(){function e(e,t,n){var i=this;this._theme=n.getTheme(),this._ruleType=e,this._providerArgs=t,this._usesThemeColors=!1,this._hasContent=!1,this._hasLetterSpacing=!1;var o=Mo.getClassName(this._providerArgs.key,e);this._providerArgs.parentTypeKey&&(o=o+" "+Mo.getClassName(this._providerArgs.parentTypeKey,e)),this._className=o,this._unThemedSelector=Mo.getSelector(this._providerArgs.key,this._providerArgs.parentTypeKey,e),this._buildCSS(),this._usesThemeColors?this._themeListener=n.onThemeChange(function(e){i._theme=n.getTheme(),i._removeCSS(),i._buildCSS()}):this._themeListener=null}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,n,i=this._providerArgs.options;switch(this._ruleType){case 0:e=this.getCSSTextForModelDecorationClassName(i),t=this.getCSSTextForModelDecorationClassName(i.light),n=this.getCSSTextForModelDecorationClassName(i.dark);break;case 1:e=this.getCSSTextForModelDecorationInlineClassName(i),t=this.getCSSTextForModelDecorationInlineClassName(i.light),n=this.getCSSTextForModelDecorationInlineClassName(i.dark);break;case 2:e=this.getCSSTextForModelDecorationGlyphMarginClassName(i),t=this.getCSSTextForModelDecorationGlyphMarginClassName(i.light),n=this.getCSSTextForModelDecorationGlyphMarginClassName(i.dark);break;case 3:e=this.getCSSTextForModelDecorationContentClassName(i.before),t=this.getCSSTextForModelDecorationContentClassName(i.light&&i.light.before),n=this.getCSSTextForModelDecorationContentClassName(i.dark&&i.dark.before);break;case 4:e=this.getCSSTextForModelDecorationContentClassName(i.after),t=this.getCSSTextForModelDecorationContentClassName(i.light&&i.light.after),n=this.getCSSTextForModelDecorationContentClassName(i.dark&&i.dark.after);break;default:throw new Error("Unknown rule type: "+this._ruleType)}var o=this._providerArgs.styleSheet.sheet,r=!1;e.length>0&&(o.insertRule(this._unThemedSelector+" {"+e+"}",0),r=!0),t.length>0&&(o.insertRule(".vs"+this._unThemedSelector+" {"+t+"}",0),r=!0),n.length>0&&(o.insertRule(".vs-dark"+this._unThemedSelector+", .hc-black"+this._unThemedSelector+" {"+n+"}",0),r=!0),this._hasContent=r},e.prototype._removeCSS=function(){q.H(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&&t.push(Q.r(ko.contentIconPath,q.n(F.a.revive(e.contentIconPath)))),"string"==typeof e.contentText){var n=e.contentText.match(/^.*$/m)[0].replace(/['\\]/g,"\\$&");t.push(Q.r(ko.contentText,n))}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&&(t.push(Q.r(ko.gutterIconPath,q.n(F.a.revive(e.gutterIconPath)))),void 0!==e.gutterIconSize&&t.push(Q.r(ko.gutterIconSize,e.gutterIconSize))),t.join("")},e.prototype.collectBorderSettingsCSSText=function(e,t){return!!this.collectCSSText(e,["border","borderColor","borderRadius","borderSpacing","borderStyle","borderWidth"],t)&&(t.push(Q.r("box-sizing: border-box;")),!0)},e.prototype.collectCSSText=function(e,t,n){for(var i=n.length,o=0,r=t;ot)return 1;return 0}(e.token,t.token);return 0!==n?n:e.index-t.index});for(var n=0,i="000000",o="ffffff";e.length>=1&&""===e[0].token;){var r=e.shift();-1!==r.fontStyle&&(n=r.fontStyle),null!==r.foreground&&(i=r.foreground),null!==r.background&&(o=r.background)}for(var s=new Vo,a=0,u=t;a>>0,this._cache.set(t,n)}return(n|e<<0)>>>0},e}(),Ho=/\b(comment|string|regex|regexp)\b/;var zo,Uo,Ko,qo=function(){function e(e,t,n){this._fontStyle=e,this._foreground=t,this._background=n,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,n){-1!==e&&(this._fontStyle=e),0!==t&&(this._foreground=t),0!==n&&(this._background=n),this.metadata=(this._fontStyle<<11|this._foreground<<14|this._background<<23)>>>0},e}(),Go=function(){function e(e){this._mainRule=e,this._children=new Map}return e.prototype.match=function(e){if(""===e)return this._mainRule;var t,n,i=e.indexOf(".");-1===i?(t=e,n=""):(t=e.substring(0,i),n=e.substring(i+1));var o=this._children.get(t);return void 0!==o?o.match(n):this._mainRule},e.prototype.insert=function(t,n,i,o){if(""!==t){var r,s,a=t.indexOf(".");-1===a?(r=t,s=""):(r=t.substring(0,a),s=t.substring(a+1));var u=this._children.get(r);void 0===u&&(u=new e(this._mainRule.clone()),this._children.set(r,u)),u.insert(s,n,i,o)}else this._mainRule.acceptOverwrite(n,i,o)},e}();var Zo={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:(zo={},zo[Qn.o]="#FFFFFE",zo[Qn.x]="#000000",zo[Qn.E]="#E5EBF1",zo[Jn.h]="#D3D3D3",zo[Jn.a]="#939393",zo[Qn.J]="#ADD6FF4D",zo)},Yo={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:(Uo={},Uo[Qn.o]="#1E1E1E",Uo[Qn.x]="#D4D4D4",Uo[Qn.E]="#3A3D41",Uo[Jn.h]="#404040",Uo[Jn.a]="#707070",Uo[Qn.J]="#ADD6FF26",Uo)},Xo={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:(Ko={},Ko[Qn.o]="#000000",Ko[Qn.x]="#FFFFFF",Ko[Jn.h]="#FFFFFF",Ko[Jn.a]="#FFFFFF",Ko)},Jo="vs",Qo="vs-dark",$o="hc-black",er=uo.a.as(Qn.a.ColorContribution),tr=uo.a.as($n.a.ThemingContribution),nr=function(){function e(e,t){this.themeData=t;var n=t.base;e.length>0?(this.id=n+" "+e,this.themeName=e):(this.id=n,this.themeName=n),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=new Map;for(var t in this.themeData.colors)e.set(t,Po.a.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){var n=or(this.themeData.base);for(var t in n.colors)e.has(t)||e.set(t,Po.a.fromHex(n.colors[t]))}this.colors=e}return this.colors},e.prototype.getColor=function(e,t){var n=this.getColors().get(e);return n||(!1!==t?this.getDefault(e):void 0)},e.prototype.getDefault=function(e){var t=this.defaultColors[e];return t||(t=er.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 Jo:return"light";case $o: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 n=or(this.themeData.base);e=n.rules,n.encodedTokensColors&&(t=n.encodedTokensColors)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=Bo.createFromRawTokenTheme(e,t)}return this._tokenTheme},enumerable:!0,configurable:!0}),e}();function ir(e){return e===Jo||e===Qo||e===$o}function or(e){switch(e){case Jo:return Zo;case Qo:return Yo;case $o:return Xo}}function rr(e){var t=or(e);return new nr(e,t)}var sr=function(){function e(){this.environment=Object.create(null),this._onThemeChange=new A.a,this._onIconThemeChange=new A.a,this._knownThemes=new Map,this._knownThemes.set(Jo,rr(Jo)),this._knownThemes.set(Qo,rr(Qo)),this._knownThemes.set($o,rr($o)),this._styleElement=q.s(),this._styleElement.className="monaco-colors",this.setTheme(Jo)}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(!ir(t.base)&&!ir(e))throw new Error("Illegal theme base!");this._knownThemes.set(e,new nr(e,t)),ir(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,n=this;if(t=this._knownThemes.has(e)?this._knownThemes.get(e):this._knownThemes.get(Jo),this._theme===t)return t.id;this._theme=t;var i=[],o={},r={addRule:function(e){o[e]||(i.push(e),o[e]=!0)}};tr.getThemingParticipants().forEach(function(e){return e(t,r,n.environment)});var s=t.tokenTheme.getColorMap();return r.addRule(function(e){for(var t=[],n=1,i=e.length;n=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},lr=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},cr="data-keybinding-context",dr=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}(),hr=function(e){function t(){return e.call(this,-1,null)||this}return ar(t,e),t.prototype.setValue=function(e,t){return!1},t.prototype.removeValue=function(e){return!1},t.prototype.getValue=function(e){},t.INSTANCE=new t,t}(dr),pr=function(e){function t(t,n,i){var o=e.call(this,t,null)||this;return o._configurationService=n,o._values=new Map,o._listener=o._configurationService.onDidChangeConfiguration(function(e){if(6===e.source){var t=Object(Qt.d)(o._values);o._values.clear(),i.fire(new mr(t))}else{for(var n=[],r=0,s=e.affectedKeys;r1){var i=n.shift();i&&(o.focusItemByElement(i.container),n.push(i)),o.mnemonics.set(t,n)}}})),be.c&&o._register(Object(q.h)(r,q.d.KEY_DOWN,function(e){var t=new qt.a(e);t.equals(14)||t.equals(11)?(o.focusedItem=o.viewItems.length-1,o.focusNext(),q.c.stop(e,!0)):(t.equals(13)||t.equals(12))&&(o.focusedItem=0,o.focusPrevious(),q.c.stop(e,!0))})),o._register(Object(q.h)(o.domNode,q.d.MOUSE_OUT,function(e){var t=e.relatedTarget;Object(q.E)(t,o.domNode)||(o.focusedItem=void 0,o.scrollTopHold=o.menuElement.scrollTop,o.updateFocus(),e.stopPropagation())})),o._register(Object(q.h)(o.domNode,q.d.MOUSE_UP,function(e){q.c.stop(e,!0)})),o._register(Object(q.h)(o.actionsList,q.d.MOUSE_OVER,function(e){var t=e.target;if(t&&Object(q.E)(t,o.actionsList)&&t!==o.actionsList){for(;t.parentElement!==o.actionsList&&null!==t.parentElement;)t=t.parentElement;if(Object(q.C)(t,"action-item")){var n=o.focusedItem;o.scrollTopHold=o.menuElement.scrollTop,o.setFocusedItem(t),n!==o.focusedItem&&o.updateFocus()}}}));var s={parent:o};return o.mnemonics=new Map,o.push(n,{icon:!0,label:!0,isMenu:!0}),o.scrollableElement=o._register(new Zn.a(r,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0})),o.scrollableElement.getDomNode().style.position=null,r.style.maxHeight=Math.max(10,window.innerHeight-t.getBoundingClientRect().top-30)+"px",o.menuDisposables.add(o.scrollableElement.onScroll(function(){o._onScroll.fire()},o)),o._register(Object(q.h)(o.menuElement,q.d.SCROLL,function(e){void 0!==o.scrollTopHold&&(o.menuElement.scrollTop=o.scrollTopHold,o.scrollTopHold=void 0),o.scrollableElement.scanDomNode()})),t.appendChild(o.scrollableElement.getDomNode()),o.scrollableElement.scanDomNode(),o.viewItems.filter(function(e){return!(e instanceof xr)}).forEach(function(e,t,n){e.updatePositionInSet(t+1,n.length)}),o}return Cr(t,e),t.prototype.style=function(e){var t=this.getContainer(),n=e.foregroundColor?""+e.foregroundColor:null,i=e.backgroundColor?""+e.backgroundColor:null,o=e.borderColor?"2px solid "+e.borderColor:null,r=e.shadowColor?"0 2px 4px "+e.shadowColor:null;t.style.border=o,this.domNode.style.color=n,this.domNode.style.backgroundColor=i,t.style.boxShadow=r,this.viewItems&&this.viewItems.forEach(function(t){(t instanceof Er||t instanceof xr)&&t.style(e)})},t.prototype.getContainer=function(){return this.scrollableElement.getDomNode()},Object.defineProperty(t.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollOffset",{get:function(){return this.menuElement.scrollTop},enumerable:!0,configurable:!0}),t.prototype.focusItemByElement=function(e){var t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()},t.prototype.setFocusedItem=function(e){for(var t=0;t
    "+e.substr(i.index+i[0].length)),e=e.replace(/&&/g,"&"),this.item.setAttribute("aria-keyshortcuts",(n[1]?n[1]:n[3]).toLocaleLowerCase())}else e=e.replace(/&&/g,"&")}this.label.innerHTML=e.trim()}},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=rn.a({key:"titleLabel",comment:["action title","action keybinding"]},"{0} ({1})",e,this.options.keybinding))),e&&(this.item.title=e)},t.prototype.updateClass=function(){this.cssClass&&Object(q.J)(this.item,this.cssClass),this.options.icon?(this.cssClass=this.getAction().class||"",Object(q.f)(this.label,"icon"),this.cssClass&&Object(q.g)(this.label,this.cssClass),this.updateEnabled()):Object(q.I)(this.label,"icon")},t.prototype.updateEnabled=function(){this.getAction().enabled?(this.element&&Object(q.I)(this.element,"disabled"),Object(q.I)(this.item,"disabled"),this.item.tabIndex=0):(this.element&&Object(q.f)(this.element,"disabled"),Object(q.f)(this.item,"disabled"),Object(q.L)(this.item))},t.prototype.updateChecked=function(){this.getAction().checked?(Object(q.f)(this.item,"checked"),this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked","true")):(Object(q.I)(this.item,"checked"),this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked","false"))},t.prototype.getMnemonic=function(){return this.mnemonic},t.prototype.applyStyle=function(){if(this.menuStyle){var e=this.element&&Object(q.C)(this.element,"focused"),t=e&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,n=e&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:this.menuStyle.backgroundColor,i=e&&this.menuStyle.selectionBorderColor?"thin solid "+this.menuStyle.selectionBorderColor:null;this.item.style.color=t?""+t:null,this.check.style.backgroundColor=t?""+t:null,this.item.style.backgroundColor=n?""+n:null,this.container.style.border=i}},t.prototype.style=function(e){this.menuStyle=e,this.applyStyle()},t}(Gn.c),Nr=function(e){function t(t,n,i,o){var r=e.call(this,t,t,o)||this;return r.submenuActions=n,r.parentData=i,r.submenuOptions=o,r.submenuDisposables=r._register(new G.b),r.showScheduler=new ve.d(function(){r.mouseOver&&(r.cleanupExistingSubmenu(!1),r.createSubmenu(!1))},250),r.hideScheduler=new ve.d(function(){r.element&&!Object(q.E)(document.activeElement,r.element)&&r.parentData.submenu===r.mysubmenu&&(r.parentData.parent.focus(!1),r.cleanupExistingSubmenu(!0))},750),r}return Cr(t,e),t.prototype.render=function(t){var n=this;e.prototype.render.call(this,t),this.element&&(Object(q.f)(this.item,"monaco-submenu-item"),this.item.setAttribute("aria-haspopup","true"),this.submenuIndicator=Object(q.m)(this.item,Object(q.a)("span.submenu-indicator")),this.submenuIndicator.setAttribute("aria-hidden","true"),this._register(Object(q.h)(this.element,q.d.KEY_UP,function(e){var t=new qt.a(e);(t.equals(17)||t.equals(3))&&(q.c.stop(e,!0),n.createSubmenu(!0))})),this._register(Object(q.h)(this.element,q.d.KEY_DOWN,function(e){var t=new qt.a(e);document.activeElement===n.item&&(t.equals(17)||t.equals(3))&&q.c.stop(e,!0)})),this._register(Object(q.h)(this.element,q.d.MOUSE_OVER,function(e){n.mouseOver||(n.mouseOver=!0,n.showScheduler.schedule())})),this._register(Object(q.h)(this.element,q.d.MOUSE_LEAVE,function(e){n.mouseOver=!1})),this._register(Object(q.h)(this.element,q.d.FOCUS_OUT,function(e){n.element&&!Object(q.E)(document.activeElement,n.element)&&n.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(function(){n.parentData.parent.focus(!1),n.cleanupExistingSubmenu(!1)})))},t.prototype.onClick=function(e){q.c.stop(e,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!1)},t.prototype.cleanupExistingSubmenu=function(e){this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)&&(this.parentData.submenu.dispose(),this.parentData.submenu=void 0,this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0))},t.prototype.createSubmenu=function(e){var t=this;if(void 0===e&&(e=!0),this.element)if(this.parentData.submenu)this.parentData.submenu.focus(!1);else{this.submenuContainer=Object(q.m)(this.element,Object(q.a)("div.monaco-submenu")),Object(q.g)(this.submenuContainer,"menubar-menu-items-holder","context-view"),this.parentData.submenu=new Or(this.submenuContainer,this.submenuActions,this.submenuOptions),this.menuStyle&&this.parentData.submenu.style(this.menuStyle);var n=this.element.getBoundingClientRect(),i=this.submenuContainer.getBoundingClientRect(),o=getComputedStyle(this.parentData.parent.domNode),r=parseFloat(o.paddingTop||"0")||0;window.innerWidth<=n.right+i.width?(this.submenuContainer.style.left="10px",this.submenuContainer.style.top=this.element.offsetTop-this.parentData.parent.scrollOffset+n.height+"px"):(this.submenuContainer.style.left=this.element.offsetWidth+"px",this.submenuContainer.style.top=this.element.offsetTop-this.parentData.parent.scrollOffset-r+"px"),this.submenuDisposables.add(Object(q.h)(this.submenuContainer,q.d.KEY_UP,function(e){new qt.a(e).equals(15)&&(q.c.stop(e,!0),t.parentData.parent.focus(),t.parentData.submenu&&(t.parentData.submenu.dispose(),t.parentData.submenu=void 0),t.submenuDisposables.clear(),t.submenuContainer=void 0)})),this.submenuDisposables.add(Object(q.h)(this.submenuContainer,q.d.KEY_DOWN,function(e){new qt.a(e).equals(15)&&q.c.stop(e,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(function(){t.parentData.parent.focus(),t.parentData.submenu&&(t.parentData.submenu.dispose(),t.parentData.submenu=void 0),t.submenuDisposables.clear(),t.submenuContainer=void 0})),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu}},t.prototype.applyStyle=function(){if(e.prototype.applyStyle.call(this),this.menuStyle){var t=this.element&&Object(q.C)(this.element,"focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator.style.backgroundColor=t?""+t:null,this.parentData.submenu&&this.parentData.submenu.style(this.menuStyle)}},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)},t}(Er),xr=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Cr(t,e),t.prototype.style=function(e){this.label.style.borderBottomColor=e.separatorColor?""+e.separatorColor:null},t}(Gn.b);var Ir=n("Yqb6"),Dr=n("Gxst"),kr=n("b1X/"),Tr=function(){function e(e,t,n,i,o){this.contextViewService=e,this.telemetryService=t,this.notificationService=n,this.keybindingService=i,this.themeService=o,this.options={blockMouse:!0}}return e.prototype.configure=function(e){this.options=e},e.prototype.showContextMenu=function(e){var t,n=this,i=e.getActions();i.length&&(this.focusToReturn=document.activeElement,this.contextViewService.showContextView({getAnchor:function(){return e.getAnchor()},canRelayout:!1,anchorAlignment:e.anchorAlignment,render:function(o){var r=e.getMenuClassName?e.getMenuClassName():"";r&&(o.className+=" "+r),n.options.blockMouse&&(n.block=o.appendChild(Object(q.a)(".context-view-block")));var s=new G.b,a=e.actionRunner||new Yn.b;return a.onDidBeforeRun(n.onActionRun,n,s),a.onDidRun(n.onDidActionRun,n,s),t=new Or(o,i,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:a,getKeyBinding:e.getKeyBinding?e.getKeyBinding:function(e){return n.keybindingService.lookupKeybinding(e.id)}}),s.add(Object(Ir.c)(t,n.themeService)),t.onDidCancel(function(){return n.contextViewService.hideContextView(!0)},null,s),t.onDidBlur(function(){return n.contextViewService.hideContextView(!0)},null,s),Object(Dr.a)(window,q.d.BLUR)(function(){n.contextViewService.hideContextView(!0)},null,s),Object(Dr.a)(window,q.d.MOUSE_DOWN)(function(e){if(!e.defaultPrevented){var t=new kr.b(e),i=t.target;if(!t.rightButton){for(;i;){if(i===o)return;i=i.parentElement}n.contextViewService.hideContextView(!0)}}},null,s),Object(G.e)(s,t)},focus:function(){t&&t.focus(!!e.autoSelectFirstItem)},onHide:function(t){e.onHide&&e.onHide(!!t),n.block&&(Object(q.K)(n.block),n.block=null),n.focusToReturn&&n.focusToReturn.focus()}}))},e.prototype.onActionRun=function(e){this.telemetryService&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1),this.focusToReturn&&this.focusToReturn.focus()},e.prototype.onDidActionRun=function(e){e.error&&this.notificationService&&this.notificationService.error(e.error)},e}(),Mr=n("3ciN"),Rr=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ar=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},Pr=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Fr=function(e){function t(t,n,i,o,r){var s=e.call(this)||this;return s._onDidContextMenu=s._register(new A.a),s.contextMenuHandler=new Tr(i,t,n,o,r),s}return Rr(t,e),t.prototype.configure=function(e){this.contextMenuHandler.configure(e)},t.prototype.showContextMenu=function(e){this.contextMenuHandler.showContextMenu(e),this._onDidContextMenu.fire()},t=Ar([Pr(0,Mr.a),Pr(1,_n.a),Pr(2,hi.b),Pr(3,Fi.a),Pr(4,$n.c)],t)}(G.a),Wr=(n("+Tn7"),n("vbff")),jr=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();function Vr(e,t,n){var i=n.offset+n.size;return 0===n.position?t<=e-i?i:t<=n.offset?n.offset-t:Math.max(e-t,0):t<=n.offset?n.offset-t:t<=e-i?i:0}var Br=function(e){function t(t){var n=e.call(this)||this;return n.container=null,n.delegate=null,n.toDisposeOnClean=G.a.None,n.toDisposeOnSetContainer=G.a.None,n.view=q.a(".context-view"),q.D(n.view),n.setContainer(t),n._register(Object(G.h)(function(){return n.setContainer(null)})),n}return jr(t,e),t.prototype.setContainer=function(e){var n=this;if(this.container&&(this.toDisposeOnSetContainer.dispose(),this.container.removeChild(this.view),this.container=null),e){this.container=e,this.container.appendChild(this.view);var i=new G.b;t.BUBBLE_UP_EVENTS.forEach(function(e){i.add(q.k(n.container,e,function(e){n.onDOMEvent(e,!1)}))}),t.BUBBLE_DOWN_EVENTS.forEach(function(e){i.add(q.k(n.container,e,function(e){n.onDOMEvent(e,!0)},!0))}),this.toDisposeOnSetContainer=i}},t.prototype.show=function(e){this.isVisible()&&this.hide(),q.p(this.view),this.view.className="context-view",this.view.style.top="0px",this.view.style.left="0px",q.Q(this.view),this.toDisposeOnClean=e.render(this.view)||G.a.None,this.delegate=e,this.doLayout(),this.delegate.focus&&this.delegate.focus()},t.prototype.layout=function(){this.isVisible()&&(!1!==this.delegate.canRelayout?(this.delegate.layout&&this.delegate.layout(),this.doLayout()):this.hide())},t.prototype.doLayout=function(){if(this.isVisible()){var e,t=this.delegate.getAnchor();if(q.F(t)){var n=q.x(t);e={top:n.top,left:n.left,width:n.width,height:n.height}}else e={top:t.y,left:t.x,width:t.width||1,height:t.height||2};var i,o=q.B(this.view),r=q.A(this.view),s=this.delegate.anchorPosition||0,a=this.delegate.anchorAlignment||0,u={offset:e.top-window.pageYOffset,size:e.height,position:0===s?0:1};i=0===a?{offset:e.left,size:0,position:0}:{offset:e.left+e.width,size:0,position:1};var l=Vr(window.innerHeight,r,u)+window.pageYOffset;Wr.a.intersects({start:l,end:l+r},{start:u.offset,end:u.offset+u.size})&&(i.size=e.width,1===a&&(i.offset=e.left));var c=Vr(window.innerWidth,o,i);q.J(this.view,"top","bottom","left","right"),q.f(this.view,0===s?"bottom":"top"),q.f(this.view,0===a?"left":"right");var d=q.x(this.container);this.view.style.top=l-d.top+"px",this.view.style.left=c-d.left+"px",this.view.style.width="initial"}},t.prototype.hide=function(e){var t=this.delegate;this.delegate=null,t&&t.onHide&&t.onHide(e),this.toDisposeOnClean.dispose(),q.D(this.view)},t.prototype.isVisible=function(){return!!this.delegate},t.prototype.onDOMEvent=function(e,t){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,document.activeElement):t&&!q.E(e.target,this.container)&&this.hide())},t.prototype.dispose=function(){this.hide(),e.prototype.dispose.call(this)},t.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],t.BUBBLE_DOWN_EVENTS=["click"],t}(G.a),Hr=Object(nt.c)("layoutService"),zr=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ur=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},Kr=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},qr=function(e){function t(t){var n=e.call(this)||this;return n.layoutService=t,n.contextView=n._register(new Br(t.container)),n.layout(),n._register(t.onLayout(function(){return n.layout()})),n}return zr(t,e),t.prototype.setContainer=function(e){this.contextView.setContainer(e)},t.prototype.showContextView=function(e){this.contextView.show(e)},t.prototype.layout=function(){this.contextView.layout()},t.prototype.hideContextView=function(e){this.contextView.hide(e)},t=Ur([Kr(0,Hr)],t)}(G.a),Gr=Object(nt.c)("dialogService"),Zr=n("wV8Z");var Yr,Xr=function(){function e(e){this._hashFn=e,this._nodes=Object.create(null)}return e.prototype.roots=function(){var e=[];return Object(Zr.c)(this._nodes,function(t){Object(Ce.e)(t.value.outgoing)&&e.push(t.value)}),e},e.prototype.insertEdge=function(e,t){var n=this.lookupOrInsertNode(e),i=this.lookupOrInsertNode(t);n.outgoing[this._hashFn(t)]=i,i.incoming[this._hashFn(e)]=n},e.prototype.removeNode=function(e){var t=this._hashFn(e);delete this._nodes[t],Object(Zr.c)(this._nodes,function(e){delete e.value.outgoing[t],delete e.value.incoming[t]})},e.prototype.lookupOrInsertNode=function(e){var t=this._hashFn(e),n=this._nodes[t];return n||(n=function(e){return{data:e,incoming:Object.create(null),outgoing:Object.create(null)}}(e),this._nodes[t]=n),n},e.prototype.isEmpty=function(){for(var e in this._nodes)return!1;return!0},e.prototype.toString=function(){var e=[];return Object(Zr.c)(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}(),Jr=n("Qv71"),Qr=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),$r="function"==typeof Proxy,es=function(e){function t(t){var n=e.call(this,"cyclic dependency between services")||this;return n.message=t.toString(),n}return Qr(t,e),t}(Error),ts=function(){function e(e,t,n){void 0===e&&(e=new di.a),void 0===t&&(t=!1),this._services=e,this._strict=t,this._parent=n,this._services.set(nt.a,this)}return e.prototype.createChild=function(t){return new e(t,this._strict,this)},e.prototype.invokeFunction=function(e){for(var t=this,n=[],i=1;i0?i[0].index:t.length;if(t.length!==l){console.warn("[createInstance] First service dependency of "+e.name+" at position "+(l+1)+" conflicts with "+t.length+" static arguments");var c=l-t.length;t=c>0?t.concat(new Array(c)):t.slice(0,l)}return new(e.bind.apply(e,[void 0].concat(t.concat(o))))},e.prototype._setServiceInstance=function(e,t){if(this._services.get(e)instanceof Jr.a)this._services.set(e,t);else{if(!this._parent)throw new Error("illegalState - setting UNKNOWN service instance");this._parent._setServiceInstance(e,t)}},e.prototype._getServiceInstanceOrDescriptor=function(e){var t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t},e.prototype._getOrCreateServiceInstance=function(e,t){var n=this._getServiceInstanceOrDescriptor(e);return n instanceof Jr.a?this._createAndCacheServiceInstance(e,n,t.branch(e,!0)):(t.branch(e,!1),n)},e.prototype._createAndCacheServiceInstance=function(e,t,n){for(var i=new Xr(function(e){return e.id.toString()}),o=0,r=[{id:e,desc:t,_trace:n}];r.length;){var s=r.pop();if(i.lookupOrInsertNode(s),o++>100)throw new es(i);for(var a=0,u=nt.b.getServiceDependencies(s.desc.ctor);a "+l);var h=e(t+1,d);h&&o.push(h)}else o.push(r+"uses -> "+l)}return o.join("\n")}(1,this),"DONE, took "+t.toFixed(2)+"ms (grand total "+e._totals.toFixed(2)+"ms)"];(t>2||n)&&console.log(i.join("\n"))},e._None=new(function(e){function t(){return e.call(this,-1,null)||this}return Qr(t,e),t.prototype.stop=function(){},t.prototype.branch=function(){return this},t}(e)),e._totals=0,e}(),is=n("g1W0"),os=n("bhIx"),rs=n("OHx0");!function(e){e.get=function(e,t,n){if(e[t])return e[t][n]},e.set=function(e,t,n,i){e[t]||(e[t]=Object.create(null)),e[t][n]=i},e.remove=function(e,t,n){return!(!e[t]||!e[t][n]||(delete e[t][n],Object(Ce.e)(e[t])&&delete e[t],0))}}(Yr||(Yr={}));var ss=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){if(this._data)for(var t=0,n=e;t0?a:1,startColumn:u=u>0?u:1,endLineNumber:l=l>=a?l:a,endColumn:c=c>0?c:u,relatedInformation:d,tags:h}},e.prototype.read=function(t){void 0===t&&(t=Object.create(null));var n=t.owner,i=t.resource,o=t.severities,r=t.take;if((!r||r<0)&&(r=-1),n&&i){if(y=Yr.get(this._byResource,i.toString(),n)){for(var s=[],a=0,u=y;a0&&c===r)break}}return s}return[]}if(n||i){var d=n?this._byOwner[n]:i?this._byResource[i.toString()]:void 0;if(!d)return[];s=[];for(var h in d)for(var p=0,f=d[h];p0&&c===r)return s}}return s}var s=[];for(var g in this._byResource)for(var m in this._byResource[g])for(var _=0,v=this._byResource[g][m];_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,n){t||(e._dedupeMap=Object.create(null),t=[]);for(var i=0,o=n;i=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},hs=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ps=function(){function e(e){this._commandService=e}return e.prototype.createMenu=function(e,t){return new fs(e,this._commandService,t)},e=ds([hs(0,$.b)],e)}(),fs=function(e){function t(t,n,i){var o=e.call(this)||this;return o._id=t,o._commandService=n,o._contextKeyService=i,o._onDidChange=o._register(new A.a),o._build(),o._register(A.b.debounce(A.b.filter(Pi.c.onDidChangeMenu,function(e){return e===o._id}),function(){},50)(o._build,o)),o._register(A.b.debounce(o._contextKeyService.onDidChangeContext,function(e,t){return e||t.affectsSome(o._contextKeys)},50)(function(e){return e&&o._onDidChange.fire(void 0)},o)),o}return cs(t,e),t.prototype._build=function(){this._menuGroups=[],this._contextKeys=new Set;var e,n=Pi.c.getMenuItems(this._id);n.sort(t._compareMenuItems);for(var i=0,o=n;i0&&t.push([r,s])}return t},t._fillInKbExprKeys=function(e,t){if(e)for(var n=0,i=e.keys();ns)return 1;var a="string"==typeof e.command.title?e.command.title:e.command.title.value,u="string"==typeof t.command.title?t.command.title:t.command.title.value;return a.localeCompare(u)},t=ds([hs(1,$.b),hs(2,un.c)],t)}(G.a),gs=n("JbsQ"),ms=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),_s=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},vs=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}};function ys(e){return e.toString()}var bs,Cs=function(e){function t(t){var n=e.call(this)||this;return n.model=t,n._markersData=new Map,n._register(Object(G.h)(function(){n.model.deltaDecorations(Object(Qt.d)(n._markersData),[]),n._markersData.clear()})),n}return ms(t,e),t.prototype.update=function(e,t){for(var n=this.model.deltaDecorations(Object(Qt.d)(this._markersData),t),i=0;i=o?new j.a(n.startLineNumber,o-1,n.endLineNumber,o):new j.a(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn+1))}}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&n.startLineNumber===n.endLineNumber){var r=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);r=0?"squiggly-unnecessary":"squiggly-hint",n=0;break;case rs.c.Warning:t="squiggly-warning",i=Object($n.g)(Jn.r),n=20;break;case rs.c.Info:t="squiggly-info",i=Object($n.g)(Jn.q),n=10;break;case rs.c.Error:default:t="squiggly-error",i=Object($n.g)(Jn.p),n=30}return e.tags&&(-1!==e.tags.indexOf(1)&&(o="squiggly-inline-unnecessary"),-1!==e.tags.indexOf(2)&&(o="squiggly-inline-deprecated")),{stickiness:1,className:t,showIfCollapsed:!0,overviewRuler:{color:i,position:pe.d.Right},zIndex:n,inlineClassName:o}},t=_s([vs(0,tt.a),vs(1,rs.b)],t)}(G.a),Ss=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ls=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},Os=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Es=function(e){function t(t,n){var i=e.call(this)||this;return i._contextKeyService=t,i._configurationService=n,i._onDidChangeAccessibilitySupport=new A.a,i.onDidChangeAccessibilitySupport=i._onDidChangeAccessibilitySupport.event,i._accessibilityModeEnabledContext=Wi.a.bindTo(i._contextKeyService),i._register(i._configurationService.onDidChangeConfiguration(function(e){e.affectsConfiguration("editor.accessibilitySupport")&&i._updateContextKey()})),i._updateContextKey(),i.onDidChangeAccessibilitySupport(function(){return i._updateContextKey()}),i}return Ss(t,e),t.prototype._updateContextKey=function(){var e=2===this.getAccessibilitySupport(),t=this._configurationService.getValue("editor.accessibilitySupport");this._accessibilityModeEnabledContext.set("on"===t||"auto"===t&&e)},t=Ls([Os(0,un.c),Os(1,Jt.a)],t)}(G.a),Ns=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),xs=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},Is=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Ds=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.contextKeyService=t,i.configurationService=n,i._accessibilitySupport=0,i}return Ns(t,e),t.prototype.getAccessibilitySupport=function(){return this._accessibilitySupport},t=xs([Is(0,un.c),Is(1,Jt.a)],t)}(Es),ks=n("8xpx"),Ts=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();!function(e){var t=new di.a,n=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=n;var i=[];function o(e,t){var o=new n(e,t);return i.push(o),o}e.init=function(e){for(var t=new di.a,n=0,o=Object(ks.a)();n=0&&n<5;)n++,t=t.replace(/@(\w+)/g,function(n,i){var o="";if("string"==typeof e[i])o=e[i];else{if(!(e[i]&&e[i]instanceof RegExp))throw void 0===e[i]?kt(e,"language definition does not contain attribute '"+i+"', used at: "+t):kt(e,"attribute reference '"+i+"' must be a string, used at: "+t);o=e[i].source}return xt(o)?"":"(?:"+o+")"});return new RegExp(t,e.ignoreCase?"i":"")}function ua(e,t,n,i){var o=-1,r=n,s=n.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);s&&(s[3]&&(o=parseInt(s[3]),s[2]&&(o+=100)),r=s[4]);var a,u="~",l=r;if(r&&0!==r.length?/^\w*$/.test(l)?u="==":(s=r.match(/^(@|!@|~|!~|==|!=)(.*)$/))&&(u=s[1],l=s[2]):(u="!=",l=""),"~"!==u&&"!~"!==u||!/^(\w|\|)*$/.test(l))if("@"===u||"!@"===u){var c=e[l];if(!c)throw kt(e,"the @ match target '"+l+"' is not defined, in rule: "+t);if(!function(e,t){if(!t)return!1;if(!Array.isArray(t))return!1;for(var n=0,i=t;n=100){i-=100;var o=n.split(".");if(o.unshift(n),i0&&"^"===n[0],this.name=this.name+": "+n,this.regex=aa(e,"^(?:"+(this.matchOnlyAtLineStart?n.substr(1):n)+")")},e.prototype.setAction=function(e,t){this.action=function e(t,n,i){if(i){if("string"==typeof i)return i;if(i.token||""===i.token){if("string"!=typeof i.token)throw kt(t,"a 'token' attribute must be of type string, in rule: "+n);var o={token:i.token};if(i.token.indexOf("$")>=0&&(o.tokenSubst=!0),"string"==typeof i.bracket)if("@open"===i.bracket)o.bracket=1;else{if("@close"!==i.bracket)throw kt(t,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+n);o.bracket=-1}if(i.next){if("string"!=typeof i.next)throw kt(t,"the next state must be a string value in rule: "+n);var r=i.next;if(!/^(@pop|@push|@popall)$/.test(r)&&("@"===r[0]&&(r=r.substr(1)),r.indexOf("$")<0&&!function(e,t){for(var n=t;n&&n.length>0;){if(e.stateNames[n])return!0;var i=n.lastIndexOf(".");n=i<0?null:n.substr(0,i)}return!1}(t,Tt(t,r,"",[],""))))throw kt(t,"the next state '"+i.next+"' is not defined in rule: "+n);o.next=r}return"number"==typeof i.goBack&&(o.goBack=i.goBack),"string"==typeof i.switchTo&&(o.switchTo=i.switchTo),"string"==typeof i.log&&(o.log=i.log),"string"==typeof i.nextEmbedded&&(o.nextEmbedded=i.nextEmbedded,t.usesEmbedded=!0),o}if(Array.isArray(i)){for(var s=[],a=0,u=i.length;a0&&o[r-1]===c)){var d=l.startIndex;0===a?d=0:d=1&&l.length<=3)if(d.setRegex(i,l[0]),l.length>=3)if("string"==typeof l[1])d.setAction(i,{token:l[1],next:l[2]});else{if("object"!=typeof l[1])throw kt(n,"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);var h=l[1];h.next=l[2],d.setAction(i,h)}else d.setAction(i,l[1]);else{if(!l.regex)throw kt(n,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+e);l.name&&"string"==typeof l.name&&(d.name=l.name),l.matchOnlyAtStart&&(d.matchOnlyAtLineStart=oa(l.matchOnlyAtLineStart,!1)),d.setRegex(i,l.regex),d.setAction(i,l.action)}r.push(d)}}}if(i.languageId=e,i.ignoreCase=n.ignoreCase,i.noThrow=n.noThrow,i.usesEmbedded=n.usesEmbedded,i.stateNames=t.tokenizer,i.defaultToken=n.defaultToken,!t.tokenizer||"object"!=typeof t.tokenizer)throw kt(n,"a language definition must define the 'tokenizer' attribute as an object");for(var r in n.tokenizer=[],t.tokenizer)if(t.tokenizer.hasOwnProperty(r)){n.start||(n.start=r);var s=t.tokenizer[r];n.tokenizer[r]=new Array,o("tokenizer."+r,n.tokenizer[r],s)}if(n.usesEmbedded=i.usesEmbedded,t.brackets){if(!Array.isArray(t.brackets))throw kt(n,"the 'brackets' attribute must be defined as an array")}else t.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];for(var a=[],u=0,l=t.brackets;u=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},v=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},y=function(e){function t(t,n,i){var o=e.call(this)||this;return o._editor=t,o._modeService=i,o._widget=null,o._register(o._editor.onDidChangeModel(function(e){return o.stop()})),o._register(o._editor.onDidChangeModelLanguage(function(e){return o.stop()})),o._register(l.y.onDidChange(function(e){return o.stop()})),o}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.hasModel()&&(this._widget=new C(this._editor,this._modeService))},t.prototype.stop=function(){this._widget&&(this._widget.dispose(),this._widget=null)},t.ID="editor.contrib.inspectTokens",t=_([v(1,h.a),v(2,d.a)],t)}(s.a),b=function(e){function t(){return e.call(this,{id:"editor.action.inspectTokens",label:g.c.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})||this}return m(t,e),t.prototype.run=function(e,t){var n=y.get(t);n&&n.launch()},t}(u.b);var C=function(e){function t(t,n){var i,o=e.call(this)||this;return o.allowEditorOverflow=!0,o._editor=t,o._modeService=n,o._model=o._editor.getModel(),o._domNode=document.createElement("div"),o._domNode.className="tokens-inspect-widget",o._tokenizationSupport=(i=o._model.getLanguageIdentifier(),l.y.get(i.language)||{getInitialState:function(){return c.c},tokenize:function(e,t,n){return Object(c.d)(i.language,e,t,n)},tokenize2:function(e,t,n){return Object(c.e)(i.id,e,t,n)}}),o._compute(o._editor.getPosition()),o._register(o._editor.onDidChangeCursorPosition(function(e){return o._compute(o._editor.getPosition())})),o._editor.addContentWidget(o),o}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),n=0,i=t.tokens1.length-1;i>=0;i--){var o=t.tokens1[i];if(e.column-1>=o.offset){n=i;break}}var s=0;for(i=t.tokens2.length>>>1;i>=0;i--)if(e.column-1>=t.tokens2[i<<1]){s=i;break}var u="",l=this._model.getLineContent(e.lineNumber),c="";if(n'+function(e){for(var t="",n=0,i=e.length;n('+c.length+" "+(1===c.length?"char":"chars")+")",u+='
    ';var p=this._decodeMetadata(t.tokens2[1+(s<<1)]);u+='',u+='",u+='",u+='",u+='",u+='",u+="",u+='
    ',n'+Object(a.o)(t.tokens1[n].type)+""),this._domNode.innerHTML=u,this._editor.layoutContentWidget(this)},t.prototype._decodeMetadata=function(e){var t=l.y.getColorMap(),n=l.x.getLanguageId(e),i=l.x.getTokenType(e),o=l.x.getFontStyle(e),r=l.x.getForeground(e),s=l.x.getBackground(e);return{languageIdentifier:this._modeService.getLanguageIdentifier(n),tokenType:i,fontStyle:o,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),n=this._tokenizationSupport.tokenize(this._model.getLineContent(e),t,0),i=this._tokenizationSupport.tokenize2(this._model.getLineContent(e),t,0);return{startState:t,tokens1:n.tokens,tokens2:i.tokens,endState:n.endState}},t.prototype._getStateBeforeLine=function(e){for(var t=this._tokenizationSupport.getInitialState(),n=1;n0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]o&&(o=a)}return o}if("string"==typeof e)return i?"*"===e?5:e===n?10:0:0;if(e){var c=e.language,d=e.pattern,h=e.scheme,p=e.hasAccessToAllModels;if(!i&&!p)return 0;o=0;if(h)if(h===t.scheme)o=10;else{if("*"!==h)return 0;o=5}if(c)if(c===n)o=10;else{if("*"!==c)return 0;o=Math.max(o,5)}if(d){if(d!==t.fsPath&&!Object(u.a)(d,t.fsPath))return 0;o=10}return o}return 0}var c=n("jIdl");function d(e){return"string"!=typeof e&&(Array.isArray(e)?e.every(d):!!e.exclusive)}var h=function(){function e(){this._clock=0,this._entries=[],this._onDidChange=new s.a}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){var n=this,i={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(i),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),Object(a.h)(function(){if(i){var e=n._entries.indexOf(i);e>=0&&(n._entries.splice(e,1),n._lastCandidate=void 0,n._onDidChange.fire(n._entries.length),i=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=[],n=0,i=this._entries;n0&&t.push(o.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,n,i=[];return this._orderedForEach(e,function(e){t&&n===e._score?t.push(e.provider):(n=e._score,t=[e.provider],i.push(t))}),i},e.prototype._orderedForEach=function(e,t){if(e){this._updateScores(e);for(var n=0,i=this._entries;n0&&t(o)}}},e.prototype._updateScores=function(t){var n={uri:t.uri.toString(),language:t.getLanguageIdentifier().language};if(!this._lastCandidate||this._lastCandidate.language!==n.language||this._lastCandidate.uri!==n.uri){this._lastCandidate=n;for(var i=0,o=this._entries;i0){for(var s=0,a=this._entries;st._score?-1:e._timet._time?-1:0},e}(),p=n("WTFd"),f=function(){function e(){this._map=new Map,this._promises=new Map,this._onDidChange=new s.a,this.onDidChange=this._onDidChange.event,this._colorMap=null}return e.prototype.fire=function(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})},e.prototype.register=function(e,t){var n=this;return this._map.set(e,t),this.fire([e]),Object(a.h)(function(){n._map.get(e)===t&&(n._map.delete(e),n.fire([e]))})},e.prototype.registerPromise=function(e,t){var n=this,i=null,o=!1;return this._promises.set(e,t.then(function(t){n._promises.delete(e),!o&&t&&(i=n.register(e,t))})),Object(a.h)(function(){o=!0,i&&i.dispose()})},e.prototype.getPromise=function(e){var t=this,n=this.get(e);if(n)return Promise.resolve(n);var i=this._promises.get(e);return i?i.then(function(n){return t.get(e)}):null},e.prototype.get=function(e){return Object(i.n)(this._map.get(e))},e.prototype.setColorMap=function(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Object(p.d)(this._map),changedColorMap:!0})},e.prototype.getColorMap=function(){return this._colorMap},e.prototype.getDefaultBackground=function(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null},e}();n.d(t,"p",function(){return v}),n.d(t,"x",function(){return y}),n.d(t,"B",function(){return b}),n.d(t,"A",function(){return C}),n.d(t,"w",function(){return m}),n.d(t,"h",function(){return _}),t.C=function(e){return e&&o.a.isUri(e.uri)&&r.a.isIRange(e.range)&&(r.a.isIRange(e.originSelectionRange)||r.a.isIRange(e.targetSelectionRange))},n.d(t,"E",function(){return S}),n.d(t,"l",function(){return L}),t.D=function(e){return Object(i.h)(e)&&e.resource&&Array.isArray(e.edits)},n.d(t,"s",function(){return O}),n.d(t,"t",function(){return E}),n.d(t,"d",function(){return N}),n.d(t,"v",function(){return x}),n.d(t,"n",function(){return I}),n.d(t,"k",function(){return D}),n.d(t,"i",function(){return k}),n.d(t,"f",function(){return T}),n.d(t,"e",function(){return M}),n.d(t,"o",function(){return R}),n.d(t,"z",function(){return A}),n.d(t,"b",function(){return P}),n.d(t,"a",function(){return F}),n.d(t,"g",function(){return W}),n.d(t,"j",function(){return j}),n.d(t,"r",function(){return V}),n.d(t,"q",function(){return B}),n.d(t,"c",function(){return H}),n.d(t,"u",function(){return z}),n.d(t,"m",function(){return U}),n.d(t,"y",function(){return K});var g,m,_,v=function(){return function(e,t){this.language=e,this.id=t}}(),y=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),n=this.getFontStyle(e);return 1&n&&(t+=" mtki"),2&n&&(t+=" mtkb"),4&n&&(t+=" mtku"),t},e.getInlineStyleFromMetadata=function(e,t){var n=this.getForeground(e),i=this.getFontStyle(e),o="color: "+t[n]+";";return 1&i&&(o+="font-style: italic;"),2&i&&(o+="font-weight: bold;"),4&i&&(o+="text-decoration: underline;"),o},e}(),b=((g=Object.create(null))[0]="method",g[1]="function",g[2]="constructor",g[3]="field",g[4]="variable",g[5]="class",g[6]="struct",g[7]="interface",g[8]="module",g[9]="property",g[10]="event",g[11]="operator",g[12]="unit",g[13]="value",g[14]="constant",g[15]="enum",g[16]="enum-member",g[17]="keyword",g[25]="snippet",g[18]="text",g[19]="color",g[20]="file",g[21]="reference",g[22]="customcolor",g[23]="folder",g[24]="type-parameter",function(e){return g[e]||"property"}),C=function(){var e=Object.create(null);return e.method=0,e.function=1,e.constructor=2,e.field=3,e.variable=4,e.class=5,e.struct=6,e.interface=7,e.module=8,e.property=9,e.event=10,e.operator=11,e.unit=12,e.value=13,e.constant=14,e.enum=15,e["enum-member"]=16,e.enumMember=16,e.keyword=17,e.snippet=25,e.text=18,e.color=19,e.file=20,e.reference=21,e.customcolor=22,e.folder=23,e["type-parameter"]=24,e.typeParameter=24,function(t,n){var i=e[t];return void 0!==i||n||(i=9),i}}();!function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(m||(m={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(_||(_={}));var w,S=((w=Object.create(null))[0]="file",w[1]="module",w[2]="namespace",w[3]="package",w[4]="class",w[5]="method",w[6]="property",w[7]="field",w[8]="constructor",w[9]="enum",w[10]="interface",w[11]="function",w[12]="variable",w[13]="constant",w[14]="string",w[15]="number",w[16]="boolean",w[17]="array",w[18]="object",w[19]="key",w[20]="null",w[21]="enum-member",w[22]="struct",w[23]="event",w[24]="operator",w[25]="type-parameter",function(e,t){return"symbol-icon "+(t?"inline":"block")+" "+(w[e]||"property")}),L=function(){function e(e){this.value=e}return e.Comment=new e("comment"),e.Imports=new e("imports"),e.Region=new e("region"),e}();var O=new h,E=new h,N=new h,x=new h,I=new h,D=new h,k=new h,T=new h,M=new h,R=new h,A=new h,P=new h,F=new h,W=new h,j=new h,V=new h,B=new h,H=new h,z=new h,U=new h,K=new f},POb3:function(e,t,n){var i=n("ICSD")(n("TQ3y"),"Map");e.exports=i},Pb27:function(e,t,n){"use strict";n.d(t,"b",function(){return y}),n.d(t,"a",function(){return b});var i=n("hK2W"),o=n("zxiH"),r=n("tqet"),s=n("vORD"),a=n("JVO/"),u=n("7g0X"),l=n("Gzpe"),c=n("Cfmk"),d=n("ni2T"),h=n("vTy2"),p=n("artP"),f=n("fAkY"),g=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},_=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},v=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]0&&0===n.indexOf(":")){for(var g=null,m=null,_=0,v=0;v0)):_++}m&&m.setGroupLabel(this.typeToLabel(g||"",_))}else o.length>0&&o[0].setGroupLabel(s.r(D.e._symbols_,o.length));return o},t.prototype.typeToLabel=function(e,t){switch(e){case"module":return s.r(D.e._modules_,t);case"class":return s.r(D.e._class_,t);case"interface":return s.r(D.e._interface_,t);case"method":return s.r(D.e._method_,t);case"function":return s.r(D.e._function_,t);case"property":return s.r(D.e._property_,t);case"variable":return s.r(D.e._variable_,t);case"var":return s.r(D.e._variable2_,t);case"constructor":return s.r(D.e._constructor_,t);case"call":return s.r(D.e._call_,t)}return e},t.prototype.sortNormal=function(e,t,n){var i=t.getLabel().toLowerCase(),o=n.getLabel().toLowerCase(),r=i.localeCompare(o);if(0!==r)return r;var s=t.getRange(),a=n.getRange();return s.startLineNumber-a.startLineNumber},t.prototype.sortScoped=function(e,t,n){e=e.substr(":".length);var i=t.getType(),o=n.getType(),r=i.localeCompare(o);if(0!==r)return r;if(e){var s=t.getLabel().toLowerCase(),a=n.getLabel().toLowerCase(),u=s.localeCompare(a);if(0!==u)return u}var l=t.getRange(),c=n.getRange();return l.startLineNumber-c.startLineNumber},t}(I.a);Object(u.f)(M)},QfwU:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o=n("UqCF"),r=n("odeJ"),s=n("uNfg"),a=n("ZfGv"),u=n("03Zz"),l=n("vORD"),c=n("vTy2"),d=n("/9db"),h=n("PCC9"),p=n("Cv8t"),f=n("fw2Z"),g=n("Pb27"),m=n("9uVW"),_=n("hK2W"),v=n("C3c5"),y=n("7g0X"),b=n("fAkY"),C=n("DBt1"),w=n("iLE3"),S=n("ItKl"),L=n("4tuZ"),O=n("JVO/"),E=n("8xpx"),N=n("Kx4b"),x=n("tqet"),I=n("Kp7x"),D=n("NqM+"),k=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),T=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},M=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},R=new y.d("hasSymbols",!1),A=Object(O.c)("ISymbolNavigationService"),P=function(){function e(e,t,n,i){this._editorService=t,this._notificationService=n,this._keybindingService=i,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=R.bindTo(e)}return e.prototype.reset=function(){this._ctxHasSymbols.reset(),Object(x.f)(this._currentState),Object(x.f)(this._currentMessage),this._currentModel=void 0,this._currentIdx=-1},e.prototype.put=function(e){var t=this,n=e.parent.parent;if(n.references.length<=1)this.reset();else{this._currentModel=n,this._currentIdx=n.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();var i=new F(this._editorService),o=i.onDidChange(function(e){if(!t._ignoreEditorChange){var i=t._editorService.getActiveCodeEditor();if(i){var o=i.getModel(),r=i.getPosition();if(o&&r){for(var s=!1,a=!1,u=0,l=n.references;u0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]1?_.a("meta.title"," – {0} definitions",e.references.length):""},t.prototype._onResult=function(e,t,n,i){return j(this,void 0,void 0,function(){var r,s,a,u;return V(this,function(l){switch(l.label){case 0:return r=i.getAriaMessage(),Object(o.a)(r),s=n.getConfiguration().contribInfo.gotoLocation,this._configuration.openInPeek||"peek"===s.multiple&&i.references.length>1?(this._openInPeek(e,n,i),[3,3]):[3,1];case 1:return n.hasModel()?(a=i.firstReference())?[4,this._openReference(n,e,a,this._configuration.openToSide)]:[2]:[3,3];case 2:(u=l.sent())&&i.references.length>1&&"gotoAndPeek"===s.multiple?this._openInPeek(e,u,i):i.dispose(),"goto"===s.multiple&&t.put(a),l.label=3;case 3:return[2]}})})},t.prototype._openReference=function(e,t,n,i){var o=void 0;return Object(h.C)(n)&&(o=n.targetSelectionRange),o||(o=n.range),t.openCodeEditor({resource:n.uri,options:{selection:c.a.collapseToStart(o),revealInCenterIfOutsideViewport:!0}},e,i)},t.prototype._openInPeek=function(e,t,n){var i=this,o=g.a.get(t);o&&t.hasModel()?o.toggleWidget(t.getSelection(),Object(r.f)(function(e){return Promise.resolve(n)}),{getMetaTitle:function(e){return i._getMetaTitle(e)},onGoto:function(n){return o.closeWidget(),i._openReference(t,e,n,!1)}}):n.dispose()},t}(u.b),z=a.f?2118:70,U=function(e){function t(){var n=e.call(this,new B,{id:t.id,label:_.a("actions.goToDecl.label","Go to Definition"),alias:"Go to Definition",precondition:y.a.and(d.a.hasDefinitionProvider,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:z,weight:100},menuOpts:{group:"navigation",order:1.1}})||this;return S.a.registerCommandAlias("editor.action.goToDeclaration",t.id),n}return W(t,e),t.id="editor.action.revealDefinition",t}(H),K=function(e){function t(){var n=e.call(this,new B(!0),{id:t.id,label:_.a("actions.goToDeclToSide.label","Open Definition to the Side"),alias:"Open Definition to the Side",precondition:y.a.and(d.a.hasDefinitionProvider,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:Object(s.a)(2089,z),weight:100}})||this;return S.a.registerCommandAlias("editor.action.openDeclarationToTheSide",t.id),n}return W(t,e),t.id="editor.action.revealDefinitionAside",t}(H),q=function(e){function t(){var n=e.call(this,new B(void 0,!0,!1),{id:t.id,label:_.a("actions.previewDecl.label","Peek Definition"),alias:"Peek Definition",precondition:y.a.and(d.a.hasDefinitionProvider,f.b.notInPeekEditor,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menuOpts:{group:"navigation",order:1.2}})||this;return S.a.registerCommandAlias("editor.action.previewDeclaration",t.id),n}return W(t,e),t.id="editor.action.peekDefinition",t}(H),G=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return W(t,e),t.prototype._getTargetLocationForPosition=function(e,t,n){return Object(w.a)(e,t,n)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?_.a("decl.noResultWord","No declaration found for '{0}'",e.word):_.a("decl.generic.noResults","No declaration found")},t.prototype._getMetaTitle=function(e){return e.references.length>1?_.a("decl.meta.title"," – {0} declarations",e.references.length):""},t}(H),Z=function(e){function t(){return e.call(this,new B,{id:t.id,label:_.a("actions.goToDeclaration.label","Go to Declaration"),alias:"Go to Declaration",precondition:y.a.and(d.a.hasDeclarationProvider,d.a.isInEmbeddedEditor.toNegated()),menuOpts:{group:"navigation",order:1.3}})||this}return W(t,e),t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?_.a("decl.noResultWord","No declaration found for '{0}'",e.word):_.a("decl.generic.noResults","No declaration found")},t.prototype._getMetaTitle=function(e){return e.references.length>1?_.a("decl.meta.title"," – {0} declarations",e.references.length):""},t.id="editor.action.revealDeclaration",t}(G),Y=function(e){function t(){return e.call(this,new B(void 0,!0,!1),{id:"editor.action.peekDeclaration",label:_.a("actions.peekDecl.label","Peek Declaration"),alias:"Peek Declaration",precondition:y.a.and(d.a.hasDeclarationProvider,f.b.notInPeekEditor,d.a.isInEmbeddedEditor.toNegated()),menuOpts:{group:"navigation",order:1.31}})||this}return W(t,e),t}(G),X=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return W(t,e),t.prototype._getTargetLocationForPosition=function(e,t,n){return Object(w.c)(e,t,n)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?_.a("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):_.a("goToImplementation.generic.noResults","No implementation found")},t.prototype._getMetaTitle=function(e){return e.references.length>1?_.a("meta.implementations.title"," – {0} implementations",e.references.length):""},t}(H),J=function(e){function t(){return e.call(this,new B,{id:t.ID,label:_.a("actions.goToImplementation.label","Go to Implementation"),alias:"Go to Implementation",precondition:y.a.and(d.a.hasImplementationProvider,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:2118,weight:100}})||this}return W(t,e),t.ID="editor.action.goToImplementation",t}(X),Q=function(e){function t(){return e.call(this,new B(!1,!0,!1),{id:t.ID,label:_.a("actions.peekImplementation.label","Peek Implementation"),alias:"Peek Implementation",precondition:y.a.and(d.a.hasImplementationProvider,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:3142,weight:100}})||this}return W(t,e),t.ID="editor.action.peekImplementation",t}(X),$=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return W(t,e),t.prototype._getTargetLocationForPosition=function(e,t,n){return Object(w.d)(e,t,n)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?_.a("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):_.a("goToTypeDefinition.generic.noResults","No type definition found")},t.prototype._getMetaTitle=function(e){return e.references.length>1?_.a("meta.typeDefinitions.title"," – {0} type definitions",e.references.length):""},t}(H),ee=function(e){function t(){return e.call(this,new B,{id:t.ID,label:_.a("actions.goToTypeDefinition.label","Go to Type Definition"),alias:"Go to Type Definition",precondition:y.a.and(d.a.hasTypeDefinitionProvider,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:0,weight:100},menuOpts:{group:"navigation",order:1.4}})||this}return W(t,e),t.ID="editor.action.goToTypeDefinition",t}($),te=function(e){function t(){return e.call(this,new B(!1,!0,!1),{id:t.ID,label:_.a("actions.peekTypeDefinition.label","Peek Type Definition"),alias:"Peek Type Definition",precondition:y.a.and(d.a.hasTypeDefinitionProvider,d.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:d.a.editorTextFocus,primary:0,weight:100}})||this}return W(t,e),t.ID="editor.action.peekTypeDefinition",t}($);Object(u.f)(U),Object(u.f)(K),Object(u.f)(q),Object(u.f)(Z),Object(u.f)(Y),Object(u.f)(J),Object(u.f)(Q),Object(u.f)(ee),Object(u.f)(te),v.c.appendMenuItem(16,{group:"4_symbol_nav",command:{id:"editor.action.goToDeclaration",title:_.a({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},order:2}),v.c.appendMenuItem(16,{group:"4_symbol_nav",command:{id:"editor.action.goToTypeDefinition",title:_.a({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},order:3}),v.c.appendMenuItem(16,{group:"4_symbol_nav",command:{id:"editor.action.goToImplementation",title:_.a({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementation")},order:4})},QgSF:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("hK2W"),o=n("uNfg"),r=n("HZsc"),s=n("03Zz"),a=n("Ao9X"),u=n("aL7J"),l=n("0WPX"),c=n("vTy2"),d=function(){function e(e,t){this._selection=e,this._cursors=t,this._selectionId=null}return e.prototype.getEditOperations=function(e,t){for(var n=function(e,t){t.sort(function(e,t){return e.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber});for(var n=t.length-2;n>=0;n--)t[n].lineNumber===t[n+1].lineNumber&&t.splice(n,1);for(var i=[],o=0,r=0,s=t.length,a=1,d=e.getLineCount();a<=d;a++){var h=e.getLineContent(a),p=h.length+1,f=0;if(!(r=i.startLineNumber+1&&t<=i.endLineNumber+1?e.getLineContent(t-1):e.getLineContent(t)};var O=y.a.getGoodIndentForLine(d,e.getLanguageIdAtPosition(g,1),i.startLineNumber+1,l);if(null!==O){L=u.s(e.getLineContent(i.startLineNumber));if((I=b(O,r))!==(D=b(L,r))){var E=I-D;this.getIndentEditsOfMovingBlock(e,t,i,r,a,E)}}}}else t.addEditOperation(new c.a(i.startLineNumber,1,i.startLineNumber,1),_+"\n")}else{var N;if(g=i.startLineNumber-1,m=e.getLineContent(g),t.addEditOperation(new c.a(g,1,g+1,1),null),t.addEditOperation(new c.a(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),"\n"+m),this.shouldAutoIndent(e,i))if(d.getLineContent=function(t){return t===g?e.getLineContent(i.startLineNumber):e.getLineContent(t)},null!==(N=this.matchEnterRule(e,l,r,i.startLineNumber,i.startLineNumber-2)))0!==N&&this.getIndentEditsOfMovingBlock(e,t,i,r,a,N);else{var x=y.a.getGoodIndentForLine(d,e.getLanguageIdAtPosition(i.startLineNumber,1),g,l);if(null!==x){var I,D,k=u.s(e.getLineContent(i.startLineNumber));if((I=b(x,r))!==(D=b(k,r))){E=I-D;this.getIndentEditsOfMovingBlock(e,t,i,r,a,E)}}}}}this._selectionId=t.trackSelection(i)}else this._selectionId=t.trackSelection(this._selection)},e.prototype.buildIndentConverter=function(e,t,n){return{shiftIndent:function(i){return _.a.shiftIndent(i,i.length+1,e,t,n)},unshiftIndent:function(i){return _.a.unshiftIndent(i,i.length+1,e,t,n)}}},e.prototype.matchEnterRule=function(e,t,n,i,o,r){for(var s=o;s>=1;){var a=void 0;if(a=s===o&&void 0!==r?r:e.getLineContent(s),u.A(a)>=0)break;s--}if(s<1||i>e.getLineCount())return null;var l=e.getLineMaxColumn(s),d=y.a.getEnterAction(e,new c.a(s,l,s,l));if(d){var h=d.indentation,p=d.enterAction;p.indentAction===v.a.None?h=d.indentation+p.appendText:p.indentAction===v.a.Indent?h=d.indentation+p.appendText:p.indentAction===v.a.IndentOutdent?h=d.indentation:p.indentAction===v.a.Outdent&&(h=t.unshiftIndent(d.indentation)+p.appendText);var f=e.getLineContent(i);if(this.trimLeft(f).indexOf(this.trimLeft(h))>=0){var g=u.s(e.getLineContent(i)),m=u.s(h),_=y.a.getIndentMetadata(e,i);return null!==_&&2&_&&(m=t.unshiftIndent(m)),b(m,n)-b(g,n)}}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 n=e.getLanguageIdAtPosition(t.startLineNumber,1);return n===e.getLanguageIdAtPosition(t.endLineNumber,1)&&null!==y.a.getIndentRulesSupport(n)},e.prototype.getIndentEditsOfMovingBlock=function(e,t,n,i,o,r){for(var s=n.startLineNumber;s<=n.endLineNumber;s++){var a=e.getLineContent(s),l=u.s(a),d=C(b(l,i)+r,i,o);d!==l&&(t.addEditOperation(new c.a(s,1,s,l.length+1),d),s===n.endLineNumber&&n.endColumn<=l.length+1&&""===d&&(this._moveEndLineSelectionShrink=!0))}},e.prototype.computeCursorState=function(e,t){var n=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(n=n.setEndPosition(n.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&n.startLineNumber=o)return null;for(var r=[],s=i;s<=o;s++)r.push(e.getLineContent(s));var a=r.slice(0);return a.sort(function(e,t){return e.toLowerCase().localeCompare(t.toLowerCase())}),!0===n&&(a=a.reverse()),{startLineNumber:i,endLineNumber:o,before:r,after:a}}n.d(t,"AbstractSortLinesAction",function(){return M}),n.d(t,"SortLinesAscendingAction",function(){return R}),n.d(t,"SortLinesDescendingAction",function(){return A}),n.d(t,"TrimTrailingWhitespaceAction",function(){return P}),n.d(t,"DeleteLinesAction",function(){return F}),n.d(t,"IndentLinesAction",function(){return W}),n.d(t,"InsertLineBeforeAction",function(){return V}),n.d(t,"InsertLineAfterAction",function(){return B}),n.d(t,"AbstractDeleteAllToBoundaryAction",function(){return H}),n.d(t,"DeleteAllLeftAction",function(){return z}),n.d(t,"DeleteAllRightAction",function(){return U}),n.d(t,"JoinLinesAction",function(){return K}),n.d(t,"TransposeAction",function(){return q}),n.d(t,"AbstractCaseAction",function(){return G}),n.d(t,"UpperCaseAction",function(){return Z}),n.d(t,"LowerCaseAction",function(){return Y}),n.d(t,"TitleCaseAction",function(){return X});var O,E=this&&this.__extends||(O=function(e,t){return(O=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}O(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),N=function(e){function t(t,n){var i=e.call(this,n)||this;return i.down=t,i}return E(t,e),t.prototype.run=function(e,t){for(var n=[],i=0,o=t.getSelections()||[];i1&&(d-=1,p=i.getLineMaxColumn(d)),r.push(l.a.replace(new f.a(d,p,h,g),"")),s.push(new f.a(d-o,c.positionColumn,d-o,c.positionColumn)),o+=c.endLineNumber-c.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,r,s),t.pushUndoStop()}}},t.prototype._getLinesToRemove=function(e){var t=e.getSelections().map(function(e){var t=e.endLineNumber;return e.startLineNumber=t[o].startLineNumber?i.endLineNumber=t[o].endLineNumber:(n.push(i),i=t[o]);return n.push(i),n},t}(s.b),W=function(e){function t(){return e.call(this,{id:"editor.action.indentLines",label:i.a("lines.indent","Indent Line"),alias:"Indent Line",precondition:g.a.writable,kbOpts:{kbExpr:g.a.editorTextFocus,primary:2137,weight:100}})||this}return E(t,e),t.prototype.run=function(e,t){var n=t._getCursors();n&&(t.pushUndoStop(),t.executeCommands(this.id,h.a.indent(n.context.config,t.getModel(),t.getSelections())),t.pushUndoStop())},t}(s.b),j=function(e){function t(){return e.call(this,{id:"editor.action.outdentLines",label:i.a("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:g.a.writable,kbOpts:{kbExpr:g.a.editorTextFocus,primary:2135,weight:100}})||this}return E(t,e),t.prototype.run=function(e,t){r.CoreEditingCommands.Outdent.runEditorCommand(e,t,null)},t}(s.b),V=function(e){function t(){return e.call(this,{id:"editor.action.insertLineBefore",label:i.a("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:g.a.writable,kbOpts:{kbExpr:g.a.editorTextFocus,primary:3075,weight:100}})||this}return E(t,e),t.prototype.run=function(e,t){var n=t._getCursors();n&&(t.pushUndoStop(),t.executeCommands(this.id,h.a.lineInsertBefore(n.context.config,t.getModel(),t.getSelections())))},t}(s.b),B=function(e){function t(){return e.call(this,{id:"editor.action.insertLineAfter",label:i.a("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:g.a.writable,kbOpts:{kbExpr:g.a.editorTextFocus,primary:2051,weight:100}})||this}return E(t,e),t.prototype.run=function(e,t){var n=t._getCursors();n&&(t.pushUndoStop(),t.executeCommands(this.id,h.a.lineInsertAfter(n.context.config,t.getModel(),t.getSelections())))},t}(s.b),H=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getSelection(),i=this._getRangesToDelete(t),o=[],r=0,s=i.length-1;r0){var s=t.startLineNumber-o;r=new f.a(s,t.startColumn,s,t.startColumn)}else r=new f.a(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);o+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?n=r:i.push(r)}),n&&i.unshift(n),i},t.prototype._getRangesToDelete=function(e){var t=e.getSelections();if(null===t)return[];var n=t,i=e.getModel();return null===i?[]:(n.sort(c.a.compareRangesUsingStarts),n=n.map(function(e){if(e.isEmpty()){if(1===e.startColumn){var t=Math.max(1,e.startLineNumber-1),n=1===e.startLineNumber?1:i.getLineContent(t).length+1;return new c.a(t,n,e.startLineNumber,1)}return new c.a(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return new c.a(e.startLineNumber,1,e.endLineNumber,e.endColumn)}))},t}(H),U=function(e){function t(){return e.call(this,{id:"deleteAllRight",label:i.a("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:g.a.writable,kbOpts:{kbExpr:g.a.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})||this}return E(t,e),t.prototype._getEndCursorState=function(e,t){for(var n=null,i=[],o=0,r=t.length;oe.endLineNumber+1?(o.push(e),t):new f.a(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(o.push(e),t):new f.a(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn)});o.push(r);var s=t.getModel();if(null!==s){for(var a=[],u=[],d=i,h=0,p=0,g=o.length;p=1){var N=!0;""===S&&(N=!1),!N||" "!==S.charAt(S.length-1)&&"\t"!==S.charAt(S.length-1)||(N=!1,S=S.replace(/[\s\uFEFF\xA0]+$/g," "));var x=O.substr(E-1);S+=(N?" ":"")+x,v=N?x.length+1:x.length}else v=0}var I=new c.a(_,1,y,b);if(!I.isEmpty()){var D=void 0;m.isEmpty()?(a.push(l.a.replace(I,S)),D=new f.a(I.startLineNumber-h,S.length-v+1,_-h,S.length-v+1)):m.startLineNumber===m.endLineNumber?(a.push(l.a.replace(I,S)),D=new f.a(m.startLineNumber-h,m.startColumn,m.endLineNumber-h,m.endColumn)):(a.push(l.a.replace(I,S)),D=new f.a(m.startLineNumber-h,m.startColumn,m.startLineNumber-h,S.length-C)),null!==c.a.intersectRanges(I,i)?d=D:u.push(D)}h+=I.endLineNumber-I.startLineNumber}u.unshift(d),t.pushUndoStop(),t.executeEdits(this.id,a,u),t.pushUndoStop()}}}},t}(s.b),q=function(e){function t(){return e.call(this,{id:"editor.action.transpose",label:i.a("editor.transpose","Transpose characters around the cursor"),alias:"Transpose characters around the cursor",precondition:g.a.writable})||this}return E(t,e),t.prototype.run=function(e,t){var n=t.getSelections();if(null!==n){var i=t.getModel();if(null!==i){for(var o=[],r=0,s=n.length;r=d){if(l.lineNumber===i.getLineCount())continue;var h=new c.a(l.lineNumber,Math.max(1,l.column-1),l.lineNumber+1,1),p=i.getValueInRange(h).split("").reverse().join("");o.push(new a.a(new f.a(l.lineNumber,Math.max(1,l.column-1),l.lineNumber+1,1),p))}else{h=new c.a(l.lineNumber,Math.max(1,l.column-1),l.lineNumber,l.column+1),p=i.getValueInRange(h).split("").reverse().join("");o.push(new a.b(h,p,new f.a(l.lineNumber,l.column+1,l.lineNumber,l.column+1)))}}}t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}}},t}(s.b),G=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t.prototype.run=function(e,t){var n=t.getSelections();if(null!==n){var i=t.getModel();if(null!==i){for(var o=t.getConfiguration().wordSeparators,r=[],s=0,u=n.length;s=0?(o=!0,i+=s):o?(o=!1,i+=s.toLocaleUpperCase()):i+=s.toLocaleLowerCase()}return i},t}(G);Object(s.f)(x),Object(s.f)(I),Object(s.f)(k),Object(s.f)(T),Object(s.f)(R),Object(s.f)(A),Object(s.f)(P),Object(s.f)(F),Object(s.f)(W),Object(s.f)(j),Object(s.f)(V),Object(s.f)(B),Object(s.f)(z),Object(s.f)(U),Object(s.f)(K),Object(s.f)(q),Object(s.f)(Z),Object(s.f)(Y),Object(s.f)(X)},Qv71:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var i=function(){return function(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=!1),this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=n}}()},Qxje:function(e,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"c",function(){return u}),n.d(t,"a",function(){return l}),t.d=d,t.e=function(e){var t=Object(o.a)(1e4),n=d(e,t);return new h(n.characterMapping,t.build(),n.containsRTL,n.containsForeignElements)};var i=n("aL7J"),o=n("ftXN"),r=n("t7eM"),s=function(){return function(e,t){this.endIndex=e,this.type=t}}(),a=function(){function e(e,t){this.startOffset=e,this.endOffset=t}return e.prototype.equals=function(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset},e}(),u=function(){function e(e,t,n,i,o,r,s,a,u,l,c,d,h,p,f,g){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=n,this.continuesWithWrappedLine=i,this.isBasicASCII=o,this.containsRTL=r,this.fauxIndentLength=s,this.lineTokens=a,this.lineDecorations=u,this.tabSize=l,this.spaceWidth=c,this.stopRenderingLineAfter=d,this.renderWhitespace="all"===h?3:"boundary"===h?1:"selection"===h?2:0,this.renderControlCharacters=p,this.fontLigatures=f,this.selectionsOnLine=g&&g.sort(function(e,t){return e.startOffset>>16},e.getCharIndex=function(e){return(65535&e)>>>0},e.prototype.setPartData=function(e,t,n,i){var o=(t<<16|n<<0)>>>0;this._data[e]=o,this._absoluteOffsets[e]=i+n},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,n,i){if(0===this.length)return 0;for(var o=(t<<16|i<<0)>>>0,r=0,s=this.length-1;r+1>>1,u=this._data[a];if(u===o)return a;u>o?s=a:r=a}if(r===s)return r;var l=this._data[r],c=this._data[s];if(l===o)return r;if(c===o)return s;var d=e.getPartIndex(l);return i-e.getCharIndex(l)<=(d!==e.getPartIndex(c)?n:e.getCharIndex(c))-i?r:s},e}(),c=function(){return function(e,t,n){this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=n}}();function d(e,t){if(0===e.lineContent.length){var n=0,o=" ";if(e.lineDecorations.length>0){for(var a=[],u=0,d=e.lineDecorations.length;u')}return t.appendASCIIString(o),new c(new l(0,0),!1,n)}return function(e,t){var n=e.fontIsMonospace,o=e.canUseHalfwidthRightwardsArrow,r=e.containsForeignElements,s=e.lineContent,a=e.len,u=e.isOverflowing,d=e.parts,h=e.tabSize,p=e.containsRTL,f=e.spaceWidth,g=e.renderWhitespace,m=e.renderControlCharacters,_=new l(a+1,d.length),v=0,y=0,b=0,C=0,w=0;t.appendASCIIString("");for(var S=0,L=d.length;S=0;if(b=0,t.appendASCIIString('0&&(!o||M>1?t.write1(8594):t.write1(65515),M--);M>0;)t.write1(160),M--}else t.write1(183);b++}C=I}else{var I=0;for(p&&t.appendASCIIString(' dir="ltr"'),t.appendASCII(62);v0;)t.write1(160),I++,M--;break;case 32:t.write1(160),I++;break;case 60:t.appendASCIIString("<"),I++;break;case 62:t.appendASCIIString(">"),I++;break;case 38:t.appendASCIIString("&"),I++;break;case 0:t.appendASCIIString("�"),I++;break;case 65279:case 8232:t.write1(65533),I++;break;default:i.v(T)&&y++,m&&T<32?(t.write1(9216+T),I++):(t.write1(T),I++)}b++}C=I}t.appendASCIIString("")}_.setPartData(a,d.length-1,b,w),u&&t.appendASCIIString("");return t.appendASCIIString(""),new c(_,p,r)}(function(e){var t,n,o=e.useMonospaceOptimizations,a=e.lineContent;-1!==e.stopRenderingLineAfter&&e.stopRenderingLineAfter0&&(i[o++]=new s(t,""));for(var r=0,a=e.getCount();r=n){i[o++]=new s(n,l);break}i[o++]=new s(u,l)}}return i}(e.lineTokens,e.fauxIndentLength,n);(3===e.renderWhitespace||1===e.renderWhitespace||2===e.renderWhitespace&&e.selectionsOnLine)&&(u=function(e,t,n,o,r,a,u,l,c){var d,h=[],p=0,f=0,g=o[f].type,m=o[f].endIndex,_=o.length,v=i.q(e);-1===v?(v=t,d=t):d=i.A(e);for(var y=0,b=0;b=L.endOffset&&(S++,L=l&&l[S]);var O=void 0;if(bd)O=!0;else if(9===C)O=!0;else if(32===C)if(c)if(w)O=!0;else{var E=b+1b),w?(!O||!u&&y>=a)&&(h[p++]=new s(b,"vs-whitespace"),y%=a):(b===m||O&&b>r)&&(h[p++]=new s(b,g),y%=a),9===C?y=a:i.v(C)?y+=2:y++,w=O,b===m&&++f<_&&(g=o[f].type,m=o[f].endIndex)}var N=!1;if(w)if(n&&c){var x=t>0?e.charCodeAt(t-1):0,I=t>1?e.charCodeAt(t-2):0,D=32===x&&32!==I&&9!==I;D||(N=!0)}else N=!0;return h[p++]=new s(t,N?"vs-whitespace":g),h}(a,n,e.continuesWithWrappedLine,u,e.fauxIndentLength,e.tabSize,o,e.selectionsOnLine,1===e.renderWhitespace));var l=0;if(e.lineDecorations.length>0){for(var c=0,d=e.lineDecorations.length;cd&&(d=_.startOffset,l[c++]=new s(d,m)),!(_.endOffset+1<=g)){d=g,l[c++]=new s(d,m+" "+_.className);break}d=_.endOffset+1,l[c++]=new s(d,m+" "+_.className),u++}g>d&&(d=g,l[c++]=new s(d,m))}var v=n[n.length-1].endIndex;if(u=50&&(o[r++]=new s(h+1,d),p=h+1,h=-1);p!==c&&(o[r++]=new s(c,d))}else o[r++]=l;i=c}else for(var a=0,u=t.length;a50){for(var d=l.type,m=Math.ceil(g/50),f=1;f0;n--){var r=e.charCodeAt(n-1);if(47===r||92===r)break}t=e.substr(n)}var s=o.indexOf(t);return-1!==s?i[s]:null};a.basenames=o,a.patterns=i,a.allBasenames=o;var u=e.filter(function(e){return!e.basenames});return u.push(a),u}},Rfe2:function(e,t,n){"use strict";n.d(t,"i",function(){return a}),n.d(t,"j",function(){return u}),n.d(t,"g",function(){return d}),n.d(t,"f",function(){return h}),n.d(t,"h",function(){return f}),n.d(t,"a",function(){return g}),n.d(t,"k",function(){return m}),n.d(t,"b",function(){return v}),n.d(t,"m",function(){return y}),n.d(t,"e",function(){return b}),n.d(t,"c",function(){return C}),n.d(t,"d",function(){return w}),n.d(t,"l",function(){return S}),n.d(t,"n",function(){return O}),n.d(t,"o",function(){return E}),n.d(t,"p",function(){return N}),n.d(t,"r",function(){return x}),n.d(t,"q",function(){return I});var i=n("hK2W"),o=n("TNPA"),r=n("L5KM"),s=n("eoic"),a=Object(r._36)("editor.lineHighlightBackground",{dark:null,light:null,hc:null},i.a("lineHighlight","Background color for the highlight of line at the cursor position.")),u=Object(r._36)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hc:"#f38518"},i.a("lineHighlightBorderBox","Background color for the border around the line at the cursor position.")),l=Object(r._36)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hc:null},i.a("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),c=Object(r._36)("editor.rangeHighlightBorder",{dark:null,light:null,hc:r.b},i.a("rangeHighlightBorder","Background color of the border around highlighted ranges."),!0),d=Object(r._36)("editorCursor.foreground",{dark:"#AEAFAD",light:o.a.black,hc:o.a.white},i.a("caret","Color of the editor cursor.")),h=Object(r._36)("editorCursor.background",null,i.a("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),p=Object(r._36)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hc:"#e3e4e229"},i.a("editorWhitespaces","Color of whitespace characters in the editor.")),f=Object(r._36)("editorIndentGuide.background",{dark:p,light:p,hc:p},i.a("editorIndentGuides","Color of the editor indentation guides.")),g=Object(r._36)("editorIndentGuide.activeBackground",{dark:p,light:p,hc:p},i.a("editorActiveIndentGuide","Color of the active editor indentation guides.")),m=Object(r._36)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hc:o.a.white},i.a("editorLineNumbers","Color of editor line numbers.")),_=Object(r._36)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hc:r.b},i.a("editorActiveLineNumber","Color of editor active line number"),!1,i.a("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead.")),v=Object(r._36)("editorLineNumber.activeForeground",{dark:_,light:_,hc:_},i.a("editorActiveLineNumber","Color of editor active line number")),y=Object(r._36)("editorRuler.foreground",{dark:"#5A5A5A",light:o.a.lightgrey,hc:o.a.white},i.a("editorRuler","Color of the editor rulers.")),b=Object(r._36)("editorCodeLens.foreground",{dark:"#999999",light:"#999999",hc:"#999999"},i.a("editorCodeLensForeground","Foreground color of editor code lenses")),C=Object(r._36)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hc:"#0064001a"},i.a("editorBracketMatchBackground","Background color behind matching brackets")),w=Object(r._36)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hc:r.e},i.a("editorBracketMatchBorder","Color for matching brackets boxes")),S=Object(r._36)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hc:"#7f7f7f4d"},i.a("editorOverviewRulerBorder","Color of the overview ruler border.")),L=Object(r._36)("editorGutter.background",{dark:r.o,light:r.o,hc:r.o},i.a("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),O=Object(r._36)("editorUnnecessaryCode.border",{dark:null,light:null,hc:o.a.fromHex("#fff").transparent(.8)},i.a("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor.")),E=Object(r._36)("editorUnnecessaryCode.opacity",{dark:o.a.fromHex("#000a"),light:o.a.fromHex("#0007"),hc:null},i.a("unnecessaryCodeOpacity","Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.")),N=Object(r._36)("editorOverviewRuler.errorForeground",{dark:new o.a(new o.c(255,18,18,.7)),light:new o.a(new o.c(255,18,18,.7)),hc:new o.a(new o.c(255,50,50,1))},i.a("overviewRuleError","Overview ruler marker color for errors.")),x=Object(r._36)("editorOverviewRuler.warningForeground",{dark:r.M,light:r.M,hc:r.L},i.a("overviewRuleWarning","Overview ruler marker color for warnings.")),I=Object(r._36)("editorOverviewRuler.infoForeground",{dark:r.G,light:r.G,hc:r.F},i.a("overviewRuleInfo","Overview ruler marker color for infos."));Object(s.f)(function(e,t){var n=e.getColor(r.o);n&&t.addRule(".monaco-editor, .monaco-editor-background, .monaco-editor .inputarea.ime-input { background-color: "+n+"; }");var i=e.getColor(r.x);i&&t.addRule(".monaco-editor, .monaco-editor .inputarea.ime-input { color: "+i+"; }");var o=e.getColor(L);o&&t.addRule(".monaco-editor .margin { background-color: "+o+"; }");var s=e.getColor(l);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 u=e.getColor(p);u&&t.addRule(".vs-whitespace { color: "+u+" !important; }")})},Rh28:function(e,t){var n=9007199254740991;e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=n}},RzWM:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"StandaloneReferencesController",function(){return g});var i,o=n("03Zz"),r=n("vORD"),s=n("Pb27"),a=n("Gzpe"),u=n("7g0X"),l=n("JVO/"),c=n("fAkY"),d=n("Cfmk"),h=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),p=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},f=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},g=function(e){function t(t,n,i,o,r,s,a){return e.call(this,!0,t,n,i,o,r,s,a)||this}return h(t,e),t=p([f(1,u.c),f(2,r.a),f(3,c.a),f(4,l.a),f(5,d.a),f(6,a.a)],t)}(s.a);Object(o.h)(g)},S7p9:function(e,t){e.exports=function(e){return function(t){return e(t)}}},SWdJ:function(e,t,n){"use strict";n("jF/U");var i,o=n("hK2W"),r=n("tqet"),s=n("KIxu"),a=n("X6iQ"),u=n("2VYG"),l=n("7/Cv"),c=n("ZfGv"),d=n("Bug4"),h=n("gzF+"),p=n("Kp7x"),f=n("Gxst");!function(e){e.TREE="tree",e.FORM="form"}(i||(i={}));var g=n("9bHL"),m=n("TNPA"),_=n("TU7t"),v=function(){function e(e){this.spliceables=e}return e.prototype.splice=function(e,t,n){this.spliceables.forEach(function(i){return i.splice(e,t,n)})},e}(),y=n("ot3f"),b=n("GYOr");t.f=T,t.e=A,t.d=P,n.d(t,"c",function(){return V}),n.d(t,"a",function(){return B}),n.d(t,"b",function(){return Y});var C,w=this&&this.__extends||(C=function(e,t){return(C=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}C(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),S=this&&this.__assign||function(){return(S=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},O=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,n){var i=Object(a.j)(this.renderedElements,function(e){return e.templateData===n});if(i>=0){var o=this.renderedElements[i];this.trait.unrender(n),o.index=t}else{o={index:t,templateData:n};this.renderedElements.push(o)}this.trait.renderIndex(t,n)},e.prototype.splice=function(e,t,n){for(var i=[],o=0,r=this.renderedElements;o=e+t&&i.push({index:s.index+n-t,templateData:s.templateData})}this.renderedElements=i},e.prototype.renderIndexes=function(e){for(var t=0,n=this.renderedElements;t-1&&this.trait.renderIndex(o,r)}},e.prototype.disposeTemplate=function(e){var t=Object(a.j)(this.renderedElements,function(t){return t.templateData===e});t<0||this.renderedElements.splice(t,1)},e}(),E=function(){function e(e){this._trait=e,this.indexes=[],this.sortedIndexes=[],this._onChange=new p.a,this.onChange=this._onChange.event}return Object.defineProperty(e.prototype,"trait",{get:function(){return this._trait},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderer",{get:function(){return new O(this)},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,n){var i=n.length-t,o=e+t,r=this.sortedIndexes.filter(function(t){return t=o}).map(function(e){return e+i}));this.renderer.splice(e,t,n.length),this._set(r,r)},e.prototype.renderIndex=function(e,t){l.R(t,this._trait,this.contains(e))},e.prototype.unrender=function(e){l.I(e,this._trait)},e.prototype.set=function(e,t){return this._set(e,e.slice().sort(K),t)},e.prototype._set=function(e,t,n){var i=this.indexes,o=this.sortedIndexes;this.indexes=e,this.sortedIndexes=t;var r=U(o,e);return this.renderer.renderIndexes(r),this._onChange.fire({indexes:e,browserEvent:n}),i},e.prototype.get=function(){return this.indexes},e.prototype.contains=function(e){return Object(a.c)(this.sortedIndexes,e,K)>=0},e.prototype.dispose=function(){this._onChange=Object(r.f)(this._onChange)},L([u.a],e.prototype,"renderer",null),e}(),N=function(e){function t(){return e.call(this,"focused")||this}return w(t,e),t.prototype.renderIndex=function(t,n){e.prototype.renderIndex.call(this,t,n),this.contains(t)?n.setAttribute("aria-selected","true"):n.removeAttribute("aria-selected")},t}(E),x=function(){function e(e,t,n){this.trait=e,this.view=t,this.identityProvider=n}return e.prototype.splice=function(e,t,n){var i=this;if(!this.identityProvider)return this.trait.splice(e,t,n.map(function(){return!1}));var o=this.trait.get().map(function(e){return i.identityProvider.getId(i.view.element(e)).toString()}),r=n.map(function(e){return o.indexOf(i.identityProvider.getId(e).toString())>-1});this.trait.splice(e,t,r)},e}();function I(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}var D,k=function(){function e(e,t,n){this.list=e,this.view=t,this.disposables=new r.b;var i=!1!==n.multipleSelectionSupport;this.openController=n.openController||j;var o=p.b.chain(Object(f.a)(t.domNode,"keydown")).filter(function(e){return!I(e.target)}).map(function(e){return new h.a(e)});o.filter(function(e){return 3===e.keyCode}).on(this.onEnter,this,this.disposables),o.filter(function(e){return 16===e.keyCode}).on(this.onUpArrow,this,this.disposables),o.filter(function(e){return 18===e.keyCode}).on(this.onDownArrow,this,this.disposables),o.filter(function(e){return 11===e.keyCode}).on(this.onPageUpArrow,this,this.disposables),o.filter(function(e){return 12===e.keyCode}).on(this.onPageDownArrow,this,this.disposables),o.filter(function(e){return 9===e.keyCode}).on(this.onEscape,this,this.disposables),i&&o.filter(function(e){return(c.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(),e.browserEvent),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(1,!1,e.browserEvent),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(1,!1,e.browserEvent),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageUpArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(e.browserEvent),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(e.browserEvent),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onCtrlA=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(Object(a.r)(this.list.length),e.browserEvent),this.view.domNode.focus()},e.prototype.onEscape=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection([],e.browserEvent),this.view.domNode.focus()},e.prototype.dispose=function(){this.disposables.dispose()},e}();function T(e){return!(e.ctrlKey||e.metaKey||e.altKey)&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30||e.keyCode>=93&&e.keyCode<=102||e.keyCode>=80&&e.keyCode<=90)}!function(e){e[e.Idle=0]="Idle",e[e.Typing=1]="Typing"}(D||(D={}));var M=function(){function e(e,t,n){this.list=e,this.view=t,this.keyboardNavigationLabelProvider=n,this.enabled=!1,this.state=D.Idle,this.automaticKeyboardNavigation=!0,this.triggered=!1,this.enabledDisposables=new r.b,this.disposables=new r.b,this.updateOptions(e.options)}return e.prototype.updateOptions=function(e){void 0===e.enableKeyboardNavigation||!!e.enableKeyboardNavigation?this.enable():this.disable(),void 0!==e.automaticKeyboardNavigation&&(this.automaticKeyboardNavigation=e.automaticKeyboardNavigation)},e.prototype.enable=function(){var e=this;if(!this.enabled){var t=p.b.chain(Object(f.a)(this.view.domNode,"keydown")).filter(function(e){return!I(e.target)}).filter(function(){return e.automaticKeyboardNavigation||e.triggered}).map(function(e){return new h.a(e)}).filter(this.keyboardNavigationLabelProvider.mightProducePrintableCharacter?function(t){return e.keyboardNavigationLabelProvider.mightProducePrintableCharacter(t)}:function(e){return T(e)}).forEach(function(e){e.stopPropagation(),e.preventDefault()}).map(function(e){return e.browserEvent.key}).event,n=p.b.debounce(t,function(){return null},800);p.b.reduce(p.b.any(t,n),function(e,t){return null===t?null:(e||"")+t})(this.onInput,this,this.enabledDisposables),this.enabled=!0,this.triggered=!1}},e.prototype.disable=function(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)},e.prototype.onInput=function(e){if(!e)return this.state=D.Idle,void(this.triggered=!1);var t=this.list.getFocus(),n=t.length>0?t[0]:0,i=this.state===D.Idle?1:0;this.state=D.Typing;for(var o=0;o=0&&e[o]===t-(n-o);)i.push(e[o--]);i.reverse(),o=n;for(;o=e.length)n.push(t[o++]);else if(o>=t.length)n.push(e[i++]);else{if(e[i]===t[o]){i++,o++;continue}e[i]=e.length)n.push(t[o++]);else if(o>=t.length)n.push(e[i++]);else{if(e[i]===t[o]){n.push(e[i]),i++,o++;continue}e[i]-1?t:[e]},e.prototype.getDragURI=function(e){return this.dnd.getDragURI(e)},e.prototype.getDragLabel=function(e){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e)},e.prototype.onDragStart=function(e,t){this.dnd.onDragStart&&this.dnd.onDragStart(e,t)},e.prototype.onDragOver=function(e,t,n,i){return this.dnd.onDragOver(e,t,n,i)},e.prototype.drop=function(e,t,n,i){this.dnd.drop(e,t,n,i)},e}(),Y=function(){function e(e,t,n,s){void 0===s&&(s=z),this._options=s,this.eventBufferer=new p.c,this.disposables=new r.b,this._onDidOpen=new p.a,this.onDidOpen=this._onDidOpen.event,this._onPin=new p.a,this.didJustPressContextMenuKey=!1,this._onDidDispose=new p.a,this.onDidDispose=this._onDidDispose.event,this.focus=new N,this.selection=new E("selected"),Object(_.g)(s,H,!1);var a=[this.focus.renderer,this.selection.renderer];s.accessibilityProvider&&a.push(new G(s.accessibilityProvider)),n=n.map(function(e){return new q(e.templateId,a.concat([e]))});var u=S({},s,{dnd:s.dnd&&new Z(this,s.dnd)});if(this.view=new g.b(e,t,n,u),"string"!=typeof s.ariaRole?this.view.domNode.setAttribute("role",i.TREE):this.view.domNode.setAttribute("role",s.ariaRole),this.styleElement=l.s(this.view.domNode),this.styleController=s.styleController||new B(this.styleElement,this.view.domId),this.spliceable=new v([new x(this.focus,this.view,s.identityProvider),new x(this.selection,this.view,s.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.onDidFocus=p.b.map(Object(f.a)(this.view.domNode,"focus",!0),function(){return null}),this.onDidBlur=p.b.map(Object(f.a)(this.view.domNode,"blur",!0),function(){return null}),this.disposables.add(new R(this,this.view)),"boolean"!=typeof s.keyboardSupport||s.keyboardSupport){var c=new k(this,this.view,s);this.disposables.add(c)}s.keyboardNavigationLabelProvider&&(this.typeLabelController=new M(this,this.view,s.keyboardNavigationLabelProvider),this.disposables.add(this.typeLabelController)),this.disposables.add(this.createMouseController(s)),this.onFocusChange(this._onFocusChange,this,this.disposables),this.onSelectionChange(this._onSelectionChange,this,this.disposables),s.ariaLabel&&this.view.domNode.setAttribute("aria-label",Object(o.a)("aria list","{0}. Use the navigation keys to navigate.",s.ariaLabel)),this.style(s)}return Object.defineProperty(e.prototype,"onFocusChange",{get:function(){var e=this;return p.b.map(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 p.b.map(this.eventBufferer.wrapEvent(this.selection.onChange),function(t){return e.toListEvent(t)})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"domId",{get:function(){return this.view.domId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseClick",{get:function(){return this.view.onMouseClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseDblClick",{get:function(){return this.view.onMouseDblClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseMiddleClick",{get:function(){return this.view.onMouseMiddleClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseDown",{get:function(){return this.view.onMouseDown},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onTouchStart",{get:function(){return this.view.onTouchStart},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onTap",{get:function(){return this.view.onTap},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onContextMenu",{get:function(){var e=this,t=p.b.chain(Object(f.a)(this.view.domNode,"keydown")).map(function(e){return new h.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,n=p.b.chain(Object(f.a)(this.view.domNode,"keyup")).filter(function(){var t=e.didJustPressContextMenuKey;return e.didJustPressContextMenuKey=!1,t}).filter(function(){return e.getFocus().length>0&&!!e.view.domElement(e.getFocus()[0])}).map(function(t){var n=e.getFocus()[0];return{index:n,element:e.view.element(n),anchor:e.view.domElement(n),browserEvent:t}}).event,i=p.b.chain(this.view.onContextMenu).filter(function(){return!e.didJustPressContextMenuKey}).map(function(e){var t=e.element,n=e.index,i=e.browserEvent;return{element:t,index:n,anchor:{x:i.clientX+1,y:i.clientY},browserEvent:i}}).event;return p.b.any(t,n,i)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onKeyDown",{get:function(){return Object(f.a)(this.view.domNode,"keydown")},enumerable:!0,configurable:!0}),e.prototype.createMouseController=function(e){return new V(this)},e.prototype.updateOptions=function(e){void 0===e&&(e={}),this._options=S({},this._options,e),this.typeLabelController&&this.typeLabelController.updateOptions(this._options)},Object.defineProperty(e.prototype,"options",{get:function(){return this._options},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,n){var i=this;if(void 0===n&&(n=[]),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===n.length||this.eventBufferer.bufferEvents(function(){return i.spliceable.splice(e,t,n)})},e.prototype.rerender=function(){this.view.rerender()},e.prototype.element=function(e){return this.view.element(e)},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.contentHeight},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"scrollTop",{get:function(){return this.view.getScrollTop()},set:function(e){this.view.setScrollTop(e)},enumerable:!0,configurable:!0}),e.prototype.domFocus=function(){this.view.domNode.focus()},e.prototype.layout=function(e,t){this.view.layout(e,t)},e.prototype.setSelection=function(e,t){for(var n=0,i=e;n=this.length)throw new Error("Invalid index "+o)}this.selection.set(e,t)},e.prototype.getSelection=function(){return this.selection.get()},e.prototype.getSelectedElements=function(){var e=this;return this.getSelection().map(function(t){return e.view.element(t)})},e.prototype.setFocus=function(e,t){for(var n=0,i=e;n=this.length)throw new Error("Invalid index "+o)}this.focus.set(e,t)},e.prototype.focusNext=function(e,t,n,i){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var o=this.focus.get(),r=this.findNextIndex(o.length>0?o[0]+e:0,t,i);r>-1&&this.setFocus([r],n)}},e.prototype.focusPrevious=function(e,t,n,i){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var o=this.focus.get(),r=this.findPreviousIndex(o.length>0?o[0]-e:0,t,i);r>-1&&this.setFocus([r],n)}},e.prototype.focusNextPage=function(e,t){var n=this,i=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);i=0===i?0:i-1;var o=this.view.element(i),r=this.getFocusedElements()[0];if(r!==o){var s=this.findPreviousIndex(i,!1,t);s>-1&&r!==this.view.element(s)?this.setFocus([s],e):this.setFocus([i],e)}else{var a=this.view.getScrollTop();this.view.setScrollTop(a+this.view.renderHeight-this.view.elementHeight(i)),this.view.getScrollTop()!==a&&setTimeout(function(){return n.focusNextPage(e,t)},0)}},e.prototype.focusPreviousPage=function(e,t){var n,i=this,o=this.view.getScrollTop();n=0===o?this.view.indexAt(o):this.view.indexAfter(o-1);var r=this.view.element(n),s=this.getFocusedElements()[0];if(s!==r){var a=this.findNextIndex(n,!1,t);a>-1&&s!==this.view.element(a)?this.setFocus([a],e):this.setFocus([n],e)}else{var u=o;this.view.setScrollTop(o-this.view.renderHeight),this.view.getScrollTop()!==u&&setTimeout(function(){return i.focusPreviousPage(e,t)},0)}},e.prototype.focusLast=function(e,t){if(0!==this.length){var n=this.findPreviousIndex(this.length-1,!1,t);n>-1&&this.setFocus([n],e)}},e.prototype.focusFirst=function(e,t){if(0!==this.length){var n=this.findNextIndex(0,!1,t);n>-1&&this.setFocus([n],e)}},e.prototype.findNextIndex=function(e,t,n){void 0===t&&(t=!1);for(var i=0;i=this.length&&!t)return-1;if(e%=this.length,!n||n(this.element(e)))return e;e++}return-1},e.prototype.findPreviousIndex=function(e,t,n){void 0===t&&(t=!1);for(var i=0;i=this.length)throw new Error("Invalid index "+e);var n=this.view.getScrollTop(),i=this.view.elementTop(e),o=this.view.elementHeight(e);if(Object(s.g)(t)){var r=o-this.view.renderHeight;this.view.setScrollTop(r*Object(y.a)(t,0,1)+i)}else{var a=i+o,u=n+this.view.renderHeight;i=u&&this.view.setScrollTop(a-this.view.renderHeight)}},e.prototype.getRelativeTop=function(e){if(e<0||e>=this.length)throw new Error("Invalid index "+e);var t=this.view.getScrollTop(),n=this.view.elementTop(e),i=this.view.elementHeight(e);if(nt+this.view.renderHeight)return null;var o=i-this.view.renderHeight;return Math.abs((t-n)/o)},e.prototype.getHTMLElement=function(){return this.view.domNode},e.prototype.open=function(e,t){for(var n=this,i=0,o=e;i=this.length)throw new Error("Invalid index "+r)}this._onDidOpen.fire({indexes:e,elements:e.map(function(e){return n.view.element(e)}),browserEvent:t})},e.prototype.pin=function(e){for(var t=0,n=e;t=this.length)throw new Error("Invalid index "+i)}this._onPin.fire(e)},e.prototype.style=function(e){this.styleController.style(e)},e.prototype.toListEvent=function(e){var t=this,n=e.indexes,i=e.browserEvent;return{indexes:n,elements:n.map(function(e){return t.view.element(e)}),browserEvent:i}},e.prototype._onFocusChange=function(){var e=this.focus.get();e.length>0?this.view.domNode.setAttribute("aria-activedescendant",this.view.getElementDomId(e[0])):this.view.domNode.removeAttribute("aria-activedescendant"),this.view.domNode.setAttribute("role","tree"),l.R(this.view.domNode,"element-focused",e.length>0)},e.prototype._onSelectionChange=function(){var e=this.selection.get();l.R(this.view.domNode,"selection-none",0===e.length),l.R(this.view.domNode,"selection-single",1===e.length),l.R(this.view.domNode,"selection-multiple",e.length>1)},e.prototype.dispose=function(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidOpen.dispose(),this._onPin.dispose(),this._onDidDispose.dispose()},L([u.a],e.prototype,"onFocusChange",null),L([u.a],e.prototype,"onSelectionChange",null),L([u.a],e.prototype,"onContextMenu",null),e}()},Skdw:function(e,t,n){"use strict";t.b=function(e,t){void 0===t&&(t=s);return function(e,t){for(var n='
    ',r=e.split(/\r\n|\r|\n/),s=t.getInitialState(),a=0,u=r.length;a0&&(n+="
    ");var c=t.tokenize2(l,s,0);o.a.convertToEndOffset(c.tokens,l.length);for(var d=new o.a(c.tokens,l),h=d.inflate(),p=0,f=0,g=h.getCount();f'+i.o(l.substring(p,_))+"",p=_}s=c.endState}return n+="
    "}(e,t||s)},t.a=function(e,t,n,i,o,r){for(var s="
    ",a=i,u=0,l=0,c=t.getCount();l0;)h+=" ",f--;break;case 60:h+="<";break;case 62:h+=">";break;case 38:h+="&";break;case 0:h+="�";break;case 65279:case 8232:h+="�";break;case 13:h+="​";break;case 32:h+=" ";break;default:h+=String.fromCharCode(p)}}if(s+=''+h+"",d>o||a>=o)break}}return s+="
    "};var i=n("aL7J"),o=n("cLaT"),r=n("jUH2"),s={getInitialState:function(){return r.c},tokenize2:function(e,t,n){return Object(r.e)(0,e,t,n)}}},SoM9:function(e,t){},T1Qz:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("hK2W"),o=n("odeJ"),r=n("tqet"),s=n("aL7J"),a=n("03Zz"),u=n("/9db"),l=n("Ao9X"),c=n("artP"),d=n("vTy2"),h=n("iHM7"),p=n("IErJ"),f=n("D2uo"),g=n("0ly5"),m=n("L5KM"),_=n("eoic"),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._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationId=null,this._rangeHighlightDecorationId=null,this._highlightedDecorationId=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 n=0,i=this._editor.getModel().getDecorationsInRange(t);n1e3){r=e._FIND_MATCH_NO_OVERVIEW_DECORATION;for(var a=i._editor.getModel().getLineCount(),u=i._editor.getLayoutInfo().height/a,l=Math.max(2,Math.ceil(3/u)),c=t[0].range.startLineNumber,h=t[0].range.endLineNumber,p=1,f=t.length;p=g.startLineNumber?g.endLineNumber>h&&(h=g.endLineNumber):(s.push({range:new d.a(c,1,h,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),c=g.startLineNumber,h=g.endLineNumber)}s.push({range:new d.a(c,1,h,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}var m=new Array(t.length);for(p=0,f=t.length;p=0;t--){var n=this._decorations[t],i=this._editor.getModel().getDecorationRange(n);if(i&&!(i.endLineNumber>e.lineNumber)){if(i.endLineNumbere.column))return i}}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,n=this._decorations.length;te.lineNumber)return o;if(!(o.startColumn0){for(var n=[],i=0;i0;){if(e0},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),n=e.lineNumber,i=e.column,o=this._editor.getModel();return t||1===i?(1===n?n=o.getLineCount():n--,i=o.getLineMaxColumn(n)):i--,new c.a(n,i)},e.prototype._moveToPrevMatch=function(t,n){if(void 0===n&&(n=!1),this._decorations.getCount()<19999){var i=this._decorations.matchBeforePosition(t);return i&&i.isEmpty()&&i.getStartPosition().equals(t)&&(t=this._prevSearchPosition(t),i=this._decorations.matchBeforePosition(t)),void(i&&this._setCurrentFindMatch(i))}if(!this._cannotFind()){var o=this._decorations.getFindScope(),r=e._getSearchRange(this._editor.getModel(),o);r.getEndPosition().isBefore(t)&&(t=r.getEndPosition()),t.isBefore(r.getStartPosition())&&(t=r.getEndPosition());var s=t.lineNumber,a=t.column,u=this._editor.getModel(),l=new c.a(s,a),d=u.findPreviousMatch(this._state.searchString,l,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);if(d&&d.range.isEmpty()&&d.range.getStartPosition().equals(l)&&(l=this._prevSearchPosition(l),d=u.findPreviousMatch(this._state.searchString,l,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1)),d)return n||r.containsRange(d.range)?void this._setCurrentFindMatch(d.range):this._moveToPrevMatch(d.range.getStartPosition(),!0)}},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),n=e.lineNumber,i=e.column,o=this._editor.getModel();return t||i===o.getLineMaxColumn(n)?(n===o.getLineCount()?n=1:n++,i=1):i++,new c.a(n,i)},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 n=this._getNextMatch(e,!1,!0);n&&this._setCurrentFindMatch(n.range)},e.prototype._getNextMatch=function(t,n,i,o){if(void 0===o&&(o=!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,u=t.column,l=this._editor.getModel(),d=new c.a(a,u),h=l.findNextMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,n);return i&&h&&h.range.isEmpty()&&h.range.getStartPosition().equals(d)&&(d=this._nextSearchPosition(d),h=l.findNextMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,n)),h?o||s.containsRange(h.range)?h:this._getNextMatch(h.range.getEndPosition(),n,i,!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 S(null);for(var t=new O(e),n=0,i=e.length;n=i)break;if(36===(a=e.charCodeAt(n))){t.emitUnchanged(n-1),t.emitStatic("$",n+1);continue}if(48===a||38===a){t.emitUnchanged(n-1),t.emitMatchIndex(0,n+1);continue}if(49<=a&&a<=57){var r=a-48;if(n+1=i)break;var a;switch(a=e.charCodeAt(n)){case 92:t.emitUnchanged(n-1),t.emitStatic("\\",n+1);break;case 110:t.emitUnchanged(n-1),t.emitStatic("\n",n+1);break;case 116:t.emitUnchanged(n-1),t.emitStatic("\t",n+1)}}}return t.finalize()}(this._state.replaceString):S.fromStaticValue(this._state.replaceString)},e.prototype.replace=function(){if(this._hasMatches()){var e=this._getReplacePattern(),t=this._editor.getSelection(),n=this._getNextMatch(t.getStartPosition(),!0,!1);if(n)if(t.equalsRange(n.range)){var i=e.buildReplaceString(n.matches,this._state.preserveCase),o=new l.a(t,i);this._executeEditorCommand("replace",o),this._decorations.setStartPosition(new c.a(t.startLineNumber,t.startColumn+i.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(n.range)}},e.prototype._findMatches=function(t,n,i){var o=e._getSearchRange(this._editor.getModel(),t);return this._editor.getModel().findMatches(this._state.searchString,o,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,n,i)},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 p.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 n="m";t.ignoreCase&&(n+="i"),t.global&&(n+="g"),t=new RegExp(t.source,n)}var i,o=this._editor.getModel(),r=o.getValue(1),s=o.getFullModelRange(),a=this._getReplacePattern(),u=this._state.preserveCase;i=a.hasReplacementPatterns||u?r.replace(t,function(){return a.buildReplaceString(arguments,u)}):r.replace(t,a.buildReplaceString(null,u));var c=new l.b(s,i,this._editor.getSelection());this._executeEditorCommand("replaceAll",c)}},e.prototype._regularReplaceAll=function(e){for(var t=this._getReplacePattern(),n=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),i=[],o=0,r=n.length;ot&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,i.matchesPosition=!0,o=!0),this._matchesCount!==t&&(this._matchesCount=t,i.matchesCount=!0,o=!0),void 0!==n&&(d.a.equalsRange(this._currentMatch,n)||(this._currentMatch=n,i.currentMatch=!0,o=!0)),o&&this._onFindReplaceStateChange.fire(i)},e.prototype.change=function(e,t,n){void 0===n&&(n=!0);var i={moveCursor:t,updateHistory:n,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1},o=!1,r=this.isRegex,s=this.wholeWord,a=this.matchCase,u=this.preserveCase;void 0!==e.searchString&&this._searchString!==e.searchString&&(this._searchString=e.searchString,i.searchString=!0,o=!0),void 0!==e.replaceString&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,i.replaceString=!0,o=!0),void 0!==e.isRevealed&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,i.isRevealed=!0,o=!0),void 0!==e.isReplaceRevealed&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,i.isReplaceRevealed=!0,o=!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.preserveCase&&(this._preserveCase=e.preserveCase),void 0!==e.searchScope&&(d.a.equalsRange(this._searchScope,e.searchScope)||(this._searchScope=e.searchScope,i.searchScope=!0,o=!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,this._preserveCaseOverride=void 0!==e.preserveCaseOverride?e.preserveCaseOverride:0,r!==this.isRegex&&(o=!0,i.isRegex=!0),s!==this.wholeWord&&(o=!0,i.wholeWord=!0),a!==this.matchCase&&(o=!0,i.matchCase=!0),u!==this.preserveCase&&(o=!0,i.preserveCase=!0),o&&this._onFindReplaceStateChange.fire(i)},e}(),ne=(n("s0RT"),n("UqCF")),ie=n("5tK6"),oe=n("zxiH"),re=n("ZfGv"),se=(n("NBYJ"),n("a6dA")),ae=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ue=i.a("defaultLabel","input"),le=function(e){function t(t,n,i,o){var r=e.call(this)||this;r._showOptionButtons=i,r.fixFocusOnOptionClickEnabled=!0,r._onDidOptionChange=r._register(new V.a),r.onDidOptionChange=r._onDidOptionChange.event,r._onKeyDown=r._register(new V.a),r.onKeyDown=r._onKeyDown.event,r._onMouseDown=r._register(new V.a),r.onMouseDown=r._onMouseDown.event,r._onInput=r._register(new V.a),r._onKeyUp=r._register(new V.a),r._onCaseSensitiveKeyDown=r._register(new V.a),r.onCaseSensitiveKeyDown=r._onCaseSensitiveKeyDown.event,r._onRegexKeyDown=r._register(new V.a),r.onRegexKeyDown=r._onRegexKeyDown.event,r._lastHighlightFindOptions=0,r.contextViewProvider=n,r.placeholder=o.placeholder||"",r.validation=o.validation,r.label=o.label||ue,r.inputActiveOptionBorder=o.inputActiveOptionBorder,r.inputActiveOptionBackground=o.inputActiveOptionBackground,r.inputBackground=o.inputBackground,r.inputForeground=o.inputForeground,r.inputBorder=o.inputBorder,r.inputValidationInfoBorder=o.inputValidationInfoBorder,r.inputValidationInfoBackground=o.inputValidationInfoBackground,r.inputValidationInfoForeground=o.inputValidationInfoForeground,r.inputValidationWarningBorder=o.inputValidationWarningBorder,r.inputValidationWarningBackground=o.inputValidationWarningBackground,r.inputValidationWarningForeground=o.inputValidationWarningForeground,r.inputValidationErrorBorder=o.inputValidationErrorBorder,r.inputValidationErrorBackground=o.inputValidationErrorBackground,r.inputValidationErrorForeground=o.inputValidationErrorForeground;var s=o.appendCaseSensitiveLabel||"",a=o.appendWholeWordsLabel||"",u=o.appendRegexLabel||"",l=o.history||[],c=!!o.flexibleHeight,d=!!o.flexibleWidth,h=o.flexibleMaxHeight;r.domNode=document.createElement("div"),F.f(r.domNode,"monaco-findInput"),r.inputBox=r._register(new se.a(r.domNode,r.contextViewProvider,{placeholder:r.placeholder||"",ariaLabel:r.label||"",validationOptions:{validation:r.validation},inputBackground:r.inputBackground,inputForeground:r.inputForeground,inputBorder:r.inputBorder,inputValidationInfoBackground:r.inputValidationInfoBackground,inputValidationInfoForeground:r.inputValidationInfoForeground,inputValidationInfoBorder:r.inputValidationInfoBorder,inputValidationWarningBackground:r.inputValidationWarningBackground,inputValidationWarningForeground:r.inputValidationWarningForeground,inputValidationWarningBorder:r.inputValidationWarningBorder,inputValidationErrorBackground:r.inputValidationErrorBackground,inputValidationErrorForeground:r.inputValidationErrorForeground,inputValidationErrorBorder:r.inputValidationErrorBorder,history:l,flexibleHeight:c,flexibleWidth:d,flexibleMaxHeight:h})),r.regex=r._register(new J({appendTitle:u,isChecked:!1,inputActiveOptionBorder:r.inputActiveOptionBorder,inputActiveOptionBackground:r.inputActiveOptionBackground})),r._register(r.regex.onChange(function(e){r._onDidOptionChange.fire(e),!e&&r.fixFocusOnOptionClickEnabled&&r.inputBox.focus(),r.validate()})),r._register(r.regex.onKeyDown(function(e){r._onRegexKeyDown.fire(e)})),r.wholeWords=r._register(new X({appendTitle:a,isChecked:!1,inputActiveOptionBorder:r.inputActiveOptionBorder,inputActiveOptionBackground:r.inputActiveOptionBackground})),r._register(r.wholeWords.onChange(function(e){r._onDidOptionChange.fire(e),!e&&r.fixFocusOnOptionClickEnabled&&r.inputBox.focus(),r.validate()})),r.caseSensitive=r._register(new Y({appendTitle:s,isChecked:!1,inputActiveOptionBorder:r.inputActiveOptionBorder,inputActiveOptionBackground:r.inputActiveOptionBackground})),r._register(r.caseSensitive.onChange(function(e){r._onDidOptionChange.fire(e),!e&&r.fixFocusOnOptionClickEnabled&&r.inputBox.focus(),r.validate()})),r._register(r.caseSensitive.onKeyDown(function(e){r._onCaseSensitiveKeyDown.fire(e)})),r._showOptionButtons&&(r.inputBox.paddingRight=r.caseSensitive.width()+r.wholeWords.width()+r.regex.width());var p=[r.caseSensitive.domNode,r.wholeWords.domNode,r.regex.domNode];r.onkeydown(r.domNode,function(e){if(e.equals(15)||e.equals(17)||e.equals(9)){var t=p.indexOf(document.activeElement);if(t>=0){var n=-1;e.equals(17)?n=(t+1)%p.length:e.equals(15)&&(n=0===t?p.length-1:t-1),e.equals(9)?p[t].blur():n>=0&&p[n].focus(),F.c.stop(e,!0)}}});var f=document.createElement("div");return f.className="controls",f.style.display=r._showOptionButtons?"block":"none",f.appendChild(r.caseSensitive.domNode),f.appendChild(r.wholeWords.domNode),f.appendChild(r.regex.domNode),r.domNode.appendChild(f),t&&t.appendChild(r.domNode),r.onkeydown(r.inputBox.inputElement,function(e){return r._onKeyDown.fire(e)}),r.onkeyup(r.inputBox.inputElement,function(e){return r._onKeyUp.fire(e)}),r.oninput(r.inputBox.inputElement,function(e){return r._onInput.fire()}),r.onmousedown(r.inputBox.inputElement,function(e){return r._onMouseDown.fire(e)}),r}return ae(t,e),t.prototype.enable=function(){F.I(this.domNode,"disabled"),this.inputBox.enable(),this.regex.enable(),this.wholeWords.enable(),this.caseSensitive.enable()},t.prototype.disable=function(){F.f(this.domNode,"disabled"),this.inputBox.disable(),this.regex.disable(),this.wholeWords.disable(),this.caseSensitive.disable()},t.prototype.setFocusInputOnOptionClick=function(e){this.fixFocusOnOptionClickEnabled=e},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.inputActiveOptionBackground=e.inputActiveOptionBackground,this.inputBackground=e.inputBackground,this.inputForeground=e.inputForeground,this.inputBorder=e.inputBorder,this.inputValidationInfoBackground=e.inputValidationInfoBackground,this.inputValidationInfoForeground=e.inputValidationInfoForeground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningForeground=e.inputValidationWarningForeground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorForeground=e.inputValidationErrorForeground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()},t.prototype.applyStyles=function(){if(this.domNode){var e={inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionBackground:this.inputActiveOptionBackground};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,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,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},t.prototype.getWholeWords=function(){return this.wholeWords.checked},t.prototype.setWholeWords=function(e){this.wholeWords.checked=e},t.prototype.getRegex=function(){return this.regex.checked},t.prototype.setRegex=function(e){this.regex.checked=e,this.validate()},t.prototype.focusOnCaseSensitive=function(){this.caseSensitive.focus()},t.prototype.highlightFindOptions=function(){F.I(this.domNode,"highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,F.f(this.domNode,"highlight-"+this._lastHighlightFindOptions)},t.prototype.validate=function(){this.inputBox&&this.inputBox.validate()},t.prototype.clearMessage=function(){this.inputBox&&this.inputBox.hideMessage()},t.prototype.dispose=function(){e.prototype.dispose.call(this)},t}(W.a),ce=n("Kx4b"),de=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),he=i.a("defaultLabel","input"),pe=i.a("label.preserveCaseCheckbox","Preserve Case"),fe=function(e){function t(t){return e.call(this,{actionClassName:"monaco-case-sensitive",title:pe+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder})||this}return de(t,e),t}(U),ge=function(e){function t(t,n,i,o){var r=e.call(this)||this;r._showOptionButtons=i,r.fixFocusOnOptionClickEnabled=!0,r.cachedOptionsWidth=0,r._onDidOptionChange=r._register(new V.a),r.onDidOptionChange=r._onDidOptionChange.event,r._onKeyDown=r._register(new V.a),r.onKeyDown=r._onKeyDown.event,r._onMouseDown=r._register(new V.a),r._onInput=r._register(new V.a),r._onKeyUp=r._register(new V.a),r._onPreserveCaseKeyDown=r._register(new V.a),r.onPreserveCaseKeyDown=r._onPreserveCaseKeyDown.event,r.contextViewProvider=n,r.placeholder=o.placeholder||"",r.validation=o.validation,r.label=o.label||he,r.inputActiveOptionBorder=o.inputActiveOptionBorder,r.inputBackground=o.inputBackground,r.inputForeground=o.inputForeground,r.inputBorder=o.inputBorder,r.inputValidationInfoBorder=o.inputValidationInfoBorder,r.inputValidationInfoBackground=o.inputValidationInfoBackground,r.inputValidationInfoForeground=o.inputValidationInfoForeground,r.inputValidationWarningBorder=o.inputValidationWarningBorder,r.inputValidationWarningBackground=o.inputValidationWarningBackground,r.inputValidationWarningForeground=o.inputValidationWarningForeground,r.inputValidationErrorBorder=o.inputValidationErrorBorder,r.inputValidationErrorBackground=o.inputValidationErrorBackground,r.inputValidationErrorForeground=o.inputValidationErrorForeground;var s=!!o.flexibleHeight,a=!!o.flexibleWidth,u=o.flexibleMaxHeight;return r.buildDomNode(o.history||[],s,a,u),t&&t.appendChild(r.domNode),r.onkeydown(r.inputBox.inputElement,function(e){return r._onKeyDown.fire(e)}),r.onkeyup(r.inputBox.inputElement,function(e){return r._onKeyUp.fire(e)}),r.oninput(r.inputBox.inputElement,function(e){return r._onInput.fire()}),r.onmousedown(r.inputBox.inputElement,function(e){return r._onMouseDown.fire(e)}),r}return de(t,e),t.prototype.enable=function(){F.I(this.domNode,"disabled"),this.inputBox.enable(),this.preserveCase.enable()},t.prototype.disable=function(){F.f(this.domNode,"disabled"),this.inputBox.disable(),this.preserveCase.disable()},t.prototype.setEnabled=function(e){e?this.enable():this.disable()},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.inputValidationInfoForeground=e.inputValidationInfoForeground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningForeground=e.inputValidationWarningForeground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorForeground=e.inputValidationErrorForeground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()},t.prototype.applyStyles=function(){if(this.domNode){var e={inputActiveOptionBorder:this.inputActiveOptionBorder};this.preserveCase.style(e);var t={inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder};this.inputBox.style(t)}},t.prototype.select=function(){this.inputBox.select()},t.prototype.focus=function(){this.inputBox.focus()},t.prototype.getPreserveCase=function(){return this.preserveCase.checked},t.prototype.setPreserveCase=function(e){this.preserveCase.checked=e},t.prototype.focusOnPreserve=function(){this.preserveCase.focus()},t.prototype.buildDomNode=function(e,t,n,i){var o=this;this.domNode=document.createElement("div"),F.f(this.domNode,"monaco-findInput"),this.inputBox=this._register(new se.a(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder,history:e,flexibleHeight:t,flexibleWidth:n,flexibleMaxHeight:i})),this.preserveCase=this._register(new fe({appendTitle:"",isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder})),this._register(this.preserveCase.onChange(function(e){o._onDidOptionChange.fire(e),!e&&o.fixFocusOnOptionClickEnabled&&o.inputBox.focus(),o.validate()})),this._register(this.preserveCase.onKeyDown(function(e){o._onPreserveCaseKeyDown.fire(e)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;var r=[this.preserveCase.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 n=-1;e.equals(17)?n=(t+1)%r.length:e.equals(15)&&(n=0===t?r.length-1:t-1),e.equals(9)?r[t].blur():n>=0&&r[n].focus(),F.c.stop(e,!0)}}});var s=document.createElement("div");s.className="controls",s.style.display=this._showOptionButtons?"block":"none",s.appendChild(this.preserveCase.domNode),this.domNode.appendChild(s)},t.prototype.validate=function(){this.inputBox&&this.inputBox.validate()},Object.defineProperty(t.prototype,"width",{set:function(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.inputBox.width=e,this.domNode.style.width=e+"px"},enumerable:!0,configurable:!0}),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t}(W.a),me=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),_e=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},ve=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ye="historyNavigationWidget",be="historyNavigationEnabled";function Ce(e,t){return e.getContext(document.activeElement).getValue(t)}function we(e,t){var n=function(e,t){return e.createScoped(t.target)}(e,t);return function(e,t,n){new N.d(n,t).bindTo(e)}(n,t,ye),{scopedContextKeyService:n,historyNavigationEnablement:new N.d(be,!0).bindTo(n)}}var Se=function(e){function t(t,n,i,o,r){void 0===r&&(r=!1);var s=e.call(this,t,n,r,i)||this;return s._register(we(o,{target:s.inputBox.element,historyNavigator:s.inputBox}).scopedContextKeyService),s}return me(t,e),t=_e([ve(3,N.c)],t)}(le),Le=function(e){function t(t,n,i,o,r){void 0===r&&(r=!1);var s=e.call(this,t,n,r,i)||this;return s._register(we(o,{target:s.inputBox.element,historyNavigator:s.inputBox}).scopedContextKeyService),s}return me(t,e),t=_e([ve(3,N.c)],t)}(ge);ce.a.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:N.a.and(N.a.has(ye),N.a.equals(be,!0)),primary:16,secondary:[528],handler:function(e,t){var n=Ce(e.get(N.c),ye);n&&n.historyNavigator.showPreviousValue()}}),ce.a.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:N.a.and(N.a.has(ye),N.a.equals(be,!0)),primary:18,secondary:[530],handler:function(e,t){var n=Ce(e.get(N.c),ye);n&&n.historyNavigator.showNextValue()}});var Oe=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ee=i.a("label.find","Find"),Ne=i.a("placeholder.find","Find"),xe=i.a("label.previousMatchButton","Previous match"),Ie=i.a("label.nextMatchButton","Next match"),De=i.a("label.toggleSelectionFind","Find in selection"),ke=i.a("label.closeButton","Close"),Te=i.a("label.replace","Replace"),Me=i.a("placeholder.replace","Replace"),Re=i.a("label.replaceButton","Replace"),Ae=i.a("label.replaceAllButton","Replace All"),Pe=i.a("label.toggleReplaceButton","Toggle Replace mode"),Fe=i.a("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",19999),We=i.a("label.matchesLocation","{0} of {1}"),je=i.a("label.noResults","No Results"),Ve=69,Be=17+(Ve+3+1)+92+2,He=33,ze="ctrlEnterReplaceAll.windows.donotask",Ue=re.d?256:2048,Ke=function(){return function(e){this.afterLineNumber=e,this.heightInPx=He,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}();function qe(e,t,n){var i=!!t.match(/\n/);n&&i&&n.selectionStart>0&&e.stopPropagation()}function Ge(e,t,n){var i=!!t.match(/\n/);n&&i&&n.selectionEnd=0?F.f(this._domNode,"multipleline"):F.I(this._domNode,"multipleline");try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?this._codeEditor.getConfiguration().readOnly||this._isReplaceVisible||(this._isReplaceVisible=!0,this._replaceInput.width=F.B(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),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;F.R(this._domNode,"no-results",t),this._updateMatchesCount(),this._updateButtons()}(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._replaceInput.inputBox.addToHistory()},t.prototype._updateMatchesCount=function(){var e;if(this._matchesCount.style.minWidth=Ve+"px",this._state.matchesCount>=19999?this._matchesCount.title=Fe: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 n=String(this._state.matchesPosition);"0"===n&&(n="?"),e=s.r(We,n,t)}else e=je;this._matchesCount.appendChild(document.createTextNode(e)),Object(ne.a)(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString),!0),Ve=Math.max(Ve,this._matchesCount.clientWidth)},t.prototype._getAriaLabel=function(e,t,n){return e===je?""===n?i.a("ariaSearchNoResultEmpty","{0} found",e):i.a("ariaSearchNoResult","{0} found for {1}",e,n):t?i.a("ariaSearchNoResultWithLineNum","{0} found for {1} at {2}",e,n,t.startLineNumber+":"+t.startColumn):i.a("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for {1}",e,n)},t.prototype._updateToggleSelectionFindButton=function(){var e=this._codeEditor.getSelection(),t=!!e&&(e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn),n=this._toggleSelectionFind.checked;this._toggleSelectionFind.setEnabled(this._isVisible&&(n||t))},t.prototype._updateButtons=function(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);var e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t),this._nextBtn.setEnabled(this._isVisible&&e&&t),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),F.R(this._domNode,"replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.toggleClass("collapse",!this._isReplaceVisible),this._toggleReplaceBtn.toggleClass("expand",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);var n=!this._codeEditor.getConfiguration().readOnly;this._toggleReplaceBtn.setEnabled(this._isVisible&&n)},t.prototype._reveal=function(){var e=this;if(!this._isVisible){this._isVisible=!0;var t=this._codeEditor.getSelection();!!t&&(t.startLineNumber!==t.endLineNumber||t.startColumn!==t.endColumn)&&this._codeEditor.getConfiguration().contribInfo.find.autoFindInSelection?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._tryUpdateWidgetWidth(),this._updateButtons(),setTimeout(function(){F.f(e._domNode,"visible"),e._domNode.setAttribute("aria-hidden","false")},0),setTimeout(function(){e._findInput.validate()},200),this._codeEditor.layoutOverlayWidget(this);var n=!0;if(this._codeEditor.getConfiguration().contribInfo.find.seedSearchStringFromSelection&&t){var i=this._codeEditor.getDomNode();if(i){var o=F.x(i),r=this._codeEditor.getScrolledVisiblePosition(t.getStartPosition()),s=o.left+(r?r.left:0),a=r?r.top:0;if(this._viewZone&&at.startLineNumber&&(n=!1);var u=F.z(this._domNode).left;s>u&&(n=!1);var l=this._codeEditor.getScrolledVisiblePosition(t.getEndPosition());o.left+(l?l.left:0)>u&&(n=!1)}}}this._showViewZone(n)}},t.prototype._hide=function(e){this._isVisible&&(this._isVisible=!1,this._updateButtons(),F.I(this._domNode,"visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())},t.prototype._layoutViewZone=function(){var e=this;if(this._codeEditor.getConfiguration().contribInfo.find.addExtraSpaceOnTop){if(this._isVisible){var t=this._viewZone;void 0===this._viewZoneId&&t&&this._codeEditor.changeViewZones(function(n){t.heightInPx=e._getHeight(),e._viewZoneId=n.addZone(t),e._codeEditor.setScrollTop(e._codeEditor.getScrollTop()+t.heightInPx)})}}else this._removeViewZone()},t.prototype._showViewZone=function(e){var t=this;if((void 0===e&&(e=!0),this._isVisible)&&this._codeEditor.getConfiguration().contribInfo.find.addExtraSpaceOnTop){void 0===this._viewZone&&(this._viewZone=new Ke(0));var n=this._viewZone;this._codeEditor.changeViewZones(function(i){if(void 0!==t._viewZoneId){var o=t._getHeight();if(o===n.heightInPx)return;var r=o-n.heightInPx;return n.heightInPx=o,i.layoutZone(t._viewZoneId),void(e&&t._codeEditor.setScrollTop(t._codeEditor.getScrollTop()+r))}r=t._getHeight();n.heightInPx=r,t._viewZoneId=i.addZone(n),e&&t._codeEditor.setScrollTop(t._codeEditor.getScrollTop()+r)})}},t.prototype._removeViewZone=function(){var e=this;this._codeEditor.changeViewZones(function(t){void 0!==e._viewZoneId&&(t.removeZone(e._viewZoneId),e._viewZoneId=void 0,e._viewZone&&(e._codeEditor.setScrollTop(e._codeEditor.getScrollTop()-e._viewZone.heightInPx),e._viewZone=void 0))})},t.prototype._applyTheme=function(e){var t={inputActiveOptionBorder:e.getColor(m.V),inputActiveOptionBackground:e.getColor(m.U),inputBackground:e.getColor(m.W),inputForeground:e.getColor(m.Y),inputBorder:e.getColor(m.X),inputValidationInfoBackground:e.getColor(m._2),inputValidationInfoForeground:e.getColor(m._4),inputValidationInfoBorder:e.getColor(m._3),inputValidationWarningBackground:e.getColor(m._5),inputValidationWarningForeground:e.getColor(m._7),inputValidationWarningBorder:e.getColor(m._6),inputValidationErrorBackground:e.getColor(m.Z),inputValidationErrorForeground:e.getColor(m._1),inputValidationErrorBorder:e.getColor(m._0)};this._findInput.style(t),this._replaceInput.style(t)},t.prototype._tryUpdateWidgetWidth=function(){if(this._isVisible)if(this._codeEditor.getConfiguration().layoutInfo.contentWidth<=0)F.f(this._domNode,"hiddenEditor");else{F.C(this._domNode,"hiddenEditor")&&F.I(this._domNode,"hiddenEditor");var e=this._codeEditor.getConfiguration().layoutInfo.width,t=this._codeEditor.getConfiguration().layoutInfo.minimapWidth,n=!1,i=!1,o=!1;if(this._resized)if(F.B(this._domNode)>419)return this._domNode.style.maxWidth=e-28-t-15+"px",void(this._replaceInput.width=F.B(this._findInput.domNode));if(447+t>=e&&(i=!0),447+t-Ve>=e&&(o=!0),447+t-Ve>=e+50&&(n=!0),F.R(this._domNode,"collapsed-find-widget",n),F.R(this._domNode,"narrow-find-widget",o),F.R(this._domNode,"reduced-find-widget",i),o||n||(this._domNode.style.maxWidth=e-28-t-15+"px"),this._resized){this._findInput.inputBox.layout();var r=this._findInput.inputBox.width;r>0&&(this._replaceInput.width=r)}}},t.prototype._getHeight=function(){var e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4},t.prototype._tryUpdateHeight=function(){var e=this._getHeight();return(null===this._cachedHeight||this._cachedHeight!==e)&&(this._cachedHeight=e,this._domNode.style.height=e+"px",!0)},t.prototype.focusFindInput=function(){this._findInput.select(),this._findInput.focus()},t.prototype.focusReplaceInput=function(){this._replaceInput.select(),this._replaceInput.focus()},t.prototype.highlightFindOptions=function(){this._findInput.highlightFindOptions()},t.prototype._updateSearchScope=function(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){var e=this._codeEditor.getSelection();1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1)));var t=this._state.currentMatch;e.startLineNumber!==e.endLineNumber&&(d.a.equalsRange(e,t)||this._state.change({searchScope:e},!0))}},t.prototype._onFindInputMouseDown=function(e){e.middleButton&&e.stopPropagation()},t.prototype._onFindInputKeyDown=function(e){if(e.equals(3|Ue)){var t=this._findInput.inputBox.inputElement,n=t.selectionStart,i=t.selectionEnd,o=t.value;if(null!==n&&null!==i){var r=o.substr(0,n)+"\n"+o.substr(i);return this._findInput.inputBox.value=r,t.setSelectionRange(n+1,n+1),this._findInput.inputBox.layout(),void e.preventDefault()}}return e.equals(2)?(this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):e.equals(16)?qe(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):e.equals(18)?Ge(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):void 0},t.prototype._onReplaceInputKeyDown=function(e){if(e.equals(3|Ue)){re.g&&re.e&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(i.a("ctrlEnter.keybindingChanged","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(ze,!0,0));var t=this._replaceInput.inputBox.inputElement,n=t.selectionStart,o=t.selectionEnd,r=t.value;if(null!==n&&null!==o){var s=r.substr(0,n)+"\n"+r.substr(o);return this._replaceInput.inputBox.value=s,t.setSelectionRange(n+1,n+1),this._replaceInput.inputBox.layout(),void e.preventDefault()}}return 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()):e.equals(16)?qe(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):e.equals(18)?Ge(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):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._buildDomNode=function(){var e=this;this._findInput=this._register(new Se(null,this._contextViewProvider,{width:221,label:Ee,placeholder:Ne,appendCaseSensitiveLabel:this._keybindingLabelFor(A.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(A.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(A.ToggleRegexCommand),validation:function(t){if(0===t.length||!e._findInput.getRegex())return null;try{return new RegExp(t),null}catch(e){return{content:e.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118},this._contextKeyService,!0)),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._ignoreChangeEvent||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._replaceInput.focus(),t.preventDefault())})),this._register(this._findInput.onRegexKeyDown(function(t){t.equals(2)&&e._isReplaceVisible&&(e._replaceInput.focusOnPreserve(),t.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(function(t){e._tryUpdateHeight()&&e._showViewZone()})),re.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 Xe({label:xe+this._keybindingLabelFor(A.PreviousMatchFindAction),className:"previous",onTrigger:function(){e._codeEditor.getAction(A.PreviousMatchFindAction).run().then(void 0,oe.e)}})),this._nextBtn=this._register(new Xe({label:Ie+this._keybindingLabelFor(A.NextMatchFindAction),className:"next",onTrigger:function(){e._codeEditor.getAction(A.NextMatchFindAction).run().then(void 0,oe.e)}}));var t=document.createElement("div");t.className="find-part",t.appendChild(this._findInput.domNode);var n=document.createElement("div");n.className="find-actions",t.appendChild(n),n.appendChild(this._matchesCount),n.appendChild(this._prevBtn.domNode),n.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new Ye({parent:n,title:De+this._keybindingLabelFor(A.ToggleSearchScopeCommand),onChange:function(){if(e._toggleSelectionFind.checked){if(e._codeEditor.hasModel()){var t=e._codeEditor.getSelection();1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,e._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()||e._state.change({searchScope:t},!0)}}else e._state.change({searchScope:null},!0)}})),this._closeBtn=this._register(new Xe({label:ke+this._keybindingLabelFor(A.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())}})),n.appendChild(this._closeBtn.domNode),this._replaceInput=this._register(new Le(null,void 0,{label:Te,placeholder:Me,history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(function(t){return e._onReplaceInputKeyDown(t)})),this._register(this._replaceInput.inputBox.onDidChange(function(){e._state.change({replaceString:e._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(function(t){e._isReplaceVisible&&e._tryUpdateHeight()&&e._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(function(){e._state.change({preserveCase:e._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(function(t){t.equals(2)&&(e._prevBtn.isEnabled()?e._prevBtn.focus():e._nextBtn.isEnabled()?e._nextBtn.focus():e._toggleSelectionFind.isEnabled()?e._toggleSelectionFind.focus():e._closeBtn.isEnabled()&&e._closeBtn.focus(),t.preventDefault())})),this._replaceBtn=this._register(new Xe({label:Re+this._keybindingLabelFor(A.ReplaceOneAction),className:"replace",onTrigger:function(){e._controller.replace()},onKeyDown:function(t){t.equals(1026)&&(e._closeBtn.focus(),t.preventDefault())}})),this._replaceAllBtn=this._register(new Xe({label:Ae+this._keybindingLabelFor(A.ReplaceAllAction),className:"replace-all",onTrigger:function(){e._controller.replaceAll()}}));var i=document.createElement("div");i.className="replace-part",i.appendChild(this._replaceInput.domNode);var o=document.createElement("div");o.className="replace-actions",i.appendChild(o),o.appendChild(this._replaceBtn.domNode),o.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new Xe({label:Pe,className:"toggle left",onTrigger:function(){e._state.change({isReplaceRevealed:!e._isReplaceVisible},!1),e._isReplaceVisible&&(e._replaceInput.width=F.B(e._findInput.domNode),e._replaceInput.inputBox.layout()),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="419px",this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(t),this._domNode.appendChild(i),this._resizeSash=new ie.a(this._domNode,this,{orientation:0}),this._resized=!1;var r=419;this._register(this._resizeSash.onDidStart(function(){r=F.B(e._domNode)})),this._register(this._resizeSash.onDidChange(function(t){e._resized=!0;var n=r+t.startX-t.currentX;if(!(n<419)){var i=n-Be;n>(parseFloat(F.u(e._domNode).maxWidth)||0)||(e._domNode.style.width=n+"px",e._findInput.inputBox.width=i,e._isReplaceVisible&&(e._replaceInput.width=F.B(e._findInput.domNode)),e._findInput.inputBox.layout(),e._tryUpdateHeight())}})),this._register(this._resizeSash.onDidReset(function(){var t=F.B(e._domNode);if(!(t<419)){var n=419;e._resized&&419!==t||(n=e._codeEditor.getConfiguration().layoutInfo.width-28-e._codeEditor.getConfiguration().layoutInfo.minimapWidth-15,e._resized=!0);var i=n-Be;e._domNode.style.width=n+"px",e._findInput.inputBox.width=i,e._isReplaceVisible&&(e._replaceInput.width=F.B(e._findInput.domNode)),e._findInput.inputBox.layout()}}))},t.prototype.updateAccessibilitySupport=function(){var e=this._codeEditor.getConfiguration().accessibilitySupport;this._findInput.setFocusInputOnOptionClick(2!==e)},t.ID="editor.contrib.findWidget",t}(W.a),Ye=function(e){function t(n){var i=e.call(this)||this;return i._opts=n,i._domNode=document.createElement("div"),i._domNode.className="monaco-checkbox",i._domNode.title=i._opts.title,i._domNode.tabIndex=0,i._checkbox=document.createElement("input"),i._checkbox.type="checkbox",i._checkbox.className="checkbox",i._checkbox.id="checkbox-"+t._COUNTER++,i._checkbox.tabIndex=-1,i._label=document.createElement("label"),i._label.className="label",i._label.htmlFor=i._checkbox.id,i._label.tabIndex=-1,i._domNode.appendChild(i._checkbox),i._domNode.appendChild(i._label),i._opts.parent.appendChild(i._domNode),i.onchange(i._checkbox,function(){i._opts.onChange()}),i}return Oe(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},Object.defineProperty(t.prototype,"checked",{get:function(){return this._checkbox.checked},set:function(e){this._checkbox.checked=e},enumerable:!0,configurable:!0}),t.prototype.focus=function(){this._domNode.focus()},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}(W.a),Xe=function(e){function t(t){var n=e.call(this)||this;return n._opts=t,n._domNode=document.createElement("div"),n._domNode.title=n._opts.label,n._domNode.tabIndex=0,n._domNode.className="button "+n._opts.className,n._domNode.setAttribute("role","button"),n._domNode.setAttribute("aria-label",n._opts.label),n.onclick(n._domNode,function(e){n._opts.onTrigger(),e.preventDefault()}),n.onkeydown(n._domNode,function(e){if(e.equals(10)||e.equals(3))return n._opts.onTrigger(),void e.preventDefault();n._opts.onKeyDown&&n._opts.onKeyDown(e)}),n}return Oe(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){F.R(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){F.R(this._domNode,e,t)},t}(W.a);Object(_.f)(function(e,t){var n=function(e,n){n&&t.addRule(".monaco-editor "+e+" { background-color: "+n+"; }")};n(".findMatch",e.getColor(m.t)),n(".currentFindMatch",e.getColor(m.r)),n(".findScope",e.getColor(m.v)),n(".find-widget",e.getColor(m.N));var i=e.getColor(m._48);i&&t.addRule(".monaco-editor .find-widget { box-shadow: 0 2px 8px "+i+"; }");var o=e.getColor(m.u);o&&t.addRule(".monaco-editor .findMatch { border: 1px "+("hc"===e.type?"dotted":"solid")+" "+o+"; box-sizing: border-box; }");var r=e.getColor(m.s);r&&t.addRule(".monaco-editor .currentFindMatch { border: 2px solid "+r+"; padding: 1px; box-sizing: border-box; }");var s=e.getColor(m.w);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 u=e.getColor(m.P);u&&t.addRule(".monaco-editor .find-widget { color: "+u+"; }");var l=e.getColor(m.R);l&&t.addRule(".monaco-editor .find-widget.no-results .matchesCount { color: "+l+"; }");var c=e.getColor(m.Q);if(c)t.addRule(".monaco-editor .find-widget .monaco-sash { background-color: "+c+"; width: 3px !important; margin-left: -4px;}");else{var d=e.getColor(m.O);d&&t.addRule(".monaco-editor .find-widget .monaco-sash { background-color: "+d+"; width: 3px !important; margin-left: -4px;}")}var h=e.getColor(m.V);h&&t.addRule(".monaco-editor .find-widget .monaco-checkbox .checkbox:checked + .label { border: 1px solid "+h.toString()+"; }");var p=e.getColor(m.U);p&&t.addRule(".monaco-editor .find-widget .monaco-checkbox .checkbox:checked + .label { background-color: "+p.toString()+"; }");var f=e.getColor(m.S);f&&t.addRule(".monaco-workbench .monaco-editor .find-widget .monaco-inputbox.synthetic-focus { outline-color: "+f+"; }")});var Je=n("44YW"),Qe=n("yO/1"),$e=n("JVO/"),et=n("NqM+"),tt=n("Cfmk"),nt=n("fAkY");t.getSelectionSearchString=at,n.d(t,"CommonFindController",function(){return ut}),n.d(t,"FindController",function(){return lt}),n.d(t,"StartFindAction",function(){return ct}),n.d(t,"StartFindWithSelectionAction",function(){return dt}),n.d(t,"MatchFindAction",function(){return ht}),n.d(t,"NextMatchFindAction",function(){return pt}),n.d(t,"NextMatchFindAction2",function(){return ft}),n.d(t,"PreviousMatchFindAction",function(){return gt}),n.d(t,"PreviousMatchFindAction2",function(){return mt}),n.d(t,"SelectionMatchFindAction",function(){return _t}),n.d(t,"NextSelectionMatchFindAction",function(){return vt}),n.d(t,"PreviousSelectionMatchFindAction",function(){return yt}),n.d(t,"StartFindReplaceAction",function(){return bt});var it=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ot=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},rt=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},st=524288;function at(e){if(!e.hasModel())return null;var t=e.getSelection();if(t.startLineNumber===t.endLineNumber)if(t.isEmpty()){var n=e.getModel().getWordAtPosition(t.getStartPosition());if(n)return n.word}else if(e.getModel().getValueLengthInRange(t)e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._editor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()||this._state.change({searchScope:e},!0)}},t.prototype.setSearchString=function(e){this._state.isRegex&&(e=s.p(e)),this._state.change({searchString:e},!1)},t.prototype.highlightFindOptions=function(){},t.prototype._start=function(e){if(this.disposeModel(),this._editor.hasModel()){var t,n={isRevealed:!0};if(e.seedSearchStringFromSelection)(t=at(this._editor))&&(this._state.isRegex?n.searchString=s.p(t):n.searchString=t);if(!n.searchString&&e.seedSearchStringFromGlobalClipboard)(t=this.getGlobalBufferTerm())&&(n.searchString=t);if(e.forceRevealReplace?n.isReplaceRevealed=!0:this._findWidgetVisible.get()||(n.isReplaceRevealed=!1),e.updateSearchScope){var i=this._editor.getSelection();i.isEmpty()||(n.searchScope=i)}this._state.change(n,!1),this._model||(this._model=new P(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.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""},t.prototype.setGlobalBufferTerm=function(e){this._editor.getConfiguration().contribInfo.find.globalFindClipboard&&this._clipboardService&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)},t.ID="editor.contrib.findController",t=ot([rt(1,N.c),rt(2,tt.a),rt(3,Je.a)],t)}(r.a),lt=function(e){function t(t,n,i,o,r,s,a,u){var l=e.call(this,t,i,a,u)||this;return l._contextViewService=n,l._keybindingService=o,l._themeService=r,l._notificationService=s,l._widget=null,l._findOptionsWidget=null,l}return it(t,e),t.prototype._start=function(t){this._widget||this._createFindWidget(),!this._widget.getPosition()&&this._editor.getConfiguration().contribInfo.find.autoFindInSelection&&(t.updateSearchScope=!0),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 Ze(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new $(this._editor,this._state,this._keybindingService,this._themeService))},t=ot([rt(1,Qe.b),rt(2,N.c),rt(3,et.a),rt(4,_.c),rt(5,nt.a),rt(6,tt.a),rt(7,Object($e.d)(Je.a))],t)}(ut),ct=function(e){function t(){return e.call(this,{id:A.StartFindAction,label:i.a("startFindAction","Find"),alias:"Find",precondition:void 0,kbOpts:{kbExpr:null,primary:2084,weight:100},menubarOpts:{menuId:14,group:"3_find",title:i.a({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}})||this}return it(t,e),t.prototype.run=function(e,t){var n=ut.get(t);n&&n.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:t.getConfiguration().contribInfo.find.globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1})},t}(a.b),dt=function(e){function t(){return e.call(this,{id:A.StartFindWithSelection,label:i.a("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})||this}return it(t,e),t.prototype.run=function(e,t){var n=ut.get(t);n&&(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:!0,seedSearchStringFromGlobalClipboard:!1,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1}),n.setGlobalBufferTerm(n.getState().searchString))},t}(a.b),ht=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return it(t,e),t.prototype.run=function(e,t){var n=ut.get(t);n&&!this._run(n)&&(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===n.getState().searchString.length&&t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1}),this._run(n))},t}(a.b),pt=function(e){function t(){return e.call(this,{id:A.NextMatchFindAction,label:i.a("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:{kbExpr:u.a.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100}})||this}return it(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t}(ht),ft=function(e){function t(){return e.call(this,{id:A.NextMatchFindAction,label:i.a("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:{kbExpr:N.a.and(u.a.focus,I),primary:3,weight:100}})||this}return it(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t}(ht),gt=function(e){function t(){return e.call(this,{id:A.PreviousMatchFindAction,label:i.a("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:{kbExpr:u.a.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100}})||this}return it(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(ht),mt=function(e){function t(){return e.call(this,{id:A.PreviousMatchFindAction,label:i.a("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:{kbExpr:N.a.and(u.a.focus,I),primary:1027,weight:100}})||this}return it(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(ht),_t=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return it(t,e),t.prototype.run=function(e,t){var n=ut.get(t);if(n){var i=at(t);i&&n.setSearchString(i),this._run(n)||(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1}),this._run(n))}},t}(a.b),vt=function(e){function t(){return e.call(this,{id:A.NextSelectionMatchFindAction,label:i.a("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:u.a.focus,primary:2109,weight:100}})||this}return it(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t}(_t),yt=function(e){function t(){return e.call(this,{id:A.PreviousSelectionMatchFindAction,label:i.a("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:u.a.focus,primary:3133,weight:100}})||this}return it(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(_t),bt=function(e){function t(){return e.call(this,{id:A.StartFindReplaceAction,label:i.a("startReplace","Replace"),alias:"Replace",precondition:void 0,kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menubarOpts:{menuId:14,group:"3_find",title:i.a({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}})||this}return it(t,e),t.prototype.run=function(e,t){if(t.hasModel()&&!t.getConfiguration().readOnly){var n=ut.get(t),i=t.getSelection(),o=n.isFindInputFocused(),r=!i.isEmpty()&&i.startLineNumber===i.endLineNumber&&t.getConfiguration().contribInfo.find.seedSearchStringFromSelection&&!o,s=o||r?2:1;n&&n.start({forceRevealReplace:!0,seedSearchStringFromSelection:r,seedSearchStringFromGlobalClipboard:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,shouldFocus:s,shouldAnimate:!0,updateSearchScope:!1})}},t}(a.b);Object(a.h)(lt),Object(a.f)(ct),Object(a.f)(dt),Object(a.f)(pt),Object(a.f)(ft),Object(a.f)(gt),Object(a.f)(mt),Object(a.f)(vt),Object(a.f)(yt),Object(a.f)(bt);var Ct=a.c.bindToContribution(ut.get);Object(a.g)(new Ct({id:A.CloseFindWidgetCommand,precondition:x,handler:function(e){return e.closeFindWidget()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:9,secondary:[1033]}})),Object(a.g)(new Ct({id:A.ToggleCaseSensitiveCommand,precondition:void 0,handler:function(e){return e.toggleCaseSensitive()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:k.primary,mac:k.mac,win:k.win,linux:k.linux}})),Object(a.g)(new Ct({id:A.ToggleWholeWordCommand,precondition:void 0,handler:function(e){return e.toggleWholeWords()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:T.primary,mac:T.mac,win:T.win,linux:T.linux}})),Object(a.g)(new Ct({id:A.ToggleRegexCommand,precondition:void 0,handler:function(e){return e.toggleRegex()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:M.primary,mac:M.mac,win:M.win,linux:M.linux}})),Object(a.g)(new Ct({id:A.ToggleSearchScopeCommand,precondition:void 0,handler:function(e){return e.toggleSearchScope()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:R.primary,mac:R.mac,win:R.win,linux:R.linux}})),Object(a.g)(new Ct({id:A.ReplaceOneAction,precondition:x,handler:function(e){return e.replace()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:3094}})),Object(a.g)(new Ct({id:A.ReplaceOneAction,precondition:x,handler:function(e){return e.replace()},kbOpts:{weight:105,kbExpr:N.a.and(u.a.focus,D),primary:3}})),Object(a.g)(new Ct({id:A.ReplaceAllAction,precondition:x,handler:function(e){return e.replaceAll()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:2563}})),Object(a.g)(new Ct({id:A.ReplaceAllAction,precondition:x,handler:function(e){return e.replaceAll()},kbOpts:{weight:105,kbExpr:N.a.and(u.a.focus,D),primary:void 0,mac:{primary:2051}}})),Object(a.g)(new Ct({id:A.SelectAllMatchesAction,precondition:x,handler:function(e){return e.selectAllMatches()},kbOpts:{weight:105,kbExpr:u.a.focus,primary:515}}))},TNPA:function(e,t,n){"use strict";function i(e,t){var n=Math.pow(10,t);return Math.round(e*n)/n}n.d(t,"c",function(){return o}),n.d(t,"b",function(){return s}),n.d(t,"a",function(){return a});var o=function(){function e(e,t,n,o){void 0===o&&(o=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,n)),this.a=i(Math.max(Math.min(1,o),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,n,o){this.h=0|Math.max(Math.min(360,e),0),this.s=i(Math.max(Math.min(1,t),0),3),this.l=i(Math.max(Math.min(1,n),0),3),this.a=i(Math.max(Math.min(1,o),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 n=t.r/255,i=t.g/255,o=t.b/255,r=t.a,s=Math.max(n,i,o),a=Math.min(n,i,o),u=0,l=0,c=(a+s)/2,d=s-a;if(d>0){switch(l=Math.min(c<=.5?d/(2*c):d/(2-2*c),1),s){case n:u=(i-o)/d+(i1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e},e.toRGBA=function(t){var n,i,r,s=t.h/360,a=t.s,u=t.l,l=t.a;if(0===a)n=i=r=u;else{var c=u<.5?u*(1+a):u+a-u*a,d=2*u-c;n=e._hue2rgb(d,c,s+1/3),i=e._hue2rgb(d,c,s),r=e._hue2rgb(d,c,s-1/3)}return new o(Math.round(255*n),Math.round(255*i),Math.round(255*r),l)},e}(),s=function(){function e(e,t,n,o){this.h=0|Math.max(Math.min(360,e),0),this.s=i(Math.max(Math.min(1,t),0),3),this.v=i(Math.max(Math.min(1,n),0),3),this.a=i(Math.max(Math.min(1,o),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 n,i=t.r/255,o=t.g/255,r=t.b/255,s=Math.max(i,o,r),a=s-Math.min(i,o,r),u=0===s?0:a/s;return n=0===a?0:s===i?((o-r)/a%6+6)%6:s===o?(r-i)/a+2:(i-o)/a+4,new e(Math.round(60*n),u,s,t.a)},e.toRGBA=function(e){var t=e.h,n=e.s,i=e.v,r=e.a,s=i*n,a=s*(1-Math.abs(t/60%2-1)),u=i-s,l=[0,0,0],c=l[0],d=l[1],h=l[2];return t<60?(c=s,d=a):t<120?(c=a,d=s):t<180?(d=s,h=a):t<240?(d=a,h=s):t<300?(c=a,h=s):t<360&&(c=s,h=a),c=Math.round(255*(c+u)),d=Math.round(255*(d+u)),h=Math.round(255*(h+u)),new o(c,d,h,r)},e}(),a=function(){function e(e){if(!e)throw new Error("Color needs a value");if(e instanceof o)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&&o.equals(this.rgba,e.rgba)&&r.equals(this.hsla,e.hsla)&&s.equals(this.hsva,e.hsva)},e.prototype.getRelativeLuminance=function(){return i(.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()0;){var n=t.shift();for(var i in Object.freeze(n),n)if(o.call(n,i)){var r=n[i];"object"!=typeof r||Object.isFrozen(r)||t.push(r)}}return e},t.b=function(e,t){return function e(t,n,r){if(Object(i.k)(t))return t;var s=n(t);if(void 0!==s)return s;if(Object(i.c)(t)){for(var a=[],u=0,l=t;u console.log` because `log` has been completed recently."),o.a("suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],default:"recentlyUsed",description:o.a("suggestSelection","Controls how suggestions are pre-selected when showing the suggest list.")},"editor.suggestFontSize":{type:"integer",default:0,minimum:0,markdownDescription:o.a("suggestFontSize","Font size for the suggest widget. When set to `0`, the value of `#editor.fontSize#` is used.")},"editor.suggestLineHeight":{type:"integer",default:0,minimum:0,markdownDescription:o.a("suggestLineHeight","Line height for the suggest widget. When set to `0`, the value of `#editor.lineHeight#` is used.")},"editor.tabCompletion":{type:"string",default:"off",enum:["on","off","onlySnippets"],enumDescriptions:[o.a("tabCompletion.on","Tab complete will insert the best matching suggestion when pressing tab."),o.a("tabCompletion.off","Disable tab completions."),o.a("tabCompletion.onlySnippets","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:o.a("tabCompletion","Enables tab completions.")},"editor.suggest.filterGraceful":{type:"boolean",default:!0,description:o.a("suggest.filterGraceful","Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:!1,description:o.a("suggest.localityBonus","Controls whether sorting favours words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:!1,markdownDescription:o.a("suggest.shareSuggestSelections","Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:!0,description:o.a("suggest.snippetsPreventQuickSuggestions","Control whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:g.contribInfo.suggest.showIcons,description:o.a("suggest.showIcons","Controls whether to show or hide icons in suggestions.")},"editor.suggest.maxVisibleSuggestions":{type:"number",default:g.contribInfo.suggest.maxVisibleSuggestions,minimum:1,maximum:15,description:o.a("suggest.maxVisibleSuggestions","Controls how many suggestions IntelliSense will show before showing a scrollbar (maximum 15).")},"editor.suggest.filteredTypes":{type:"object",default:{keyword:!0,snippet:!0},markdownDescription:o.a("suggest.filtered","Controls whether some suggestion types should be filtered from IntelliSense. A list of suggestion types can be found here: https://code.visualstudio.com/docs/editor/intellisense#_types-of-completions."),properties:{method:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.method","When set to `false` IntelliSense never shows `method` suggestions.")},function:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.function","When set to `false` IntelliSense never shows `function` suggestions.")},constructor:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.constructor","When set to `false` IntelliSense never shows `constructor` suggestions.")},field:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.field","When set to `false` IntelliSense never shows `field` suggestions.")},variable:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.variable","When set to `false` IntelliSense never shows `variable` suggestions.")},class:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.class","When set to `false` IntelliSense never shows `class` suggestions.")},struct:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.struct","When set to `false` IntelliSense never shows `struct` suggestions.")},interface:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.interface","When set to `false` IntelliSense never shows `interface` suggestions.")},module:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.module","When set to `false` IntelliSense never shows `module` suggestions.")},property:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.property","When set to `false` IntelliSense never shows `property` suggestions.")},event:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.event","When set to `false` IntelliSense never shows `event` suggestions.")},operator:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.operator","When set to `false` IntelliSense never shows `operator` suggestions.")},unit:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.unit","When set to `false` IntelliSense never shows `unit` suggestions.")},value:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.value","When set to `false` IntelliSense never shows `value` suggestions.")},constant:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.constant","When set to `false` IntelliSense never shows `constant` suggestions.")},enum:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.enum","When set to `false` IntelliSense never shows `enum` suggestions.")},enumMember:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.enumMember","When set to `false` IntelliSense never shows `enumMember` suggestions.")},keyword:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.keyword","When set to `false` IntelliSense never shows `keyword` suggestions.")},text:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.text","When set to `false` IntelliSense never shows `text` suggestions.")},color:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.color","When set to `false` IntelliSense never shows `color` suggestions.")},file:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.file","When set to `false` IntelliSense never shows `file` suggestions.")},reference:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.reference","When set to `false` IntelliSense never shows `reference` suggestions.")},customcolor:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.customcolor","When set to `false` IntelliSense never shows `customcolor` suggestions.")},folder:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.folder","When set to `false` IntelliSense never shows `folder` suggestions.")},typeParameter:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.typeParameter","When set to `false` IntelliSense never shows `typeParameter` suggestions.")},snippet:{type:"boolean",default:!0,markdownDescription:o.a("suggest.filtered.snippet","When set to `false` IntelliSense never shows `snippet` suggestions.")}}},"editor.gotoLocation.multiple":{description:o.a("editor.gotoLocation.multiple","Controls the behavior of 'Go To' commands, like Go To Definition, when multiple target locations exist."),type:"string",enum:["peek","gotoAndPeek","goto"],default:g.contribInfo.gotoLocation.multiple,enumDescriptions:[o.a("editor.gotoLocation.multiple.peek","Show peek view of the results (default)"),o.a("editor.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a peek view"),o.a("editor.gotoLocation.multiple.goto","Go to the primary result and enable peek-less navigation to others")]},"editor.selectionHighlight":{type:"boolean",default:g.contribInfo.selectionHighlight,description:o.a("selectionHighlight","Controls whether the editor should highlight matches similar to the selection.")},"editor.occurrencesHighlight":{type:"boolean",default:g.contribInfo.occurrencesHighlight,description:o.a("occurrencesHighlight","Controls whether the editor should highlight semantic symbol occurrences.")},"editor.overviewRulerLanes":{type:"integer",default:3,description:o.a("overviewRulerLanes","Controls the number of decorations that can show up at the same position in the overview ruler.")},"editor.overviewRulerBorder":{type:"boolean",default:g.viewInfo.overviewRulerBorder,description:o.a("overviewRulerBorder","Controls whether a border should be drawn around the overview ruler.")},"editor.cursorBlinking":{type:"string",enum:["blink","smooth","phase","expand","solid"],default:l.h(g.viewInfo.cursorBlinking),description:o.a("cursorBlinking","Control the cursor animation style.")},"editor.mouseWheelZoom":{type:"boolean",default:g.viewInfo.mouseWheelZoom,markdownDescription:o.a("mouseWheelZoom","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")},"editor.cursorSmoothCaretAnimation":{type:"boolean",default:g.viewInfo.cursorSmoothCaretAnimation,description:o.a("cursorSmoothCaretAnimation","Controls whether the smooth caret animation should be enabled.")},"editor.cursorStyle":{type:"string",enum:["block","block-outline","line","line-thin","underline","underline-thin"],default:l.i(g.viewInfo.cursorStyle),description:o.a("cursorStyle","Controls the cursor style.")},"editor.cursorWidth":{type:"integer",default:g.viewInfo.cursorWidth,markdownDescription:o.a("cursorWidth","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")},"editor.fontLigatures":{type:"boolean",default:g.viewInfo.fontLigatures,description:o.a("fontLigatures","Enables/Disables font ligatures.")},"editor.hideCursorInOverviewRuler":{type:"boolean",default:g.viewInfo.hideCursorInOverviewRuler,description:o.a("hideCursorInOverviewRuler","Controls whether the cursor should be hidden in the overview ruler.")},"editor.renderWhitespace":{type:"string",enum:["none","boundary","selection","all"],enumDescriptions:["",o.a("renderWhitespace.boundary","Render whitespace characters except for single spaces between words."),o.a("renderWhitespace.selection","Render whitespace characters only on selected text."),""],default:g.viewInfo.renderWhitespace,description:o.a("renderWhitespace","Controls how the editor should render whitespace characters.")},"editor.renderControlCharacters":{type:"boolean",default:g.viewInfo.renderControlCharacters,description:o.a("renderControlCharacters","Controls whether the editor should render control characters.")},"editor.renderIndentGuides":{type:"boolean",default:g.viewInfo.renderIndentGuides,description:o.a("renderIndentGuides","Controls whether the editor should render indent guides.")},"editor.highlightActiveIndentGuide":{type:"boolean",default:g.viewInfo.highlightActiveIndentGuide,description:o.a("highlightActiveIndentGuide","Controls whether the editor should highlight the active indent guide.")},"editor.renderLineHighlight":{type:"string",enum:["none","gutter","line","all"],enumDescriptions:["","","",o.a("renderLineHighlight.all","Highlights both the gutter and the current line.")],default:g.viewInfo.renderLineHighlight,description:o.a("renderLineHighlight","Controls how the editor should render the current line highlight.")},"editor.codeLens":{type:"boolean",default:g.contribInfo.codeLens,description:o.a("codeLens","Controls whether the editor shows CodeLens.")},"editor.folding":{type:"boolean",default:g.contribInfo.folding,description:o.a("folding","Controls whether the editor has code folding enabled.")},"editor.foldingStrategy":{type:"string",enum:["auto","indentation"],default:g.contribInfo.foldingStrategy,markdownDescription:o.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:g.contribInfo.showFoldingControls,description:o.a("showFoldingControls","Controls whether the fold controls on the gutter are automatically hidden.")},"editor.matchBrackets":{type:"boolean",default:g.contribInfo.matchBrackets,description:o.a("matchBrackets","Highlight matching brackets when one of them is selected.")},"editor.glyphMargin":{type:"boolean",default:g.viewInfo.glyphMargin,description:o.a("glyphMargin","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")},"editor.useTabStops":{type:"boolean",default:g.useTabStops,description:o.a("useTabStops","Inserting and deleting whitespace follows tab stops.")},"editor.trimAutoWhitespace":{type:"boolean",default:_.trimAutoWhitespace,description:o.a("trimAutoWhitespace","Remove trailing auto inserted whitespace.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:o.a("stablePeek","Keep peek editors open even when double clicking their content or when hitting `Escape`.")},"editor.dragAndDrop":{type:"boolean",default:g.dragAndDrop,description:o.a("dragAndDrop","Controls whether the editor should allow moving selections via drag and drop.")},"editor.accessibilitySupport":{type:"string",enum:["auto","on","off"],enumDescriptions:[o.a("accessibilitySupport.auto","The editor will use platform APIs to detect when a Screen Reader is attached."),o.a("accessibilitySupport.on","The editor will be permanently optimized for usage with a Screen Reader."),o.a("accessibilitySupport.off","The editor will never be optimized for usage with a Screen Reader.")],default:g.accessibilitySupport,description:o.a("accessibilitySupport","Controls whether the editor should run in a mode where it is optimized for screen readers.")},"editor.showUnused":{type:"boolean",default:g.showUnused,description:o.a("showUnused","Controls fading out of unused code.")},"editor.links":{type:"boolean",default:g.contribInfo.links,description:o.a("links","Controls whether the editor should detect links and make them clickable.")},"editor.colorDecorators":{type:"boolean",default:g.contribInfo.colorDecorators,description:o.a("colorDecorators","Controls whether the editor should render the inline color decorators and color picker.")},"editor.lightbulb.enabled":{type:"boolean",default:g.contribInfo.lightbulbEnabled,description:o.a("codeActions","Enables the code action lightbulb in the editor.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:o.a("maxTokenizationLineLength","Lines above this length will not be tokenized for performance reasons")},"editor.codeActionsOnSave":{type:"object",properties:{"source.organizeImports":{type:"boolean",description:o.a("codeActionsOnSave.organizeImports","Controls whether organize imports action should be run on file save.")},"source.fixAll":{type:"boolean",description:o.a("codeActionsOnSave.fixAll","Controls whether auto fix action should be run on file save.")}},additionalProperties:{type:"boolean"},default:g.contribInfo.codeActionsOnSave,description:o.a("codeActionsOnSave","Code action kinds to be run on save.")},"editor.codeActionsOnSaveTimeout":{type:"number",default:g.contribInfo.codeActionsOnSaveTimeout,description:o.a("codeActionsOnSaveTimeout","Timeout in milliseconds after which the code actions that are run on save are cancelled.")},"editor.selectionClipboard":{type:"boolean",default:g.contribInfo.selectionClipboard,description:o.a("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:u.c},"diffEditor.renderSideBySide":{type:"boolean",default:!0,description:o.a("sideBySide","Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:!0,description:o.a("ignoreTrimWhitespace","Controls whether the diff editor shows changes in leading or trailing whitespace as diffs.")},"editor.largeFileOptimizations":{type:"boolean",default:_.largeFileOptimizations,description:o.a("largeFileOptimizations","Special handling for large files to disable certain memory intensive features.")},"diffEditor.renderIndicators":{type:"boolean",default:!0,description:o.a("renderIndicators","Controls whether the diff editor shows +/- indicators for added/removed changes.")}}},S=null;function L(){return null===S&&(S=Object.create(null),Object.keys(w.properties).forEach(function(e){S[e]=!0})),S}C.registerConfiguration(w)},UHZ4:function(e,t,n){"use strict";var i=n("lAcG"),o=n("Kp7x"),r=n("tqet"),s=n("ZfGv"),a=function(){function e(e,t){this.chr=e,this.type=t,this.width=0}return e.prototype.fulfill=function(e){this.width=e},e}(),u=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 n=document.createElement("div");n.style.fontFamily=this._bareFontInfo.getMassagedFontFamily(),n.style.fontWeight=this._bareFontInfo.fontWeight,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.getMassagedFontFamily(),i.style.fontWeight="bold",i.style.fontSize=this._bareFontInfo.fontSize+"px",i.style.lineHeight=this._bareFontInfo.lineHeight+"px",i.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",t.appendChild(i);var o=document.createElement("div");o.style.fontFamily=this._bareFontInfo.getMassagedFontFamily(),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",o.style.fontStyle="italic",t.appendChild(o);for(var r=[],s=0,a=this._requests.length;s.001){w=!1;break}}var N=!0;w&&b.width!==S&&(N=!1),b.width>y.width&&(N=!1);var x=i.b()>2e3;return new p.b({zoomLevel:i.c(),fontFamily:e.fontFamily,fontWeight:e.fontWeight,fontSize:e.fontSize,lineHeight:e.lineHeight,letterSpacing:e.letterSpacing,isMonospace:w,typicalHalfwidthCharacterWidth:o.width,typicalFullwidthCharacterWidth:r.width,canUseHalfwidthRightwardsArrow:N,spaceWidth:s.width,maxDigitWidth:C},x)},t.INSTANCE=new t,t}(r.a),_=function(e){function t(t,n,o,r){void 0===o&&(o=null);var s=e.call(this,t,n)||this;return s.accessibilityService=r,s._elementSizeObserver=s._register(new d(o,function(){return s._onReferenceDomElementSizeChanged()})),s._register(m.INSTANCE.onDidChange(function(){return s._onCSSBasedConfigurationChanged()})),s._validatedOptions.automaticLayout&&s._elementSizeObserver.startObserving(),s._register(i.o(function(e){return s._recomputeOptions()})),s._register(s.accessibilityService.onDidChangeAccessibilitySupport(function(){return s._recomputeOptions()})),s._recomputeOptions(),s}return f(t,e),t.applyFontInfoSlow=function(e,t){e.style.fontFamily=t.getMassagedFontFamily(),e.style.fontWeight=t.fontWeight,e.style.fontSize=t.fontSize+"px",e.style.lineHeight=t.lineHeight+"px",e.style.letterSpacing=t.letterSpacing+"px"},t.applyFontInfo=function(e,t){e.setFontFamily(t.getMassagedFontFamily()),e.setFontWeight(t.fontWeight),e.setFontSize(t.fontSize),e.setLineHeight(t.lineHeight),e.setLetterSpacing(t.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 i.l||i.n||(e+="no-user-select "),s.d&&(e+="mac "),e},t.prototype._getEnvConfiguration=function(){return{extraEditorClassName:this._getExtraEditorClassName(),outerWidth:this._elementSizeObserver.getWidth(),outerHeight:this._elementSizeObserver.getHeight(),emptySelectionClipboard:i.m||i.i,pixelRatio:i.a(),zoomLevel:i.c(),accessibilitySupport:this.accessibilityService.getAccessibilitySupport()}},t.prototype.readConfiguration=function(e){return m.INSTANCE.readConfiguration(e)},t}(h.a)},UMuV:function(e,t,n){"use strict";t.b=function(e,t){var n=new r.b(t);return n.preventDefault(),{leftButton:n.leftButton,posx:n.posx,posy:n.posy}},n.d(t,"a",function(){return a});var i=n("7/Cv"),o=n("Crnc"),r=n("b1X/"),s=n("tqet");var a=function(){function e(){this.hooks=new s.b,this.mouseMoveEventMerger=null,this.mouseMoveCallback=null,this.onStopCallback=null}return e.prototype.dispose=function(){this.stopMonitoring(!1),this.hooks.dispose()},e.prototype.stopMonitoring=function(e){if(this.isMonitoring()){this.hooks.clear(),this.mouseMoveEventMerger=null,this.mouseMoveCallback=null;var t=this.onStopCallback;this.onStopCallback=null,e&&t&&t()}},e.prototype.isMonitoring=function(){return!!this.mouseMoveEventMerger},e.prototype.startMonitoring=function(e,t,n){var s=this;if(!this.isMonitoring()){this.mouseMoveEventMerger=e,this.mouseMoveCallback=t,this.onStopCallback=n;for(var a=o.a.getSameOriginWindowChain(),u=0,l=a;u-1;);return n}},Uf3U:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var i,o=n("7/Cv"),r=n("gzF+"),s=n("b1X/"),a=n("tqet"),u=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return u(t,e),t.prototype.onclick=function(e,t){this._register(o.h(e,o.d.CLICK,function(e){return t(new s.b(e))}))},t.prototype.onmousedown=function(e,t){this._register(o.h(e,o.d.MOUSE_DOWN,function(e){return t(new s.b(e))}))},t.prototype.onmouseover=function(e,t){this._register(o.h(e,o.d.MOUSE_OVER,function(e){return t(new s.b(e))}))},t.prototype.onnonbubblingmouseout=function(e,t){this._register(o.i(e,function(e){return t(new s.b(e))}))},t.prototype.onkeydown=function(e,t){this._register(o.h(e,o.d.KEY_DOWN,function(e){return t(new r.a(e))}))},t.prototype.onkeyup=function(e,t){this._register(o.h(e,o.d.KEY_UP,function(e){return t(new r.a(e))}))},t.prototype.oninput=function(e,t){this._register(o.h(e,o.d.INPUT,t))},t.prototype.onblur=function(e,t){this._register(o.h(e,o.d.BLUR,t))},t.prototype.onfocus=function(e,t){this._register(o.h(e,o.d.FOCUS,t))},t.prototype.onchange=function(e,t){this._register(o.h(e,o.d.CHANGE,t))},t}(a.a)},UnEC:function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},UqCF:function(e,t,n){"use strict";t.b=function(e){(i=document.createElement("div")).className="monaco-aria-container",(o=document.createElement("div")).className="monaco-alert",o.setAttribute("role","alert"),o.setAttribute("aria-atomic","true"),i.appendChild(o),(r=document.createElement("div")).className="monaco-status",r.setAttribute("role","status"),r.setAttribute("aria-atomic","true"),i.appendChild(r),e.appendChild(i)},t.a=c,t.c=function(e,t){u.d?c(e,t):p(r,e,t)};var i,o,r,s=n("KL86"),a=(n.n(s),n("hK2W")),u=n("ZfGv"),l=n("7/Cv");function c(e,t){p(o,e,t)}var d=0,h=void 0;function p(e,t,n){if(i){if(!n)switch(h===t?d++:(h=t,d=0),d){case 0:break;case 1:t=a.a("repeated","{0} (occurred again)",t);break;default:t=a.a("repeatedNtimes","{0} (occurred {1} times)",t,d)}l.p(e),e.textContent=t,e.style.visibility="hidden",e.style.visibility="visible"}}},UuCV:function(e,t,n){"use strict";var i=n("zxiH"),o=n("aL7J"),r=n("Ao9X"),s=n("ll3Y"),a=n("vTy2"),u=n("iHM7"),l=function(){function e(e,t,n){this._range=e,this._charBeforeSelection=t,this._charAfterSelection=n}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(new a.a(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),t.addTrackedEditOperation(new a.a(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations(),i=n[0].range,o=n[1].range;return new u.a(i.endLineNumber,i.endColumn,o.endLineNumber,o.endColumn-this._charAfterSelection.length)},e}(),c=n("6boo"),d=n("BwcV"),h=n("+oh4"),p=n("Fllr");n.d(t,"a",function(){return m}),n.d(t,"b",function(){return _});var f,g=this&&this.__extends||(f=function(e,t){return(f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}f(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),m=function(){function e(){}return e.indent=function(e,t,n){if(null===t||null===n)return[];for(var i=[],o=0,r=n.length;o1){var l=void 0;for(l=i-1;l>=1;l--){var c=n.getLineContent(l);if(o.A(c)>=0)break}if(l<1)return null;var d=n.getLineMaxColumn(l),f=p.a.getEnterAction(n,new a.a(l,d,l,d));f&&(s=f.indentation,(r=f.enterAction)&&(s+=r.appendText))}return r&&(r===h.a.Indent&&(s=e.shiftIndent(t,s)),r===h.a.Outdent&&(s=e.unshiftIndent(t,s)),s=t.normalizeIndentation(s)),s||null},e._replaceJumpToNextIndent=function(e,t,n,i){var o="",s=n.getStartPosition();if(e.insertSpaces)for(var a=c.a.visibleColumnFromColumn2(e,t,s),u=e.indentSize,l=u-a%u,d=0;d=0?s.setEndPosition(s.endLineNumber,Math.max(s.endColumn,I+1)):s.setEndPosition(s.endLineNumber,n.getLineMaxColumn(s.endLineNumber)),i)return new r.d(s,N+t.normalizeIndentation(w.afterEnter),!0);var D=0;return E<=I+1&&(t.insertSpaces||(O=Math.ceil(O/t.indentSize)),D=Math.min(O+1-t.normalizeIndentation(w.afterEnter).length-1,0)),new r.c(s,N+t.normalizeIndentation(w.afterEnter),0,D,!0)}return e._typeCommand(s,"\n"+t.normalizeIndentation(L),i)},e._isAutoIndentType=function(e,t,n){if(!e.autoIndent)return!1;for(var i=0,o=n.length;ir.open.length){for(var c=!0,d=0,h=n;d_.column-1){var y=v.charAt(_.column-1);if(!e._isBeforeClosingBrace(t,l,y)&&!h(y))return null}if(!n.isCheapToTokenize(_.lineNumber))return null;if(1===l.open.length&&a&&"always"!==u){var b=Object(d.a)(t.wordSeparators);if(s&&_.column>1&&0===b.get(v.charCodeAt(_.column-2)))return null;if(!s&&_.column>2&&0===b.get(v.charCodeAt(_.column-3)))return null}n.forceTokenization(_.lineNumber);var C=n.getLineTokens(_.lineNumber),w=!1;try{w=p.a.shouldAutoClosePair(l,C,s?_.column:_.column-1)}catch(e){Object(i.e)(e)}if(!w)return null}return l},e._runAutoClosingOpenCharType=function(e,t,n,i,o,r,s){for(var a=[],u=0,l=i.length;u ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:m,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading| {0,3}>|<\/?(?:tag)(?: +|\n|\/?>)|<(?:script|pre|style|!--))[^\n]+)*)/,text:/^[^\n]+/};function n(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||C.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{1,9}\.)/,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=//,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=_({},t),t.gfm=_({},t.normal,{fences:/^ {0,3}(`{3,}|~{3,})([^`\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\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=_({},t.gfm,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),t.pedantic=_({},t.normal,{html:h("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\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:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/}),n.rules=t,n.lex=function(e,t){return new n(t).lex(e)},n.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)},n.prototype.token=function(e,n){var i,o,r,s,a,u,l,c,d,h,p,f,g,m,_,b;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]?r[2].trim():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((r=this.rules.nptable.exec(e))&&(u={type:"table",header:v(r[1].replace(/^ *| *\| *$/g,"")),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3]?r[3].replace(/\n$/,"").split("\n"):[]}).header.length===u.align.length){for(e=e.substring(r[0].length),p=0;p ?/gm,""),this.token(r,n),this.tokens.push({type:"blockquote_end"});else if(r=this.rules.list.exec(e)){for(e=e.substring(r[0].length),l={type:"list_start",ordered:m=(s=r[2]).length>1,start:m?+s:"",loose:!1},this.tokens.push(l),c=[],i=!1,g=(r=r[0].match(this.rules.item)).length,p=0;p1?1===a.length:a.length>1||this.options.smartLists&&a!==s)&&(e=r.slice(p+1).join("\n")+e,p=g-1)),o=i||/\n\n(?!\s*$)/.test(u),p!==g-1&&(i="\n"===u.charAt(u.length-1),o||(o=i)),o&&(l.loose=!0),b=void 0,(_=/^\[[ xX]\] /.test(u))&&(b=" "!==u[1],u=u.replace(/^\[[ xX]\] +/,"")),d={type:"list_item_start",task:_,checked:b,loose:o},c.push(d),this.tokens.push(d),this.token(u,!1),this.tokens.push({type:"list_item_end"});if(l.loose)for(g=c.length,p=0;p?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:m,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\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_])_(?!_|[^\spunctuation])|^_([^\s_][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s"<\[][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:m,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~",o.em=h(o.em).replace(/punctuation/g,o._punctuation).getRegex(),o._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,o._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,o._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])?)+(?![-_])/,o.autolink=h(o.autolink).replace("scheme",o._scheme).replace("email",o._email).getRegex(),o._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,o.tag=h(o.tag).replace("comment",t._comment).replace("attribute",o._attribute).getRegex(),o._label=/(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|`(?!`)|[^\[\]\\`])*?/,o._href=/\s*(<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*)/,o._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,o.link=h(o.link).replace("label",o._label).replace("href",o._href).replace("title",o._title).getRegex(),o.reflink=h(o.reflink).replace("label",o._label).getRegex(),o.normal=_({},o),o.pedantic=_({},o.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:h(/^!?\[(label)\]\((.*?)\)/).replace("label",o._label).getRegex(),reflink:h(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",o._label).getRegex()}),o.gfm=_({},o.normal,{escape:h(o.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\/i.test(s[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(s[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(s[0])&&(this.inRawBlock=!1),e=e.substring(s[0].length),u+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(s[0]):c(s[0]):s[0];else if(s=this.rules.link.exec(e)){var l=b(s[2],"()");if(l>-1){var d=s[0].length-(s[2].length-l)-(s[3]||"").length;s[2]=s[2].substring(0,l),s[0]=s[0].substring(0,d).trim(),s[3]=""}e=e.substring(s[0].length),this.inLink=!0,i=s[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i))?(i=t[1],o=t[3]):o="":o=s[3]?s[3].slice(1,-1):"",i=i.trim().replace(/^<([\s\S]*)>$/,"$1"),u+=this.outputLink(s,{href:r.escapes(i),title:r.escapes(o)}),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){u+=s[0].charAt(0),e=s[0].substring(1)+e;continue}this.inLink=!0,u+=this.outputLink(s,t),this.inLink=!1}else if(s=this.rules.strong.exec(e))e=e.substring(s[0].length),u+=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),u+=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),u+=this.renderer.codespan(c(s[2].trim(),!0));else if(s=this.rules.br.exec(e))e=e.substring(s[0].length),u+=this.renderer.br();else if(s=this.rules.del.exec(e))e=e.substring(s[0].length),u+=this.renderer.del(this.output(s[1]));else if(s=this.rules.autolink.exec(e))e=e.substring(s[0].length),i="@"===s[2]?"mailto:"+(n=c(this.mangle(s[1]))):n=c(s[1]),u+=this.renderer.link(i,null,n);else if(this.inLink||!(s=this.rules.url.exec(e))){if(s=this.rules.text.exec(e))e=e.substring(s[0].length),this.inRawBlock?u+=this.renderer.text(s[0]):u+=this.renderer.text(c(this.smartypants(s[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===s[2])i="mailto:"+(n=c(s[0]));else{do{a=s[0],s[0]=this.rules._backpedal.exec(s[0])[0]}while(a!==s[0]);n=c(s[0]),i="www."===s[1]?"http://"+n:n}e=e.substring(s[0].length),u+=this.renderer.link(i,null,n)}return u},r.escapes=function(e){return e?e.replace(r.rules._escapes,"$1"):e},r.prototype.outputLink=function(e,t){var n=t.href,i=t.title?c(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,i,this.output(e[1])):this.renderer.image(n,i,c(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,n="",i=e.length,o=0;o.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},s.prototype.code=function(e,t,n){var i=(t||"").match(/\S*/)[0];if(this.options.highlight){var o=this.options.highlight(e,i);null!=o&&o!==e&&(n=!0,e=o)}return i?'
    '+(n?e:c(e,!0))+"
    \n":"
    "+(n?e:c(e,!0))+"
    "},s.prototype.blockquote=function(e){return"
    \n"+e+"
    \n"},s.prototype.html=function(e){return e},s.prototype.heading=function(e,t,n,i){return this.options.headerIds?"'+e+"\n":""+e+"\n"},s.prototype.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},s.prototype.list=function(e,t,n){var i=t?"ol":"ul";return"<"+i+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},s.prototype.listitem=function(e){return"
  5. "+e+"
  6. \n"},s.prototype.checkbox=function(e){return" "},s.prototype.paragraph=function(e){return"

    "+e+"

    \n"},s.prototype.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},s.prototype.tablerow=function(e){return"\n"+e+"\n"},s.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},s.prototype.strong=function(e){return""+e+""},s.prototype.em=function(e){return""+e+""},s.prototype.codespan=function(e){return""+e+""},s.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},s.prototype.del=function(e){return""+e+""},s.prototype.link=function(e,t,n){if(null===(e=p(this.options.sanitize,this.options.baseUrl,e)))return n;var i='"},s.prototype.image=function(e,t,n){if(null===(e=p(this.options.sanitize,this.options.baseUrl,e)))return n;var i=''+n+'":">"},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,n){return""+n},a.prototype.br=function(){return""},u.parse=function(e,t){return new u(t).parse(e)},u.prototype.parse=function(e){this.inline=new r(e.links,this.options),this.inlineText=new r(e.links,_({},this.options,{renderer:new a})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},u.prototype.next=function(){return this.token=this.tokens.pop()},u.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},u.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},u.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,d(this.inlineText.output(this.token.text)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,i,o="",r="";for(n="",e=0;e?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){var n=t;do{this.seen[n]++,t=n+"-"+this.seen[n]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t},c.escapeTest=/[&<>"']/,c.escapeReplace=/[&<>"']/g,c.replacements={"&":"&","<":"<",">":">",'"':""","'":"'"},c.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,c.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var f={},g=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function m(){}function _(e){for(var t,n,i=1;i=0&&"\\"===n[o];)i=!i;return i?"|":" |"}).split(/ \|/),i=0;if(n.length>t)n.splice(t);else for(;n.lengthAn error occurred:

    "+c(e.message+"",!0)+"
    ";throw e}}m.exec=m,C.options=C.setOptions=function(e){return _(C.defaults,e),C},C.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}},C.defaults=C.getDefaults(),C.Parser=u,C.parser=u.parse,C.Renderer=s,C.TextRenderer=a,C.Lexer=n,C.lexer=n.lex,C.InlineLexer=r,C.inlineLexer=r.output,C.Slugger=l,C.parse=C,i=C}).call(this);i.Parser,i.parser;var l,c=i.Renderer,d=(i.TextRenderer,i.Lexer,i.lexer,i.InlineLexer,i.inlineLexer,i.parse);let h;!function(){return function e(t,n,i){function o(s,a){if(!n[s]){if(!t[s]){if(!a&&"function"==typeof l&&l)return l(s,!0);if(r)return r(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[s]={exports:{}};t[s][0].call(c.exports,function(e){return o(t[s][1][e]||e)},c,c.exports,e,t,n,i)}return n[s].exports}for(var r="function"==typeof l&&l,s=0;s\s]+))?)*)\s*(\/?)\s*>/,a=/^<\s*\/\s*([\w:-]+)[^>]*>/,u=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,l=/^=0&&(t.comment&&t.comment(e.substring(4,i)),e=e.substring(i+3),n=!1):c.test(e)?f(a,m):l.test(e)&&f(s,g),function(){if(n){var i,o=e.indexOf("<");o>=0?(i=e.substring(0,o),e=e.substring(o)):(i=e,e=""),t.chars&&t.chars(i)}}();var o=e===h;h=e,o&&(e="")}function f(t,i){var o=e.match(t);o&&(e=e.substring(o[0].length),o[0].replace(t,i),n=!1)}function g(e,n,s,a){var l={},c=o(n),h=r.voids[c]||!!a;s.replace(u,function(e,t,n,o,r){l[t]=void 0===n&&void 0===o&&void 0===r?void 0:i.decode(n||o||r||"")}),h||d.push(c),t.start&&t.start(c,l,h)}function m(e,n){var i,r=0,s=o(n);if(s)for(r=d.length-1;r>=0&&d[r]!==s;r--);if(r>=0){for(i=d.length-1;i>=r;i--)t.end&&t.end(d[i]);d.length=r}}m()}},{"./attributes":1,"./elements":3,"./lowercase":5,he:9}],8:[function(e,t,n){var i=e("he"),o=e("./lowercase"),r=e("./attributes"),s=e("./elements");t.exports=function(e,t){var n,a=t||{};return d(),{start:function(e,t,s){var c=o(e);n.ignoring?l(c):-1!==(a.allowedTags||[]).indexOf(c)&&(!a.filter||a.filter({tag:c,attrs:t}))?(u("<"),u(c),Object.keys(t).forEach(function(e){var n,s=t[e],l=(a.allowedClasses||{})[c]||[],d=(a.allowedAttributes||{})[c]||[];d=d.concat((a.allowedAttributes||{})["*"]||[]);var h=o(e);"class"===h&&-1===d.indexOf(h)?(s=s.split(" ").filter(function(e){return l&&-1!==l.indexOf(e)}).join(" ").trim(),n=s.length):n=-1!==d.indexOf(h)&&(!0!==r.uris[h]||function(e){var t=e[0];if("#"===t||"/"===t)return!0;var n=e.indexOf(":");if(-1===n)return!0;var i=e.indexOf("?");if(-1!==i&&n>i)return!0;var o=e.indexOf("#");return-1!==o&&n>o||a.allowedSchemes.some(function(t){return 0===e.indexOf(t+":")})}(s)),n&&(u(" "),u(e),"string"==typeof s&&(u('="'),u(i.encode(s)),u('"')))}),u(s?"/>":">")):l(c)},end:function(e){var t=o(e);-1!==(a.allowedTags||[]).indexOf(t)&&!1===n.ignoring?(u("")):c(t)},chars:function(e){!1===n.ignoring&&u(a.transformText?a.transformText(e):e)}};function u(t){e.push(t)}function l(e){s.voids[e]||(!1===n.ignoring?n={ignoring:e,depth:1}:n.ignoring===e&&n.depth++)}function c(e){n.ignoring===e&&--n.depth<=0&&d()}function d(){n={ignoring:!1,depth:0}}}},{"./attributes":1,"./elements":3,"./lowercase":5,he:9}],9:[function(e,t,n){var i={"&":"&","<":"<",">":">",'"':""","'":"'"},o={"&":"&","<":"<",">":">",""":'"',"'":"'"},r=/(&|<|>|"|')/g,s=/[&<>"']/g;function a(e){return i[e]}function u(e){return o[e]}function l(e){return null==e?"":String(e).replace(s,a)}function c(e){return null==e?"":String(e).replace(r,u)}l.options=c.options={},t.exports={encode:l,escape:l,decode:c,unescape:c,version:"1.0.0-browser"}},{}],10:[function(e,t,n){function i(e,t){return e[t]=!0,e}t.exports=function(e){return e.reduce(i,{})}},{}]},{},[4]);var p=h,f=n("+vUW"),g=n("TU7t"),m=n("aL7J"),_=n("mrx5");function v(e,t){void 0===t&&(t={});var n,i=Object(r.a)(t),l=function(t,n){var i=e.uris&&e.uris[t];if(!i)return t;var r=_.a.revive(i);return n&&(r=o.o(r)),r.query&&(r=r.with({query:function(t){var n;try{n=Object(f.a)(decodeURIComponent(t))}catch(e){}return n?(n=Object(g.b)(n,function(t){return e.uris&&e.uris[t]?_.a.revive(e.uris[t]):void 0}),encodeURIComponent(JSON.stringify(n))):t}(r.query)})),i&&(t=r.toString(!0)),t},h=new Promise(function(e){return n=e}),v=new c;v.image=function(e,t,n){var i,o=[],r=[];return e&&(e=(i=Object(a.d)(e)).href,o=i.dimensions,e=l(e,!0),r.push('src="'+e+'"')),n&&r.push('alt="'+n+'"'),t&&r.push('title="'+t+'"'),o.length&&(r=r.concat(o)),""},v.link=function(t,n,i){return t===i&&(i=Object(a.e)(i)),t=l(t,!1),n=Object(a.e)(n),!(t=Object(a.e)(t))||t.match(/^data:|javascript:/i)||t.match(/^command:/i)&&!e.isTrusted||t.match(/^command:(\/\/\/)?_workbench\.downloadResource/i)?i:'
    /g,">").replace(/"/g,""").replace(/'/g,"'"))+'" title="'+(n||t)+'">'+i+""},v.paragraph=function(e){return"

    "+e+"

    "},t.codeBlockRenderer&&(v.code=function(e,n){var o=t.codeBlockRenderer(n,e),r=u.b.nextId(),s=Promise.all([o,h]).then(function(e){var t=e[0],n=i.querySelector('div[data-code="'+r+'"]');n&&(n.innerHTML=t)}).catch(function(e){});return t.codeBlockRenderCallback&&s.then(t.codeBlockRenderCallback),'
    '+Object(m.o)(e)+"
    "});var y=t.actionHandler;y&&y.disposeables.add(o.k(i,"click",function(e){var t=e.target;if("A"===t.tagName||(t=t.parentElement)&&"A"===t.tagName)try{var n=t.dataset.href;n&&y.callback(n,e)}catch(e){Object(s.e)(e)}finally{e.preventDefault()}}));var b={sanitize:!0,renderer:v},C=["http","https","mailto","data"];e.isTrusted&&C.push("command");var w=d(e.value,b);return i.innerHTML=p(w,{allowedSchemes:C,allowedAttributes:{a:["href","name","target","data-href"],iframe:["allowfullscreen","frameborder","src"],img:["src","title","alt","width","height"],div:["class","data-code"]}}),n(),i}var y=n("GsV8"),b=n("6TMp"),C=n("Skdw"),w=n("JVO/"),S=n("Kp7x"),L=n("tqet"),O=n("PCC9");n.d(t,"a",function(){return D});var E,N=this&&this.__extends||(E=function(e,t){return(E=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}E(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),x=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},I=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},D=function(e){function t(t,n,i){void 0===i&&(i=y.b);var o=e.call(this)||this;return o._editor=t,o._modeService=n,o._openerService=i,o._onDidRenderCodeBlock=o._register(new S.a),o.onDidRenderCodeBlock=o._onDidRenderCodeBlock.event,o}return N(t,e),t.prototype.getOptions=function(e){var t=this;return{codeBlockRenderer:function(e,n){var i=null;if(e)i=t._modeService.getModeIdForLanguageName(e);else{var o=t._editor.getModel();o&&(i=o.getLanguageIdentifier().language)}return t._modeService.triggerMode(i||""),Promise.resolve(!0).then(function(e){var t=O.y.getPromise(i||"");return t?t.then(function(e){return Object(C.b)(n,e)}):Object(C.b)(n,void 0)}).then(function(e){return''+e+""})},codeBlockRenderCallback:function(){return t._onDidRenderCodeBlock.fire()},actionHandler:{callback:function(e){var n;try{n=_.a.parse(e)}catch(e){}n&&t._openerService&&t._openerService.open(n).catch(s.e)},disposeables:e}}},t.prototype.render=function(e){var t=new L.b;return{element:e?v(e,this.getOptions(t)):document.createElement("span"),dispose:function(){return t.dispose()}}},t=x([I(1,b.a),I(2,Object(w.d)(y.a))],t)}(L.a)},VQvH:function(e,t,n){"use strict";t.__esModule=!0;var i=r(n("gdof")),o=r(n("7PNz"));function r(e){return e&&e.__esModule?e:{default:e}}var s=["A","ACCESSIBLE","AGENT","AGGREGATE","ALL","ALTER","ANY","ARRAY","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BETWEEN","BFILE_BASE","BINARY_INTEGER","BINARY","BLOB_BASE","BLOCK","BODY","BOOLEAN","BOTH","BOUND","BULK","BY","BYTE","C","CALL","CALLING","CASCADE","CASE","CHAR_BASE","CHAR","CHARACTER","CHARSET","CHARSETFORM","CHARSETID","CHECK","CLOB_BASE","CLONE","CLOSE","CLUSTER","CLUSTERS","COALESCE","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONTINUE","CONVERT","COUNT","CRASH","CREATE","CREDENTIAL","CURRENT","CURRVAL","CURSOR","CUSTOMDATUM","DANGLING","DATA","DATE_BASE","DATE","DAY","DECIMAL","DEFAULT","DEFINE","DELETE","DESC","DETERMINISTIC","DIRECTORY","DISTINCT","DO","DOUBLE","DROP","DURATION","ELEMENT","ELSIF","EMPTY","ESCAPE","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTENDS","EXTERNAL","EXTRACT","FALSE","FETCH","FINAL","FIRST","FIXED","FLOAT","FOR","FORALL","FORCE","FROM","FUNCTION","GENERAL","GOTO","GRANT","GROUP","HASH","HEAP","HIDDEN","HOUR","IDENTIFIED","IF","IMMEDIATE","IN","INCLUDING","INDEX","INDEXES","INDICATOR","INDICES","INFINITE","INSTANTIABLE","INT","INTEGER","INTERFACE","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMITED","LOCAL","LOCK","LONG","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUS","MINUTE","MLSLABEL","MOD","MODE","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NATURAL","NATURALN","NCHAR","NEW","NEXTVAL","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","NULLIF","NUMBER_BASE","NUMBER","OBJECT","OCICOLL","OCIDATE","OCIDATETIME","OCIDURATION","OCIINTERVAL","OCILOBLOCATOR","OCINUMBER","OCIRAW","OCIREF","OCIREFCURSOR","OCIROWID","OCISTRING","OCITYPE","OF","OLD","ON","ONLY","OPAQUE","OPEN","OPERATOR","OPTION","ORACLE","ORADATA","ORDER","ORGANIZATION","ORLANY","ORLVARY","OTHERS","OUT","OVERLAPS","OVERRIDING","PACKAGE","PARALLEL_ENABLE","PARAMETER","PARAMETERS","PARENT","PARTITION","PASCAL","PCTFREE","PIPE","PIPELINED","PLS_INTEGER","PLUGGABLE","POSITIVE","POSITIVEN","PRAGMA","PRECISION","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","RAW","READ","REAL","RECORD","REF","REFERENCE","RELEASE","RELIES_ON","REM","REMAINDER","RENAME","RESOURCE","RESULT_CACHE","RESULT","RETURN","RETURNING","REVERSE","REVOKE","ROLLBACK","ROW","ROWID","ROWNUM","ROWTYPE","SAMPLE","SAVE","SAVEPOINT","SB1","SB2","SB4","SECOND","SEGMENT","SELF","SEPARATE","SEQUENCE","SERIALIZABLE","SHARE","SHORT","SIZE_T","SIZE","SMALLINT","SOME","SPACE","SPARSE","SQL","SQLCODE","SQLDATA","SQLERRM","SQLNAME","SQLSTATE","STANDARD","START","STATIC","STDDEV","STORED","STRING","STRUCT","STYLE","SUBMULTISET","SUBPARTITION","SUBSTITUTABLE","SUBTYPE","SUCCESSFUL","SUM","SYNONYM","SYSDATE","TABAUTH","TABLE","TDO","THE","THEN","TIME","TIMESTAMP","TIMEZONE_ABBR","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIMEZONE_REGION","TO","TRAILING","TRANSACTION","TRANSACTIONAL","TRIGGER","TRUE","TRUSTED","TYPE","UB1","UB2","UB4","UID","UNDER","UNIQUE","UNPLUG","UNSIGNED","UNTRUSTED","USE","USER","USING","VALIDATE","VALIST","VALUE","VARCHAR","VARCHAR2","VARIABLE","VARIANCE","VARRAY","VARYING","VIEW","VIEWS","VOID","WHENEVER","WHILE","WITH","WORK","WRAPPED","WRITE","YEAR","ZONE"],a=["ADD","ALTER COLUMN","ALTER TABLE","BEGIN","CONNECT BY","DECLARE","DELETE FROM","DELETE","END","EXCEPT","EXCEPTION","FETCH FIRST","FROM","GROUP BY","HAVING","INSERT INTO","INSERT","INTERSECT","LIMIT","LOOP","MODIFY","ORDER BY","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","START WITH","UNION ALL","UNION","UPDATE","VALUES","WHERE"],u=["AND","CROSS APPLY","CROSS JOIN","ELSE","END","INNER JOIN","JOIN","LEFT JOIN","LEFT OUTER JOIN","OR","OUTER APPLY","OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","WHEN","XOR"],l=void 0,c=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.cfg=t}return e.prototype.format=function(e){return l||(l=new o.default({reservedWords:s,reservedToplevelWords:a,reservedNewlineWords:u,stringTypes:['""',"N''","''","``"],openParens:["(","CASE"],closeParens:[")","END"],indexedPlaceholderTypes:["?"],namedPlaceholderTypes:[":"],lineCommentTypes:["--"],specialWordChars:["_","$","#",".","@"]})),new i.default(this.cfg,l).format(e)},e}();t.default=c,e.exports=t.default},"Vcj/":function(e,t){},VvfH:function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"b",function(){return o}),n.d(t,"c",function(){return r});var i={RESOURCES:"ResourceURLs",DOWNLOAD_URL:"DownloadURL",FILES:"Files",TEXT:"text/plain"},o=function(){function e(e){this.data=e}return e.prototype.update=function(){},e.prototype.getData=function(){return this.data},e}(),r={CurrentDragAndDropData:void 0}},W529:function(e,t,n){var i=n("f931")(Object.keys,Object);e.exports=i},WHgm:function(e,t){},WLse:function(e,t){},WTFd:function(e,t,n){"use strict";t.e=function(e){var t=[];return e.forEach(function(e){return t.push(e)}),t},t.d=function(e){var t=[];return e.forEach(function(e,n){return t.push(n)}),t},n.d(t,"c",function(){return u}),n.d(t,"b",function(){return l}),n.d(t,"a",function(){return c});var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});var r=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._pos0)n.left||(n.left=new a,n.left.segment=i.value()),n=n.left;else if(o<0)n.right||(n.right=new a,n.right.segment=i.value()),n=n.right;else{if(!i.hasNext())break;i.next(),n.mid||(n.mid=new a,n.mid.segment=i.value()),n=n.mid}}var r=n.value;return n.value=t,n.key=e,r},e.prototype.get=function(e){for(var t=this._iter.reset(e),n=this._root;n;){var i=t.cmp(n.segment);if(i>0)n=n.left;else if(i<0)n=n.right;else{if(!t.hasNext())break;t.next(),n=n.mid}}return n?n.value:void 0},e.prototype.findSubstr=function(e){for(var t=this._iter.reset(e),n=this._root,i=void 0;n;){var o=t.cmp(n.segment);if(o>0)n=n.left;else if(o<0)n=n.right;else{if(!t.hasNext())break;t.next(),i=n.value||i,n=n.mid}}return n&&n.value||i},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}(),l=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}(),c=function(e){function t(t,n){void 0===n&&(n=1);var i=e.call(this)||this;return i._limit=t,i._ratio=Math.min(Math.max(0,n),1),i}return o(t,e),t.prototype.get=function(t){return e.prototype.get.call(this,t,2)},t.prototype.peek=function(t){return e.prototype.get.call(this,t,0)},t.prototype.set=function(t,n){e.prototype.set.call(this,t,n,2),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=0);var n=this._map.get(e);if(n)return 0!==t&&this.touch(n,t),n.value},e.prototype.set=function(e,t,n){void 0===n&&(n=0);var i=this._map.get(e);if(i)i.value=t,0!==n&&this.touch(i,n);else{switch(i={key:e,value:t,next:void 0,previous:void 0},n){case 0:this.addItemLast(i);break;case 1:this.addItemFirst(i);break;case 2:default:this.addItemLast(i)}this._map.set(e,i),this._size++}},e.prototype.delete=function(e){return!!this.remove(e)},e.prototype.remove=function(e){var t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value},e.prototype.forEach=function(e,t){for(var n=this._head;n;)t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),n=n.next},e.prototype.trimOld=function(e){if(!(e>=this.size))if(0!==e){for(var t=this._head,n=this.size;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(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.removeItem=function(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{var t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0},e.prototype.touch=function(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(1===t||2===t)if(1===t){if(e===this._head)return;var n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e}else if(2===t){if(e===this._tail)return;n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),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,n){e.push([n,t])}),e},e}())},WUwp:function(e,t){},WZeM:function(e,t,n){"use strict";n.d(t,"a",function(){return o}),t.b=function(e){return new o(e)};var i=n("7/Cv"),o=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){i.R(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}()},Wh6c:function(e,t,n){var i=n("M1c9");e.exports=function(e,t,n){var o=e.length;return n=void 0===n?o:n,!t&&n>=o?e:i(e,t,n)}},X6iQ:function(e,t,n){"use strict";function i(e,t){return function e(t,n,i,o,r){if(o<=i)return;var s=i+(o-i)/2|0;e(t,n,i,s,r);e(t,n,s+1,o,r);if(n(t[s],t[s+1])<=0)return;!function(e,t,n,i,o,r){for(var s=n,a=i+1,u=n;u<=o;u++)r[u]=e[u];for(var u=n;u<=o;u++)s>i?e[u]=r[a++]:a>o?e[u]=r[s++]:t(r[a],r[s])<0?e[u]=r[a++]:e[u]=r[s++]}(t,n,i,s,o,r)}(e,t,0,e.length-1,[]),e}function o(e,t){for(var n=0;n0))return r;o=r-1}}return-(i+1)},t.h=function(e,t){var n=0,i=e.length;if(0===i)return 0;for(;n0},t.e=function(e,t){if(!t)return e.filter(function(t,n){return e.indexOf(t)===n});var n=Object.create(null);return e.filter(function(e){var i=t(e);return!n[i]&&(n[i]=!0,!0)})},t.f=function(e){var t=new Set;return e.filter(function(e){return!t.has(e)&&(t.add(e),!0)})},t.j=o,t.i=function(e,t,n){void 0===n&&(n=void 0);var i=o(e,t);return i<0?n:e[i]},t.k=function(e){var t;return(t=[]).concat.apply(t,e)},t.r=function(e,t){var n="number"==typeof t?e:0;"number"==typeof t?n=e:(n=0,t=e);var i=[];if(n<=t)for(var o=n;ot;o--)i.push(o);return i},t.a=function(e,t,n){var i=e.slice(0,t),o=e.slice(t);return i.concat(n,o)},t.q=function(e,t){var n=e.indexOf(t);n>-1&&(e.splice(n,1),e.unshift(t))},t.p=function(e,t){var n=e.indexOf(t);n>-1&&(e.splice(n,1),e.push(t))},t.b=function(e){return Array.isArray(e)?e:[e]}},XTA7:function(e,t){},Y6WZ:function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return s});var i=n("CQAd"),o=function(){return 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(i.b)(e);var n=this.values,o=this.prefixSum,r=t.length;return 0!==r&&(this.values=new Uint32Array(n.length+r),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+r),this.values.set(t,e),e-1=0&&this.prefixSum.set(o.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.changeValue=function(e,t){return e=Object(i.b)(e),t=Object(i.b)(t),this.values[e]!==t&&(this.values[e]=t,e-1=n.length)return!1;var r=n.length-e;return t>=r&&(t=r),0!==t&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(o.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(i.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 n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];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=0,n=this.values.length-1,i=0,r=0,s=0;t<=n;)if(i=t+(n-t)/2|0,e<(s=(r=this.prefixSum[i])-this.values[i]))n=i-1;else{if(!(e>=r))break;t=i+1}return new o(i,e-s)},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&&t0||this.m_modifiedCount>0)&&this.m_changes.push(new i(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,n){void 0===n&&(n=null),this.OriginalSequence=e,this.ModifiedSequence=t,this.ContinueProcessingPredicate=n,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,n,i,o){var r=this.ComputeDiffRecursive(e,t,n,i,[!1]);return o?this.PrettifyChanges(r):r},e.prototype.ComputeDiffRecursive=function(e,t,n,o,s){for(s[0]=!1;e<=t&&n<=o&&this.ElementsAreEqual(e,n);)e++,n++;for(;t>=e&&o>=n&&this.ElementsAreEqual(t,o);)t--,o--;if(e>t||n>o){var a=void 0;return n<=o?(r.Assert(e===t+1,"originalStart should only be one more than originalEnd"),a=[new i(e,0,n,o-n+1)]):e<=t?(r.Assert(n===o+1,"modifiedStart should only be one more than modifiedEnd"),a=[new i(e,t-e+1,n,0)]):(r.Assert(e===t+1,"originalStart should only be one more than originalEnd"),r.Assert(n===o+1,"modifiedStart should only be one more than modifiedEnd"),a=[]),a}var u=[0],l=[0],c=this.ComputeRecursionPoint(e,t,n,o,u,l,s),d=u[0],h=l[0];if(null!==c)return c;if(!s[0]){var p=this.ComputeDiffRecursive(e,d,n,h,s),f=[];return f=s[0]?[new i(d+1,t-(d+1)+1,h+1,o-(h+1)+1)]:this.ComputeDiffRecursive(d+1,t,h+1,o,s),this.ConcatenateChanges(p,f)}return[new i(e,t-e+1,n,o-n+1)]},e.prototype.WALKTRACE=function(e,t,n,o,r,s,u,l,c,d,h,p,f,g,m,_,v,y){var b,C,w=null,S=new a,L=t,O=n,E=f[0]-_[0]-o,N=Number.MIN_VALUE,x=this.m_forwardHistory.length-1;do{(C=E+e)===L||C=0&&(e=(c=this.m_forwardHistory[x])[0],L=1,O=c.length-1)}while(--x>=-1);if(b=S.getReverseChanges(),y[0]){var I=f[0]+1,D=_[0]+1;if(null!==b&&b.length>0){var k=b[b.length-1];I=Math.max(I,k.getOriginalEnd()),D=Math.max(D,k.getModifiedEnd())}w=[new i(I,p-I+1,D,m-D+1)]}else{S=new a,L=s,O=u,E=f[0]-_[0]-l,N=Number.MAX_VALUE,x=v?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{(C=E+r)===L||C=d[C+1]?(g=(h=d[C+1]-1)-E-l,h>N&&S.MarkNextChange(),N=h+1,S.AddOriginalElement(h+1,g+1),E=C+1-r):(g=(h=d[C-1])-E-l,h>N&&S.MarkNextChange(),N=h,S.AddModifiedElement(h+1,g+1),E=C-1-r),x>=0&&(r=(d=this.m_reverseHistory[x])[0],L=1,O=d.length-1)}while(--x>=-1);w=S.getChanges()}return this.ConcatenateChanges(b,w)},e.prototype.ComputeRecursionPoint=function(e,t,n,o,r,a,u){var l,c=0,d=0,h=0,p=0,f=0,g=0;e--,n--,r[0]=0,a[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];var m,_,v=t-e+(o-n),y=v+1,b=new Array(y),C=new Array(y),w=o-n,S=t-e,L=e-n,O=t-o,E=(S-w)%2==0;for(b[w]=e,C[S]=t,u[0]=!1,l=1;l<=v/2+1;l++){var N=0,x=0;for(h=this.ClipDiagonalBound(w-l,l,w,y),p=this.ClipDiagonalBound(w+l,l,w,y),m=h;m<=p;m+=2){for(d=(c=m===h||mN+x&&(N=c,x=d),!E&&Math.abs(m-S)<=l-1&&c>=C[m])return r[0]=c,a[0]=d,_<=C[m]&&l<=1448?this.WALKTRACE(w,h,p,L,S,f,g,O,b,C,c,t,r,d,o,a,E,u):null}var I=(N-e+(x-n)-l)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(N,this.OriginalSequence,I))return u[0]=!0,r[0]=N,a[0]=x,I>0&&l<=1448?this.WALKTRACE(w,h,p,L,S,f,g,O,b,C,c,t,r,d,o,a,E,u):[new i(++e,t-e+1,++n,o-n+1)];for(f=this.ClipDiagonalBound(S-l,l,S,y),g=this.ClipDiagonalBound(S+l,l,S,y),m=f;m<=g;m+=2){for(d=(c=m===f||m=C[m+1]?C[m+1]-1:C[m-1])-(m-S)-O,_=c;c>e&&d>n&&this.ElementsAreEqual(c,d);)c--,d--;if(C[m]=c,E&&Math.abs(m-w)<=l&&c<=b[m])return r[0]=c,a[0]=d,_>=b[m]&&l<=1448?this.WALKTRACE(w,h,p,L,S,f,g,O,b,C,c,t,r,d,o,a,E,u):null}if(l<=1447){var D=new Array(p-h+2);D[0]=w-h+1,s.Copy(b,h,D,1,p-h+1),this.m_forwardHistory.push(D),(D=new Array(g-f+2))[0]=S-f+1,s.Copy(C,f,D,1,g-f+1),this.m_reverseHistory.push(D)}}return this.WALKTRACE(w,h,p,L,S,f,g,O,b,C,c,t,r,d,o,a,E,u)},e.prototype.PrettifyChanges=function(e){for(var t=0;t0,s=n.modifiedLength>0;n.originalStart+n.originalLength=0;t--){n=e[t],i=0,o=0;if(t>0){var u=e[t-1];u.originalLength>0&&(i=u.originalStart+u.originalLength),u.modifiedLength>0&&(o=u.modifiedStart+u.modifiedLength)}r=n.originalLength>0,s=n.modifiedLength>0;for(var l=0,c=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength),d=1;;d++){var h=n.originalStart-d,p=n.modifiedStart-d;if(hc&&(c=f,l=d)}n.originalStart-=l,n.modifiedStart-=l}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 n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))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 n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1},e.prototype._boundaryScore=function(e,t,n,i){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,i)?1:0)},e.prototype.ConcatenateChanges=function(e,t){var n=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){var i=new Array(e.length+t.length-1);return s.Copy(e,0,i,0,e.length-1),i[e.length-1]=n[0],s.Copy(t,1,i,e.length,t.length-1),i}i=new Array(e.length+t.length);return s.Copy(e,0,i,0,e.length),s.Copy(t,0,i,e.length,t.length),i},e.prototype.ChangesOverlap=function(e,t,n){if(r.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),r.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 o=e.originalStart,s=e.originalLength,a=e.modifiedStart,u=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(s=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(u=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new i(o,s,a,u),!0}return n[0]=null,!1},e.prototype.ClipDiagonalBound=function(e,t,n,i){if(e>=0&&e0?this.level++:this.level=0},e.prototype.end=function(){this.level--},e.prototype.isActive=function(){return this.level>0},e.prototype.isInlineBlock=function(e,t){for(var n=0,i=0,o=t;o50)return!1;if(s.type===r.default.OPEN_PAREN)i++;else if(s.type===r.default.CLOSE_PAREN&&0===--i)return!0;if(this.isForbiddenToken(s))return!1}return!1},e.prototype.isForbiddenToken=function(e){var t=e.type,n=e.value;return t===r.default.RESERVED_TOPLEVEL||t===r.default.RESERVED_NEWLINE||t===r.default.COMMENT||t===r.default.BLOCK_COMMENT||";"===n},e}();t.default=s,e.exports=t.default},Yqb6:function(e,t,n){"use strict";t.e=s,t.a=function(e,t,n){return a(t,{badgeBackground:n&&n.badgeBackground||i.c,badgeForeground:n&&n.badgeForeground||i.d,badgeBorder:i.e},e)},t.d=function(e,t,n){return a(t,{foreground:n&&n.foreground||i.T,background:n&&n.background||i.o,borderColor:n&&n.borderColor||i.e,widgetShadow:n&&n.widgetShadow||i._48,progressBarBackground:n&&n.progressBarBackground||i._35,pickerGroupForeground:n&&n.pickerGroupForeground||i._34,pickerGroupBorder:n&&n.pickerGroupBorder||i._33,inputBackground:n&&n.inputBackground||i.W,inputForeground:n&&n.inputForeground||i.Y,inputBorder:n&&n.inputBorder||i.X,inputValidationInfoBorder:n&&n.inputValidationInfoBorder||i._3,inputValidationInfoBackground:n&&n.inputValidationInfoBackground||i._2,inputValidationInfoForeground:n&&n.inputValidationInfoForeground||i._4,inputValidationWarningBorder:n&&n.inputValidationWarningBorder||i._6,inputValidationWarningBackground:n&&n.inputValidationWarningBackground||i._5,inputValidationWarningForeground:n&&n.inputValidationWarningForeground||i._7,inputValidationErrorBorder:n&&n.inputValidationErrorBorder||i._0,inputValidationErrorBackground:n&&n.inputValidationErrorBackground||i.Z,inputValidationErrorForeground:n&&n.inputValidationErrorForeground||i._1,listFocusBackground:n&&n.listFocusBackground||i._14,listFocusForeground:n&&n.listFocusForeground||i._15,listActiveSelectionBackground:n&&n.listActiveSelectionBackground||Object(i.f)(i._8,.1),listActiveSelectionForeground:n&&n.listActiveSelectionForeground||i._9,listFocusAndSelectionBackground:n&&n.listFocusAndSelectionBackground||i._8,listFocusAndSelectionForeground:n&&n.listFocusAndSelectionForeground||i._9,listInactiveSelectionBackground:n&&n.listInactiveSelectionBackground||i._20,listInactiveSelectionForeground:n&&n.listInactiveSelectionForeground||i._21,listInactiveFocusBackground:n&&n.listInactiveFocusBackground||i._19,listHoverBackground:n&&n.listHoverBackground||i._17,listHoverForeground:n&&n.listHoverForeground||i._18,listDropBackground:n&&n.listDropBackground||i._10,listFocusOutline:n&&n.listFocusOutline||i.b,listSelectionOutline:n&&n.listSelectionOutline||i.b,listHoverOutline:n&&n.listHoverOutline||i.b},e)},t.b=function(e,t,n){return a(t,Object(o.g)(n||Object.create(null),u,!1),e)},n.d(t,"f",function(){return u}),t.c=function(e,t,n){return a(t,r({},l,n),e)};var i=n("L5KM"),o=n("TU7t"),r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,i=arguments.length;n-1&&e%1==0&&et.getLineMinColumn(n)?i.a.isLowSurrogate(t,n,o-2)?o-=2:o-=1:n>1&&(n-=1,o=t.getLineMaxColumn(n)),new s(n,o,0)},e.moveLeft=function(t,n,i,o,r){var s,a;if(i.hasSelection()&&!o)s=i.selection.startLineNumber,a=i.selection.startColumn;else{var u=e.left(t,n,i.position.lineNumber,i.position.column-(r-1));s=u.lineNumber,a=u.column}return i.move(o,s,a,0)},e.right=function(e,t,n,o){return oc?(n=c,u?o=t.getLineMaxColumn(n):(o=Math.min(t.getLineMaxColumn(n),o),i.a.isInsideSurrogatePair(t,n,o)&&(o-=1))):(o=i.a.columnFromVisibleColumn2(e,t,n,l),i.a.isInsideSurrogatePair(t,n,o)&&(o-=1)),r=l-i.a.visibleColumnFromColumn(t.getLineContent(n),o,e.tabSize),new s(n,o,r)},e.moveDown=function(t,n,i,o,r){var s,a;i.hasSelection()&&!o?(s=i.selection.endLineNumber,a=i.selection.endColumn):(s=i.position.lineNumber,a=i.position.column);var u=e.down(t,n,s,a,i.leftoverVisibleColumns,r,!0);return i.move(o,u.lineNumber,u.column,u.leftoverVisibleColumns)},e.translateDown=function(t,n,s){var a=s.selection,u=e.down(t,n,a.selectionStartLineNumber,a.selectionStartColumn,s.selectionStartLeftoverVisibleColumns,1,!1),l=e.down(t,n,a.positionLineNumber,a.positionColumn,s.leftoverVisibleColumns,1,!1);return new i.f(new r.a(u.lineNumber,u.column,u.lineNumber,u.column),u.leftoverVisibleColumns,new o.a(l.lineNumber,l.column),l.leftoverVisibleColumns)},e.up=function(e,t,n,o,r,a,u){var l=i.a.visibleColumnFromColumn(t.getLineContent(n),o,e.tabSize)+r;return(n-=a)<1?(n=1,u?o=t.getLineMinColumn(n):(o=Math.min(t.getLineMaxColumn(n),o),i.a.isInsideSurrogatePair(t,n,o)&&(o-=1))):(o=i.a.columnFromVisibleColumn2(e,t,n,l),i.a.isInsideSurrogatePair(t,n,o)&&(o-=1)),r=l-i.a.visibleColumnFromColumn(t.getLineContent(n),o,e.tabSize),new s(n,o,r)},e.moveUp=function(t,n,i,o,r){var s,a;i.hasSelection()&&!o?(s=i.selection.startLineNumber,a=i.selection.startColumn):(s=i.position.lineNumber,a=i.position.column);var u=e.up(t,n,s,a,i.leftoverVisibleColumns,r,!0);return i.move(o,u.lineNumber,u.column,u.leftoverVisibleColumns)},e.translateUp=function(t,n,s){var a=s.selection,u=e.up(t,n,a.selectionStartLineNumber,a.selectionStartColumn,s.selectionStartLeftoverVisibleColumns,1,!1),l=e.up(t,n,a.positionLineNumber,a.positionColumn,s.leftoverVisibleColumns,1,!1);return new i.f(new r.a(u.lineNumber,u.column,u.lineNumber,u.column),u.leftoverVisibleColumns,new o.a(l.lineNumber,l.column),l.leftoverVisibleColumns)},e.moveToBeginningOfLine=function(e,t,n,i){var o,r=n.position.lineNumber,s=t.getLineMinColumn(r),a=t.getLineFirstNonWhitespaceColumn(r)||s;return o=n.position.column===a?s:a,n.move(i,r,o,0)},e.moveToEndOfLine=function(e,t,n,i){var o=n.position.lineNumber,r=t.getLineMaxColumn(o);return n.move(i,o,r,0)},e.moveToBeginningOfBuffer=function(e,t,n,i){return n.move(i,1,1,0)},e.moveToEndOfBuffer=function(e,t,n,i){var o=t.getLineCount(),r=t.getLineMaxColumn(o);return n.move(i,o,r,0)},e}()},ZT2e:function(e,t,n){var i=n("o2mx");e.exports=function(e){return null==e?"":i(e)}},ZVkR:function(e,t,n){"use strict";t.__esModule=!0;var i=a(n("NYNS")),o=a(n("/tAm")),r=a(n("VQvH")),s=a(n("qBj/"));function a(e){return e&&e.__esModule?e:{default:e}}t.default={format:function(e,t){switch((t=t||{}).language){case"db2":return new i.default(t).format(e);case"n1ql":return new o.default(t).format(e);case"pl/sql":return new r.default(t).format(e);case"sql":case void 0:return new s.default(t).format(e);default:throw Error("Unsupported SQL dialect: "+t.language)}}},e.exports=t.default},ZWAj:function(e,t,n){"use strict";n.d(t,"b",function(){return s}),n.d(t,"a",function(){return a});var i=n("aL7J"),o=n("artP"),r=n("vTy2"),s=function(){function e(e,t,n,i,o){this.value=e,this.selectionStart=t,this.selectionEnd=n,this.selectionStartPosition=i,this.selectionEndPosition=o}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,n){t.setValue(e,this.value),n&&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 n=this.value.substring(this.selectionStart,e);if(-1===n.indexOf(String.fromCharCode(8230)))return this._finishDeduceEditorPosition(this.selectionStartPosition,n,1);var i=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition(this.selectionEndPosition,i,-1)},e.prototype._finishDeduceEditorPosition=function(e,t,n){for(var i=0,o=-1;-1!==(o=t.indexOf("\n",o+1));)i++;return[e,n*t.length,i]},e.selectedText=function(t){return new e(t,0,t.length,null,null)},e.deduceInput=function(e,t,n,o){if(!e)return{text:"",replaceCharCnt:0};var r=e.value,s=e.selectionStart,a=e.selectionEnd,u=t.value,l=t.selectionStart,c=t.selectionEnd;o&&r.length>0&&s===a&&l===c&&!i.J(u,r)&&i.m(u,r)&&(s=0,a=0);var d=r.substring(a),h=u.substring(c),p=i.c(d,h);u=u.substring(0,u.length-p);var f=(r=r.substring(0,r.length-p)).substring(0,s),g=u.substring(0,l),m=i.b(f,g);if(u=u.substring(m),r=r.substring(m),l-=m,s-=m,c-=m,a-=m,n&&l===c&&r.length>0){var _=null;if(l===u.length?i.J(u,r)&&(_=u.substring(r.length)):i.m(u,r)&&(_=u.substring(0,u.length-r.length)),null!==_&&_.length>0&&(/\uFE0F/.test(_)||i.f(_)))return{text:_,replaceCharCnt:0}}return l===c?r===u&&0===s&&a===r.length&&l===u.length&&-1===u.indexOf("\n")&&i.g(u)?{text:"",replaceCharCnt:0}:{text:u,replaceCharCnt:f.length-m}:{text:u,replaceCharCnt:a-s}},e.EMPTY=new e("",0,0,null,null),e}(),a=function(){function e(){}return e._getPageOfLine=function(t){return Math.floor((t-1)/e._LINES_PER_PAGE)},e._getRangeForPage=function(t){var n=t*e._LINES_PER_PAGE,i=n+1,o=n+e._LINES_PER_PAGE;return new r.a(i,1,o+1,1)},e.fromEditorSelection=function(t,n,i,a){var u,l=e._getPageOfLine(i.startLineNumber),c=e._getRangeForPage(l),d=e._getPageOfLine(i.endLineNumber),h=e._getRangeForPage(d),p=c.intersectRanges(new r.a(1,1,i.startLineNumber,i.startColumn)),f=n.getValueInRange(p,1),g=n.getLineCount(),m=n.getLineMaxColumn(g),_=h.intersectRanges(new r.a(i.endLineNumber,i.endColumn,g,m)),v=n.getValueInRange(_,1);if(l===d||l+1===d)u=n.getValueInRange(i,1);else{var y=c.intersectRanges(i),b=h.intersectRanges(i);u=n.getValueInRange(y,1)+String.fromCharCode(8230)+n.getValueInRange(b,1)}if(a){f.length>500&&(f=f.substring(f.length-500,f.length)),v.length>500&&(v=v.substring(0,500)),u.length>1e3&&(u=u.substring(0,500)+String.fromCharCode(8230)+u.substring(u.length-500,u.length))}return new s(f+u+v,f.length,f.length+u.length,new o.a(i.startLineNumber,i.startColumn),new o.a(i.endLineNumber,i.endColumn))},e._LINES_PER_PAGE=10,e}()},ZYUE:function(e,t,n){"use strict";t.c=function(e){return h(e)||e.authority},t.e=function(e,t,n){void 0===n&&(n=c(e));if(e===t)return!0;if(!e||!t)return!1;if(e.scheme!==t.scheme||!d(e.authority,t.authority))return!1;var i=e.path||"/",o=t.path||"/";return i===o||n&&Object(a.n)(i||"/",o||"/")},t.b=h,t.d=function(e){if(0===e.path.length)return e;if(e.scheme===u.b.file)return s.a.file(r.dirname(p(e)));var t=r.posix.dirname(e.path);e.authority&&t.length&&47!==t.charCodeAt(0)&&(console.error('dirname("'+e.toString+")) resulted in a relative path"),t="/");return e.with({path:t})},t.f=function(e){for(var t,n,i=[],o=1;o1&&e.scheme===u.b.file?"//"+e.authority+n:l.g&&47===n.charCodeAt(0)&&o.b(n.charCodeAt(1))&&58===n.charCodeAt(2)?n.substr(1):n,l.g&&(t=t.replace(/\//g,"\\")),t}!function(e){e.META_DATA_LABEL="label",e.META_DATA_DESCRIPTION="description",e.META_DATA_SIZE="size",e.META_DATA_MIME="mime",e.parseMetaData=function(t){var n=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach(function(e){var t=e.split(":"),i=t[0],o=t[1];i&&o&&n.set(i,o)});var i=t.path.substring(0,t.path.indexOf(";"));return i&&n.set(e.META_DATA_MIME,i),n}}(i||(i={}))},ZfGv:function(e,t,n){"use strict";(function(e,i){n.d(t,"g",function(){return f}),n.d(t,"d",function(){return g}),n.d(t,"c",function(){return m}),n.d(t,"e",function(){return _}),n.d(t,"f",function(){return v}),n.d(t,"b",function(){return y}),t.h=function(t){null===b&&(b=y.setImmediate?y.setImmediate.bind(y):void 0!==e&&"function"==typeof e.nextTick?e.nextTick.bind(e):y.setTimeout.bind(y));return b(t)},n.d(t,"a",function(){return C});var o=!1,r=!1,s=!1,a=!1,u=!1,l=void 0,c=void 0!==e&&void 0!==e.versions&&void 0!==e.versions.electron&&"renderer"===e.type;if("object"!=typeof navigator||c){if("object"==typeof e){o="win32"===e.platform,r="darwin"===e.platform,s="linux"===e.platform,"en","en";var d=Object({NODE_ENV:"production"}).VSCODE_NLS_CONFIG;if(d)try{var h=JSON.parse(d),p=h.availableLanguages["*"];h.locale,p||"en",h._translationsConfigFile}catch(e){}a=!0}}else o=(l=navigator.userAgent).indexOf("Windows")>=0,r=l.indexOf("Macintosh")>=0,s=l.indexOf("Linux")>=0,u=!0,navigator.language;var f=o,g=r,m=s,_=a,v=u,y="object"==typeof self?self:"object"==typeof i?i:{},b=null;var C=r?2:o?1:3}).call(t,n("W2nU"),n("DuR2"))},a6dA:function(e,t,n){"use strict";n("R/+A");var i=n("hK2W"),o=n("lAcG"),r=n("7/Cv"),s=n("CX1u"),a=n("UqCF"),u=n("IG52"),l=n("Kp7x"),c=n("Uf3U"),d=n("TNPA"),h=n("TU7t"),p=n("5VRF"),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,n=e;t=t.length?e:t[i]})},t.o=function(e){return e.replace(/[<>&]/g,function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}})},t.p=r,t.M=function(e,t){void 0===t&&(t=" ");return a(s(e,t),t)},t.B=s,t.G=a,t.j=function(e){return e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")},t.J=function(e,t){if(e.length0?e.indexOf(t,n)===n:0===n&&e===t},t.k=function(e,t,n){void 0===n&&(n={});if(!e)throw new Error("Cannot create regex from empty string");t||(e=r(e));n.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));var i="";n.global&&(i+="g");n.matchCase||(i+="i");n.multiline&&(i+="m");n.unicode&&(i+="u");return new RegExp(e,i)},t.E=function(e){if("^"===e.source||"^$"===e.source||"$"===e.source||"^\\s*$"===e.source)return!1;return!(!e.exec("")||0!==e.lastIndex)},t.D=function(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")},t.q=function(e){for(var t=0,n=e.length;t=0;n--){var i=e.charCodeAt(n);if(32!==i&&9!==i)return n}return-1},t.d=u,t.e=function(e,t){for(var n=Math.min(e.length,t.length),i=0;it.length?1:0},t.y=l,t.z=c,t.n=function(e,t){var n=e?e.length:0,i=t?t.length:0;if(n!==i)return!1;return h(e,t)},t.K=function(e,t){var n=t.length;if(t.length>e.length)return!1;return h(e,t,n)},t.b=function(e,t){var n,i=Math.min(e.length,t.length);for(n=0;n0&&65279===e.charCodeAt(0))},t.H=function(e){return btoa(encodeURIComponent(e))},t.F=function(e,t){for(var n="",i=0;it?1:0}function l(e){return e>=97&&e<=122}function c(e){return e>=65&&e<=90}function d(e){return l(e)||c(e)}function h(e,t,n){if(void 0===n&&(n=e.length),"string"!=typeof e||"string"!=typeof t)return!1;for(var i=0;i=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}var _=String.fromCharCode(65279)},aQiR:function(e,t,n){var i=n("o2mx"),o=n("Wh6c"),r=n("UNUE"),s=n("0ghZ"),a=n("ZT2e"),u=/\s+$/;e.exports=function(e,t,n){if((e=a(e))&&(n||void 0===t))return e.replace(u,"");if(!e||!(t=i(t)))return e;var l=s(e),c=r(l,s(t))+1;return o(l,0,c).join("")}},aQx8:function(e,t,n){"use strict";t.c=function(e){return e.replace(/[\\/]/g,o.posix.sep)},t.a=function(e,t,n,r){void 0===r&&(r=o.sep);if(e===t)return!0;if(!e||!t)return!1;if(t.length>e.length)return!1;if(n){var s=Object(i.K)(e,t);if(!s)return!1;if(t.length===e.length)return!0;var a=t.length;return t.charAt(t.length-1)===r&&a--,e.charAt(a)===r}t.charAt(t.length-1)!==r&&(t+=r);return 0===e.indexOf(t)},t.b=function(e){return e>=65&&e<=90||e>=97&&e<=122};var i=n("aL7J"),o=n("/uRs")},am7U:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o=n("hK2W"),r=n("vTy2"),s=n("iHM7"),a=n("/9db"),u=n("03Zz"),l=n("606G"),c=function(){function e(e,t,n){this._editRange=e,this._originalSelection=t,this._text=n}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._editRange,this._text)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new s.a(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new s.a(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)},e}(),d=n("4tuZ"),h=n("eoic"),p=n("Rfe2"),f=n("0ly5"),g=n("odeJ"),m=n("zxiH"),_=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),v=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},y=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},b=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,n){var i=this;this.currentRequest&&this.currentRequest.cancel();var o=this.editor.getSelection(),a=this.editor.getModel();if(a&&o){var u=o;if(u.startLineNumber===u.endLineNumber){var l=new d.a(this.editor,5),h=a.uri;return this.editorWorkerService.canNavigateValueSet(h)?(this.currentRequest=Object(g.f)(function(e){return i.editorWorkerService.navigateValueSet(h,u,n)}),this.currentRequest.then(function(n){if(n&&n.range&&n.value&&l.validate(i.editor)){var o=r.a.lift(n.range),a=n.range,d=n.value.length-(u.endColumn-u.startColumn);a={startLineNumber:a.startLineNumber,startColumn:a.startColumn,endLineNumber:a.endLineNumber,endColumn:a.startColumn+n.value.length},d>1&&(u=new s.a(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn+d-1));var h=new c(o,u,n.value);i.editor.pushUndoStop(),i.editor.executeCommand(t,h),i.editor.pushUndoStop(),i.decorationIds=i.editor.deltaDecorations(i.decorationIds,[{range:a,options:e.DECORATION}]),i.decorationRemover&&i.decorationRemover.cancel(),i.decorationRemover=Object(g.l)(350),i.decorationRemover.then(function(){return i.decorationIds=i.editor.deltaDecorations(i.decorationIds,[])}).catch(m.e)}}).catch(m.e)):Promise.resolve(void 0)}}},e.ID="editor.contrib.inPlaceReplaceController",e.DECORATION=f.a.register({className:"valueSetReplacement"}),e=v([y(1,l.a)],e)}(),C=function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.up",label:o.a("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:a.a.writable,kbOpts:{kbExpr:a.a.editorTextFocus,primary:3154,weight:100}})||this}return _(t,e),t.prototype.run=function(e,t){var n=b.get(t);return n?n.run(this.id,!0):Promise.resolve(void 0)},t}(u.b),w=function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.down",label:o.a("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:a.a.writable,kbOpts:{kbExpr:a.a.editorTextFocus,primary:3156,weight:100}})||this}return _(t,e),t.prototype.run=function(e,t){var n=b.get(t);return n?n.run(this.id,!1):Promise.resolve(void 0)},t}(u.b);Object(u.h)(b),Object(u.f)(C),Object(u.f)(w),Object(h.f)(function(e,t){var n=e.getColor(p.d);n&&t.addRule(".monaco-editor.vs .valueSetReplacement { outline: solid 2px "+n+"; }")})},artP:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var i=function(){function e(e,t){this.lineNumber=e,this.column=t}return e.prototype.with=function(t,n){return void 0===t&&(t=this.lineNumber),void 0===n&&(n=this.column),t===this.lineNumber&&n===this.column?this:new e(t,n)},e.prototype.delta=function(e,t){return void 0===e&&(e=0),void 0===t&&(t=0),this.with(this.lineNumber+e,this.column+t)},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=0&&m0&&o){var x=function(e){o(e),e.children.forEach(x)};b.forEach(x)}var I=w.d.map(w.d.fromArray(b),O);return this._onDidSplice.fire({insertedNodes:_,deletedNodes:b}),I},e.prototype.rerender=function(e){if(0===e.length)throw new Error("Invalid tree location");var t=this.getTreeNodeWithListIndex(e),n=t.node,i=t.listIndex;t.revealed&&this.list.splice(i,1,[n])},e.prototype.getListIndex=function(e){var t=this.getTreeNodeWithListIndex(e),n=t.listIndex,i=t.visible,o=t.revealed;return i&&o?n:-1},e.prototype.getListRenderCount=function(e){return this.getTreeNode(e).renderNodeCount},e.prototype.isCollapsed=function(e){return this.getTreeNode(e).collapsed},e.prototype.setCollapsed=function(e,t,n){var i=this,o=this.getTreeNode(e);return void 0===t&&(t=!o.collapsed),this.eventBufferer.bufferEvents(function(){return i._setCollapsed(e,t,n)})},e.prototype._setCollapsed=function(e,t,n){var i=this.getTreeNodeWithListIndex(e),o=i.node,r=i.listIndex,s=i.revealed,a=this._setListNodeCollapsed(o,r,s,t,n||!1);if(o!==this.root&&this.autoExpandSingleChildren&&!t&&!n){for(var u=-1,l=0;l-1){u=-1;break}u=l}}u>-1&&this._setCollapsed(e.concat([u]),!1,!1)}return a},e.prototype._setListNodeCollapsed=function(e,t,n,i,o){var r=this._setNodeCollapsed(e,i,o,!1);if(!n||!e.visible)return r;var s=e.renderNodeCount,a=this.updateNodeAfterCollapseChange(e),u=s-(-1===t?0:1);return this.list.splice(t+1,u,a.slice(1)),r},e.prototype._setNodeCollapsed=function(e,t,n,i){var o=e.collapsible&&e.collapsed!==t;if(e.collapsible&&(e.collapsed=t,o&&this._onDidChangeCollapseState.fire({node:e,deep:i})),n)for(var r=0,s=e.children;r0,a.visibleChildrenCount=h,a.visible=2===u?h>0:1===u,a.visible?a.collapsed||(a.renderNodeCount=p):(a.renderNodeCount=0,i&&o.pop()),r&&r(a),a},e.prototype.updateNodeAfterCollapseChange=function(e){var t=e.renderNodeCount,n=[];return this._updateNodeAfterCollapseChange(e,n),this._updateAncestorsRenderNodeCount(e.parent,n.length-t),n},e.prototype._updateNodeAfterCollapseChange=function(e,t){if(!1===e.visible)return 0;if(t.push(e),e.renderNodeCount=1,!e.collapsed)for(var n=0,i=e.children;nt.children.length)throw new Error("Invalid tree location");return this.getTreeNode(i,t.children[n])},e.prototype.getTreeNodeWithListIndex=function(e){if(0===e.length)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};var t=this.getParentNodeWithListIndex(e),n=t.parentNode,i=t.listIndex,o=t.revealed,r=t.visible,s=e[e.length-1];if(s<0||s>n.children.length)throw new Error("Invalid tree location");var a=n.children[s];return{node:a,listIndex:i,revealed:o,visible:r&&a.visible}},e.prototype.getParentNodeWithListIndex=function(e,t,n,i,o){void 0===t&&(t=this.root),void 0===n&&(n=0),void 0===i&&(i=!0),void 0===o&&(o=!0);var r=e[0],s=e.slice(1);if(r<0||r>t.children.length)throw new Error("Invalid tree location");for(var a=0;a0&&!e.collapsed?n.add(e):e.parent&&n.add(e.parent)}),this.activeIndentNodes.forEach(function(e){n.has(e)||t.renderedIndentGuides.forEach(e,function(e){return Object(i.I)(e,"active")})}),n.forEach(function(e){t.activeIndentNodes.has(e)||t.renderedIndentGuides.forEach(e,function(e){return Object(i.f)(e,"active")})}),this.activeIndentNodes=n}},e.prototype.dispose=function(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),this.disposables=Object(r.f)(this.disposables)},e.DefaultIndent=8,e}(),B=function(){function e(e,t,n){this.tree=e,this.keyboardNavigationLabelProvider=t,this._filter=n,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=[],e.onWillRefilter(this.reset,this,this.disposables)}return Object.defineProperty(e.prototype,"totalCount",{get:function(){return this._totalCount},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"matchCount",{get:function(){return this._matchCount},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pattern",{set:function(e){this._pattern=e,this._lowercasePattern=e.toLowerCase()},enumerable:!0,configurable:!0}),e.prototype.filter=function(e,t){if(this._filter){var n=this._filter.filter(e,t);if(this.tree.options.simpleKeyboardNavigation)return n;if(0===("boolean"==typeof n?n?1:0:S(n)?L(n.visibility):n))return!1}if(this._totalCount++,this.tree.options.simpleKeyboardNavigation||!this._pattern)return this._matchCount++,{data:C.a.Default,visibility:!0};var i=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e),o=i&&i.toString();if(void 0===o)return{data:C.a.Default,visibility:!0};var r=Object(C.d)(this._pattern,this._lowercasePattern,0,o,o.toLowerCase(),0,!0);return r?(this._matchCount++,{data:r,visibility:!0}):this.tree.options.filterOnType?2:{data:C.a.Default,visibility:!0}},e.prototype.reset=function(){this._totalCount=0,this._matchCount=0},e.prototype.dispose=function(){this.disposables=Object(r.f)(this.disposables)},e}(),H=function(){function e(e,t,n,o,r){this.tree=e,this.view=n,this.filter=o,this.keyboardNavigationLabelProvider=r,this._enabled=!1,this._pattern="",this._empty=!1,this._onDidChangeEmptyState=new g.a,this.positionClassName="ne",this.automaticKeyboardNavigation=!0,this.triggered=!1,this._onDidChangePattern=new g.a,this.enabledDisposables=[],this.disposables=[],this.domNode=Object(i.a)(".monaco-list-type-filter."+this.positionClassName),this.domNode.draggable=!0,Object(b.a)(this.domNode,"dragstart")(this.onDragStart,this,this.disposables),this.messageDomNode=Object(i.m)(n.getHTMLElement(),Object(i.a)(".monaco-list-type-filter-message")),this.labelDomNode=Object(i.m)(this.domNode,Object(i.a)("span.label"));var a=Object(i.m)(this.domNode,Object(i.a)(".controls"));this._filterOnType=!!e.options.filterOnType,this.filterOnTypeDomNode=Object(i.m)(a,Object(i.a)("input.filter")),this.filterOnTypeDomNode.type="checkbox",this.filterOnTypeDomNode.checked=this._filterOnType,this.filterOnTypeDomNode.tabIndex=-1,this.updateFilterOnTypeTitle(),Object(b.a)(this.filterOnTypeDomNode,"input")(this.onDidChangeFilterOnType,this,this.disposables),this.clearDomNode=Object(i.m)(a,Object(i.a)("button.clear")),this.clearDomNode.tabIndex=-1,this.clearDomNode.title=Object(s.a)("clear","Clear"),this.keyboardNavigationEventFilter=e.options.keyboardNavigationEventFilter,t.onDidSplice(this.onDidSpliceModel,this,this.disposables),this.updateOptions(e.options)}return Object.defineProperty(e.prototype,"enabled",{get:function(){return this._enabled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pattern",{get:function(){return this._pattern},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"filterOnType",{get:function(){return this._filterOnType},enumerable:!0,configurable:!0}),e.prototype.updateOptions=function(e){e.simpleKeyboardNavigation?this.disable():this.enable(),void 0!==e.filterOnType&&(this._filterOnType=!!e.filterOnType,this.filterOnTypeDomNode.checked=this._filterOnType),void 0!==e.automaticKeyboardNavigation&&(this.automaticKeyboardNavigation=e.automaticKeyboardNavigation),this.tree.refilter(),this.render(),this.automaticKeyboardNavigation||this.onEventOrInput("")},e.prototype.enable=function(){var e=this;if(!this._enabled){var t=this.keyboardNavigationLabelProvider.mightProducePrintableCharacter?function(t){return e.keyboardNavigationLabelProvider.mightProducePrintableCharacter(t)}:function(e){return Object(o.f)(e)},n=g.b.chain(Object(b.a)(this.view.getHTMLElement(),"keydown")).filter(function(t){return!z(t.target)||t.target===e.filterOnTypeDomNode}).map(function(e){return new m.a(e)}).filter(this.keyboardNavigationEventFilter||function(){return!0}).filter(function(){return e.automaticKeyboardNavigation||e.triggered}).filter(function(n){return t(n)||(e.pattern.length>0||e.triggered)&&(9===n.keyCode||1===n.keyCode)&&!n.altKey&&!n.ctrlKey&&!n.metaKey||1===n.keyCode&&(I.d?n.altKey&&!n.metaKey:n.ctrlKey)&&!n.shiftKey}).forEach(function(e){e.stopPropagation(),e.preventDefault()}).event,i=Object(b.a)(this.clearDomNode,"click");g.b.chain(g.b.any(n,i)).event(this.onEventOrInput,this,this.enabledDisposables),this.filter.pattern="",this.tree.refilter(),this.render(),this._enabled=!0,this.triggered=!1}},e.prototype.disable=function(){this._enabled&&(this.domNode.remove(),this.enabledDisposables=Object(r.f)(this.enabledDisposables),this.tree.refilter(),this.render(),this._enabled=!1,this.triggered=!1)},e.prototype.onEventOrInput=function(e){"string"==typeof e?this.onInput(e):e instanceof MouseEvent||9===e.keyCode||1===e.keyCode&&(I.d?e.altKey:e.ctrlKey)?this.onInput(""):1===e.keyCode?this.onInput(0===this.pattern.length?"":this.pattern.substr(0,this.pattern.length-1)):this.onInput(this.pattern+e.browserEvent.key)},e.prototype.onInput=function(e){var t=this.view.getHTMLElement();e&&!this.domNode.parentElement?t.append(this.domNode):!e&&this.domNode.parentElement&&(this.domNode.remove(),this.tree.domFocus()),this._pattern=e,this._onDidChangePattern.fire(e),this.filter.pattern=e,this.tree.refilter(),e&&this.tree.focusNext(0,!0,void 0,function(e){return!C.a.isDefault(e.filterData)});var n=this.tree.getFocus();if(n.length>0){var i=n[0];null===this.tree.getRelativeTop(i)&&this.tree.reveal(i,.5)}this.render(),e||(this.triggered=!1)},e.prototype.onDragStart=function(){var e=this,t=this.view.getHTMLElement(),n=Object(i.x)(t).left,o=t.clientWidth,s=o/2,a=this.domNode.clientWidth,u=[],l=this.positionClassName,c=function(){switch(l){case"nw":e.domNode.style.top="4px",e.domNode.style.left="4px";break;case"ne":e.domNode.style.top="4px",e.domNode.style.left=o-a-6+"px"}};c(),Object(i.I)(this.domNode,l),Object(i.f)(this.domNode,"dragging"),u.push(Object(r.h)(function(){return Object(i.I)(e.domNode,"dragging")})),Object(b.a)(document,"dragover")(function(e){e.preventDefault();var t=e.screenX-n;e.dataTransfer&&(e.dataTransfer.dropEffect="none"),l=t0&&0===this.filter.matchCount;this.pattern&&this.tree.options.filterOnType&&e?(this.messageDomNode.textContent=Object(s.a)("empty","No elements found"),this._empty=!0):(this.messageDomNode.innerHTML="",this._empty=!1),Object(i.R)(this.domNode,"no-matches",e),this.domNode.title=Object(s.a)("found","Matched {0} out of {1} elements",this.filter.matchCount,this.filter.totalCount),this.labelDomNode.textContent=this.pattern.length>16?"…"+this.pattern.substr(this.pattern.length-16):this.pattern,this._onDidChangeEmptyState.fire(this._empty)},e.prototype.shouldAllowFocus=function(e){return!(this.enabled&&this.pattern&&!this.filterOnType)||(this.filter.totalCount>0&&this.filter.matchCount<=1||!C.a.isDefault(e.filterData))},e.prototype.dispose=function(){this.disable(),this._onDidChangePattern.dispose(),this.disposables=Object(r.f)(this.disposables)},e}();function z(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}function U(e){return{elements:e.elements.map(function(e){return e.element}),browserEvent:e.browserEvent}}function K(e,t){t(e),e.children.forEach(function(e){return K(e,t)})}var q=function(){function e(e){this.identityProvider=e,this.nodes=[],this._onDidChange=new g.a,this.onDidChange=this._onDidChange.event}return Object.defineProperty(e.prototype,"nodeSet",{get:function(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet},enumerable:!0,configurable:!0}),e.prototype.set=function(e,t){Object(v.g)(this.nodes,e)||this._set(e,!1,t)},e.prototype._set=function(e,t,n){if(this.nodes=e.slice(),this.elements=void 0,this._nodeSet=void 0,!t){var i=this;this._onDidChange.fire({get elements(){return i.get()},browserEvent:n})}},e.prototype.get=function(){return this.elements||(this.elements=this.nodes.map(function(e){return e.element})),this.elements.slice()},e.prototype.getNodes=function(){return this.nodes},e.prototype.has=function(e){return this.nodeSet.has(e)},e.prototype.onDidModelSplice=function(e){var t=this,n=e.insertedNodes,i=e.deletedNodes;if(!this.identityProvider){var o=this.createNodeSet(),r=function(e){return o.delete(e)};return i.forEach(function(e){return K(e,r)}),void this.set(Object(D.e)(o))}var s=new Set,a=function(e){return s.add(t.identityProvider.getId(e.element).toString())};i.forEach(function(e){return K(e,a)});var u=new Map,l=function(e){return u.set(t.identityProvider.getId(e.element).toString(),e)};n.forEach(function(e){return K(e,l)});for(var c=[],d=!0,h=0,p=this.nodes;h0&&e.prototype.setFocus.call(this,Object(v.f)(e.prototype.getFocus.call(this).concat(r))),s.length>0&&e.prototype.setSelection.call(this,Object(v.f)(e.prototype.getSelection.call(this).concat(s)))}},t.prototype.setFocus=function(t,n,i){var o=this;void 0===i&&(i=!1),e.prototype.setFocus.call(this,t,n),i||this.focusTrait.set(t.map(function(e){return o.element(e)}),n)},t.prototype.setSelection=function(t,n,i){var o=this;void 0===i&&(i=!1),e.prototype.setSelection.call(this,t,n),i||this.selectionTrait.set(t.map(function(e){return o.element(e)}),n)},t}(o.b),Y=function(){function e(e,t,n,o){var r,s=this;void 0===o&&(o={}),this._options=o,this.eventBufferer=new g.c,this.disposables=[],this._onWillRefilter=new g.a,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new g.a;var a,u,l,c=new W(t),d=new g.f,h=new g.f,p=new j(h.event);if(this.disposables.push(p),this.renderers=n.map(function(e){return new V(e,d.event,p,o)}),(r=this.disposables).push.apply(r,this.renderers),o.keyboardNavigationLabelProvider&&(a=new B(this,o.keyboardNavigationLabelProvider,o.filter),o=R({},o,{filter:a}),this.disposables.push(a)),this.focus=new q(o.identityProvider),this.selection=new q(o.identityProvider),this.view=new Z(e,c,this.renderers,this.focus,this.selection,R({},(u=function(){return s.model},(l=o)&&R({},l,{identityProvider:l.identityProvider&&{getId:function(e){return l.identityProvider.getId(e.element)}},dnd:l.dnd&&new P(u,l.dnd),multipleSelectionController:l.multipleSelectionController&&{isSelectionSingleChangeEvent:function(e){return l.multipleSelectionController.isSelectionSingleChangeEvent(R({},e,{element:e.element}))},isSelectionRangeChangeEvent:function(e){return l.multipleSelectionController.isSelectionRangeChangeEvent(R({},e,{element:e.element}))}},accessibilityProvider:l.accessibilityProvider&&{getAriaLabel:function(e){return l.accessibilityProvider.getAriaLabel(e.element)},getAriaLevel:function(e){return e.depth}},keyboardNavigationLabelProvider:l.keyboardNavigationLabelProvider&&R({},l.keyboardNavigationLabelProvider,{getKeyboardNavigationLabel:function(e){return l.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element)}}),enableKeyboardNavigation:l.simpleKeyboardNavigation,ariaProvider:{getSetSize:function(e){return e.parent.visibleChildrenCount},getPosInSet:function(e){return e.visibleChildIndex+1}}})),{tree:this})),this.model=this.createModel(this.view,o),d.input=this.model.onDidChangeCollapseState,this.model.onDidSplice(function(e){s.focus.onDidModelSplice(e),s.selection.onDidModelSplice(e)},null,this.disposables),h.input=g.b.map(g.b.any(this.focus.onDidChange,this.selection.onDidChange,this.model.onDidSplice),function(){return s.focus.getNodes().concat(s.selection.getNodes())}),!1!==o.keyboardSupport){var f=g.b.chain(this.view.onKeyDown).filter(function(e){return!z(e.target)}).map(function(e){return new m.a(e)});f.filter(function(e){return 15===e.keyCode}).on(this.onLeftArrow,this,this.disposables),f.filter(function(e){return 17===e.keyCode}).on(this.onRightArrow,this,this.disposables),f.filter(function(e){return 10===e.keyCode}).on(this.onSpace,this,this.disposables)}o.keyboardNavigationLabelProvider&&(this.typeFilterController=new H(this,this.model,this.view,a,o.keyboardNavigationLabelProvider),this.focusNavigationFilter=function(e){return s.typeFilterController.shouldAllowFocus(e)},this.disposables.push(this.typeFilterController)),this.styleElement=Object(i.s)(this.view.getHTMLElement()),Object(i.R)(this.getHTMLElement(),"always",this._options.renderIndentGuides===F.Always)}return Object.defineProperty(e.prototype,"onDidChangeFocus",{get:function(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidChangeSelection",{get:function(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidOpen",{get:function(){return g.b.map(this.view.onDidOpen,U)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidFocus",{get:function(){return this.view.onDidFocus},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidChangeCollapseState",{get:function(){return this.model.onDidChangeCollapseState},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"openOnSingleClick",{get:function(){return void 0===this._options.openOnSingleClick||this._options.openOnSingleClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"expandOnlyOnTwistieClick",{get:function(){return void 0!==this._options.expandOnlyOnTwistieClick&&this._options.expandOnlyOnTwistieClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidDispose",{get:function(){return this.view.onDidDispose},enumerable:!0,configurable:!0}),e.prototype.updateOptions=function(e){void 0===e&&(e={}),this._options=R({},this._options,e);for(var t=0,n=this.renderers;t .indent-guide, .monaco-list"+t+".always .monaco-tl-indent > .indent-guide { border-color: "+e.treeIndentGuidesStroke.transparent(.4)+"; }"),n.push(".monaco-list"+t+" .monaco-tl-indent > .indent-guide.active { border-color: "+e.treeIndentGuidesStroke+"; }"));var i=n.join("\n");i!==this.styleElement.innerHTML&&(this.styleElement.innerHTML=i),this.view.style(e)},e.prototype.getNode=function(e){return this.model.getNode(e)},e.prototype.collapse=function(e,t){return void 0===t&&(t=!1),this.model.setCollapsed(e,!0,t)},e.prototype.expand=function(e,t){return void 0===t&&(t=!1),this.model.setCollapsed(e,!1,t)},e.prototype.isCollapsed=function(e){return this.model.isCollapsed(e)},e.prototype.refilter=function(){this._onWillRefilter.fire(void 0),this.model.refilter()},e.prototype.setSelection=function(e,t){var n=this,i=e.map(function(e){return n.model.getNode(e)});this.selection.set(i,t);var o=e.map(function(e){return n.model.getListIndex(e)}).filter(function(e){return e>-1});this.view.setSelection(o,t,!0)},e.prototype.getSelection=function(){return this.selection.get()},e.prototype.setFocus=function(e,t){var n=this,i=e.map(function(e){return n.model.getNode(e)});this.focus.set(i,t);var o=e.map(function(e){return n.model.getListIndex(e)}).filter(function(e){return e>-1});this.view.setFocus(o,t,!0)},e.prototype.focusNext=function(e,t,n,i){void 0===e&&(e=1),void 0===t&&(t=!1),void 0===i&&(i=this.focusNavigationFilter),this.view.focusNext(e,t,n,i)},e.prototype.getFocus=function(){return this.focus.get()},e.prototype.reveal=function(e,t){this.model.expandTo(e);var n=this.model.getListIndex(e);-1!==n&&this.view.reveal(n,t)},e.prototype.getRelativeTop=function(e){var t=this.model.getListIndex(e);return-1===t?null:this.view.getRelativeTop(t)},e.prototype.onLeftArrow=function(e){e.preventDefault(),e.stopPropagation();var t=this.view.getFocusedElements();if(0!==t.length){var n=t[0],i=this.model.getNodeLocation(n);if(!this.model.setCollapsed(i,!0)){var o=this.model.getParentNodeLocation(i);if(null===o)return;var r=this.model.getListIndex(o);this.view.reveal(r),this.view.setFocus([r])}}},e.prototype.onRightArrow=function(e){e.preventDefault(),e.stopPropagation();var t=this.view.getFocusedElements();if(0!==t.length){var n=t[0],i=this.model.getNodeLocation(n);if(!this.model.setCollapsed(i,!1)){if(!n.children.some(function(e){return e.visible}))return;var o=this.view.getFocus()[0]+1;this.view.reveal(o),this.view.setFocus([o])}}},e.prototype.onSpace=function(e){e.preventDefault(),e.stopPropagation();var t=this.view.getFocusedElements();if(0!==t.length){var n=t[0],i=this.model.getNodeLocation(n),o=e.browserEvent.altKey;this.model.setCollapsed(i,void 0,o)}},e.prototype.dispose=function(){this.disposables=Object(r.f)(this.disposables),this.view.dispose()},e}(),X=this&&this.__assign||function(){return(X=Object.assign||function(e){for(var t,n=1,i=arguments.length;n0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]-1&&i.focus.push(h),i&&i.viewState.selection&&i.viewState.selection.indexOf(l)>-1&&i.selection.push(h),i&&i.viewState.expanded&&i.viewState.expanded.indexOf(l)>-1?d.push(h):o&&r.collapseByDefault&&!r.collapseByDefault(t)&&(h.collapsedByDefault=!1,d.push(h)),h}),p=0,f=Object(D.e)(s);p-1)&&t.collapsedByDefault,t.collapsedByDefault=void 0,{element:t,children:t.hasChildren?w.d.map(w.d.fromArray(t.children),function(t){return e(t,n)}):[],collapsible:t.hasChildren,collapsed:i}}(e,t)});this.tree.setChildren(e===this.root?null:e,n),this._onDidRender.fire()},e.prototype.dispose=function(){Object(r.f)(this.disposables)},e}(),fe=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ge=function(e){function t(t,n,i,o,r){void 0===r&&(r={});var s=e.call(this,t,n,i,r)||this;return s.dataSource=o,s.identityProvider=r.identityProvider,s}return fe(t,e),t.prototype.createModel=function(e,t){return new J(e,t)},t}(Y),me=n("xJaW");n.d(t,"a",function(){return we}),n.d(t,"b",function(){return Se}),n.d(t,"c",function(){return Ke});var _e,ve=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ye=this&&this.__assign||function(){return(ye=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},Ce=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},we=Object(c.c)("listService"),Se=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 n=this;if(this.lists.some(function(t){return t.widget===e}))throw new Error("Cannot register the same widget multiple times");var i={widget:e,extraContextKeys:t};return this.lists.push(i),e.getHTMLElement()===document.activeElement&&(this._lastFocusedWidget=e),Object(r.e)(e.onDidFocus(function(){return n._lastFocusedWidget=e}),Object(r.h)(function(){return n.lists.splice(n.lists.indexOf(i),1)}),e.onDidDispose(function(){n.lists=n.lists.filter(function(e){return e!==i}),n._lastFocusedWidget===e&&(n._lastFocusedWidget=void 0)}))},e=be([Ce(0,l.c)],e)}(),Le=new l.d("listFocus",!0),Oe=new l.d("listSupportsMultiselect",!0),Ee=new l.d("listHasSelectionOrFocus",!1),Ne=new l.d("listDoubleSelection",!1),xe=new l.d("listMultiSelection",!1),Ie=new l.d("listSupportsKeyboardNavigation",!0),De="listAutomaticKeyboardNavigation",ke=new l.d(De,!0),Te=!1;var Me="workbench.list.multiSelectModifier",Re="workbench.list.openMode",Ae="workbench.list.horizontalScrolling",Pe="workbench.list.keyboardNavigation",Fe="workbench.list.automaticKeyboardNavigation",We="workbench.tree.indent",je="workbench.tree.renderIndentGuides";function Ve(e){return"alt"===e.getValue(Me)}function Be(e){return"doubleClick"!==e.getValue(Re)}var He,ze=function(e){function t(t){var n=e.call(this)||this;return n.configurationService=t,n.useAltAsMultipleSelectionModifier=Ve(t),n.registerListeners(),n}return ve(t,e),t.prototype.registerListeners=function(){var e=this;this._register(this.configurationService.onDidChangeConfiguration(function(t){t.affectsConfiguration(Me)&&(e.useAltAsMultipleSelectionModifier=Ve(e.configurationService))}))},t.prototype.isSelectionSingleChangeEvent=function(e){return this.useAltAsMultipleSelectionModifier?e.browserEvent.altKey:Object(o.e)(e)},t.prototype.isSelectionRangeChangeEvent=function(e){return Object(o.d)(e)},t}(r.a),Ue=function(e){function t(t,n){var i=e.call(this)||this;return i.configurationService=t,i.existingOpenController=n,i.openOnSingleClick=Be(t),i.registerListeners(),i}return ve(t,e),t.prototype.registerListeners=function(){var e=this;this._register(this.configurationService.onDidChangeConfiguration(function(t){t.affectsConfiguration(Re)&&(e.openOnSingleClick=Be(e.configurationService))}))},t.prototype.shouldOpen=function(e){if(e instanceof MouseEvent){var t=0===e.button,n=2===e.detail;return!(t&&!this.openOnSingleClick&&!n)&&(!(!t&&1!==e.button)&&(!this.existingOpenController||this.existingOpenController.shouldOpen(e)))}return!this.existingOpenController||this.existingOpenController.shouldOpen(e)},t}(r.a);(function(e){function t(t,n,i,o,r,s,a,u,l,c){var d=this,h=qe(t,o,r,a,u,l,c),p=h.options,f=h.getAutomaticKeyboardNavigation,g=h.disposable;return(d=e.call(this,t,n,i,p)||this).disposables.push(g),d.internals=new Ge(d,p,f,r,s,a,u,c),d.disposables.push(d.internals),d}ve(t,e),t=be([Ce(4,l.c),Ce(5,we),Ce(6,f.c),Ce(7,a.a),Ce(8,d.a),Ce(9,me.b)],t)})($),function(e){function t(t,n,i,o,r,s,a,u,l,c,d){var h=this,p=qe(t,r,s,u,l,c,d),f=p.options,g=p.getAutomaticKeyboardNavigation,m=p.disposable;return(h=e.call(this,t,n,i,o,f)||this).disposables.push(m),h.internals=new Ge(h,f,g,s,a,u,l,d),h.disposables.push(h.internals),h}ve(t,e),t=be([Ce(5,l.c),Ce(6,we),Ce(7,f.c),Ce(8,a.a),Ce(9,d.a),Ce(10,me.b)],t)}(ge);var Ke=function(e){function t(t,n,i,o,r,s,a,u,l,c,d){var h=this,p=qe(t,r,s,u,l,c,d),f=p.options,g=p.getAutomaticKeyboardNavigation,m=p.disposable;return(h=e.call(this,t,n,i,o,f)||this).disposables.push(m),h.internals=new Ge(h,f,g,s,a,u,l,d),h.disposables.push(h.internals),h}return ve(t,e),Object.defineProperty(t.prototype,"contextKeyService",{get:function(){return this.internals.contextKeyService},enumerable:!0,configurable:!0}),t=be([Ce(5,l.c),Ce(6,we),Ce(7,f.c),Ce(8,a.a),Ce(9,d.a),Ce(10,me.b)],t)}(pe);function qe(e,t,n,s,u,l,c){Ie.bindTo(n),Te||(ke.bindTo(n),Te=!0);var d=function(){var e=n.getContextKeyValue(De);return e&&(e=u.getValue(Fe)),e},h=2===c.getAccessibilitySupport()?"simple":u.getValue(Pe),f=void 0!==t.horizontalScrolling?t.horizontalScrolling:function(e){return Object(a.f)(e,Ae,"workbench.tree.horizontalScrolling")}(u),g=Be(u),m=function(e,t,n){var i=new r.b,o=ye({},e);if(!1!==e.multipleSelectionSupport&&!e.multipleSelectionController){var s=new ze(t);o.multipleSelectionController=s,i.add(s)}var a=new Ue(t,e.openController);if(o.openController=a,i.add(a),e.keyboardNavigationLabelProvider){var u=e.keyboardNavigationLabelProvider;o.keyboardNavigationLabelProvider={getKeyboardNavigationLabel:function(e){return u.getKeyboardNavigationLabel(e)},mightProducePrintableCharacter:function(e){return n.mightProducePrintableCharacter(e)}}}return[o,i]}(t,u,l),_=m[0],v=m[1],y=t.additionalScrollHeight;return{getAutomaticKeyboardNavigation:d,disposable:v,options:ye({keyboardSupport:!1,styleController:new o.a((He||(He=Object(i.s)()),He))},Object(p.e)(s.getTheme(),p.f),_,{indent:u.getValue(We),renderIndentGuides:u.getValue(je),automaticKeyboardNavigation:d(),simpleKeyboardNavigation:"simple"===h,filterOnType:"filter"===h,horizontalScrolling:f,openOnSingleClick:g,keyboardNavigationEventFilter:function(e,t){var n=!1;return function(i){if(n)return n=!1,!1;var o=t.softDispatch(i,e);return o&&o.enterChord?(n=!0,!1):(n=!1,!0)}}(e,l),additionalScrollHeight:y})}}var Ge=function(){function e(e,t,n,i,o,r,s,a){var u=this;this.disposables=[],this.contextKeyService=function(e,t){var n=e.createScoped(t.getHTMLElement());return Le.bindTo(n),n}(i,e),Oe.bindTo(this.contextKeyService).set(!(!1===t.multipleSelectionSupport)),this.hasSelectionOrFocus=Ee.bindTo(this.contextKeyService),this.hasDoubleSelection=Ne.bindTo(this.contextKeyService),this.hasMultiSelection=xe.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=Ve(s);var l=new Set;l.add(De);var c=function(){var t=2===a.getAccessibilitySupport()?"simple":s.getValue(Pe);e.updateOptions({simpleKeyboardNavigation:"simple"===t,filterOnType:"filter"===t})};this.disposables.push(this.contextKeyService,o.register(e),Object(p.b)(e,r),e.onDidChangeSelection(function(){var t=e.getSelection(),n=e.getFocus();u.hasSelectionOrFocus.set(t.length>0||n.length>0),u.hasMultiSelection.set(t.length>1),u.hasDoubleSelection.set(2===t.length)}),e.onDidChangeFocus(function(){var t=e.getSelection(),n=e.getFocus();u.hasSelectionOrFocus.set(t.length>0||n.length>0)}),s.onDidChangeConfiguration(function(t){if(t.affectsConfiguration(Re)&&e.updateOptions({openOnSingleClick:Be(s)}),t.affectsConfiguration(Me)&&(u._useAltAsMultipleSelectionModifier=Ve(s)),t.affectsConfiguration(We)){var i=s.getValue(We);e.updateOptions({indent:i})}if(t.affectsConfiguration(je)){var o=s.getValue(je);e.updateOptions({renderIndentGuides:o})}t.affectsConfiguration(Pe)&&c(),t.affectsConfiguration(Fe)&&e.updateOptions({automaticKeyboardNavigation:n()})}),this.contextKeyService.onDidChangeContext(function(t){t.affectsSome(l)&&e.updateOptions({automaticKeyboardNavigation:n()})}),a.onDidChangeAccessibilitySupport(function(){return c()}))}return e.prototype.dispose=function(){this.disposables=Object(r.f)(this.disposables)},e=be([Ce(3,l.c),Ce(4,we),Ce(5,f.c),Ce(6,a.a),Ce(7,me.b)],e)}();h.a.as(u.a.Configuration).registerConfiguration({id:"workbench",order:7,title:Object(s.a)("workbenchConfigurationTitle","Workbench"),type:"object",properties:(_e={},_e[Me]={type:"string",enum:["ctrlCmd","alt"],enumDescriptions:[Object(s.a)("multiSelectModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),Object(s.a)("multiSelectModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:Object(s.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.")},_e[Re]={type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:Object(s.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. ")},_e[Ae]={type:"boolean",default:!1,description:Object(s.a)("horizontalScrolling setting","Controls whether lists and trees support horizontal scrolling in the workbench.")},_e["workbench.tree.horizontalScrolling"]={type:"boolean",default:!1,description:Object(s.a)("tree horizontalScrolling setting","Controls whether trees support horizontal scrolling in the workbench."),deprecationMessage:Object(s.a)("deprecated","This setting is deprecated, please use '{0}' instead.",Ae)},_e[We]={type:"number",default:8,minimum:0,maximum:40,description:Object(s.a)("tree indent setting","Controls tree indentation in pixels.")},_e[je]={type:"string",enum:["none","onHover","always"],default:"onHover",description:Object(s.a)("render tree indent guides","Controls whether the tree should render indent guides.")},_e[Pe]={type:"string",enum:["simple","highlight","filter"],enumDescriptions:[Object(s.a)("keyboardNavigationSettingKey.simple","Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),Object(s.a)("keyboardNavigationSettingKey.highlight","Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),Object(s.a)("keyboardNavigationSettingKey.filter","Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:Object(s.a)("keyboardNavigationSettingKey","Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter.")},_e[Fe]={type:"boolean",default:!0,markdownDescription:Object(s.a)("automatic keyboard navigation setting","Controls whether keyboard navigation in lists and trees is automatically triggered simply by typing. If set to `false`, keyboard navigation is only triggered when executing the `list.toggleKeyboardNavigation` command, for which you can assign a keyboard shortcut.")},_e)})},blYT:function(e,t,n){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(t,n("DuR2"))},"c/Tr":function(e,t,n){e.exports={default:n("5zde"),__esModule:!0}},"c/Wp":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o=n("hK2W"),r=n("aL7J"),s=n("03Zz"),a=n("Ao9X"),u=n("artP"),l=n("vTy2"),c=n("/9db"),d=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),h=function(e){function t(){return e.call(this,{id:"editor.action.transposeLetters",label:o.a("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:c.a.writable,kbOpts:{kbExpr:c.a.textInputFocus,primary:0,mac:{primary:306},weight:100}})||this}return d(t,e),t.prototype.positionLeftOf=function(e,t){var n=e.column,i=e.lineNumber;return n>t.getLineMinColumn(i)?Object(r.x)(t.getLineContent(i).charCodeAt(n-2))?n-=2:n-=1:i>1&&(i-=1,n=t.getLineMaxColumn(i)),new u.a(i,n)},t.prototype.positionRightOf=function(e,t){var n=e.column,i=e.lineNumber;return n0&&(t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop())}},t}(s.b);Object(s.f)(h)},c6Qy:function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"b",function(){return o}),n.d(t,"c",function(){return r});var i=function(){function e(e,t,n){this.offset=0|e,this.type=t,this.language=n}return e.prototype.toString=function(){return"("+this.offset+", "+this.type+")"},e}(),o=function(){return function(e,t){this.tokens=e,this.endState=t}}(),r=function(){return function(e,t){this.tokens=e,this.endState=t}}()},c7fK:function(e,t,n){self.MonacoEnvironment=function(e){return{getWorkerUrl:function(t,n){var i="string"==typeof window.__webpack_public_path__?window.__webpack_public_path__:"/";return(i?i.replace(/\/$/,"")+"/":"")+e[n]}}}({editorWorkerService:"static/editor.worker.js",json:"static/json.worker.js"}),n("kQWG"),n("8VcP"),n("mcra"),n("4JIo"),n("G7Ib"),n("6jTg"),n("MfmB"),n("LA/v"),n("xteI"),n("HZsc"),n("d3wY"),n("NjkW"),n("T1Qz"),n("gpb6"),n("y3Fb"),n("ygb1"),n("QfwU"),n("oqRo"),n("MOjS"),n("GV5w"),n("l6RD"),n("am7U"),n("O8j7"),n("pvVJ"),n("QgSF"),n("ia1G"),n("2LSJ"),n("qqhx"),n("+u1c"),n("QM8g"),n("nY9q"),n("RzWM"),n("qBq4"),n("6Hge"),n("Bzq0"),n("7YfR"),n("qEZG"),n("0bce"),n("c/Wp"),n("2jYl"),n("I8T6"),n("EfRI"),e.exports=n("Ny4g"),n("Ye2W"),n("tTCp")},cLaT:function(e,t,n){"use strict";n.d(t,"a",function(){return o});var i=n("PCC9"),o=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,n){if(this._text!==e._text)return!1;if(this._tokensCount!==e._tokensCount)return!1;for(var i=t<<1,o=i+(n<<1),r=i;r0?this._tokens[e-1<<1]:0},e.prototype.getLanguageId=function(e){var t=this._tokens[1+(e<<1)];return i.x.getLanguageId(t)},e.prototype.getStandardTokenType=function(e){var t=this._tokens[1+(e<<1)];return i.x.getTokenType(t)},e.prototype.getForeground=function(e){var t=this._tokens[1+(e<<1)];return i.x.getForeground(t)},e.prototype.getClassName=function(e){var t=this._tokens[1+(e<<1)];return i.x.getClassNameFromMetadata(t)},e.prototype.getInlineStyle=function(e,t){var n=this._tokens[1+(e<<1)];return i.x.getInlineStyleFromMetadata(n,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,n){return new r(this,e,t,n)},e.convertToEndOffset=function(e,t){for(var n=(e.length>>>1)-1,i=0;i>>1)-1;nt&&(i=o)}return n},e}(),r=function(){function e(e,t,n,i){this._source=e,this._startOffset=t,this._endOffset=n,this._deltaOffset=i,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this._tokensCount=0;for(var o=this._firstTokenIndex,r=e.getCount();o=n)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}()},cdq7:function(e,t){e.exports=function(e,t,n,i){for(var o=e.length,r=n+(i?1:-1);i?r--:++r50&&n._undoStack.shift()),n._prevState=n._readState()})),n}return u(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype._readState=function(){return this._editor.hasModel()?new l(this._editor.getSelections()):null},t.prototype.getId=function(){return t.ID},t.prototype.cursorUndo=function(){if(this._editor.hasModel())for(var e=new l(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}(r.a),d=function(e){function t(){return e.call(this,{id:"cursorUndo",label:o.a("cursor.undo","Soft Undo"),alias:"Soft Undo",precondition:void 0,kbOpts:{kbExpr:a.a.textInputFocus,primary:2099,weight:100}})||this}return u(t,e),t.prototype.run=function(e,t,n){c.get(t).cursorUndo()},t}(s.b);Object(s.h)(c),Object(s.f)(d)},d4US:function(e,t,n){var i=n("ICSD")(n("TQ3y"),"DataView");e.exports=i},dwjm:function(e,t,n){"use strict";t.a=function(e){var t,n=this,i=!1;return function(){return i?t:(i=!0,t=e.apply(n,arguments))}}},e15g:function(e,t,n){"use strict";n.d(t,"b",function(){return _}),n.d(t,"a",function(){return y}),t.c=function(){return i},t.e=b,t.d=S,t.f=function(e,t){setTimeout(function(){var n;(n=L.onlyOnceSuggestions).push.apply(n,t),e.getContribution("editor.contrib.suggestController").triggerSuggest((new Set).add(L))},0)};var i,o=n("odeJ"),r=n("TU7t"),s=n("zxiH"),a=n("03Zz"),u=n("PCC9"),l=n("7g0X"),c=n("80kS"),d=n("vTy2"),h=n("GYOr"),p=n("tqet"),f=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},g=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]0)||n.providerFilter.has(o))return Promise.resolve(o.provideCompletionItems(e,t,r,a)).then(function(r){var s=g.length;if(r){for(var a=0,u=r.suggestions||[];at.sortTextLow)return 1}return e.completion.labelt.completion.label?1:e.completion.kind-t.completion.kind}var w=new Map;function S(e){return w.get(e)}w.set(0,function(e,t){if(e.completion.kind!==t.completion.kind){if(25===e.completion.kind)return-1;if(25===t.completion.kind)return 1}return C(e,t)}),w.set(2,function(e,t){if(e.completion.kind!==t.completion.kind){if(25===e.completion.kind)return 1;if(25===t.completion.kind)return-1}return C(e,t)}),w.set(1,C),Object(a.e)("_executeCompletionItemProvider",function(e,t,n){return f(m,void 0,void 0,function(){var i,o,r,s,a,u,l,d;return g(this,function(h){switch(h.label){case 0:return i={incomplete:!1,suggestions:[]},o=new p.b,r=[],s=n.maxItemsToResolve||0,[4,b(e,t)];case 1:for(a=h.sent(),u=0,l=a;u0;){if("top-level"!==this.indentTypes.pop())break}},e}();t.default=s,e.exports=t.default},eoic:function(e,t,n){"use strict";n.d(t,"c",function(){return a}),t.g=function(e){return{id:e}},n.d(t,"d",function(){return l}),n.d(t,"b",function(){return c}),t.e=function(e){switch(e){case u:return"vs-dark";case c:return"hc-black";default:return"vs"}},n.d(t,"a",function(){return d}),t.f=function(e){return h.onThemeChange(e)};var i=n("JVO/"),o=n("tqet"),r=n("RWr8"),s=n("Kp7x"),a=Object(i.c)("themeService");var u="dark",l="light",c="hc";var d={ThemingContribution:"base.contributions.theming"},h=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(o.h)(function(){var n=t.themingParticipants.indexOf(e);t.themingParticipants.splice(n,1)})},e.prototype.getThemingParticipants=function(){return this.themingParticipants},e}());r.a.add(d.ThemingContribution,h)},f931:function(e,t){e.exports=function(e,t){return function(n){return e(t(n))}}},fAkY:function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return s});var i=n("Nr0y"),o=n("JVO/"),r=(i.a,Object(o.c)("notificationService")),s=function(){return function(){}}()},fBQ2:function(e,t,n){"use strict";var i=n("evD5"),o=n("X8DO");e.exports=function(e,t,n){t in e?i.f(e,t,o(0,n)):e[t]=n}},ftXN:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var i,o=n("aL7J");i="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||o.w(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 n=0;n0&&0===e.minimapLeft?e.minimapWidth:0},e.prototype._onViewZoneTop=function(e){this.domNode.style.top=e+"px"},e.prototype._onViewZoneHeight=function(e){if(this.domNode.style.height=e+"px",this.container){var t=e-this._decoratingElementsHeight();this.container.style.height=t+"px";var n=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(n))}this._resizeSash&&this._resizeSash.layout()},Object.defineProperty(e.prototype,"position",{get:function(){var e=this._positionMarkerId[0];if(e){var t=this.editor.getModel();if(t){var n=t.getDecorationRange(e);if(n)return n.getStartPosition()}}},enumerable:!0,configurable:!0}),e.prototype.show=function(e,t){var n=g.a.isIRange(e)?e:new g.a(e.lineNumber,e.column,e.lineNumber,e.column);this._isShowing=!0,this._showImpl(n,t),this._isShowing=!1,this._positionMarkerId=this.editor.deltaDecorations(this._positionMarkerId,[{range:n,options:m.a.EMPTY}])},e.prototype.hide=function(){var e=this;this._viewZone&&(this.editor.changeViewZones(function(t){e._viewZone&&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 n=this,i={lineNumber:e.startLineNumber,column:e.startColumn},o=this.editor.getLayoutInfo(),r=this._getWidth(o);this.domNode.style.width=r+"px",this.domNode.style.left=this._getLeft(o)+"px";var s=document.createElement("div");s.style.overflow="hidden";var a=this.editor.getConfiguration().lineHeight,u=this.editor.getLayoutInfo().height/a*.8;t>=u&&(t=u);var l=0,c=0;if(this._arrow&&this.options.showArrow&&(l=Math.round(a/3),this._arrow.height=l,this._arrow.show(i)),this.options.showFrame&&(c=Math.round(a/9)),this.editor.changeViewZones(function(e){n._viewZone&&e.removeZone(n._viewZone.id),n._overlayWidget&&(n.editor.removeOverlayWidget(n._overlayWidget),n._overlayWidget=null),n.domNode.style.top="-1000px",n._viewZone=new y(s,i.lineNumber,i.column,t,function(e){return n._onViewZoneTop(e)},function(e){return n._onViewZoneHeight(e)}),n._viewZone.id=e.addZone(n._viewZone),n._overlayWidget=new b("vs.editor.contrib.zoneWidget"+n._viewZone.id,n.domNode),n.editor.addOverlayWidget(n._overlayWidget)}),this.container&&this.options.showFrame){var d=this.options.frameWidth?this.options.frameWidth:c;this.container.style.borderTopWidth=d+"px",this.container.style.borderBottomWidth=d+"px"}var h=t*a-this._decoratingElementsHeight();this.container&&(this.container.style.top=l+"px",this.container.style.height=h+"px",this.container.style.overflow="hidden"),this._doLayout(h,r),this.options.keepEditorSelection||this.editor.setSelection(e);var p=this.editor.getModel();if(p){var f=Math.min(p.getLineCount(),Math.max(1,e.endLineNumber+1));this.revealLine(f)}},e.prototype.revealLine=function(e){this.editor.revealLine(e,0)},e.prototype.setCssClass=function(e,t){this.container&&(t&&this.container.classList.remove(t),i.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&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones(function(n){t._viewZone&&(t._viewZone.heightInLines=e,n.layoutZone(t._viewZone.id))})},e.prototype._initSash=function(){var e,t=this;this._resizeSash||(this._resizeSash=this._disposables.add(new h.a(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.hide(),this._resizeSash.state=0),this._disposables.add(this._resizeSash.onDidStart(function(n){t._viewZone&&(e={startY:n.startY,heightInLines:t._viewZone.heightInLines})})),this._disposables.add(this._resizeSash.onDidEnd(function(){e=void 0})),this._disposables.add(this._resizeSash.onDidChange(function(n){if(e){var i=(n.currentY-e.startY)/t.editor.getConfiguration().lineHeight,o=i<0?Math.ceil(i):Math.floor(i),r=e.heightInLines+o;r>5&&r<35&&t._relayout(r)}})))},e.prototype.getHorizontalSashLeft=function(){return 0},e.prototype.getHorizontalSashTop=function(){return(null===this.domNode.style.height?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2},e.prototype.getHorizontalSashWidth=function(){var e=this.editor.getLayoutInfo();return e.width-e.minimapWidth},e}(),S=n("hK2W"),L=n("7g0X"),O=n("JVO/"),E=n("8xpx");n.d(t,"a",function(){return k}),n.d(t,"b",function(){return x}),t.d=function(e){var t=e.get(c.a).getFocusedCodeEditor();if(t instanceof d.a)return t.getParentEditor();return t},n.d(t,"c",function(){return M});var N,x,I,D=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 n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}N(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),k=Object(O.c)("IPeekViewService");Object(E.b)(k,function(){function e(){this._widgets=new Map}return e.prototype.addExclusiveWidget=function(e,t){var n=this,i=this._widgets.get(e);i&&(i.listener.dispose(),i.widget.dispose());this._widgets.set(e,{widget:t,listener:t.onDidClose(function(){var i=n._widgets.get(e);i&&i.widget===t&&(i.listener.dispose(),n._widgets.delete(e))})})},e}()),(I=x||(x={})).inPeekEditor=new L.d("inReferenceSearchEditor",!0),I.notInPeekEditor=I.inPeekEditor.toNegated();var T={headerBackgroundColor:s.a.white,primaryHeadingColor:s.a.fromHex("#333333"),secondaryHeadingColor:s.a.fromHex("#6c6c6cb3")},M=function(e){function t(t,n){void 0===n&&(n={});var i=e.call(this,t,n)||this;return i._onDidClose=new a.a,u.g(i.options,T,!1),i}return D(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 n=this.options;t.headerBackgroundColor&&(n.headerBackgroundColor=t.headerBackgroundColor),t.primaryHeadingColor&&(n.primaryHeadingColor=t.primaryHeadingColor),t.secondaryHeadingColor&&(n.secondaryHeadingColor=t.secondaryHeadingColor),e.prototype.style.call(this,t)},t.prototype._applyStyles=function(){e.prototype._applyStyles.call(this);var t=this.options;this._headElement&&t.headerBackgroundColor&&(this._headElement.style.backgroundColor=t.headerBackgroundColor.toString()),this._primaryHeading&&t.primaryHeadingColor&&(this._primaryHeading.style.color=t.primaryHeadingColor.toString()),this._secondaryHeading&&t.secondaryHeadingColor&&(this._secondaryHeading.style.color=t.secondaryHeadingColor.toString()),this._bodyElement&&t.frameColor&&(this._bodyElement.style.borderColor=t.frameColor.toString())},t.prototype._fillContainer=function(e){this.setCssClass("peekview-widget"),this._headElement=i.a(".head"),this._bodyElement=i.a(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)},t.prototype._fillHead=function(e){var t=this,n=i.a(".peekview-title");i.m(this._headElement,n),i.k(n,"click",function(e){return t._onTitleClick(e)}),this._fillTitleIcon(n),this._primaryHeading=i.a("span.filename"),this._secondaryHeading=i.a("span.dirname"),this._metaHeading=i.a("span.meta"),i.m(n,this._primaryHeading,this._secondaryHeading,this._metaHeading);var s=i.a(".peekview-actions");i.m(this._headElement,s);var a=this._getActionBarOptions();this._actionbarWidget=new o.a(s,a),this._disposables.add(this._actionbarWidget),this._actionbarWidget.push(new r.a("peekview.close",S.a("label.close","Close"),"close-peekview-action",!0,function(){return t.dispose(),Promise.resolve()}),{label:!1,icon:!0})},t.prototype._fillTitleIcon=function(e){},t.prototype._getActionBarOptions=function(){return{}},t.prototype._onTitleClick=function(e){},t.prototype.setTitle=function(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerHTML=l.o(e),this._primaryHeading.setAttribute("aria-label",e),t?this._secondaryHeading.innerHTML=l.o(t):i.p(this._secondaryHeading))},t.prototype.setMetaTitle=function(e){this._metaHeading&&(e?this._metaHeading.innerHTML=l.o(e):i.p(this._metaHeading))},t.prototype._doLayout=function(e,t){if(!this._isShowing&&e<0)this.dispose();else{var n=Math.ceil(1.2*this.editor.getConfiguration().lineHeight),i=e-(n+2);this._doLayoutHead(n,t),this._doLayoutBody(i,t)}},t.prototype._doLayoutHead=function(e,t){this._headElement&&(this._headElement.style.height=e+"px",this._headElement.style.lineHeight=this._headElement.style.height)},t.prototype._doLayoutBody=function(e,t){this._bodyElement&&(this._bodyElement.style.height=e+"px")},t}(w)},fyvs:function(e,t,n){"use strict";n.d(t,"a",function(){return u});var i,o=n("Kp7x"),r=n("tqet"),s=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=function(){function e(e,t,n,i,o,r){t|=0,n|=0,i|=0,o|=0,r|=0,(e|=0)<0&&(e=0),n+e>t&&(n=t-e),n<0&&(n=0),i<0&&(i=0),r+i>o&&(r=o-i),r<0&&(r=0),this.width=e,this.scrollWidth=t,this.scrollLeft=n,this.height=i,this.scrollHeight=o,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,n=this.scrollWidth!==e.scrollWidth,i=this.scrollLeft!==e.scrollLeft,o=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:n,scrollLeftChanged:i,heightChanged:o,scrollHeightChanged:r,scrollTopChanged:s}},e}(),u=function(e){function t(t,n){var i=e.call(this)||this;return i._onScroll=i._register(new o.a),i.onScroll=i._onScroll.event,i._smoothScrollDuration=t,i._scheduleAtNextAnimationFrame=n,i._state=new a(0,0,0,0,0,0),i._smoothScrolling=null,i}return s(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 n=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===n.scrollLeft&&this._smoothScrolling.to.scrollTop===n.scrollTop)return;var i=this._smoothScrolling.combine(this._state,n,this._smoothScrollDuration);this._smoothScrolling.dispose(),this._smoothScrolling=i}else{n=this._state.withScrollPosition(e);this._smoothScrolling=d.start(this._state,n,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(function(){t._smoothScrolling&&(t._smoothScrolling.animationFrameDisposable=null,t._performSmoothScrolling())})},t.prototype._performSmoothScrolling=function(){var e=this;if(this._smoothScrolling){var t=this._smoothScrolling.tick(),n=this._state.withScrollPosition(t);if(this._setState(n),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),l=function(){return function(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}}();function c(e,t){var n=t-e;return function(t){return e+n*(1-function(e){return Math.pow(e,3)}(1-t))}}var d=function(){function e(e,t,n,i){this.from=e,this.to=t,this.duration=i,this._startTime=n,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,n){var i,o,r;if(Math.abs(e-t)>2.5*n){var s=void 0,a=void 0;return e0&&void 0!==arguments[0]?arguments[0]:1;return this.tokens[this.index-e]||{}},e}();t.default=l,e.exports=t.default},ggOT:function(e,t,n){(function(e){var i=n("TQ3y"),o=n("gwcX"),r="object"==typeof t&&t&&!t.nodeType&&t,s=r&&"object"==typeof e&&e&&!e.nodeType&&e,a=s&&s.exports===r?i.Buffer:void 0,u=(a?a.isBuffer:void 0)||o;e.exports=u}).call(t,n("3IRH")(e))},gpb6:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n("Vcj/");var i=n("hK2W"),o=n("KIxu"),r=n("aL7J"),s=n("odeJ"),a=n("uNfg"),u=n("tqet"),l=n("03Zz"),c=n("Kp7x"),d=65535,h=function(){function e(e,t,n){if(e.length!==t.length||e.length>d)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=n,this._parentsComputed=!1}return e.prototype.ensureParentIndices=function(){var e=this;if(!this._parentsComputed){this._parentsComputed=!0;for(var t=[],n=function(n,i){var o=t[t.length-1];return e.getStartLineNumber(o)<=n&&e.getEndLineNumber(o)>=i},i=0,o=this._startIndexes.length;i16777215||s>16777215)throw new Error("startLineNumber or endLineNumber must not exceed 16777215");for(;t.length>0&&!n(r,s);)t.pop();var a=t.length>0?t[t.length-1]:-1;t.push(i),this._startIndexes[i]=r+((255&a)<<24),this._endIndexes[i]=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,n=e%32;return 0!=(this._collapseStates[t]&1<>>24)+((4278190080&this._endIndexes[e])>>>16);return t===d?-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,n=this._startIndexes.length;if(0===n)return-1;for(;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.endLineNumber},e.prototype.containsLine=function(e){return this.startLineNumber<=e&&e<=this.endLineNumber},e}(),f=function(){function e(e,t){this._updateEventEmitter=new c.a,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new h(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,"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 n={};this._decorationProvider.changeDecorations(function(i){for(var o=0,r=e;o=d))break;o(a,c===d),a++}}u=s()}for(;a0)return e},e.prototype.applyMemento=function(e){if(Array.isArray(e)){for(var t=[],n=0,i=e;n=0;){var r=this._regions.toRegion(i);t&&!t(r,o)||n.push(r),o++,i=r.parentIndex}return n},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){var n=[],i=e?e.regionIndex+1:0,o=e?e.endLineNumber:Number.MAX_VALUE;if(t&&2===t.length)for(var r=[],s=i,a=this._regions.length;s0&&!u.containedBy(r[r.length-1]);)r.pop();r.push(u),t(u,r.length)&&n.push(u)}else for(s=i,a=this._regions.length;s0)for(var r=0,s=i;r1)){var l=e.getRegionsInside(u,function(e,i){return e.isCollapsed!==t&&i=0;s--)if(n!==o.isCollapsed(s)){var a=o.getStartLineNumber(s);t.test(i.getLineContent(a))&&r.push(o.toRegion(s))}e.toggleCollapseState(r)}function v(e,t,n){for(var i=e.regions,o=[],r=i.length-1;r>=0;r--)n!==i.isCollapsed(r)&&t===i.getType(r)&&o.push(i.toRegion(r));e.toggleCollapseState(o)}var y=n("0ly5"),b=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=y.a.register({stickiness:1,afterContentClassName:"inline-folded",linesDecorationsClassName:"folding collapsed"}),e.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=y.a.register({stickiness:1,linesDecorationsClassName:"folding"}),e.EXPANDED_VISUAL_DECORATION=y.a.register({stickiness:1,linesDecorationsClassName:"folding alwaysShowFoldIcons"}),e}(),C=n("/9db"),w=n("vTy2"),S=n("X6iQ"),L=function(){function e(e){var t=this;this._updateEventEmitter=new c.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=[],n=0,i=0,o=Number.MAX_VALUE,r=-1,s=this._foldingModel.regions;n0},e.prototype.isHidden=function(e){return null!==O(this._hiddenRanges,e)},e.prototype.adjustSelections=function(e){for(var t=this,n=!1,i=this._foldingModel.textModel,o=null,r=function(e){return o&&function(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}(e,o)||(o=O(t._hiddenRanges,e)),o?o.startLineNumber-1:null},s=0,a=e.length;s0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)},e}();function O(e,t){var n=Object(S.h)(e,function(e){return t=0&&e[n].endLineNumber>=t?e[n]:null}var E=n("Fllr"),N=5e3,x="indent",I=function(){function e(e){this.editorModel=e,this.id=x}return e.prototype.dispose=function(){},e.prototype.compute=function(e){var t=E.a.getFoldingRules(this.editorModel.getLanguageIdentifier().id),n=t&&!!t.offSide,i=t&&t.markers;return Promise.resolve(function(e,t,n,i){void 0===i&&(i=N);var o=e.getOptions().tabSize,r=new D(i),s=void 0;n&&(s=new RegExp("("+n.start.source+")|(?:"+n.end.source+")"));var a=[],u=e.getLineCount()+1;a.push({indent:-1,endAbove:u,line:u});for(var l=e.getLineCount();l>0;l--){var c=e.getLineContent(l),d=y.b.computeIndentLevel(c,o),h=a[a.length-1];if(-1!==d){var p=void 0;if(s&&(p=c.match(s))){if(!p[1]){a.push({indent:-2,endAbove:l,line:l});continue}for(var f=a.length-1;f>0&&-2!==a[f].indent;)f--;if(f>0){a.length=f+1,h=a[f],r.insertFirst(l,h.line,d),h.line=l,h.indent=d,h.endAbove=l;continue}}if(h.indent>d){do{a.pop(),h=a[a.length-1]}while(h.indent>d);var g=h.endAbove-1;g-l>=1&&r.insertFirst(l,g,d)}h.indent===d?h.endAbove=l:a.push({indent:d,endAbove:l,line:l})}else t&&(h.endAbove=l)}return r.toIndentRanges(e)}(this.editorModel,n,i))},e}(),D=function(){function e(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}return e.prototype.insertFirst=function(e,t,n){if(!(e>16777215||t>16777215)){var i=this._length;this._startIndexes[i]=e,this._endIndexes[i]=t,this._length++,n<1e3&&(this._indentOccurrences[n]=(this._indentOccurrences[n]||0)+1)}},e.prototype.toIndentRanges=function(e){if(this._length<=this._foldingRangesLimit){for(var t=new Uint32Array(this._length),n=new Uint32Array(this._length),i=this._length-1,o=0;i>=0;i--,o++)t[o]=this._startIndexes[i],n[o]=this._endIndexes[i];return new h(t,n)}var r=0,s=this._indentOccurrences.length;for(i=0;ithis._foldingRangesLimit){s=i;break}r+=a}}var u=e.getOptions().tabSize;for(t=new Uint32Array(this._foldingRangesLimit),n=new Uint32Array(this._foldingRangesLimit),i=this._length-1,o=0;i>=0;i--){var l=this._startIndexes[i],c=e.getLineContent(l),d=y.b.computeIndentLevel(c,u);(d0&&u.end>u.start&&u.end<=r&&i.push({start:u.start,end:u.end,rank:o,kind:u.kind})}}},T.f)});return Promise.all(o).then(function(e){return i})}(this.providers,this.editorModel,e).then(function(e){return e?W(e,t.limit):null})},e.prototype.dispose=function(){},e}();var F=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,n,i){if(!(e>16777215||t>16777215)){var o=this._length;this._startIndexes[o]=e,this._endIndexes[o]=t,this._nestingLevels[o]=i,this._types[o]=n,this._length++,i<30&&(this._nestingLevelCounts[i]=(this._nestingLevelCounts[i]||0)+1)}},e.prototype.toIndentRanges=function(){if(this._length<=this._foldingRangesLimit){for(var e=new Uint32Array(this._length),t=new Uint32Array(this._length),n=0;nthis._foldingRangesLimit){o=n;break}i+=r}}e=new Uint32Array(this._foldingRangesLimit),t=new Uint32Array(this._foldingRangesLimit);for(var s=[],a=(n=0,0);no.start)if(u.end<=o.end)r.push(o),o=u,i.add(u.start,u.end,u.kind&&u.kind.value,r.length);else{if(u.start>o.end){do{o=r.pop()}while(o&&u.start>o.end);o&&r.push(o),o=u}i.add(u.start,u.end,u.kind&&u.kind.value,r.length)}}else o=u,i.add(u.start,u.end,u.kind&&u.kind.value,r.length)}return i.toIndentRanges()}var j="init",V=function(){function e(e,t,n,i){if(this.editorModel=e,this.id=j,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:1}}})),this.timeout=setTimeout(n,i)}}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 n=0,i=this.decorationIds;n=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},K=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},q=new B.d("foldingEnabled",!1),G="editor.contrib.folding",Z=function(e){function t(t,n){var i=e.call(this)||this;return i.contextKeyService=n,i.localToDispose=i._register(new u.b),i.editor=t,i._isEnabled=i.editor.getConfiguration().contribInfo.folding,i._autoHideFoldingControls="mouseover"===i.editor.getConfiguration().contribInfo.showFoldingControls,i._useFoldingProviders="indentation"!==i.editor.getConfiguration().contribInfo.foldingStrategy,i.foldingModel=null,i.hiddenRangeModel=null,i.rangeProvider=null,i.foldingRegionPromise=null,i.foldingStateMemento=null,i.foldingModelPromise=null,i.updateScheduler=null,i.cursorChangedScheduler=null,i.mouseDownInfo=null,i.foldingDecorationProvider=new b(t),i.foldingDecorationProvider.autoHideFoldingControls=i._autoHideFoldingControls,i.foldingEnabled=q.bindTo(i.contextKeyService),i.foldingEnabled.set(i._isEnabled),i._register(i.editor.onDidChangeModel(function(){return i.onModelChanged()})),i._register(i.editor.onDidChangeConfiguration(function(e){if(e.contribInfo){var t=i._isEnabled;i._isEnabled=i.editor.getConfiguration().contribInfo.folding,i.foldingEnabled.set(i._isEnabled),t!==i._isEnabled&&i.onModelChanged();var n=i._autoHideFoldingControls;i._autoHideFoldingControls="mouseover"===i.editor.getConfiguration().contribInfo.showFoldingControls,n!==i._autoHideFoldingControls&&(i.foldingDecorationProvider.autoHideFoldingControls=i._autoHideFoldingControls,i.onModelContentChanged());var o=i._useFoldingProviders;i._useFoldingProviders="indentation"!==i.editor.getConfiguration().contribInfo.foldingStrategy,o!==i._useFoldingProviders&&i.onFoldingStrategyChanged()}})),i.onModelChanged(),i}return z(t,e),t.get=function(e){return e.getContribution(G)},t.prototype.getId=function(){return G},t.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(),n=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:n}}},t.prototype.restoreViewState=function(e){var t=this.editor.getModel();if(t&&this._isEnabled&&!t.isTooLargeForTokenization()&&this.hiddenRangeModel&&e&&e.collapsedRegions&&e.lineCount===t.getLineCount()){e.provider!==A&&e.provider!==j||(this.foldingStateMemento=e);var n=e.collapsedRegions;if(this.hiddenRangeModel.applyMemento(n)){var i=this.getFoldingModel();i&&i.then(function(e){e&&e.applyMemento(n)}).then(void 0,T.e)}}},t.prototype.onModelChanged=function(){var e=this;this.localToDispose.clear();var t=this.editor.getModel();this._isEnabled&&t&&!t.isTooLargeForTokenization()&&(this.foldingModel=new f(t,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new L(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(function(t){return e.onHiddenRangesChanges(t)})),this.updateScheduler=new s.a(200),this.cursorChangedScheduler=new s.d(function(){return e.revealCursor()},200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(k.m.onDidChange(function(){return e.onFoldingStrategyChanged()})),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(function(){return e.onFoldingStrategyChanged()})),this.localToDispose.add(this.editor.onDidChangeModelContent(function(){return e.onModelContentChanged()})),this.localToDispose.add(this.editor.onDidChangeCursorPosition(function(){return e.onCursorPositionChanged()})),this.localToDispose.add(this.editor.onMouseDown(function(t){return e.onEditorMouseDown(t)})),this.localToDispose.add(this.editor.onMouseUp(function(t){return e.onEditorMouseUp(t)})),this.localToDispose.add({dispose:function(){e.foldingRegionPromise&&(e.foldingRegionPromise.cancel(),e.foldingRegionPromise=null),e.updateScheduler&&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())},t.prototype.onFoldingStrategyChanged=function(){this.rangeProvider&&this.rangeProvider.dispose(),this.rangeProvider=null,this.onModelContentChanged()},t.prototype.getRangeProvider=function(e){var t=this;if(this.rangeProvider)return this.rangeProvider;if(this.rangeProvider=new I(e),this._useFoldingProviders&&this.foldingModel){var n=k.m.ordered(this.foldingModel.textModel);if(0===n.length&&this.foldingStateMemento&&this.foldingStateMemento.collapsedRegions)return this.rangeProvider=new V(e,this.foldingStateMemento.collapsedRegions,function(){t.foldingStateMemento=null,t.onFoldingStrategyChanged()},3e4);n.length>0&&(this.rangeProvider=new P(e,n))}return this.foldingStateMemento=null,this.rangeProvider},t.prototype.getFoldingModel=function(){return this.foldingModelPromise},t.prototype.onModelContentChanged=function(){var e=this;this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(function(){var t=e.foldingModel;if(!t)return null;var n=e.foldingRegionPromise=Object(s.f)(function(n){return e.getRangeProvider(t.textModel).compute(n)});return n.then(function(i){if(i&&n===e.foldingRegionPromise){var o=e.editor.getSelections(),r=o?o.map(function(e){return e.startLineNumber}):[];t.update(i,r)}return t})}).then(void 0,function(e){return Object(T.e)(e),null}))},t.prototype.onHiddenRangesChanges=function(e){if(this.hiddenRangeModel&&e.length){var t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e)},t.prototype.onCursorPositionChanged=function(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()},t.prototype.revealCursor=function(){var e=this,t=this.getFoldingModel();t&&t.then(function(t){if(t){var n=e.editor.getSelections();if(n&&n.length>0){for(var i=[],o=function(n){var o=n.selectionStartLineNumber;e.hiddenRangeModel&&e.hiddenRangeModel.isHidden(o)&&i.push.apply(i,t.getAllRegionsAtLine(o,function(e){return e.isCollapsed&&o>e.startLineNumber}))},r=0,s=n;r "+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?0:1},t.prototype.setEndPosition=function(e,n){return 0===this.getDirection()?new t(this.startLineNumber,this.startColumn,e,n):new t(e,n,this.startLineNumber,this.startColumn)},t.prototype.getPosition=function(){return new o.a(this.positionLineNumber,this.positionColumn)},t.prototype.setStartPosition=function(e,n){return 0===this.getDirection()?new t(e,n,this.endLineNumber,this.endColumn):new t(this.endLineNumber,this.endColumn,e,n)},t.fromPositions=function(e,n){return void 0===n&&(n=e),new t(e.lineNumber,e.column,n.lineNumber,n.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 n=0,i=e.length;n=0;n--)t+=e.charAt(n);return t}(e=n)),t}}(),g=function(){function e(){}return e._findPrevBracketInText=function(e,t,n,i){var r=n.match(e);if(!r)return null;var s=n.length-(r.index||0),a=r[0].length,u=i+s;return new o.a(t,u-a+1,t,u+1)},e.findPrevBracketInToken=function(e,t,n,i,o){var r=f(n).substring(n.length-o,n.length-i);return this._findPrevBracketInText(e,t,r,i)},e.findNextBracketInText=function(e,t,n,i){var r=n.match(e);if(!r)return null;var s=r.index||0,a=r[0].length;if(0===a)return null;var u=i+s;return new o.a(t,u+1,t,u+1+a)},e.findNextBracketInToken=function(e,t,n,i,o){var r=n.substring(i,o);return this.findNextBracketInText(e,t,r,i)},e}()},iXRW:function(e,t,n){"use strict";t.h=function(e){if(1===e)return"blink";if(4===e)return"expand";if(3===e)return"phase";if(2===e)return"smooth";if(5===e)return"solid";throw new Error("blinkingStyleToString: Unknown blinkingStyle")},n.d(t,"g",function(){return i}),t.i=function(e){if(e===i.Line)return"line";if(e===i.Block)return"block";if(e===i.Underline)return"underline";if(e===i.LineThin)return"line-thin";if(e===i.BlockOutline)return"block-outline";if(e===i.UnderlineThin)return"underline-thin";throw new Error("cursorStyleToString: Unknown cursorStyle")},n.d(t,"e",function(){return d}),n.d(t,"d",function(){return v}),n.d(t,"f",function(){return y}),n.d(t,"b",function(){return C}),n.d(t,"c",function(){return w}),n.d(t,"a",function(){return S});var i,o=n("hK2W"),r=n("X6iQ"),s=n("TU7t"),a=n("ZfGv"),u=n("+jct"),l=n("KIxu"),c=this&&this.__assign||function(){return(c=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=2?(S=_?2:4,T=2/y):(S=_?1:3,T=1/y),(O=Math.max(0,Math.floor((k-d-2)*T/(l+T))))/T>v&&(O=Math.floor(v*T)),E=k-O,"left"===m?(L=0,N+=O,x+=O,I+=O,D+=O):L=t-O-d}else L=0,O=0,S=0,E=k;var M=Math.max(1,Math.floor((E-d-2)/l)),R=h?p:0;return{width:t,height:n,glyphMarginLeft:N,glyphMarginWidth:w,glyphMarginHeight:n,lineNumbersLeft:x,lineNumbersWidth:b,lineNumbersHeight:n,decorationsLeft:I,decorationsWidth:u,decorationsHeight:n,contentLeft:D,contentWidth:E,contentHeight:n,renderMinimap:S,minimapLeft:L,minimapWidth:O,viewportColumn:M,verticalScrollbarWidth:d,horizontalScrollbarHeight:f,overviewRuler:{top:R,width:d,height:n-2*R,right:0}}},e}(),C={fontFamily:a.d?"Menlo, Monaco, 'Courier New', monospace":a.c?"'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:a.d?12:14,lineHeight:0,letterSpacing:0},w={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0},S={inDiffEditor:!1,wordSeparators:u.b,lineNumbersMinChars:5,lineDecorationsWidth:10,readOnly:!1,mouseStyle:"text",disableLayerHinting:!1,automaticLayout:!1,wordWrap:"off",wordWrapColumn:80,wordWrapMinified:!0,wrappingIndent:1,wordWrapBreakBeforeCharacters:"([{‘“〈《「『【〔([{「£¥$£¥++",wordWrapBreakAfterCharacters:" \t})]?|/&,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」",wordWrapBreakObtrusiveCharacters:".",autoClosingBrackets:"languageDefined",autoClosingQuotes:"languageDefined",autoClosingOvertype:"auto",autoSurround:"languageDefined",autoIndent:!0,dragAndDrop:!0,emptySelectionClipboard:!0,copyWithSyntaxHighlighting:!0,useTabStops:!0,multiCursorModifier:"altKey",multiCursorMergeOverlapping:!0,accessibilitySupport:"auto",showUnused:!0,viewInfo:{extraEditorClassName:"",disableMonospaceOptimizations:!1,rulers:[],ariaLabel:o.a("editorViewAccessibleLabel","Editor content"),renderLineNumbers:1,renderCustomLineNumbers:null,cursorSurroundingLines:0,renderFinalNewline:!0,selectOnLineNumbers:!0,glyphMargin:!0,revealHorizontalRightPadding:30,roundedSelection:!0,overviewRulerLanes:2,overviewRulerBorder:!0,cursorBlinking:1,mouseWheelZoom:!1,cursorSmoothCaretAnimation:!1,cursorStyle:i.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:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:10,horizontalSliderSize:10,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,mouseWheelScrollSensitivity:1,fastScrollSensitivity:5},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:{enabled:!0,cycle:!1},formatOnType:!1,formatOnPaste:!1,suggestOnTriggerCharacters:!0,acceptSuggestionOnEnter:"on",acceptSuggestionOnCommitCharacter:!0,wordBasedSuggestions:!0,suggestSelection:"recentlyUsed",suggestFontSize:0,suggestLineHeight:0,tabCompletion:"off",suggest:{filterGraceful:!0,snippets:"inline",snippetsPreventQuickSuggestions:!0,localityBonus:!1,shareSuggestSelections:!1,showIcons:!0,maxVisibleSuggestions:12,filteredTypes:Object.create(null)},gotoLocation:{multiple:"peek"},selectionHighlight:!0,occurrencesHighlight:!0,codeLens:!0,folding:!0,foldingStrategy:"auto",showFoldingControls:"mouseover",matchBrackets:!0,find:{seedSearchStringFromSelection:!0,autoFindInSelection:!1,globalFindClipboard:!1,addExtraSpaceOnTop:!0},colorDecorators:!0,lightbulbEnabled:!0,codeActionsOnSave:{},codeActionsOnSaveTimeout:750}}},iYj9:function(e,t){var n=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.exports=function(e){return n.test(e)}},ia1G:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n("Q+ux");var i,o=n("hK2W"),r=n("odeJ"),s=n("80kS"),a=n("zxiH"),u=n("3uSZ"),l=n("tqet"),c=n("ZfGv"),d=n("03Zz"),h=n("0ly5"),p=n("PCC9"),f=n("qzX+"),g=n("mrx5"),m=n("vTy2"),_=n("jIdl"),v=n("ItKl"),y=n("X6iQ"),b=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),C=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},w=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},R=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},A=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},P=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]>>0,new i.c(s,null===n?r:n)};var i=n("c6Qy"),o=n("PCC9"),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 o.p(s,0)},kQWG:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o=n("8dAB"),r=(n.n(o),n("lAcG")),s=n("7/Cv"),a=n("WZeM"),u=n("CX1u"),l=n("UqCF"),c=n("Uf3U"),d=n("tqet"),h=n("ZfGv"),p=n("aL7J"),f=n("mrx5"),g=n("03Zz"),m=n("/9db"),_=n("0bce"),v=n("7g0X"),y=n("JVO/"),b=n("NqM+"),C=n("GsV8"),w=n("L5KM"),S=n("eoic"),L=n("EfIu"),O=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),E=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},N=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},x=new v.d("accessibilityHelpWidgetVisible",!1),I=function(e){function t(t,n){var i=e.call(this)||this;return i._editor=t,i._widget=i._register(n.createInstance(D,i._editor)),i}return O(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=E([N(1,y.a)],t)}(d.a);var D=function(e){function t(t,n,i,o){var r=e.call(this)||this;return r._contextKeyService=n,r._keybindingService=i,r._openerService=o,r._editor=t,r._isVisibleKey=x.bindTo(r._contextKeyService),r._domNode=Object(a.b)(document.createElement("div")),r._domNode.setClassName("accessibilityHelpWidget"),r._domNode.setDisplay("none"),r._domNode.setAttribute("role","dialog"),r._domNode.setAttribute("aria-hidden","true"),r._contentDomNode=Object(a.b)(document.createElement("div")),r._contentDomNode.setAttribute("role","document"),r._domNode.appendChild(r._contentDomNode),r._isVisible=!1,r._register(r._editor.onDidLayoutChange(function(){r._isVisible&&r._layout()})),r._register(s.k(r._contentDomNode.domNode,"keydown",function(e){if(r._isVisible&&(e.equals(2083)&&(Object(l.a)(L.a.emergencyConfOn),r._editor.updateOptions({accessibilitySupport:"on"}),s.p(r._contentDomNode.domNode),r._buildContent(),r._contentDomNode.domNode.focus(),e.preventDefault(),e.stopPropagation()),e.equals(2086))){Object(l.a)(L.a.openingDocs);var t=r._editor.getRawConfiguration().accessibilityHelpUrl;void 0===t&&(t="https://go.microsoft.com/fwlink/?linkid=852450"),r._openerService.open(f.a.parse(t)),e.preventDefault(),e.stopPropagation()}})),r.onblur(r._contentDomNode.domNode,function(){r.hide()}),r._editor.addOverlayWidget(r),r}return O(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,n){var i=this._keybindingService.lookupKeybinding(e);return i?p.r(t,i.getAriaLabel()):p.r(n,e)},t.prototype._buildContent=function(){var e=this._editor.getConfiguration(),t=this._editor.getSelections(),n=0;if(t){var i=this._editor.getModel();i&&t.forEach(function(e){n+=i.getValueLengthInRange(e)})}var o=function(e,t){return e&&0!==e.length?1===e.length?t?p.r(L.a.singleSelectionRange,e[0].positionLineNumber,e[0].positionColumn,t):p.r(L.a.singleSelection,e[0].positionLineNumber,e[0].positionColumn):t?p.r(L.a.multiSelectionRange,e.length,t):e.length>0?p.r(L.a.multiSelection,e.length):"":L.a.noSelection}(t,n);e.wrappingInfo.inDiffEditor?e.readOnly?o+=L.a.readonlyDiffEditor:o+=L.a.editableDiffEditor:e.readOnly?o+=L.a.readonlyEditor:o+=L.a.editableEditor;var r=h.d?L.a.changeConfigToOnMac:L.a.changeConfigToOnWinLinux;switch(e.accessibilitySupport){case 0:o+="\n\n - "+r;break;case 2:o+="\n\n - "+L.a.auto_on;break;case 1:o+="\n\n - "+L.a.auto_off,o+=" "+r}e.tabFocusMode?o+="\n\n - "+this._descriptionForCommand(_.ToggleTabFocusModeAction.ID,L.a.tabFocusModeOnMsg,L.a.tabFocusModeOnMsgNoKb):o+="\n\n - "+this._descriptionForCommand(_.ToggleTabFocusModeAction.ID,L.a.tabFocusModeOffMsg,L.a.tabFocusModeOffMsgNoKb),o+="\n\n - "+(h.d?L.a.openDocMac:L.a.openDocWinLinux),o+="\n\n"+L.a.outroMsg,this._contentDomNode.domNode.appendChild(Object(u.b)(o)),this._contentDomNode.domNode.setAttribute("aria-label",o)},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,s.p(this._contentDomNode.domNode),this._editor.focus())},t.prototype._layout=function(){var e=this._editor.getLayoutInfo(),n=Math.max(5,Math.min(t.WIDTH,e.width-40)),i=Math.max(5,Math.min(t.HEIGHT,e.height-40));this._domNode.setWidth(n),this._domNode.setHeight(i);var o=Math.round((e.height-i)/2);this._domNode.setTop(o);var r=Math.round((e.width-n)/2);this._domNode.setLeft(r)},t.ID="editor.contrib.accessibilityHelpWidget",t.WIDTH=500,t.HEIGHT=300,t=E([N(1,v.c),N(2,b.a),N(3,C.a)],t)}(c.a),k=function(e){function t(){return e.call(this,{id:"editor.action.showAccessibilityHelp",label:L.a.showAccessibilityHelpAction,alias:"Show Accessibility Help",precondition:void 0,kbOpts:{kbExpr:m.a.focus,primary:r.j?2107:571,weight:100}})||this}return O(t,e),t.prototype.run=function(e,t){var n=I.get(t);n&&n.show()},t}(g.b);Object(g.h)(I),Object(g.f)(k);var T=g.c.bindToContribution(I.get);Object(g.g)(new T({id:"closeAccessibilityHelp",precondition:x,handler:function(e){return e.hide()},kbOpts:{weight:200,kbExpr:m.a.focus,primary:9,secondary:[1033]}})),Object(S.f)(function(e,t){var n=e.getColor(w.N);n&&t.addRule(".monaco-editor .accessibilityHelpWidget { background-color: "+n+"; }");var i=e.getColor(w.P);i&&t.addRule(".monaco-editor .accessibilityHelpWidget { color: "+i+"; }");var o=e.getColor(w._48);o&&t.addRule(".monaco-editor .accessibilityHelpWidget { box-shadow: 0 2px 8px "+o+"; }");var r=e.getColor(w.e);r&&t.addRule(".monaco-editor .accessibilityHelpWidget { border: 2px solid "+r+"; }")})},kxzG:function(e,t,n){var i=n("yCNF"),o=n("6MiT"),r=NaN,s=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(o(e))return r;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(s,"");var n=u.test(e);return n||l.test(e)?c(e.slice(2),n?2:8):a.test(e)?r:+e}},l6RD:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n("o37+");var i,o=n("hK2W"),r=n("uNfg"),s=n("tqet"),a=n("03Zz"),u=n("vTy2"),l=n("/9db"),c=n("6TMp"),d=n("7/Cv"),h=n("80kS"),p=n("TNPA"),f=n("3uSZ"),g=n("artP"),m=n("0ly5"),_=n("PCC9"),v=n("pWM+"),y=n("MfmB"),b=n("Kp7x"),C=function(){function e(e,t,n){this.presentationIndex=n,this._onColorFlushed=new b.a,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new b.a,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new b.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 n=0;n0,n&&i)?e:void 0;var t,n,i},function(e){Object(F.f)(e)})});return Promise.all(i).then(P.d)}Object(a.e)("_executeHoverProvider",function(e,t){return W(e,t,h.a.None)});var j=n("odeJ"),V=function(){function e(e,t,n,i,o){var r=this;this._computer=e,this._state=0,this._hoverTime=o,this._firstWaitScheduler=new j.d(function(){return r._triggerAsyncComputation()},0),this._secondWaitScheduler=new j.d(function(){return r._triggerSyncComputation()},0),this._loadingMessageScheduler=new j.d(function(){return r._showLoadingMessage()},0),this._asyncComputationPromise=null,this._asyncComputationPromiseDone=!1,this._completeCallback=t,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(j.f)(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}(),B=n("qecS"),H=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),z=function(e){function t(t,n){var i=e.call(this)||this;return i.allowEditorOverflow=!0,i._id=t,i._editor=n,i._isVisible=!1,i._stoleFocus=!1,i._containerDomNode=document.createElement("div"),i._containerDomNode.className="monaco-editor-hover hidden",i._containerDomNode.tabIndex=0,i._domNode=document.createElement("div"),i._domNode.className="monaco-editor-hover-content",i.scrollbar=new B.a(i._domNode,{}),i._register(i.scrollbar),i._containerDomNode.appendChild(i.scrollbar.getDomNode()),i.onkeydown(i._containerDomNode,function(e){e.equals(9)&&i.hide()}),i._register(i._editor.onDidChangeConfiguration(function(e){e.fontInfo&&i.updateFont()})),i._editor.onDidLayoutChange(function(e){return i.layout()}),i.layout(),i._editor.addContentWidget(i),i._showAtPosition=null,i._showAtRange=null,i._stoleFocus=!1,i}return H(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,Object(d.R)(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,n){this._showAtPosition=e,this._showAtRange=t,this.isVisible=!0,this._editor.layoutContentWidget(this),this._editor.render(),this._stoleFocus=n,n&&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,range:this._showAtRange,preference:[1,2]}:null},t.prototype.dispose=function(){this._editor.removeContentWidget(this),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.layout=function(){var e=Math.max(this._editor.getLayoutInfo().height/4,250),t=this._editor.getConfiguration().fontInfo,n=t.fontSize,i=t.lineHeight;this._domNode.style.fontSize=n+"px",this._domNode.style.lineHeight=i+"px",this._domNode.style.maxHeight=e+"px",this._domNode.style.maxWidth=Math.max(.66*this._editor.getLayoutInfo().width,500)+"px"},t}(L.a),U=function(e){function t(t,n){var i=e.call(this)||this;return i._id=t,i._editor=n,i._isVisible=!1,i._domNode=document.createElement("div"),i._domNode.className="monaco-editor-hover hidden",i._domNode.setAttribute("aria-hidden","true"),i._domNode.setAttribute("role","presentation"),i._showAtLineNumber=-1,i._register(i._editor.onDidChangeConfiguration(function(e){e.fontInfo&&i.updateFont()})),i._editor.addOverlayWidget(i),i}return H(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,Object(d.R)(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(),n=this._editor.getTopForLineNumber(this._showAtLineNumber),i=this._editor.getScrollTop(),o=this._editor.getConfiguration().lineHeight,r=n-i-(this._domNode.clientHeight-o)/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")),n=Array.prototype.slice.call(this._domNode.getElementsByClassName("code"));t.concat(n).forEach(function(t){return e._editor.applyFontInfo(t)})},t.prototype.updateContents=function(e){this._domNode.textContent="",this._domNode.appendChild(e),this.updateFont()},t}(L.a),K=n("VBCr"),q=n("OHx0"),G=n("ZYUE"),Z=n("GsV8"),Y=n("MOjS"),X=n("OBuU"),J=n("0Td8"),Q=n("mhQ0"),$=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ee=d.a,te=function(){return function(e,t,n){this.range=e,this.color=t,this.provider=n}}(),ne=function(){return function(e,t){this.range=e,this.marker=t}}(),ie=function(){function e(e,t){this._markerDecorationsService=t,this._editor=e,this._result=[]}return e.prototype.setRange=function(e){this._range=e,this._result=[]},e.prototype.clearResult=function(){this._result=[]},e.prototype.computeAsync=function(e){if(!this._editor.hasModel()||!this._range)return Promise.resolve([]);var t=this._editor.getModel();return _.n.has(t)?W(t,new g.a(this._range.startLineNumber,this._range.startColumn),e):Promise.resolve([])},e.prototype.computeSync=function(){var e=this;if(!this._editor.hasModel()||!this._range)return[];var t=this._editor.getModel(),n=this._range.startLineNumber;if(n>this._editor.getModel().getLineCount())return[];var i=y.ColorDetector.get(this._editor),o=t.getLineMaxColumn(n),r=this._editor.getLineDecorations(n),s=!1,a=this._range,l=r.map(function(r){var l=r.range.startLineNumber===n?r.range.startColumn:1,c=r.range.endLineNumber===n?r.range.endColumn:o;if(l>a.startColumn||a.endColumn>c)return null;var d=new u.a(a.startLineNumber,l,a.startLineNumber,c),h=e._markerDecorationsService.getMarker(t,r);if(h)return new ne(d,h);var p=i.getColorData(r.range.getStartPosition());if(!s&&p){s=!0;var g=p.colorInfo,m=g.color,_=g.range;return new te(_,m,p.provider)}return Object(f.b)(r.options.hoverMessage)?null:{contents:r.options.hoverMessage?Object(P.b)(r.options.hoverMessage):[],range:d}});return Object(P.d)(l)},e.prototype.onResult=function(e,t){this._result=t?e.concat(this._result.sort(function(e,t){return e instanceof te?-1:t instanceof te?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 f.a).appendText(o.a("modesContentHover.loading","Loading..."))]}},e}(),oe=function(e){function t(n,i,o,r,a,u){void 0===u&&(u=Z.b);var l=e.call(this,t.ID,n)||this;return l._themeService=o,l._keybindingService=r,l._modeService=a,l._openerService=u,l.renderDisposable=l._register(new s.d),l._messages=[],l._lastRange=null,l._computer=new ie(l._editor,i),l._highlightDecorations=[],l._isChangingDecorations=!1,l._shouldFocus=!1,l._colorPicker=null,l._hoverOperation=new V(l._computer,function(e){return l._withResult(e,!0)},null,function(e){return l._withResult(e,!1)},l._editor.getConfiguration().contribInfo.hover.delay),l._register(d.k(l.getDomNode(),d.d.FOCUS,function(){l._colorPicker&&d.f(l.getDomNode(),"colorpicker-hover")})),l._register(d.k(l.getDomNode(),d.d.BLUR,function(){d.I(l.getDomNode(),"colorpicker-hover")})),l._register(n.onDidChangeConfiguration(function(e){l._hoverOperation.setHoverTime(l._editor.getConfiguration().contribInfo.hover.delay)})),l}return $(t,e),t.prototype.dispose=function(){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,n){if(!this._lastRange||!this._lastRange.equalsRange(e)){if(this._hoverOperation.cancel(),this.isVisible)if(this._showAtPosition&&this._showAtPosition.lineNumber===e.startLineNumber){for(var i=[],o=0,r=this._messages.length;o=e.endColumn&&i.push(s)}if(i.length>0){if(function(e,t){if(!e&&t||e&&!t||e.length!==t.length)return!1;for(var n=0;n0?this._renderMessages(this._lastRange,this._messages):t&&this.hide()},t.prototype._renderMessages=function(e,n){var i=this;this.renderDisposable.dispose(),this._colorPicker=null;var o=Number.MAX_VALUE,r=n[0].range?u.a.lift(n[0].range):null,a=document.createDocumentFragment(),l=!0,c=!1,m=new s.b,_=[];if(n.forEach(function(e){if(e.range)if(o=Math.min(o,e.range.startColumn),r=r?u.a.plusRange(r,e.range):u.a.lift(e.range),e instanceof te){c=!0;var t=e.color,n=t.red,g=t.green,y=t.blue,b=t.alpha,w=new p.c(255*n,255*g,255*y,b),S=new p.a(w);if(!i._editor.hasModel())return;var L=i._editor.getModel(),O=new u.a(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn),E={range:e.range,color:e.color},N=new C(S,[],0),x=new A(a,N,i._editor.getConfiguration().pixelRatio,i._themeService);Object(v.a)(L,E,e.provider,h.a.None).then(function(t){if(N.colorPresentations=t||[],i._editor.hasModel()){var n=i._editor.getModel().getValueInRange(e.range);N.guessColorPresentation(S,n);var o=function(){var e,t;N.presentation.textEdit?(e=[N.presentation.textEdit],t=(t=new u.a(N.presentation.textEdit.range.startLineNumber,N.presentation.textEdit.range.startColumn,N.presentation.textEdit.range.endLineNumber,N.presentation.textEdit.range.endColumn)).setEndPosition(t.endLineNumber,t.startColumn+N.presentation.textEdit.text.length)):(e=[{identifier:null,range:O,text:N.presentation.label,forceMoveMarkers:!1}],t=O.setEndPosition(O.endLineNumber,O.startColumn+N.presentation.label.length)),i._editor.pushUndoStop(),i._editor.executeEdits("colorpicker",e),N.presentation.additionalTextEdits&&(e=N.presentation.additionalTextEdits.slice(),i._editor.executeEdits("colorpicker",e),i.hide()),i._editor.pushUndoStop(),O=t},r=function(t){return Object(v.a)(L,{range:O,color:{red:t.rgba.r/255,green:t.rgba.g/255,blue:t.rgba.b/255,alpha:t.rgba.a}},e.provider,h.a.None).then(function(e){N.colorPresentations=e||[]})},l=N.onColorFlushed(function(e){r(e).then(o)}),c=N.onDidChangeColor(r);i._colorPicker=x,i.showAt(O.getStartPosition(),O,i._shouldFocus),i.updateContents(a),i._colorPicker.layout(),i.renderDisposable.value=Object(s.e)(l,c,x,m)}})}else e instanceof ne?(_.push(e),l=!1):e.contents.filter(function(e){return!Object(f.b)(e)}).forEach(function(e){var t=ee("div.hover-row.markdown-hover"),n=d.m(t,ee("div.hover-contents")),o=m.add(new K.a(i._editor,i._modeService,i._openerService));m.add(o.onDidRenderCodeBlock(function(){n.className="hover-contents code-hover-contents",i.onContentsChange()}));var r=m.add(o.render(e));n.appendChild(r.element),a.appendChild(t),l=!1})}),_.length){_.forEach(function(e){return a.appendChild(i.renderMarkerHover(e))});var y=1===_.length?_[0]:_.sort(function(e,t){return q.c.compare(e.marker.severity,t.marker.severity)})[0];a.appendChild(this.renderMarkerStatusbar(y))}c||l||(this.showAt(new g.a(e.startLineNumber,o),r,this._shouldFocus),this.updateContents(a)),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,r?[{range:r,options:t._DECORATION_OPTIONS}]:[]),this._isChangingDecorations=!1},t.prototype.renderMarkerHover=function(e){var t=this,n=ee("div.hover-row"),i=d.m(n,ee("div.marker.hover-contents")),o=e.marker,r=o.source,s=o.message,a=o.code,u=o.relatedInformation;this._editor.applyFontInfo(i);var l=d.m(i,ee("span"));if(l.style.whiteSpace="pre-wrap",l.innerText=s,r||a){var c=d.m(i,ee("span"));c.style.opacity="0.6",c.style.paddingLeft="6px",c.innerText=r&&a?r+"("+a+")":r||"("+a+")"}if(Object(P.n)(u))for(var h=function(e,n,o,r){var s=d.m(i,ee("div"));s.style.marginTop="8px";var a=d.m(s,ee("a"));a.innerText=Object(G.b)(n)+"("+o+", "+r+"): ",a.style.cursor="pointer",a.onclick=function(e){e.stopPropagation(),e.preventDefault(),t._openerService&&t._openerService.open(n.with({fragment:o+","+r})).catch(F.e)};var u=d.m(s,ee("span"));u.innerText=e,p._editor.applyFontInfo(u)},p=this,f=0,g=u;f0?this._renderMessages(this._lastLineNumber,this._messages):this.hide()},t.prototype._renderMessages=function(e,t){this._renderDisposeables.clear();for(var n=document.createDocumentFragment(),i=0,o=t;i=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},he=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},pe=function(){function e(e,t,n,i,o,r){var a=this;this._editor=e,this._openerService=t,this._modeService=n,this._markerDecorationsService=i,this._keybindingService=o,this._themeService=r,this._toUnhook=new s.b,this._isMouseDown=!1,this._hoverClicked=!1,this._contentWidget=null,this._glyphWidget=null,this._hookEvents(),this._didChangeConfigurationHandler=this._editor.onDidChangeConfiguration(function(e){e.contribInfo&&(a._hideWidgets(),a._unhookEvents(),a._hookEvents())})}return Object.defineProperty(e.prototype,"contentWidget",{get:function(){return this._contentWidget||this._createHoverWidgets(),this._contentWidget},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"glyphWidget",{get:function(){return this._glyphWidget||this._createHoverWidgets(),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()},n=this._editor.getConfiguration().contribInfo.hover;this._isHoverEnabled=n.enabled,this._isHoverSticky=n.sticky,this._isHoverEnabled?(this._toUnhook.add(this._editor.onMouseDown(function(t){return e._onEditorMouseDown(t)})),this._toUnhook.add(this._editor.onMouseUp(function(t){return e._onEditorMouseUp(t)})),this._toUnhook.add(this._editor.onMouseMove(function(t){return e._onEditorMouseMove(t)})),this._toUnhook.add(this._editor.onKeyDown(function(t){return e._onKeyDown(t)})),this._toUnhook.add(this._editor.onDidChangeModelDecorations(function(){return e._onModelDecorationsChanged()}))):this._toUnhook.add(this._editor.onMouseMove(t)),this._toUnhook.add(this._editor.onMouseLeave(t)),this._toUnhook.add(this._editor.onDidChangeModel(t)),this._toUnhook.add(this._editor.onDidScrollChange(function(t){return e._onEditorScrollChanged(t)}))},e.prototype._unhookEvents=function(){this._toUnhook.clear()},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;9!==t||e.target.detail!==oe.ID?12===t&&e.target.detail===ae.ID||(12!==t&&e.target.detail!==ae.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;if(!(this._isMouseDown&&this._hoverClicked&&this.contentWidget.isColorPickerVisible()||this._isHoverSticky&&9===t&&e.target.detail===oe.ID||this._isHoverSticky&&12===t&&e.target.detail===ae.ID)){if(7===t){var n=this._editor.getConfiguration().fontInfo.typicalHalfwidthCharacterWidth/2,i=e.target.detail;i&&!i.isAfterLines&&"number"==typeof i.horizontalDistanceToText&&i.horizontalDistanceToText=12&&t<=16)return!1}return!0};var i=n("Kp7x"),o=function(){function e(){this._zoomLevel=0,this._lastZoomLevelChangeTime=0,this._onDidChangeZoomLevel=new i.a,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.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.INSTANCE=new e,e}();var r=navigator.userAgent,s=r.indexOf("Trident")>=0,a=r.indexOf("Edge/")>=0,u=s||a,l=r.indexOf("Firefox")>=0,c=r.indexOf("AppleWebKit")>=0,d=r.indexOf("Chrome")>=0,h=!d&&r.indexOf("Safari")>=0,p=!d&&!h&&c,f=r.indexOf("iPad")>=0,g=a&&r.indexOf("WebView/")>=0},lHK6:function(e,t,n){var i=n("/GnY"),o=n("gHOb"),r=n("1Yb9"),s=n("NGEn"),a=n("bGc4"),u=n("ggOT"),l=n("HT7L"),c=n("YsVG"),d="[object Map]",h="[object Set]",p=Object.prototype.hasOwnProperty;e.exports=function(e){if(null==e)return!0;if(a(e)&&(s(e)||"string"==typeof e||"function"==typeof e.splice||u(e)||c(e)||r(e)))return!e.length;var t=o(e);if(t==d||t==h)return!e.size;if(l(e))return!i(e).length;for(var n in e)if(p.call(e,n))return!1;return!0}},lWLP:function(e,t,n){"use strict";n.d(t,"b",function(){return r}),n.d(t,"a",function(){return s});var i=n("hK2W"),o=function(){function e(e,t,n){void 0===n&&(n=t),this.modifierLabels=[null],this.modifierLabels[2]=e,this.modifierLabels[1]=t,this.modifierLabels[3]=n}return e.prototype.toLabel=function(e,t,n){if(0===t.length)return null;for(var i=[],o=0,r=t.length;o1)if(o.a.visibleColumnFromColumn(v,y+1,d)%h!=0&&t.isCheapToTokenize(_-1)){var b=a.a.getRawEnterActionAtPosition(t,_-1,t.getLineMaxColumn(_-1));if(b){if(m=g,b.appendText)for(var C=0,w=b.appendText.length;C=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||45===r||46===r||95===r||126===r||t&&47===r)-1!==i&&(n+=encodeURIComponent(e.substring(i,o)),i=-1),void 0!==n&&(n+=e.charAt(o));else{void 0===n&&(n=e.substr(0,o));var s=_[r];void 0!==s?(-1!==i&&(n+=encodeURIComponent(e.substring(i,o)),i=-1),n+=s):-1===i&&(i=o)}}return-1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function y(e){for(var t=void 0,n=0;n1&&"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 C(e,t){var n=t?y:v,i="",o=e.scheme,r=e.authority,s=e.path,a=e.query,u=e.fragment;if(o&&(i+=o,i+=":"),(r||"file"===o)&&(i+=h,i+=h),r){var l=r.indexOf("@");if(-1!==l){var c=r.substr(0,l);r=r.substr(l+1),-1===(l=c.indexOf(":"))?i+=n(c,!1):(i+=n(c.substr(0,l),!1),i+=":",i+=n(c.substr(l+1),!1)),i+="@"}-1===(l=(r=r.toLowerCase()).indexOf(":"))?i+=n(r,!1):(i+=n(r.substr(0,l),!1),i+=r.substr(l))}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))}i+=n(s,!0)}return a&&(i+="?",i+=n(a,!1)),u&&(i+="#",i+=t?u:v(u,!1)),i}},mtgd:function(e,t,n){"use strict";var i=n("TU7t"),o=n("aL7J");function r(e){return Object(o.o)(e)}n.d(t,"a",function(){return s});var s=function(){function e(e,t){this.supportOcticons=t,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,n,o,r){void 0===n&&(n=[]),void 0===o&&(o=""),t||(t=""),r&&(t=e.escapeNewLines(t,n)),this.didEverRender&&this.text===t&&this.title===o&&i.e(this.highlights,n)||(Array.isArray(n)||(n=[]),this.text=t,this.title=o,this.highlights=n,this.render())},e.prototype.render=function(){for(var e="",t=0,n=0,i=this.highlights;n";var a=this.text.substring(t,s.start);e+=this.supportOcticons?r(a):Object(o.o)(a),e+="",t=s.end}e+='';var u=this.text.substring(s.start,s.end);e+=this.supportOcticons?r(u):Object(o.o)(u),e+="",t=s.end}}if(t";u=this.text.substring(t);e+=this.supportOcticons?r(u):Object(o.o)(u),e+=""}this.domNode.innerHTML=e,this.domNode.title=this.title,this.didEverRender=!0},e.escapeNewLines=function(e,t){var n=0,i=0;return e.replace(/\r\n|\r|\n/g,function(e,o){i="\r\n"===e?-1:0,o+=n;for(var r=0,s=t;r=o&&(a.start+=i),a.end>=o&&(a.end+=i))}return n+=i,"⏎"})},e}()},"nFS+":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("Xxa5"),o=n.n(i),r=n("exGp"),s=n.n(r),a=n("pFYg"),u=n.n(a),l=n("fZjL"),c=n.n(l),d=n("d7EF"),h=n.n(d),p=n("mvHQ"),f=n.n(p),g=n("ZVkR"),m=n.n(g),_=n("FcGO"),v=n("w7XY"),y=localStorage.getItem("language");["en","zh"].includes(y)||(y="en");var b,C=(b=s()(o.a.mark(function e(){var t,n;return o.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,v.a.get("/rule_events");case 2:return t=e.sent,n=t.data,e.abrupt("return",n.map(function(e){try{e.title=e.title[y],e.description=e.description[y]}catch(t){console.log(t),e.title=e.event,e.description=e.event}return e}));case 5:case"end":return e.stop()}},e,this)})),function(){return b.apply(this,arguments)}),w=n("HL/F"),S=window.localStorage.language||window.EMQX_DASHBOARD_CONFIG.lang||"en",L=w.a[S],O=[{name:"clientid",documentation:L.rule.clientid_doc,type:"Field",default:"c_emqx",valueType:"string"},{name:"username",documentation:L.rule.username_doc,type:"Field",default:"u_emqx",valueType:"string"},{name:"event",documentation:L.rule.event_doc,type:"Field",default:"disconnect",valueType:"string"},{name:"id",documentation:L.rule.id_doc,type:"Field",default:"--",valueType:"string"},{name:"payload",documentation:L.rule.payload_doc,type:"Field",default:'{"msg": "hello"}',valueType:"string"},{name:"peername",documentation:L.rule.peername_doc,type:"Field",default:"127.0.0.1:63412",valueType:"string"},{name:"qos",documentation:L.rule.qos_doc,type:"Field",default:1,valueType:"integer"},{name:"timestamp",documentation:L.rule.timestamp_doc,type:"Field",default:1576549961086,valueType:"integer"},{name:"topic",documentation:L.rule.topic_doc,type:"Field",default:"t/a",valueType:"string"},{name:"node",documentation:L.rule.node_doc,type:"Field",default:"emqx@127.0.0.1",valueType:"string"},{name:'"$events/message_delivered"',documentation:L.rule.message_delivered,type:"Method"},{name:'"$events/message_acked"',documentation:L.rule.message_acked,type:"Method"},{name:'"$events/message_dropped"',documentation:L.rule.message_dropped,type:"Method"},{name:'"$events/client_connected"',documentation:L.rule.client_connected,type:"Method"},{name:'"$events/client_disconnected"',documentation:L.rule.client_disconnected,type:"Method"},{name:'"$events/session_subscribed"',documentation:L.rule.session_subscribed,type:"Method"},{name:'"$events/session_unsubscribed"',documentation:L.rule.session_unsubscribed,type:"Method"}],E=n("JaHG"),N=n("9H3m"),x=n("eDC2"),I={name:"rule-create",components:{EmqSelect:_.a,Monaco:N.a,RuleActions:x.a},props:{},data:function(){return{isEdit:!1,payloadType:"json",eventsList:[],testOutPut:"",inTest:!1,id:this.$route.params.id,eventOptions:[],sqlPrimaryKey:[],needCheckSql:!0,record:{rawsql:"",actions:[],description:"",ctx:{}},rules:{rawsql:{required:!0,message:this.$t("rule.sql_required")},id:{required:!0,validator:E.h}},selectedOption:{event:"$events/messagepublish",sql_example:'SELECT * FROM "t/#"',test_columns:{clientid:"c_emqx",username:"u_emqx",topic:"t/a",qos:1,payload:'{"msg": "hello"}'}}}},computed:{operationName:function(){var e=this.$route.query.rule,t={view:this.$t("rule.view"),edit:this.$t("rule.edit"),create:this.$t("rule.create")};return e?t.edit:t.create},sqlProvider:function(){return O}},watch:{inTest:function(e){e&&this.initTestFormItem()},"record.rawsql":"handleSqlChanged"},methods:{handleSqlChanged:function(e){if(this.triggerEventChange(e),this.needCheckSql){var t=Object(E.g)(e);t&&this.sqlParseConfirm(e,t[0])}},sqlParseConfirm:function(e,t){var n=this;this.$confirm(this.$t("rule.parse_confirm"),this.$t("oper.warning"),{confirmButtonClass:"confirm-btn",cancelButtonClass:"cache-btn el-button--text",type:"warning"}).then(function(){n.record.rawsql=n._sqlFormatter(Object(E.f)(e,t))}).catch(function(){n.needCheckSql=!1})},beforeSqlValid:function(e){var t=Object(E.g)(e);return!t||(this.sqlParseConfirm(e,t[0]),!1)},handleTest:function(){var e=this;this.testOutPut="",this.needCheckSql=!0,this.$refs.record.validate(function(t){if(!t){if(!e.inTest||e.record.id)return;e.$refs.record.clearValidate("id")}if(e.beforeSqlValid(e.record.rawsql)){var n=JSON.parse(f()(e.record));try{n.ctx.payload&&(n.ctx.payload=f()(JSON.parse(n.ctx.payload)))}catch(e){console.log(n.ctx.payload)}e.$httpPost("/rules?test=true",n).then(function(t){var n=t.data;e.testOutPut=f()(n,null,2)})}})},triggerEventChange:function(e){var t=null,n="";["events/message_delivered","events/message_acked","events/message_dropped","events/client_connected","events/client_disconnected","events/session_subscribed","events/session_unsubscribed"].forEach(function(n){var i=n.split("/"),o=h()(i,2),r=o[0],s=o[1],a=new RegExp("\\$"+r+"\\/"+s,"gim");e.match(a)&&(t=e.match(a))}),(n=t?t[0]:"$events/message_publish")!==this.selectedOption.event&&(this.selectedOption=this.eventsList.find(function(e){return e.event===n})||{columns:{},test_columns:{}},this.sqlPrimaryKey=this.selectedOption.columns,this.initTestFormItem())},initTestFormItem:function(){var e=this;this.testOutPut="";var t={},n={},i=this.selectedOption.test_columns;c()(i).forEach(function(o){var r=i[o];"object"===(void 0===r?"undefined":u()(r))&&(r=f()(r,null,2)),t[o]=r,n[o]={required:!0,message:o+" "+e.$t("rule.is_required")}}),this.$set(this.record,"ctx",t),this.rules.ctx=n},generateEventsSelect:function(e){this.eventOptions=this.eventsList,this.selectedOption=this.eventsList[0],e&&(this.record.rawsql=this._sqlFormatter(this.selectedOption.sql_example))},_sqlFormatter:function(e){var t=m.a.format(e).replace(/= ~/g,"=~").replace(/\n/g,"!#!"),n=t.match(/SELECT!#!(.+)!#!FROM/);if(n){var i=n[1];if(i){var o=i.replace(/(!#!|\s)/g," ").split(/[,,]/).join(", ");t=t.replace(i,""+o)}}return t.replace(/!#!/g,"\n")},handleCreate:function(){var e=this;this.$refs.record&&this.$refs.record.validate(function(t){if(t)if(0!==e.record.actions.length)if(e.isEdit){var n=e.$route.query.rule,i=e.record,o={actions:i.actions,ctx:i.ctx,description:i.description,rawsql:i.rawsql};e.$httpPut("/rules/"+n,o).then(function(){e.$message.success(e.$t("oper.editSuccess")),e.$router.push("/rules")})}else e.$httpPost("/rules",e.record).then(function(){e.$message.success(e.$t("rule.create_success")),e.$router.push("/rules")});else e.$message.error(e.$t("rule.actions_required"))})},loadRule:function(e){var t=this;this.$httpGet("/rules/"+e).then(function(e){t.record=e.data})},loadData:function(){var e=this;return s()(o.a.mark(function t(){var n;return o.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,C();case 2:e.eventsList=t.sent,(n=e.$route.query.rule)?(e.isEdit=!0,e.loadRule(n),e.generateEventsSelect()):(e.isEdit=!1,e.generateEventsSelect(!0));case 5:case"end":return t.stop()}},t,e)}))()},handleCancel:function(){this.$router.push("/rules")}},created:function(){this.loadData(),this.initTestFormItem()}},D={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"rule-create"},[n("div",{staticClass:"page-title"},[n("el-breadcrumb",{attrs:{separator:"/"}},[n("el-breadcrumb-item",{attrs:{to:{path:"/rules"}}},[e._v("\n "+e._s(e.$t("rule.message_rule"))+"\n ")]),e._v(" "),n("el-breadcrumb-item",{staticClass:"breadcrumb-name"},[e._v("\n "+e._s(e.operationName)+"\n ")])],1)],1),e._v(" "),n("el-card",{staticClass:"el-card--self"},[n("el-form",{ref:"record",attrs:{"label-position":"right","label-width":"108px",model:e.record,rules:e.rules}},[n("div",{staticClass:"form-block--wrapper"},[n("div",{staticClass:"form-block__title"},[e._v("\n "+e._s(e.$t("rule.conditional"))+"\n "),n("div",{staticClass:"form-block__title-tips"},[e._v("\n "+e._s(e.$t("rule.conditional_tips"))+"\n ")])]),e._v(" "),n("div",{staticClass:"form-block__body"},[n("el-row",{staticStyle:{"max-width":"1366px"}},[n("el-col",{attrs:{span:14}},[n("el-form-item",{staticClass:"code-sql rawsql",attrs:{prop:"rawsql",label:e.$t("rule.rule_sql")}},[n("div",{staticClass:"monaco-container"},[n("monaco",{attrs:{id:"rule-sql",lang:"sql",provider:e.sqlProvider},on:{"qucik-save":e.handleTest},model:{value:e.record.rawsql,callback:function(t){e.$set(e.record,"rawsql",t)},expression:"record.rawsql"}})],1)]),e._v(" "),n("el-form-item",{attrs:{prop:"id",label:e.$t("rule.rule_id")}},[n("el-input",{attrs:{disabled:e.isEdit},model:{value:e.record.id,callback:function(t){e.$set(e.record,"id",t)},expression:"record.id"}})],1),e._v(" "),n("el-form-item",{attrs:{label:e.$t("rule.description")}},[n("el-input",{attrs:{placeholder:e.$t("rule.rule_descr_placeholder")},model:{value:e.record.description,callback:function(t){e.$set(e.record,"description",t)},expression:"record.description"}})],1),e._v(" "),n("el-form-item",{attrs:{label:e.$t("rule.input_test_data")}},[n("el-switch",{attrs:{"inactive-color":"#a7a7a7"},model:{value:e.inTest,callback:function(t){e.inTest=t},expression:"inTest"}}),e._v(" "),n("el-popover",{attrs:{placement:"right",width:"200",trigger:"hover"}},[e._v("\n "+e._s(e.$t("rule.input_test_data_tips"))+"\n "),n("i",{staticClass:"el-icon-question",attrs:{slot:"reference",tabindex:"-1"},slot:"reference"})])],1),e._v(" "),e.inTest?[e._l(Object.keys(e.selectedOption.test_columns),function(t){return n("el-form-item",e._b({key:t,class:{"code-sql":"payload"===t,payload:"payload"===t}},"el-form-item",{label:t,prop:"ctx."+t},!1),["payload"!==t?n("el-input",{model:{value:e.record.ctx[t],callback:function(n){e.$set(e.record.ctx,t,n)},expression:"record.ctx[k]"}}):[n("div",{staticClass:"monaco-container"},[n("monaco",{attrs:{id:"payload",lang:e.payloadType},on:{"qucik-save":e.handleTest},model:{value:e.record.ctx.payload,callback:function(t){e.$set(e.record.ctx,"payload",t)},expression:"record.ctx.payload"}})],1),e._v(" "),n("div",{staticClass:"payload-type"},[n("el-radio-group",{model:{value:e.payloadType,callback:function(t){e.payloadType=t},expression:"payloadType"}},[n("el-radio",{attrs:{label:"json"}},[e._v("JSON")]),e._v(" "),n("el-radio",{attrs:{label:"plaintext"}},[e._v("Plaintext")])],1)],1)]],2)}),e._v(" "),n("el-form-item",[n("el-button",{staticClass:"test-btn",attrs:{type:"primary",size:"small"},on:{click:e.handleTest}},[e._v("\n "+e._s(e.$t("rule.test"))+"\n ")])],1),e._v(" "),n("el-form-item",{attrs:{label:e.$t("rule.test_output")}},[n("el-input",{attrs:{type:"textarea",rows:4,placeholder:e.$t("rule.no_test_output"),readonly:""},model:{value:e.testOutPut,callback:function(t){e.testOutPut=t},expression:"testOutPut"}})],1)]:e._e()],2),e._v(" "),n("el-col",{staticClass:"sql-tips",attrs:{span:8,offset:1}},[n("div",{staticClass:"title"},[e._v("\n "+e._s(e.$t("rule.rule_sql_tips_title"))+"\n ")]),e._v(" "),n("el-scrollbar",{attrs:{"wrap-class":"doc-wrapper"}},[n("div",{domProps:{innerHTML:e._s(e.$t("rule.sql_tips_html"))}})])],1)],1)],1)]),e._v(" "),n("div",{staticClass:"form-block--wrapper",staticStyle:{clear:"both"}},[n("div",{staticClass:"form-block__title"},[n("span",{staticStyle:{color:"#ff6d6d"}},[e._v("*")]),e._v("\n "+e._s(e.$t("rule.set_action"))+"\n "),n("div",{staticClass:"form-block__title-tips"},[e._v("\n "+e._s(e.$t("rule.actions_tips"))+"\n ")])]),e._v(" "),n("div",{staticClass:"form-block__body"},[n("el-row",{staticStyle:{"max-width":"1366px"}},[n("el-col",{attrs:{span:23}},[n("rule-actions",{attrs:{operations:["create","delete","edit"],record:e.record}})],1)],1)],1)])]),e._v(" "),n("div",[n("el-button",{staticClass:"confirm-btn",attrs:{type:"success"},on:{click:e.handleCreate}},[e._v("\n "+e._s(e.isEdit?e.$t("rule.confirm"):e.$t("rule.create"))+"\n ")]),e._v(" "),n("el-button",{staticClass:"cache-btn",attrs:{type:"text"},on:{click:e.handleCancel}},[e._v("\n "+e._s(e.$t("rule.cancel"))+"\n ")])],1)],1)],1)},staticRenderFns:[]};var k=n("VU/8")(I,D,!1,function(e){n("WHgm")},null,null);t.default=k.exports},nLHh:function(e,t){},nY9q:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"defaultReferenceSearchOptions",function(){return I}),n.d(t,"ReferenceController",function(){return D}),n.d(t,"ReferenceAction",function(){return k}),t.provideReferences=R;var i,o=n("hK2W"),r=n("7g0X"),s=n("Kx4b"),a=n("artP"),u=n("03Zz"),l=n("PCC9"),c=n("vTy2"),d=n("fw2Z"),h=n("Pb27"),p=n("9uVW"),f=n("odeJ"),g=n("zxiH"),m=n("/9db"),_=n("IrTV"),v=n("P1SM"),y=n("bhIx"),b=n("ni2T"),C=n("ItKl"),w=n("mrx5"),S=n("vORD"),L=n("80kS"),O=n("X6iQ"),E=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),N=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},x=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},I={getMetaTitle:function(e){return e.references.length>1?o.a("meta.titleReference"," – {0} references",e.references.length):""}},D=function(){function e(e,t){e instanceof _.a&&d.b.inPeekEditor.bindTo(t)}return e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.ID="editor.contrib.referenceController",e=N([x(1,r.c)],e)}(),k=function(e){function t(){return e.call(this,{id:"editor.action.referenceSearch.trigger",label:o.a("references.action.label","Peek References"),alias:"Peek References",precondition:r.a.and(m.a.hasReferenceProvider,d.b.notInPeekEditor,m.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:m.a.editorTextFocus,primary:1094,weight:100},menuOpts:{group:"navigation",order:1.5}})||this}return E(t,e),t.prototype.run=function(e,t){var n=h.a.get(t);if(n&&t.hasModel()){var i=t.getSelection(),o=t.getModel(),r=Object(f.f)(function(e){return R(o,i.getStartPosition(),e).then(function(e){return new p.c(e)})});n.toggleWidget(i,r,I)}},t}(u.b);Object(u.h)(D),Object(u.f)(k);function T(e,t){M(e,function(e){return e.closeWidget()})}function M(e,t){var n=Object(d.d)(e);if(n){var i=h.a.get(n);i&&t(i)}}function R(e,t,n){var i=l.s.ordered(e).map(function(i){return Promise.resolve(i.provideReferences(e,t,{includeDeclaration:!0},n)).then(function(e){if(Array.isArray(e))return e},function(e){Object(g.f)(e)})});return Promise.all(i).then(function(e){return Object(O.k)(Object(O.d)(e))})}C.a.registerCommand({id:"editor.action.findReferences",handler:function(e,t,n){if(!(t instanceof w.a))throw new Error("illegal argument, uri");if(!n)throw new Error("illegal argument, position");var i=e.get(S.a);return i.openCodeEditor({resource:t},i.getFocusedCodeEditor()).then(function(e){if(Object(v.a)(e)&&e.hasModel()){var t=h.a.get(e);if(t){var i=Object(f.f)(function(t){return R(e.getModel(),a.a.lift(n),t).then(function(e){return new p.c(e)})}),o=new c.a(n.lineNumber,n.column,n.lineNumber,n.column);return Promise.resolve(t.toggleWidget(o,i,I))}}})}}),C.a.registerCommand({id:"editor.action.showReferences",handler:function(e,t,n,i){if(!(t instanceof w.a))throw new Error("illegal argument, uri expected");if(!i)throw new Error("missing references");var o=e.get(S.a);return o.openCodeEditor({resource:t},o.getFocusedCodeEditor()).then(function(e){if(Object(v.a)(e)){var t=h.a.get(e);if(t)return t.toggleWidget(new c.a(n.lineNumber,n.column,n.lineNumber,n.column),Object(f.f)(function(e){return Promise.resolve(new p.c(i))}),I)}})},description:{description:"Show references at a position in a file",args:[{name:"uri",description:"The text document in which to show references",constraint:w.a},{name:"position",description:"The position at which to show",constraint:a.a.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array}]}}),s.a.registerCommandAndKeybindingRule({id:"goToNextReference",weight:250,primary:62,when:h.b,handler:function(e){M(e,function(e){e.goToNextOrPreviousReference(!0)})}}),s.a.registerCommandAndKeybindingRule({id:"goToNextReferenceFromEmbeddedEditor",weight:150,primary:62,when:d.b.inPeekEditor,handler:function(e){M(e,function(e){e.goToNextOrPreviousReference(!0)})}}),s.a.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:250,primary:1086,when:h.b,handler:function(e){M(e,function(e){e.goToNextOrPreviousReference(!1)})}}),s.a.registerCommandAndKeybindingRule({id:"goToPreviousReferenceFromEmbeddedEditor",weight:150,primary:1086,when:d.b.inPeekEditor,handler:function(e){M(e,function(e){e.goToNextOrPreviousReference(!1)})}}),s.a.registerCommandAndKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:r.a.and(h.b,r.a.not("config.editor.stablePeek")),handler:T}),s.a.registerCommandAndKeybindingRule({id:"closeReferenceSearchEditor",weight:-1,primary:9,secondary:[1033],when:r.a.and(d.b.inPeekEditor,r.a.not("config.editor.stablePeek")),handler:T}),s.a.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:r.a.and(h.b,b.c),handler:function(e,t){var n=e.get(y.a),i=n.lastFocusedList&&n.lastFocusedList.getFocus();i instanceof p.b&&M(e,function(e){return e.openReference(i,!0)})}}),Object(u.e)("_executeReferenceProvider",function(e,t){return R(e,t,L.a.None)})},ni2T:function(e,t,n){"use strict";var i,o,r,s=n("7/Cv"),a=n("TNPA"),u=n("Kp7x"),l=n("tqet"),c=n("lapT"),d=n("ZYUE"),h=(n("Bv73"),n("IrTV")),p=n("vTy2"),f=n("0ly5"),g=n("B/Xy"),m=n("9uVW"),_=n("tpa8"),v=(n("0u1n"),n("aL7J")),y=n("TU7t"),b={badgeBackground:a.a.fromHex("#4D4D4D"),badgeForeground:a.a.fromHex("#FFFFFF")},C=function(){function e(e,t){this.count=0,this.options=t||Object.create(null),Object(y.g)(this.options,b,!1),this.badgeBackground=this.options.badgeBackground,this.badgeForeground=this.options.badgeForeground,this.badgeBorder=this.options.badgeBorder,this.element=Object(s.m)(e,Object(s.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(v.r)(this.countFormat,this.count),this.element.title=Object(v.r)(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,n=this.badgeBorder?this.badgeBorder.toString():null;this.element.style.backgroundColor=e,this.element.style.color=t,this.element.style.borderWidth=n?"1px":null,this.element.style.borderStyle=n?"solid":null,this.element.style.borderColor=n}},e}(),w=n("g1W0"),S=n("eoic"),L=n("Yqb6"),O=n("hK2W"),E=n("1sup"),N=n("JVO/"),x=n("NqM+"),I=n("GYOr"),D=n("mtgd"),k=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),T=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},M=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},R=function(){function e(e){this._resolverService=e}return e.prototype.hasChildren=function(e){return e instanceof m.c||e instanceof m.a&&!e.failure},e.prototype.getChildren=function(e){if(e instanceof m.c)return e.groups;if(e instanceof m.a)return e.resolve(this._resolverService).then(function(e){return e.children});throw new Error("bad tree")},e=T([M(0,g.a)],e)}(),A=function(){function e(){}return e.prototype.getHeight=function(){return 23},e.prototype.getTemplateId=function(e){return e instanceof m.a?j.id:B.id},e}(),P=function(){function e(e){this._keybindingService=e}return e.prototype.getKeyboardNavigationLabel=function(e){if(e instanceof m.b){var t=e.parent.preview,n=t&&t.preview(e.range);if(n)return n.value}return Object(d.b)(e.uri)},e.prototype.mightProducePrintableCharacter=function(e){return this._keybindingService.mightProducePrintableCharacter(e)},e=T([M(0,x.a)],e)}(),F=function(){function e(){}return e.prototype.getId=function(e){return e.id},e}(),W=function(e){function t(t,n,i){var o=e.call(this)||this;o._uriLabel=n;var r=document.createElement("div");return s.f(r,"reference-file"),o.file=o._register(new _.a(r,{supportHighlights:!0})),o.badge=new C(s.m(r,s.a(".count"))),o._register(Object(L.a)(o.badge,i)),t.appendChild(r),o}return k(t,e),t.prototype.set=function(e,t){var n=Object(d.d)(e.uri);this.file.setLabel(Object(E.a)(e.uri),this._uriLabel.getUriLabel(n,{relative:!0}),{title:this._uriLabel.getUriLabel(e.uri),matches:t});var i=e.children.length;this.badge.setCount(i),e.failure?this.badge.setTitleFormat(Object(O.a)("referencesFailre","Failed to resolve file.")):i>1?this.badge.setTitleFormat(Object(O.a)("referencesCount","{0} references",i)):this.badge.setTitleFormat(Object(O.a)("referenceCount","{0} reference",i))},t=T([M(1,w.a),M(2,S.c)],t)}(l.a),j=function(){function e(t){this._instantiationService=t,this.templateId=e.id}return e.prototype.renderTemplate=function(e){return this._instantiationService.createInstance(W,e)},e.prototype.renderElement=function(e,t,n){n.set(e.element,Object(I.c)(e.filterData))},e.prototype.disposeTemplate=function(e){e.dispose()},e.id="FileReferencesRenderer",e=T([M(0,N.a)],e)}(),V=function(){function e(e){this.label=new D.a(e,!1)}return e.prototype.set=function(e,t){var n=e.parent.preview,i=n&&n.preview(e.range);if(i){var o=i.value,r=i.highlight;t&&!I.a.isDefault(t)?(s.R(this.label.element,"referenceMatch",!1),this.label.set(o,Object(I.c)(t))):(s.R(this.label.element,"referenceMatch",!0),this.label.set(o,[r]))}else this.label.set(Object(d.b)(e.uri)+":"+(e.range.startLineNumber+1)+":"+(e.range.startColumn+1))},e}(),B=function(){function e(){this.templateId=e.id}return e.prototype.renderTemplate=function(e){return new V(e)},e.prototype.renderElement=function(e,t,n){n.set(e.element,e.filterData)},e.prototype.disposeTemplate=function(){},e.id="OneReferenceRenderer",e}(),H=function(){function e(){}return e.prototype.getAriaLabel=function(e){return e instanceof m.a?e.getAriaMessage():e instanceof m.b?e.getAriaMessage():null},e}(),z=n("7g0X"),U=n("bhIx"),K=n("L5KM"),q=n("fw2Z"),G=(n("C9H4"),n("KIxu")),Z=n("ot3f"),Y=n("X6iQ"),X=n("5tK6"),J=n("Gxst"),Q=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),$={separatorBorder:a.a.transparent},ee=function(){function e(e,t,n,i){this.container=e,this.view=t,this.disposable=i,this._cachedVisibleSize=void 0,"number"==typeof n?(this._size=n,this._cachedVisibleSize=void 0,s.f(e,"visible")):(this._size=0,this._cachedVisibleSize=n.cachedVisibleSize)}return Object.defineProperty(e.prototype,"size",{get:function(){return this._size},set:function(e){this._size=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"visible",{get:function(){return void 0===this._cachedVisibleSize},enumerable:!0,configurable:!0}),e.prototype.setVisible=function(e,t){e!==this.visible&&(e?(this.size=Object(Z.a)(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize="number"==typeof t?t:this.size,this.size=0),s.R(this.container,"visible",e),this.view.setVisible&&this.view.setVisible(e))},Object.defineProperty(e.prototype,"minimumSize",{get:function(){return this.visible?this.view.minimumSize:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"viewMinimumSize",{get:function(){return this.view.minimumSize},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maximumSize",{get:function(){return this.visible?this.view.maximumSize:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"viewMaximumSize",{get:function(){return this.view.maximumSize},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"priority",{get:function(){return this.view.priority},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"snap",{get:function(){return!!this.view.snap},enumerable:!0,configurable:!0}),e.prototype.layout=function(e){this.view.layout(this.size,e)},e.prototype.dispose=function(){return this.disposable.dispose(),this.view},e}(),te=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Q(t,e),t.prototype.layout=function(t){e.prototype.layout.call(this,t),this.container.style.height=this.size+"px"},t}(ee),ne=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Q(t,e),t.prototype.layout=function(t){e.prototype.layout.call(this,t),this.container.style.width=this.size+"px"},t}(ee);!function(e){e[e.Idle=0]="Idle",e[e.Busy=1]="Busy"}(o||(o={})),function(e){e.Distribute={type:"distribute"},e.Split=function(e){return{type:"split",index:e}},e.Invisible=function(e){return{type:"invisible",cachedVisibleSize:e}}}(r||(r={}));var ie=function(e){function t(t,n){void 0===n&&(n={});var i=e.call(this)||this;return i.size=0,i.contentSize=0,i.proportions=void 0,i.viewItems=[],i.sashItems=[],i.state=o.Idle,i._onDidSashChange=i._register(new u.a),i.onDidSashChange=i._onDidSashChange.event,i._onDidSashReset=i._register(new u.a),i.orientation=G.j(n.orientation)?0:n.orientation,i.inverseAltBehavior=!!n.inverseAltBehavior,i.proportionalLayout=!!G.j(n.proportionalLayout)||!!n.proportionalLayout,i.el=document.createElement("div"),s.f(i.el,"monaco-split-view2"),s.f(i.el,0===i.orientation?"vertical":"horizontal"),t.appendChild(i.el),i.sashContainer=s.m(i.el,s.a(".sash-container")),i.viewContainer=s.m(i.el,s.a(".split-view-container")),i.style(n.styles||$),n.descriptor&&(i.size=n.descriptor.size,n.descriptor.views.forEach(function(e,t){var n=G.j(e.visible)||e.visible?e.size:{type:"invisible",cachedVisibleSize:e.size},o=e.view;i.doAddView(o,n,t,!0)}),i.contentSize=i.viewItems.reduce(function(e,t){return e+t.size},0),i.saveProportions()),i}return Q(t,e),Object.defineProperty(t.prototype,"orthogonalStartSash",{get:function(){return this._orthogonalStartSash},set:function(e){for(var t=0,n=this.sashItems;t0&&(this.proportions=this.viewItems.map(function(t){return t.size/e.contentSize}))},t.prototype.onSashStart=function(e){var t=this,n=e.sash,i=e.start,o=e.alt,r=Object(Y.j)(this.sashItems,function(e){return e.sash===n}),s=Object(l.e)(Object(J.a)(document.body,"keydown")(function(e){return a(t.sashDragState.current,e.altKey)}),Object(J.a)(document.body,"keyup")(function(){return a(t.sashDragState.current,!1)})),a=function(e,n){var i,o,a=t.viewItems.map(function(e){return e.size}),u=Number.NEGATIVE_INFINITY,l=Number.POSITIVE_INFINITY;(t.inverseAltBehavior&&(n=!n),n)&&(r===t.sashItems.length-1?(u=((b=t.viewItems[r]).minimumSize-b.size)/2,l=(b.maximumSize-b.size)/2):(u=((b=t.viewItems[r+1]).size-b.maximumSize)/2,l=(b.size-b.minimumSize)/2));if(!n){var c=Object(Y.r)(r,-1),d=Object(Y.r)(r+1,t.viewItems.length),h=c.reduce(function(e,n){return e+(t.viewItems[n].minimumSize-a[n])},0),p=c.reduce(function(e,n){return e+(t.viewItems[n].viewMaximumSize-a[n])},0),f=0===d.length?Number.POSITIVE_INFINITY:d.reduce(function(e,n){return e+(a[n]-t.viewItems[n].minimumSize)},0),g=0===d.length?Number.NEGATIVE_INFINITY:d.reduce(function(e,n){return e+(a[n]-t.viewItems[n].viewMaximumSize)},0),m=Math.max(h,g),_=Math.min(f,p),v=t.findFirstSnapIndex(c),y=t.findFirstSnapIndex(d);if("number"==typeof v){var b=t.viewItems[v],C=Math.floor(b.viewMinimumSize/2);i={index:v,limitDelta:b.visible?m-C:m+C,size:b.size}}if("number"==typeof y){b=t.viewItems[y],C=Math.floor(b.viewMinimumSize/2);o={index:y,limitDelta:b.visible?_+C:_-C,size:b.size}}}t.sashDragState={start:e,current:e,index:r,sizes:a,minDelta:u,maxDelta:l,alt:n,snapBefore:i,snapAfter:o,disposable:s}};a(i,o)},t.prototype.onSashChange=function(e){var t=e.current,n=this.sashDragState,i=n.index,o=n.start,r=n.sizes,s=n.alt,a=n.minDelta,u=n.maxDelta,l=n.snapBefore,c=n.snapAfter;this.sashDragState.current=t;var d=t-o,h=this.resize(i,d,r,void 0,void 0,a,u,l,c);if(s){var p=i===this.sashItems.length-1,f=this.viewItems.map(function(e){return e.size}),g=p?i:i+1,m=this.viewItems[g],_=m.size-m.maximumSize,v=m.size-m.minimumSize,y=p?i-1:i+1;this.resize(y,-h,f,void 0,void 0,_,v)}this.distributeEmptySpace(),this.layoutViews()},t.prototype.onSashEnd=function(e){this._onDidSashChange.fire(e),this.sashDragState.disposable.dispose(),this.saveProportions()},t.prototype.onViewChange=function(e,t){var n=this.viewItems.indexOf(e);n<0||n>=this.viewItems.length||(t="number"==typeof t?t:e.size,t=Object(Z.a)(t,e.minimumSize,e.maximumSize),this.inverseAltBehavior&&n>0?(this.resize(n-1,Math.floor((e.size-t)/2)),this.distributeEmptySpace(),this.layoutViews()):(e.size=t,this.relayout([n],void 0)))},t.prototype.resizeView=function(e,t){var n=this;if(this.state!==o.Idle)throw new Error("Cant modify splitview");if(this.state=o.Busy,!(e<0||e>=this.viewItems.length)){var i=Object(Y.r)(this.viewItems.length).filter(function(t){return t!==e}),r=i.filter(function(e){return 1===n.viewItems[e].priority}).concat([e]),s=i.filter(function(e){return 2===n.viewItems[e].priority}),a=this.viewItems[e];t=Math.round(t),t=Object(Z.a)(t,a.minimumSize,Math.min(a.maximumSize,this.size)),a.size=t,this.relayout(r,s),this.state=o.Idle}},t.prototype.distributeViewSizes=function(){for(var e=this,t=[],n=0,i=0,o=this.viewItems;i0&&(t.push(u),n+=u.size)}for(var r=Math.floor(n/t.length),s=0,a=t;s=this.viewItems.length?-1:this.viewItems[e].size},t.prototype.doAddView=function(e,t,n,i){var r=this;if(void 0===n&&(n=this.viewItems.length),this.state!==o.Idle)throw new Error("Cant modify splitview");this.state=o.Busy;var a=s.a(".split-view-view");n===this.viewItems.length?this.viewContainer.appendChild(a):this.viewContainer.insertBefore(a,this.viewContainer.children.item(n));var c,d=e.onDidChange(function(e){return r.onViewChange(g,e)}),h=Object(l.h)(function(){return r.viewContainer.removeChild(a)}),p=Object(l.e)(d,h);c="number"==typeof t?t:"split"===t.type?this.getViewSize(t.index)/2:"invisible"===t.type?{cachedVisibleSize:t.cachedVisibleSize}:e.minimumSize;var f,g=0===this.orientation?new te(a,e,c,p):new ne(a,e,c,p);if(this.viewItems.splice(n,0,g),this.viewItems.length>1){var m=0===this.orientation?1:0,_=0===this.orientation?{getHorizontalSashTop:function(e){return r.getSashPosition(e)}}:{getVerticalSashLeft:function(e){return r.getSashPosition(e)}},v=new X.a(this.sashContainer,_,{orientation:m,orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash}),y=0===this.orientation?function(e){return{sash:v,start:e.startY,current:e.currentY,alt:e.altKey}}:function(e){return{sash:v,start:e.startX,current:e.currentX,alt:e.altKey}},b=u.b.map(v.onDidStart,y)(this.onSashStart,this),C=u.b.map(v.onDidChange,y)(this.onSashChange,this),w=u.b.map(v.onDidEnd,function(){return Object(Y.j)(r.sashItems,function(e){return e.sash===v})})(this.onSashEnd,this),S=v.onDidReset(function(){var e=Object(Y.j)(r.sashItems,function(e){return e.sash===v}),t=Object(Y.r)(e,-1),n=Object(Y.r)(e+1,r.viewItems.length),i=r.findFirstSnapIndex(t),o=r.findFirstSnapIndex(n);("number"!=typeof i||r.viewItems[i].visible)&&("number"!=typeof o||r.viewItems[o].visible)&&r._onDidSashReset.fire(e)}),L=Object(l.e)(b,C,w,S,v),O={sash:v,disposable:L};this.sashItems.splice(n-1,0,O)}a.appendChild(e.element),"number"!=typeof t&&"split"===t.type&&(f=[t.index]),i||this.relayout([n],f),this.state=o.Idle,i||"number"==typeof t||"distribute"!==t.type||this.distributeViewSizes()},t.prototype.relayout=function(e,t){var n=this.viewItems.reduce(function(e,t){return e+t.size},0);this.resize(this.viewItems.length-1,this.size-n,void 0,e,t),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()},t.prototype.resize=function(e,t,n,i,o,r,s,a,u){var l=this;if(void 0===n&&(n=this.viewItems.map(function(e){return e.size})),void 0===r&&(r=Number.NEGATIVE_INFINITY),void 0===s&&(s=Number.POSITIVE_INFINITY),e<0||e>=this.viewItems.length)return 0;var c=Object(Y.r)(e,-1),d=Object(Y.r)(e+1,this.viewItems.length);if(o)for(var h=0,p=o;h=a.limitDelta)!==I.visible,I.setVisible(D,a.size)}if(!x&&u){var D;I=this.viewItems[u.index];x=(D=t0||t});t=!1;var i=this.viewItems.map(function(e){return t=e.maximumSize-e.size>0||t}),o=this.viewItems.slice().reverse();t=!1;var r=o.map(function(e){return t=e.size-e.minimumSize>0||t}).reverse();t=!1;var s=o.map(function(e){return t=e.maximumSize-e.size>0||t}).reverse();this.sashItems.forEach(function(t,o){var a=t.sash,u=!(n[o]&&s[o+1]),l=!(i[o]&&r[o+1]);if(u&&l){var c=Object(Y.r)(o,-1),d=Object(Y.r)(o+1,e.viewItems.length),h=e.findFirstSnapIndex(c),p=e.findFirstSnapIndex(d),f="number"==typeof h&&!e.viewItems[h].visible,g="number"==typeof p&&!e.viewItems[p].visible;f&&r[o]?a.state=1:g&&n[o]?a.state=2:a.state=0}else a.state=u&&!l?1:!u&&l?2:3})},t.prototype.getSashPosition=function(e){for(var t=0,n=0;n0)return;if(!s.visible&&s.snap)return i}},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.viewItems.forEach(function(e){return e.dispose()}),this.viewItems=[],this.sashItems.forEach(function(e){return e.disposable.dispose()}),this.sashItems=[]},t}(l.a);n.d(t,"a",function(){return ce}),n.d(t,"c",function(){return de}),n.d(t,"b",function(){return he}),n.d(t,"d",function(){return fe}),n.d(t,"e",function(){return ge});var oe=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),re=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},se=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ae=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},ue=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]0?e.children[0]:void 0},t.prototype._revealReference=function(e,t){return ae(this,void 0,void 0,function(){var n,i,o,r,s;return ue(this,function(a){switch(a.label){case 0:return this._revealedReference===e?[2]:(this._revealedReference=e,e.uri.scheme!==c.b.inMemory?this.setTitle(Object(d.c)(e.uri),this._uriLabel.getUriLabel(Object(d.d)(e.uri))):this.setTitle(O.a("peekView.alternateTitle","References")),n=this._textModelResolverService.createModelReference(e.uri),this._tree.getInput()!==e.parent?[3,1]:(this._tree.reveal(e),[3,3]));case 1:return t&&this._tree.reveal(e.parent),[4,this._tree.expand(e.parent)];case 2:a.sent(),this._tree.reveal(e),a.label=3;case 3:return[4,n];case 4:return i=a.sent(),this._model?(Object(l.f)(this._previewModelReference),(o=i.object)?(r=this._preview.getModel()===o.textEditorModel?0:1,s=p.a.lift(e.range).collapseToStart(),this._previewModelReference=i,this._preview.setModel(o.textEditorModel),this._preview.setSelection(s),this._preview.revealRangeInCenter(s,r)):(this._preview.setModel(this._previewNotAvailableMessage),i.dispose()),[2]):(i.dispose(),[2])}})})},t=re([se(3,S.c),se(4,g.a),se(5,N.a),se(6,q.a),se(7,w.a)],t)}(q.c),pe=Object(K._36)("peekViewTitle.background",{dark:"#1E1E1E",light:"#FFFFFF",hc:"#0C141F"},O.a("peekViewTitleBackground","Background color of the peek view title area.")),fe=Object(K._36)("peekViewTitleLabel.foreground",{dark:"#FFFFFF",light:"#333333",hc:"#FFFFFF"},O.a("peekViewTitleForeground","Color of the peek view title.")),ge=Object(K._36)("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#6c6c6cb3",hc:"#FFFFFF99"},O.a("peekViewTitleInfoForeground","Color of the peek view title info.")),me=Object(K._36)("peekView.border",{dark:"#007acc",light:"#007acc",hc:K.e},O.a("peekViewBorder","Color of the peek view borders and arrow.")),_e=Object(K._36)("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hc:a.a.black},O.a("peekViewResultsBackground","Background color of the peek view result list.")),ve=Object(K._36)("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hc:a.a.white},O.a("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list.")),ye=Object(K._36)("peekViewResult.fileForeground",{dark:a.a.white,light:"#1E1E1E",hc:a.a.white},O.a("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list.")),be=Object(K._36)("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hc:null},O.a("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list.")),Ce=Object(K._36)("peekViewResult.selectionForeground",{dark:a.a.white,light:"#6C6C6C",hc:a.a.white},O.a("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list.")),we=Object(K._36)("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hc:a.a.black},O.a("peekViewEditorBackground","Background color of the peek view editor.")),Se=Object(K._36)("peekViewEditorGutter.background",{dark:we,light:we,hc:we},O.a("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor.")),Le=Object(K._36)("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hc:null},O.a("peekViewResultsMatchHighlight","Match highlight color in the peek view result list.")),Oe=Object(K._36)("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hc:null},O.a("peekViewEditorMatchHighlight","Match highlight color in the peek view editor.")),Ee=Object(K._36)("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hc:K.b},O.a("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));Object(S.f)(function(e,t){var n=e.getColor(Le);n&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight { background-color: "+n+"; }");var i=e.getColor(Oe);i&&t.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { background-color: "+i+"; }");var o=e.getColor(Ee);o&&t.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { border: 2px solid "+o+"; box-sizing: border-box; }");var r=e.getColor(K.b);r&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight { border: 1px dotted "+r+"; box-sizing: border-box; }");var s=e.getColor(_e);s&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree { background-color: "+s+"; }");var a=e.getColor(ve);a&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree { color: "+a+"; }");var u=e.getColor(ye);u&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .reference-file { color: "+u+"; }");var l=e.getColor(be);l&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) { background-color: "+l+"; }");var c=e.getColor(Ce);c&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) { color: "+c+" !important; }");var d=e.getColor(we);d&&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: "+d+";}");var h=e.getColor(Se);h&&t.addRule(".monaco-editor .reference-zone-widget .preview .monaco-editor .margin {\tbackground-color: "+h+";}")})},o2mx:function(e,t,n){var i=n("NkRn"),o=n("Hxdr"),r=n("NGEn"),s=n("6MiT"),a=1/0,u=i?i.prototype:void 0,l=u?u.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(r(t))return o(t,e)+"";if(s(t))return l?l.call(t):"";var n=t+"";return"0"==n&&1/t==-a?"-0":n}},"o37+":function(e,t){},odeJ:function(e,t,n){"use strict";t.i=function(e){return e&&"function"==typeof e.then},t.f=s,t.j=function(e,t,n){return Promise.race([e,new Promise(function(e){return t.onCancellationRequested(function(){return e(n)})})])},n.d(t,"a",function(){return a}),t.l=function e(t,n){if(!n)return s(function(n){return e(t,n)});return new Promise(function(e,i){var r=setTimeout(e,t);n.onCancellationRequested(function(){clearTimeout(r),i(o.a())})})},t.g=function(e,t){void 0===t&&(t=0);var n=setTimeout(e,t);return Object(r.h)(function(){return clearTimeout(n)})},t.h=function(e,t,n){void 0===t&&(t=function(e){return!!e});void 0===n&&(n=null);var i=0,o=e.length,r=function(){if(i>=o)return Promise.resolve(n);var s=e[i++],a=Promise.resolve(s());return a.then(function(e){return t(e)?Promise.resolve(e):r()})};return r()},n.d(t,"e",function(){return l}),n.d(t,"c",function(){return c}),n.d(t,"d",function(){return d}),n.d(t,"k",function(){return u}),n.d(t,"b",function(){return h});var i=n("80kS"),o=n("zxiH"),r=n("tqet");function s(e){var t=new i.b,n=e(t.token),r=new Promise(function(e,i){t.token.onCancellationRequested(function(){i(o.a())}),Promise.resolve(n).then(function(n){t.dispose(),e(n)},function(e){t.dispose(),i(e)})});return new(function(){function e(){}return e.prototype.cancel=function(){t.cancel()},e.prototype.then=function(e,t){return r.then(e,t)},e.prototype.catch=function(e){return this.then(void 0,e)},e.prototype.finally=function(e){return r.finally(e)},e}())}var a=function(){function e(e){this.defaultDelay=e,this.timeout=null,this.completionPromise=null,this.doResolve=null,this.task=null}return e.prototype.trigger=function(e,t){var n=this;return void 0===t&&(t=this.defaultDelay),this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise(function(e,t){n.doResolve=e,n.doReject=t}).then(function(){n.completionPromise=null,n.doResolve=null;var e=n.task;return n.task=null,e()})),this.timeout=setTimeout(function(){n.timeout=null,n.doResolve(null)},t),this.completionPromise},e.prototype.isTriggered=function(){return null!==this.timeout},e.prototype.cancel=function(){this.cancelTimeout(),this.completionPromise&&(this.doReject(o.a()),this.completionPromise=null)},e.prototype.cancelTimeout=function(){null!==this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},e.prototype.dispose=function(){this.cancelTimeout()},e}();var u,l=function(){function e(e,t){this._token=-1,"function"==typeof e&&"number"==typeof t&&this.setIfNotSet(e,t)}return e.prototype.dispose=function(){this.cancel()},e.prototype.cancel=function(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)},e.prototype.cancelAndSet=function(e,t){var n=this;this.cancel(),this._token=setTimeout(function(){n._token=-1,e()},t)},e.prototype.setIfNotSet=function(e,t){var n=this;-1===this._token&&(this._token=setTimeout(function(){n._token=-1,e()},t))},e}(),c=function(){function e(){this._token=-1}return e.prototype.dispose=function(){this.cancel()},e.prototype.cancel=function(){-1!==this._token&&(clearInterval(this._token),this._token=-1)},e.prototype.cancelAndSet=function(e,t){this.cancel(),this._token=setInterval(function(){e()},t)},e}(),d=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&&this.runner()},e}();!function(){if("function"!=typeof requestIdleCallback||"function"!=typeof cancelIdleCallback){var e=Object.freeze({didTimeout:!0,timeRemaining:function(){return 15}});u=function(t){var n=setTimeout(function(){return t(e)}),i=!1;return{dispose:function(){i||(i=!0,clearTimeout(n))}}}}else u=function(e,t){var n=requestIdleCallback(e,"number"==typeof t?{timeout:t}:void 0),i=!1;return{dispose:function(){i||(i=!0,cancelIdleCallback(n))}}}}();var h=function(){function e(e){var t=this;this._didRun=!1,this._executor=function(){try{t._value=e()}catch(e){t._error=e}finally{t._didRun=!0}},this._handle=u(function(){return t._executor()})}return e.prototype.dispose=function(){this._handle.dispose()},e.prototype.getValue=function(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value},e}()},oqL2:function(e,t){e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},oqRo:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("xF6g"),o=(n.n(i),n("hK2W")),r=n("odeJ"),s=n("zxiH"),a=n("3uSZ"),u=n("6TMp"),l=n("vTy2"),c=n("PCC9"),d=n("03Zz"),h=n("iLE3"),p=n("tqet"),f=n("B/Xy"),g=n("eoic"),m=n("L5KM"),_=n("4tuZ"),v=n("QfwU"),y=n("qzX+"),b=n("artP"),C=n("KIxu"),w=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},S=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},L=function(){function e(e,t,n){var i=this;this.textModelResolverService=t,this.modeService=n,this.toUnhook=new p.b,this.decorations=[],this.currentWordUnderMouse=null,this.previousPromise=null,this.editor=e;var o=new y.a(e);this.toUnhook.add(o),this.toUnhook.add(o.onMouseMoveOrRelevantKeyDown(function(e){var t=e[0],n=e[1];i.startFindDefinition(t,Object(C.m)(n))})),this.toUnhook.add(o.onExecute(function(e){i.isEnabled(e)&&i.gotoDefinition(e.target,e.hasSideBySideModifier).then(function(){i.removeDecorations()},function(e){i.removeDecorations(),Object(s.e)(e)})})),this.toUnhook.add(o.onCancel(function(){i.removeDecorations(),i.currentWordUnderMouse=null}))}return e.prototype.startFindDefinition=function(e,t){var n=this;if(!(9===e.target.type&&this.decorations.length>0)){if(!this.editor.hasModel()||!this.isEnabled(e,t))return this.currentWordUnderMouse=null,void this.removeDecorations();var i=e.target.position?this.editor.getModel().getWordAtPosition(e.target.position):null;if(!i)return this.currentWordUnderMouse=null,void this.removeDecorations();var u=e.target.position;if(!this.currentWordUnderMouse||this.currentWordUnderMouse.startColumn!==i.startColumn||this.currentWordUnderMouse.endColumn!==i.endColumn||this.currentWordUnderMouse.word!==i.word){this.currentWordUnderMouse=i;var c=new _.a(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=Object(r.f)(function(t){return n.findDefinition(e.target,t)}),this.previousPromise.then(function(e){if(e&&e.length&&c.validate(n.editor))if(e.length>1)n.addDecoration(new l.a(u.lineNumber,i.startColumn,u.lineNumber,i.endColumn),(new a.a).appendText(o.a("multipleResults","Click to show {0} definitions.",e.length)));else{var t=e[0];if(!t.uri)return;n.textModelResolverService.createModelReference(t.uri).then(function(e){if(e.object&&e.object.textEditorModel){var o=e.object.textEditorModel,r=t.range.startLineNumber;if(r<1||r>o.getLineCount())e.dispose();else{var s,c=n.getPreviewValue(o,r,t);s=t.originSelectionRange?l.a.lift(t.originSelectionRange):new l.a(u.lineNumber,i.startColumn,u.lineNumber,i.endColumn);var d=n.modeService.getModeIdByFilepathOrFirstLine(o.uri);n.addDecoration(s,(new a.a).appendCodeblock(d||"",c)),e.dispose()}}else e.dispose()})}else n.removeDecorations()}).then(void 0,s.e)}}},e.prototype.getPreviewValue=function(t,n,i){var o=i.targetSelectionRange?i.range:this.getPreviewRangeBasedOnBrackets(t,n);return o.endLineNumber-o.startLineNumber>=e.MAX_SOURCE_PREVIEW_LINES&&(o=this.getPreviewRangeBasedOnIndentation(t,n)),this.stripIndentationFromPreviewRange(t,n,o)},e.prototype.stripIndentationFromPreviewRange=function(e,t,n){for(var i=e.getLineFirstNonWhitespaceColumn(t),o=t+1;oi)return new l.a(n,1,i+1,1);s=t.findNextBracket(new b.a(c,d))}return new l.a(n,1,i+1,1)},e.prototype.addDecoration=function(e,t){var n={range:e,options:{inlineClassName:"goto-definition-link",hoverMessage:t}};this.decorations=this.editor.deltaDecorations(this.decorations,[n])},e.prototype.removeDecorations=function(){this.decorations.length>0&&(this.decorations=this.editor.deltaDecorations(this.decorations,[]))},e.prototype.isEnabled=function(e,t){return this.editor.hasModel()&&e.isNoneOrSingleMouseDown&&6===e.target.type&&(e.hasTriggerModifier||!!t&&t.keyCodeIsTriggerKey)&&c.f.has(this.editor.getModel())},e.prototype.findDefinition=function(e,t){var n=this.editor.getModel();return n?Object(h.b)(n,e.position,t):Promise.resolve(null)},e.prototype.gotoDefinition=function(e,t){var n=this;this.editor.setPosition(e.position);var i=new v.DefinitionAction(new v.DefinitionActionConfig(t,!1,!0,!1),{alias:"",label:"",id:"",precondition:void 0});return this.editor.invokeWithinContext(function(e){return i.run(e,n.editor)})},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.toUnhook.dispose()},e.ID="editor.contrib.gotodefinitionwithmouse",e.MAX_SOURCE_PREVIEW_LINES=8,e=w([S(1,f.a),S(2,u.a)],e)}();Object(d.h)(L),Object(g.f)(function(e,t){var n=e.getColor(m.n);n&&t.addRule(".monaco-editor .goto-definition-link { color: "+n+" !important; }")})},ot3f:function(e,t,n){"use strict";t.a=function(e,t,n){return Math.min(Math.max(e,t),n)}},pJVg:function(e,t){},pJmD:function(e,t,n){var i=n("6qKe"),o=n("zBOP"),r=n("5Zxu"),s=n("ZT2e");e.exports=function(e,t,n){return t=(n?o(e,t,n):void 0===t)?1:r(t),i(s(e),t)}},"pWM+":function(e,t,n){"use strict";t.b=function(e,t){var n=[],i=u.c.ordered(e).reverse().map(function(i){return Promise.resolve(i.provideDocumentColors(e,t)).then(function(e){if(Array.isArray(e))for(var t=0,o=e;t=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},I=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},D=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},k=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]0},e.prototype.resolveRenameLocation=function(e){return D(this,void 0,void 0,function(){var t,n,i;return k(this,function(o){switch(o.label){case 0:return(t=this._providers[0])?t.resolveRenameLocation?[4,t.resolveRenameLocation(this.model,this.position,e)]:[3,2]:[2,void 0];case 1:n=o.sent(),o.label=2;case 2:return!n&&(i=this.model.getWordAtPosition(this.position))?[2,{range:new d.a(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word}]:[2,n]}})})},e.prototype.provideRenameEdits=function(e,t,n,o){return D(this,void 0,void 0,function(){var r,s;return k(this,function(a){switch(a.label){case 0:return(r=this._providers[t])?[4,r.provideRenameEdits(this.model,this.position,e,o)]:[2,{edits:[],rejectReason:n.join("\n")}];case 1:return(s=a.sent())?s.rejectReason?[2,this.provideRenameEdits(e,t+1,n.concat(s.rejectReason),o)]:[2,s]:[2,this.provideRenameEdits(e,t+1,n.concat(i.a("no result","No result.")),o)]}})})},e}();function M(e,t,n){return D(this,void 0,void 0,function(){return k(this,function(i){return[2,new T(e,t).provideRenameEdits(n,0,[],L.a.None)]})})}var R=function(e){function t(t,n,i,o,r,s){var a=e.call(this)||this;return a.editor=t,a._notificationService=n,a._bulkEditService=i,a._progressService=o,a._contextKeyService=r,a._themeService=s,a._renameOperationIdPool=1,a._register(a.editor.onDidChangeModel(function(){return a.onModelChanged()})),a._register(a.editor.onDidChangeModelLanguage(function(){return a.onModelChanged()})),a._register(a.editor.onDidChangeCursorSelection(function(){return a.onModelChanged()})),a}return N(t,e),t.get=function(e){return e.getContribution(t.ID)},Object.defineProperty(t.prototype,"renameInputField",{get:function(){return this._renameInputField||(this._renameInputField=this._register(new f(this.editor,this._themeService,this._contextKeyService))),this._renameInputField},enumerable:!0,configurable:!0}),t.prototype.getId=function(){return t.ID},t.prototype.run=function(){return D(this,void 0,void 0,function(){var e,t=this;return k(this,function(n){return this._activeRename&&this._activeRename.operation.cancel(),e=this._renameOperationIdPool++,this._activeRename={id:e,operation:Object(O.f)(function(n){return t.doRename(n,e)})},[2,this._activeRename.operation]})})},t.prototype.doRename=function(e,t){return D(this,void 0,void 0,function(){var n,o,r,s,a,u,l,c,h=this;return k(this,function(p){switch(p.label){case 0:if(!this.editor.hasModel())return[2,void 0];if(n=this.editor.getPosition(),!(o=new T(this.editor.getModel(),n)).hasProvider())return[2,void 0];p.label=1;case 1:return p.trys.push([1,3,,4]),s=o.resolveRenameLocation(e),this._progressService.showWhile(s,250),[4,s];case 2:return r=p.sent(),[3,4];case 3:return a=p.sent(),v.a.get(this.editor).showMessage(a||i.a("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),n),[2,void 0];case 4:return r?r.rejectReason?(v.a.get(this.editor).showMessage(r.rejectReason,n),[2,void 0]):this._activeRename&&this._activeRename.id===t?(u=this.editor.getSelection(),l=0,c=r.text.length,d.a.isEmpty(u)||d.a.spansMultipleLines(u)||!d.a.containsRange(r.range,u)||(l=Math.max(0,u.startColumn-r.range.startColumn),c=Math.min(r.range.endColumn,u.endColumn)-r.range.startColumn),[2,this.renameInputField.getInput(r.range,r.text,l,c).then(function(t){if("boolean"!=typeof t){h.editor.focus();var n=new y.a(h.editor,15),s=Promise.resolve(o.provideRenameEdits(t,0,[],e).then(function(e){if(h.editor.hasModel()){if(!e.rejectReason)return h._bulkEditService.apply(e,{editor:h.editor}).then(function(e){e.ariaSummary&&Object(_.a)(i.a("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",r.text,t,e.ariaSummary))});n.validate(h.editor)?v.a.get(h.editor).showMessage(e.rejectReason,h.editor.getPosition()):h._notificationService.info(e.rejectReason)}},function(e){return h._notificationService.error(i.a("rename.failed","Rename failed to execute.")),Promise.reject(e)}));return h._progressService.showWhile(s,250),s}t&&h.editor.focus()})]):[2,void 0]:[2,void 0]}})})},t.prototype.acceptRenameInput=function(){this._renameInputField&&this._renameInputField.acceptInput()},t.prototype.cancelRenameInput=function(){this._renameInputField&&this._renameInputField.cancelInput(!0)},t.prototype.onModelChanged=function(){this._activeRename&&(this._activeRename.operation.cancel(),this._activeRename=void 0)},t.ID="editor.contrib.renameController",t=x([I(1,b.a),I(2,C.a),I(3,s.a),I(4,r.c),I(5,g.c)],t)}(l.a),A=function(e){function t(){return e.call(this,{id:"editor.action.rename",label:i.a("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:r.a.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,n){var i=this,r=t.get(S.a),s=Array.isArray(n)&&n||[void 0,void 0],a=s[0],u=s[1];return w.a.isUri(a)&&c.a.isIPosition(u)?r.openCodeEditor({resource:a},r.getActiveCodeEditor()).then(function(e){e&&(e.setPosition(u),e.invokeWithinContext(function(t){return i.reportTelemetry(t,e),i.run(t,e)}))},o.e):e.prototype.runCommand.call(this,t,n)},t.prototype.run=function(e,t){var n=R.get(t);return n?n.run():Promise.resolve()},t}(a.b);Object(a.h)(R),Object(a.f)(A);var P=a.c.bindToContribution(R.get);Object(a.g)(new P({id:"acceptRenameInput",precondition:p,handler:function(e){return e.acceptRenameInput()},kbOpts:{weight:199,kbExpr:u.a.focus,primary:3}})),Object(a.g)(new P({id:"cancelRenameInput",precondition:p,handler:function(e){return e.cancelRenameInput()},kbOpts:{weight:199,kbExpr:u.a.focus,primary:9,secondary:[1033]}})),Object(a.e)("_executeDocumentRenameProvider",function(e,t,n){var i=n.newName;if("string"!=typeof i)throw Object(o.b)("newName");return M(e,t,i)})},qEZG:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o=n("03Zz"),r=n("sKqm"),s=n("EfIu"),a=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),u=function(e){function t(){var t=e.call(this,{id:"editor.action.toggleHighContrast",label:s.h.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0})||this;return t._originalThemeName=null,t}return a(t,e),t.prototype.run=function(e,t){var n=e.get(r.a);this._originalThemeName?(n.setTheme(this._originalThemeName),this._originalThemeName=null):(this._originalThemeName=n.getTheme().themeName,n.setTheme("hc-black"))},t}(o.b);Object(o.f)(u)},qecS:function(e,t,n){"use strict";n("XTA7");var i,o=n("lAcG"),r=n("7/Cv"),s=n("WZeM"),a=n("b1X/"),u=n("UMuV"),l=n("Uf3U"),c=n("odeJ"),d=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),h=11,p=function(e){function t(t){var n=e.call(this)||this;return n._onActivate=t.onActivate,n.bgDomNode=document.createElement("div"),n.bgDomNode.className="arrow-background",n.bgDomNode.style.position="absolute",n.bgDomNode.style.width=t.bgWidth+"px",n.bgDomNode.style.height=t.bgHeight+"px",void 0!==t.top&&(n.bgDomNode.style.top="0px"),void 0!==t.left&&(n.bgDomNode.style.left="0px"),void 0!==t.bottom&&(n.bgDomNode.style.bottom="0px"),void 0!==t.right&&(n.bgDomNode.style.right="0px"),n.domNode=document.createElement("div"),n.domNode.className=t.className,n.domNode.style.position="absolute",n.domNode.style.width=h+"px",n.domNode.style.height=h+"px",void 0!==t.top&&(n.domNode.style.top=t.top+"px"),void 0!==t.left&&(n.domNode.style.left=t.left+"px"),void 0!==t.bottom&&(n.domNode.style.bottom=t.bottom+"px"),void 0!==t.right&&(n.domNode.style.right=t.right+"px"),n._mouseMoveMonitor=n._register(new u.a),n.onmousedown(n.bgDomNode,function(e){return n._arrowMouseDown(e)}),n.onmousedown(n.domNode,function(e){return n._arrowMouseDown(e)}),n._mousedownRepeatTimer=n._register(new c.c),n._mousedownScheduleRepeatTimer=n._register(new c.e),n}return d(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(u.b,function(e){},function(){t._mousedownRepeatTimer.cancel(),t._mousedownScheduleRepeatTimer.cancel()}),e.preventDefault()},t}(l.a),f=n("tqet"),g=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),m=function(e){function t(t,n,i){var o=e.call(this)||this;return o._visibility=t,o._visibleClassName=n,o._invisibleClassName=i,o._domNode=null,o._isVisible=!1,o._isNeeded=!1,o._shouldBeVisible=!1,o._revealTimer=o._register(new c.e),o}return g(t,e),t.prototype.applyVisibilitySetting=function(e){return 2!==this._visibility&&(3===this._visibility||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&&e._domNode.setClassName(e._visibleClassName)},0))},t.prototype._hide=function(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode&&this._domNode.setClassName(this._invisibleClassName+(e?" fade":"")))},t}(f.a),_=n("ZfGv"),v=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),y=function(e){function t(t){var n=e.call(this)||this;return n._lazyRender=t.lazyRender,n._host=t.host,n._scrollable=t.scrollable,n._scrollbarState=t.scrollbarState,n._visibilityController=n._register(new m(t.visibility,"visible scrollbar "+t.extraScrollbarClassName,"invisible scrollbar "+t.extraScrollbarClassName)),n._mouseMoveMonitor=n._register(new u.a),n._shouldRender=!0,n.domNode=Object(s.b)(document.createElement("div")),n.domNode.setAttribute("role","presentation"),n.domNode.setAttribute("aria-hidden","true"),n._visibilityController.setDomNode(n.domNode),n.domNode.setPosition("absolute"),n.onmousedown(n.domNode.domNode,function(e){return n._domNodeMouseDown(e)}),n}return v(t,e),t.prototype._createArrow=function(e){var t=this._register(new p(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)},t.prototype._createSlider=function(e,t,n,i){var o=this;this.slider=Object(s.b)(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),"number"==typeof n&&this.slider.setWidth(n),"number"==typeof i&&this.slider.setHeight(i),this.slider.setLayerHinting(!0),this.domNode.domNode.appendChild(this.slider.domNode),this.onmousedown(this.slider.domNode,function(e){e.leftButton&&(e.preventDefault(),o._sliderMouseDown(e,function(){}))}),this.onclick(this.slider.domNode,function(e){e.leftButton&&e.stopPropagation()})},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,n=t+this._scrollbarState.getSliderPosition(),i=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),o=this._sliderMousePosition(e);n<=o&&o<=i?e.leftButton&&(e.preventDefault(),this._sliderMouseDown(e,function(){})):this._onMouseDown(e)},t.prototype._onMouseDown=function(e){var t,n;if(e.target===this.domNode.domNode&&"number"==typeof e.browserEvent.offsetX&&"number"==typeof e.browserEvent.offsetY)t=e.browserEvent.offsetX,n=e.browserEvent.offsetY;else{var i=r.x(this.domNode.domNode);t=e.posx-i.left,n=e.posy-i.top}this._setDesiredScrollPositionNow(this._scrollbarState.getDesiredScrollPositionFromOffset(this._mouseDownRelativePosition(t,n))),e.leftButton&&(e.preventDefault(),this._sliderMouseDown(e,function(){}))},t.prototype._sliderMouseDown=function(e,t){var n=this,i=this._sliderMousePosition(e),o=this._sliderOrthogonalMousePosition(e),r=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._mouseMoveMonitor.startMonitoring(u.b,function(e){var t=n._sliderOrthogonalMousePosition(e),s=Math.abs(t-o);if(_.g&&s>140)n._setDesiredScrollPositionNow(r.getScrollPosition());else{var a=n._sliderMousePosition(e)-i;n._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(a))}},function(){n.slider.toggleClassName("active",!1),n._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,n){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(n),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,n,i,o){var r=Math.max(0,n-e),s=Math.max(0,r-2*t),a=i>0&&i>n;if(!a)return{computedAvailableSize:Math.round(r),computedIsNeeded:a,computedSliderSize:Math.round(s),computedSliderRatio:0,computedSliderPosition:0};var u=Math.round(Math.max(20,Math.floor(n*s/i))),l=(s-u)/(i-n),c=o*l;return{computedAvailableSize:Math.round(r),computedIsNeeded:a,computedSliderSize:Math.round(u),computedSliderRatio:l,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}(),C=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),w=function(e){function t(t,n,i){var o=e.call(this,{lazyRender:n.lazyRender,host:i,scrollbarState:new b(n.horizontalHasArrows?n.arrowSize:0,2===n.horizontal?0:n.horizontalScrollbarSize,2===n.vertical?0:n.verticalScrollbarSize),visibility:n.horizontal,extraScrollbarClassName:"horizontal",scrollable:t})||this;if(n.horizontalHasArrows){var r=(n.arrowSize-h)/2,s=(n.horizontalScrollbarSize-h)/2;o._createArrow({className:"left-arrow",top:s,left:r,bottom:void 0,right:void 0,bgWidth:n.arrowSize,bgHeight:n.horizontalScrollbarSize,onActivate:function(){return o._host.onMouseWheel(new a.c(null,1,0))}}),o._createArrow({className:"right-arrow",top:s,left:void 0,bottom:void 0,right:r,bgWidth:n.arrowSize,bgHeight:n.horizontalScrollbarSize,onActivate:function(){return o._host.onMouseWheel(new a.c(null,-1,0))}})}return o._createSlider(Math.floor((n.horizontalScrollbarSize-n.horizontalSliderSize)/2),0,void 0,n.horizontalSliderSize),o}return C(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}(y),S=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),L=function(e){function t(t,n,i){var o=e.call(this,{lazyRender:n.lazyRender,host:i,scrollbarState:new b(n.verticalHasArrows?n.arrowSize:0,2===n.vertical?0:n.verticalScrollbarSize,0),visibility:n.vertical,extraScrollbarClassName:"vertical",scrollable:t})||this;if(n.verticalHasArrows){var r=(n.arrowSize-h)/2,s=(n.verticalScrollbarSize-h)/2;o._createArrow({className:"up-arrow",top:r,left:s,bottom:void 0,right:void 0,bgWidth:n.verticalScrollbarSize,bgHeight:n.arrowSize,onActivate:function(){return o._host.onMouseWheel(new a.c(null,0,1))}}),o._createArrow({className:"down-arrow",top:void 0,left:s,bottom:r,right:void 0,bgWidth:n.verticalScrollbarSize,bgHeight:n.arrowSize,onActivate:function(){return o._host.onMouseWheel(new a.c(null,0,-1))}})}return o._createSlider(0,Math.floor((n.verticalScrollbarSize-n.verticalSliderSize)/2),n.verticalSliderSize,void 0),o}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}(y),O=n("Kp7x"),E=n("fyvs");n.d(t,"b",function(){return k}),n.d(t,"c",function(){return T}),n.d(t,"a",function(){return M});var N=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),x=function(){return function(e,t,n){this.timestamp=e,this.deltaX=t,this.deltaY=n,this.score=0}}(),I=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,n=1,i=this._rear;;){var o=i===this._front?e:Math.pow(2,-n);if(e-=o,t+=this._memory[i].score*o,i===this._front)break;i=(this._capacity+i-1)%this._capacity,n++}return t<=.5},e.prototype.accept=function(e,t,n){var i=new x(e,t,n);i.score=this._computeScore(i),-1===this._front&&-1===this._rear?(this._memory[0]=i,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]=i)},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}(),D=function(e){function t(t,n,i){var o=e.call(this)||this;o._onScroll=o._register(new O.a),o.onScroll=o._onScroll.event,t.style.overflow="hidden",o._options=R(n),o._scrollable=i,o._register(o._scrollable.onScroll(function(e){o._onDidScroll(e),o._onScroll.fire(e)}));var r={onMouseWheel:function(e){return o._onMouseWheel(e)},onDragStart:function(){return o._onDragStart()},onDragEnd:function(){return o._onDragEnd()}};return o._verticalScrollbar=o._register(new L(o._scrollable,o._options,r)),o._horizontalScrollbar=o._register(new w(o._scrollable,o._options,r)),o._domNode=document.createElement("div"),o._domNode.className="monaco-scrollable-element "+o._options.className,o._domNode.setAttribute("role","presentation"),o._domNode.style.position="relative",o._domNode.style.overflow="hidden",o._domNode.appendChild(t),o._domNode.appendChild(o._horizontalScrollbar.domNode.domNode),o._domNode.appendChild(o._verticalScrollbar.domNode.domNode),o._options.useShadows?(o._leftShadowDomNode=Object(s.b)(document.createElement("div")),o._leftShadowDomNode.setClassName("shadow"),o._domNode.appendChild(o._leftShadowDomNode.domNode),o._topShadowDomNode=Object(s.b)(document.createElement("div")),o._topShadowDomNode.setClassName("shadow"),o._domNode.appendChild(o._topShadowDomNode.domNode),o._topLeftShadowDomNode=Object(s.b)(document.createElement("div")),o._topLeftShadowDomNode.setClassName("shadow top-left-corner"),o._domNode.appendChild(o._topLeftShadowDomNode.domNode)):(o._leftShadowDomNode=null,o._topShadowDomNode=null,o._topLeftShadowDomNode=null),o._listenOnDomNode=o._options.listenOnDomNode||o._domNode,o._mouseWheelToDispose=[],o._setListeningToMouseWheel(o._options.handleMouseWheel),o.onmouseover(o._listenOnDomNode,function(e){return o._onMouseOver(e)}),o.onnonbubblingmouseout(o._listenOnDomNode,function(e){return o._onMouseOut(e)}),o._hideTimeout=o._register(new c.e),o._isDragging=!1,o._mouseIsOver=!1,o._shouldRender=!0,o._revealOnScroll=!0,o}return N(t,e),t.prototype.dispose=function(){this._mouseWheelToDispose=Object(f.f)(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,_.d&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className},t.prototype.updateOptions=function(e){var t=R(e);this._options.handleMouseWheel=t.handleMouseWheel,this._options.mouseWheelScrollSensitivity=t.mouseWheelScrollSensitivity,this._options.fastScrollSensitivity=t.fastScrollSensitivity,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(f.f)(this._mouseWheelToDispose),e)){this._mouseWheelToDispose.push(r.h(this._listenOnDomNode,o.g?"mousewheel":"wheel",function(e){t._onMouseWheel(new a.c(e))}))}},t.prototype._onMouseWheel=function(e){var t,n=I.INSTANCE;if(n.accept(Date.now(),e.deltaX,e.deltaY),e.deltaY||e.deltaX){var i=e.deltaY*this._options.mouseWheelScrollSensitivity,o=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.flipAxes&&(i=(t=[o,i])[0],o=t[1]);var r=!_.d&&e.browserEvent&&e.browserEvent.shiftKey;!this._options.scrollYToX&&!r||o||(o=i,i=0),e.browserEvent&&e.browserEvent.altKey&&(o*=this._options.fastScrollSensitivity,i*=this._options.fastScrollSensitivity);var s=this._scrollable.getFutureScrollPosition(),a={};if(i){var u=s.scrollTop-50*i;this._verticalScrollbar.writeScrollPosition(a,u)}if(o){var l=s.scrollLeft-50*o;this._horizontalScrollbar.writeScrollPosition(a,l)}if(a=this._scrollable.validateScrollPosition(a),s.scrollLeft!==a.scrollLeft||s.scrollTop!==a.scrollTop)this._options.mouseWheelSmoothScroll&&n.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(a):this._scrollable.setScrollPositionNow(a),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,n=e.scrollLeft>0;this._leftShadowDomNode.setClassName("shadow"+(n?" left":"")),this._topShadowDomNode.setClassName("shadow"+(t?" top":"")),this._topLeftShadowDomNode.setClassName("shadow top-left-corner"+(t?" top":"")+(n?" 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),k=function(e){function t(t,n){var i=this;(n=n||{}).mouseWheelSmoothScroll=!1;var o=new E.a(0,function(e){return r.P(e)});return(i=e.call(this,t,n,o)||this)._register(o),i}return N(t,e),t.prototype.setScrollPosition=function(e){this._scrollable.setScrollPositionNow(e)},t.prototype.getScrollPosition=function(){return this._scrollable.getCurrentScrollPosition()},t}(D),T=function(e){function t(t,n,i){return e.call(this,t,n,i)||this}return N(t,e),t}(D),M=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i._element=t,i.onScroll(function(e){e.scrollTopChanged&&(i._element.scrollTop=e.scrollTop),e.scrollLeftChanged&&(i._element.scrollLeft=e.scrollLeft)}),i.scanDomNode(),i}return N(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}(k);function R(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,fastScrollSensitivity:void 0!==e.fastScrollSensitivity?e.fastScrollSensitivity:5,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:1,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:1,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,_.d&&(t.className+=" mac"),t}},qqhx:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("hK2W"),o=n("tqet"),r=n("JVO/"),s=n("/9db"),a=n("7g0X"),u=n("03Zz"),l=n("7/Cv"),c=n("Gxst"),d=n("UqCF"),h=n("qecS"),p=n("Kp7x"),f=(n("s/JM"),n("6TMp")),g=n("VBCr"),m=n("odeJ"),_=n("zxiH"),v=n("PCC9"),y=n("80kS"),b=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},C=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},P=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},F=l.a,W=function(e){function t(t,n,i,r){var s=e.call(this)||this;return s.editor=t,s.renderDisposeables=s._register(new o.b),s.model=s._register(new o.d),s.allowEditorOverflow=!0,s.markdownRenderer=s._register(new g.a(t,r,i)),s.model.value=new M(t),s.keyVisible=S.Visible.bindTo(n),s.keyMultipleSignatures=S.MultipleSignatures.bindTo(n),s.visible=!1,s._register(s.model.value.onChangedHints(function(e){e?(s.show(),s.render(e)):s.hide()})),s}return R(t,e),t.prototype.createParamaterHintDOMNodes=function(){var e=this;this.element=F(".editor-widget.parameter-hints-widget");var t=l.m(this.element,F(".wrapper"));t.tabIndex=-1;var n=l.m(t,F(".buttons")),i=l.m(n,F(".button.previous")),o=l.m(n,F(".button.next")),r=Object(c.b)(Object(c.a)(i,"click"));this._register(r(this.previous,this));var s=Object(c.b)(Object(c.a)(o,"click"));this._register(s(this.next,this)),this.overloads=l.m(t,F(".overloads"));var a=F(".body");this.scrollbar=new h.a(a,{}),this._register(this.scrollbar),t.appendChild(this.scrollbar.getDomNode()),this.signature=l.m(a,F(".signature")),this.docs=l.m(a,F(".docs")),this.editor.addContentWidget(this),this.hide(),this.element.style.userSelect="text",this._register(this.editor.onDidChangeCursorSelection(function(t){e.visible&&e.editor.layoutContentWidget(e)}));var u=function(){var t=e.editor.getConfiguration().fontInfo;e.element.style.fontSize=t.fontSize+"px"};u(),this._register(p.b.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(function(e){return e.fontInfo}).on(u,null)),this._register(this.editor.onDidLayoutChange(function(t){return e.updateMaxHeight()})),this.updateMaxHeight()},t.prototype.show=function(){var e=this;this.model&&!this.visible&&(this.element||this.createParamaterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(function(){return l.f(e.element,"visible")},100),this.editor.layoutContentWidget(this))},t.prototype.hide=function(){this.model&&this.visible&&(this.element||this.createParamaterHintDOMNodes(),this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,l.I(this.element,"visible"),this.editor.layoutContentWidget(this))},t.prototype.getPosition=function(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null},t.prototype.render=function(e){var t=e.signatures.length>1;l.R(this.element,"multiple",t),this.keyMultipleSignatures.set(t),this.signature.innerHTML="",this.docs.innerHTML="";var n=e.signatures[e.activeSignature];if(n){var o=l.m(this.signature,F(".code")),r=n.parameters.length>0,s=this.editor.getConfiguration().fontInfo;if(o.style.fontSize=s.fontSize+"px",o.style.fontFamily=s.fontFamily,r)this.renderParameters(o,n,e.activeParameter);else l.m(o,F("span")).textContent=n.label;this.renderDisposeables.clear();var a=n.parameters[e.activeParameter];if(a&&a.documentation){var u=F("span.documentation");if("string"==typeof a.documentation)u.textContent=a.documentation;else{var c=this.markdownRenderer.render(a.documentation);l.f(c.element,"markdown-docs"),this.renderDisposeables.add(c),u.appendChild(c.element)}l.m(this.docs,F("p",{},u))}if(void 0===n.documentation);else if("string"==typeof n.documentation)l.m(this.docs,F("p",{},n.documentation));else{c=this.markdownRenderer.render(n.documentation);l.f(c.element,"markdown-docs"),this.renderDisposeables.add(c),l.m(this.docs,c.element)}var h=!1;a&&"string"==typeof a.documentation&&a.documentation.length>0&&(h=!0),a&&"object"==typeof a.documentation&&a.documentation.value.length>0&&(h=!0),"string"==typeof n.documentation&&n.documentation.length>0&&(h=!0),"object"==typeof n.documentation&&n.documentation.value.length>0&&(h=!0),l.R(this.signature,"has-docs",h),l.R(this.docs,"empty",!h);var p=String(e.activeSignature+1);if(e.signatures.length<10&&(p+="/"+e.signatures.length),this.overloads.textContent=p,a){var f=this.getParameterLabel(n,e.activeParameter);this.announcedLabel!==f&&(d.a(i.a("hint","{0}, hint",f)),this.announcedLabel=f)}this.editor.layoutContentWidget(this),this.scrollbar.scanDomNode()}},t.prototype.renderParameters=function(e,t,n){var i=this.getParameterLabelOffsets(t,n),o=i[0],r=i[1],s=document.createElement("span");s.textContent=t.label.substring(0,o);var a=document.createElement("span");a.textContent=t.label.substring(o,r),a.className="parameter active";var u=document.createElement("span");u.textContent=t.label.substring(r),l.m(e,s,a,u)},t.prototype.getParameterLabel=function(e,t){var n=e.parameters[t];return"string"==typeof n.label?n.label:e.label.substring(n.label[0],n.label[1])},t.prototype.getParameterLabelOffsets=function(e,t){var n=e.parameters[t];if(n){if(Array.isArray(n.label))return n.label;var i=e.label.lastIndexOf(n.label);return i>=0?[i,i+n.label.length]:[0,0]}return[0,0]},t.prototype.next=function(){this.model.value&&(this.editor.focus(),this.model.value.next())},t.prototype.previous=function(){this.model.value&&(this.editor.focus(),this.model.value.previous())},t.prototype.cancel=function(){this.model.value&&this.model.value.cancel()},t.prototype.getDomNode=function(){return this.element},t.prototype.getId=function(){return t.ID},t.prototype.trigger=function(e){this.model.value&&this.model.value.trigger(e,0)},t.prototype.updateMaxHeight=function(){var e=Math.max(this.editor.getLayoutInfo().height/4,250);this.element.style.maxHeight=e+"px"},t.ID="editor.widget.parameterHintsWidget",t=A([P(1,a.c),P(2,N.a),P(3,f.a)],t)}(o.a);Object(I.f)(function(e,t){var n=e.getColor(x.B);if(n){var i=e.type===I.b?2:1;t.addRule(".monaco-editor .parameter-hints-widget { border: "+i+"px solid "+n+"; }"),t.addRule(".monaco-editor .parameter-hints-widget.multiple .body { border-left: 1px solid "+n.transparent(.5)+"; }"),t.addRule(".monaco-editor .parameter-hints-widget .signature.has-docs { border-bottom: 1px solid "+n.transparent(.5)+"; }")}var o=e.getColor(x.A);o&&t.addRule(".monaco-editor .parameter-hints-widget { background-color: "+o+"; }");var r=e.getColor(x._46);r&&t.addRule(".monaco-editor .parameter-hints-widget a { color: "+r+"; }");var s=e.getColor(x._45);s&&t.addRule(".monaco-editor .parameter-hints-widget code { background-color: "+s+"; }")}),n.d(t,"TriggerParameterHintsAction",function(){return z});var j=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),V=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},B=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},H=function(e){function t(t,n){var i=e.call(this)||this;return i.editor=t,i.widget=i._register(n.createInstance(W,i.editor)),i}return j(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.cancel=function(){this.widget.cancel()},t.prototype.previous=function(){this.widget.previous()},t.prototype.next=function(){this.widget.next()},t.prototype.trigger=function(e){this.widget.trigger(e)},t.ID="editor.controller.parameterHints",t=V([B(1,r.a)],t)}(o.a),z=function(e){function t(){return e.call(this,{id:"editor.action.triggerParameterHints",label:i.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 j(t,e),t.prototype.run=function(e,t){var n=H.get(t);n&&n.trigger({triggerKind:v.w.Invoke})},t}(u.b);Object(u.h)(H),Object(u.f)(z);var U=u.c.bindToContribution(H.get);Object(u.g)(new U({id:"closeParameterHints",precondition:S.Visible,handler:function(e){return e.cancel()},kbOpts:{weight:175,kbExpr:s.a.focus,primary:9,secondary:[1033]}})),Object(u.g)(new U({id:"showPrevParameterHint",precondition:a.a.and(S.Visible,S.MultipleSignatures),handler:function(e){return e.previous()},kbOpts:{weight:175,kbExpr:s.a.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),Object(u.g)(new U({id:"showNextParameterHint",precondition:a.a.and(S.Visible,S.MultipleSignatures),handler:function(e){return e.next()},kbOpts:{weight:175,kbExpr:s.a.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}))},qyJz:function(e,t,n){"use strict";var i=n("+ZMJ"),o=n("kM2E"),r=n("sB3e"),s=n("msXi"),a=n("Mhyx"),u=n("QRG4"),l=n("fBQ2"),c=n("3fs2");o(o.S+o.F*!n("dY0y")(function(e){Array.from(e)}),"Array",{from:function(e){var t,n,o,d,h=r(e),p="function"==typeof this?this:Array,f=arguments.length,g=f>1?arguments[1]:void 0,m=void 0!==g,_=0,v=c(h);if(m&&(g=i(g,f>2?arguments[2]:void 0,2)),void 0==v||p==Array&&a(v))for(n=new p(t=u(h.length));t>_;_++)l(n,_,m?g(h[_],_):h[_]);else for(d=v.call(h),n=new p;!(o=d.next()).done;_++)l(n,_,m?s(d,g,[o.value,_],!0):o.value);return n.length=_,n}})},"qzX+":function(e,t,n){"use strict";n.d(t,"a",function(){return g});var i,o=n("xF6g"),r=(n.n(o),n("lAcG")),s=n("tqet"),a=n("Kp7x"),u=n("ZfGv"),l=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});function c(e,t){return!!e[t]}var d=function(){return function(e,t){this.target=e.target,this.hasTriggerModifier=c(e.event,t.triggerModifier),this.hasSideBySideModifier=c(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=r.j||e.event.detail<=1}}(),h=function(){return function(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=c(e,t.triggerModifier)}}(),p=function(){function e(e,t,n,i){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=n,this.triggerSideBySideModifier=i}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 f(e){return"altKey"===e?u.d?new p(57,"metaKey",6,"altKey"):new p(5,"ctrlKey",6,"altKey"):u.d?new p(6,"altKey",57,"metaKey"):new p(6,"altKey",5,"ctrlKey")}var g=function(e){function t(t){var n=e.call(this)||this;return n._onMouseMoveOrRelevantKeyDown=n._register(new a.a),n.onMouseMoveOrRelevantKeyDown=n._onMouseMoveOrRelevantKeyDown.event,n._onExecute=n._register(new a.a),n.onExecute=n._onExecute.event,n._onCancel=n._register(new a.a),n.onCancel=n._onCancel.event,n._editor=t,n._opts=f(n._editor.getConfiguration().multiCursorModifier),n.lastMouseMoveEvent=null,n.hasTriggerKeyOnMouseDown=!1,n._register(n._editor.onDidChangeConfiguration(function(e){if(e.multiCursorModifier){var t=f(n._editor.getConfiguration().multiCursorModifier);if(n._opts.equals(t))return;n._opts=t,n.lastMouseMoveEvent=null,n.hasTriggerKeyOnMouseDown=!1,n._onCancel.fire()}})),n._register(n._editor.onMouseMove(function(e){return n.onEditorMouseMove(new d(e,n._opts))})),n._register(n._editor.onMouseDown(function(e){return n.onEditorMouseDown(new d(e,n._opts))})),n._register(n._editor.onMouseUp(function(e){return n.onEditorMouseUp(new d(e,n._opts))})),n._register(n._editor.onKeyDown(function(e){return n.onEditorKeyDown(new h(e,n._opts))})),n._register(n._editor.onKeyUp(function(e){return n.onEditorKeyUp(new h(e,n._opts))})),n._register(n._editor.onMouseDrag(function(){return n.resetHandler()})),n._register(n._editor.onDidChangeCursorSelection(function(e){return n.onDidChangeCursorSelection(e)})),n._register(n._editor.onDidChangeModel(function(e){return n.resetHandler()})),n._register(n._editor.onDidChangeModelContent(function(){return n.resetHandler()})),n._register(n._editor.onDidScrollChange(function(e){(e.scrollTopChanged||e.scrollLeftChanged)&&n.resetHandler()})),n}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}(s.a)},rHGw:function(e,t,n){"use strict";n.d(t,"a",function(){return l}),n.d(t,"b",function(){return w});var i=n("hK2W"),o=n("Kp7x"),r=n("RWr8"),s=n("KIxu"),a=n("aL7J"),u=n("LQgD"),l={Configuration:"base.contributions.configuration"},c={properties:{},patternProperties:{}},d={properties:{},patternProperties:{}},h={properties:{},patternProperties:{}},p={properties:{},patternProperties:{}},f={properties:{},patternProperties:{}},g={properties:{},patternProperties:{}},m="vscode://schemas/settings/editor",_=r.a.as(u.a.JSONContribution),v=function(){function e(){this.overrideIdentifiers=[],this._onDidSchemaChange=new o.a,this._onDidUpdateConfiguration=new o.a,this.defaultOverridesConfigurationNode={id:"defaultOverrides",title:i.a("defaultConfigurations.title","Default Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultOverridesConfigurationNode],this.editorConfigurationSchema={properties:{},patternProperties:{},additionalProperties:!1,errorMessage:"Unknown editor configuration setting",allowsTrailingCommas:!0,allowComments:!0},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){var n=this;void 0===t&&(t=!0);var i=[];e.forEach(function(e){i.push.apply(i,n.validateAndRegisterProperties(e,t)),n.configurationContributors.push(e),n.registerJSONConfiguration(e),n.updateSchemaForOverrideSettingsConfiguration(e)}),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire(i)},e.prototype.registerOverrideIdentifiers=function(e){var t;(t=this.overrideIdentifiers).push.apply(t,e),this.updateOverridePropertyPatternKey()},e.prototype.validateAndRegisterProperties=function(e,t,n,i){void 0===t&&(t=!0),void 0===n&&(n=3),void 0===i&&(i=!1),n=s.k(e.scope)?n:e.scope,i=e.overridable||i;var o=[],r=e.properties;if(r)for(var a in r){var u=void 0;if(t&&(u=O(a)))console.warn(u),delete r[a];else{var l=r[a],c=l.default;s.j(c)&&(l.default=S(l.type)),i&&(l.overridable=!0),w.test(a)?l.scope=void 0:l.scope=s.k(l.scope)?n:l.scope,!r[a].hasOwnProperty("included")||r[a].included?(this.configurationProperties[a]=r[a],o.push(a)):(this.excludedConfigurationProperties[a]=r[a],delete r[a])}}var d=e.allOf;if(d)for(var h=0,p=d;hn)&&(!c.isEmpty()||0!==l.type&&3!==l.type)){var d=c.startLineNumber===n?c.startColumn:i,h=c.endLineNumber===n?c.endColumn:o;r[s++]=new e(d,h,l.inlineClassName,l.type)}}return r},e.compare=function(e,t){return e.startColumn===t.startColumn?e.endColumn===t.endColumn?e.classNamet.className?1:0:e.endColumn-t.endColumn:e.startColumn-t.startColumn},e}(),r=function(){return function(e,t,n){this.startOffset=e,this.endOffset=t,this.className=n}}(),s=function(){function e(){this.stopOffsets=[],this.classNames=[],this.count=0}return e.prototype.consumeLowerThan=function(e,t,n){for(;this.count>0&&this.stopOffsets[0]0&&t=e){this.stopOffsets.splice(n,0,e),this.classNames.splice(n,0,t);break}this.count++},e}(),a=function(){function e(){}return e.normalize=function(e,t){if(0===t.length)return[];for(var n=[],o=new s,r=0,a=0,u=t.length;a1){var p=e.charCodeAt(c-2);i.w(p)&&c--}if(d>1){p=e.charCodeAt(d-2);i.w(p)&&d--}var f=c-1,g=d-2;r=o.consumeLowerThan(f,r,n),0===o.count&&(r=f),o.insert(g,h)}return o.consumeLowerThan(1073741824,r,n),n},e}()},tGak:function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return r});var i=function(){function e(e,t,n){this.from=0|e,this.to=0|t,this.colorId=0|n}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}(),o=function(){function e(e,t,n){this.startLineNumber=e,this.endLineNumber=t,this.color=n,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.colorn&&(p=n-f);var g=l.color,m=this._color2Id[g];m||(m=++this._lastAssignedId,this._color2Id[g]=m,this._id2Color[m]=g);var _=new i(p-f,p+f,m);l.setColorZone(_),s.push(_)}return this._colorZonesInvalid=!1,s.sort(i.compare),s},e}()},tTCp:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i="undefined"==typeof monaco?self.monaco:monaco,o={};var r,s,a={};function u(e){return a[e]||(a[e]=function(e){return(0,o[e].loader)().then(function(t){i.languages.setMonarchTokensProvider(e,t.language),i.languages.setLanguageConfiguration(e,t.conf)})}(e)),a[e]}s=(r={id:"sql",extensions:[".sql"],aliases:["SQL"],loader:function(){return n.e(26).then(n.bind(null,"77T5"))}}).id,o[s]=r,i.languages.register(r),i.languages.onLanguage(s,function(){u(s)})},tVlf:function(e,t){},tZcU:function(e,t,n){(function(e){(function(){"use strict";function t(e){var t=this.constructor;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){return t.reject(n)})})}var n=setTimeout;function i(){}function o(e){if(!(this instanceof o))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],l(e,this)}function r(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,o._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var i;try{i=n(e._value)}catch(e){return void a(t.promise,e)}s(t.promise,i)}else(1===e._state?s:a)(t.promise,e._value)})):e._deferreds.push(t)}function s(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if(t instanceof o)return e._state=3,e._value=t,void u(e);if("function"==typeof n)return void l((i=n,r=t,function(){i.apply(r,arguments)}),e)}e._state=1,e._value=t,u(e)}catch(t){a(e,t)}var i,r}function a(e,t){e._state=2,e._value=t,u(e)}function u(e){2===e._state&&0===e._deferreds.length&&o._immediateFn(function(){e._handled||o._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;t>>0)>>>0},t.f=function(e,t){if(0===e)return null;var n=(65535&e)>>>0,i=(4294901760&e)>>>16;if(0!==i)return new d([l(n,t),l(i,t)]);return new d([l(n,t)])},n.d(t,"e",function(){return c}),n.d(t,"d",function(){return h}),n.d(t,"c",function(){return p});var i,o=n("zxiH"),r=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}(),s=new r,a=new r,u=new r;function l(e,t){var n=!!(2048&e),i=!!(256&e);return new c(2===t?i:n,!!(1024&e),!!(512&e),2===t?n:i,255&e)}!function(){function e(e,t,n,i){void 0===n&&(n=t),void 0===i&&(i=n),s.define(e,t),a.define(e,n),u.define(e,i)}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 s.keyCodeToStr(e)},e.fromString=function(e){return s.strToKeyCode(e)},e.toUserSettingsUS=function(e){return a.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return u.keyCodeToStr(e)},e.fromUserSettings=function(e){return a.strToKeyCode(e)||u.strToKeyCode(e)}}(i||(i={}));var c=function(){function e(e,t,n,i,o){this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=i,this.keyCode=o}return e.prototype.equals=function(e){return 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.toChord=function(){return new d([this])},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(){function e(e){if(0===e.length)throw Object(o.b)("parts");this.parts=e}return e.prototype.equals=function(e){if(null===e)return!1;if(this.parts.length!==e.parts.length)return!1;for(var t=0;tn||e===n&&t>i?(this.startLineNumber=n,this.startColumn=i,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=i)}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.lineNumbere.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.columne.endColumn))},e.prototype.containsRange=function(t){return e.containsRange(this,t)},e.containsRange=function(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)))},e.prototype.strictContainsRange=function(t){return e.strictContainsRange(this,t)},e.strictContainsRange=function(e,t){return!(t.startLineNumbere.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,n){var i,o,r,s;return n.startLineNumbert.endLineNumber?(r=n.endLineNumber,s=n.endColumn):n.endLineNumber===t.endLineNumber?(r=n.endLineNumber,s=Math.max(n.endColumn,t.endColumn)):(r=t.endLineNumber,s=t.endColumn),new e(i,o,r,s)},e.prototype.intersectRanges=function(t){return e.intersectRanges(this,t)},e.intersectRanges=function(t,n){var i=t.startLineNumber,o=t.startColumn,r=t.endLineNumber,s=t.endColumn,a=n.startLineNumber,u=n.startColumn,l=n.endLineNumber,c=n.endColumn;return il?(r=l,s=c):r===l&&(s=Math.min(s,c)),i>r?null:i===r&&o>s?null:new e(i,o,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 i.a(this.endLineNumber,this.endColumn)},e.prototype.getStartPosition=function(){return new i.a(this.startLineNumber,this.startColumn)},e.prototype.toString=function(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"},e.prototype.setEndPosition=function(t,n){return new e(this.startLineNumber,this.startColumn,t,n)},e.prototype.setStartPosition=function(t,n){return new e(t,n,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,n){return void 0===n&&(n=t),new e(t.lineNumber,t.column,n.lineNumber,n.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.endLineNumbere.startLineNumber},e}()},vZcR:function(e,t,n){"use strict";n("4Yhh"),n("WLse");var i,o=n("hK2W"),r=n("7/Cv"),s=n("zxiH"),a=n("Kp7x"),u=n("tqet"),l=n("lapT"),c=n("UHZ4"),d=n("03Zz"),h=n("vORD"),p=n("WZeM"),f=n("Bug4"),g=n("lAcG"),m=n("b1X/"),_=n("odeJ"),v=n("ZfGv"),y=n("UMuV"),b=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),C=function(){function e(e,t){this.x=e,this.y=t}return e.prototype.toClientCoordinates=function(){return new w(this.x-r.e.scrollX,this.y-r.e.scrollY)},e}(),w=function(){function e(e,t){this.clientX=e,this.clientY=t}return e.prototype.toPageCoordinates=function(){return new C(this.clientX+r.e.scrollX,this.clientY+r.e.scrollY)},e}(),S=function(){return function(e,t,n,i){this.x=e,this.y=t,this.width=n,this.height=i}}();function L(e){var t=r.x(e);return new S(t.left,t.top,t.width,t.height)}var O=function(e){function t(t,n){var i=e.call(this,t)||this;return i.pos=new C(i.posx,i.posy),i.editorPos=L(n),i}return b(t,e),t}(m.b),E=function(){function e(e){this._editorViewDomNode=e}return e.prototype._create=function(e){return new O(e,this._editorViewDomNode)},e.prototype.onContextMenu=function(e,t){var n=this;return r.h(e,"contextmenu",function(e){t(n._create(e))})},e.prototype.onMouseUp=function(e,t){var n=this;return r.h(e,"mouseup",function(e){t(n._create(e))})},e.prototype.onMouseDown=function(e,t){var n=this;return r.h(e,"mousedown",function(e){t(n._create(e))})},e.prototype.onMouseLeave=function(e,t){var n=this;return r.i(e,function(e){t(n._create(e))})},e.prototype.onMouseMoveThrottled=function(e,t,n,i){var o=this;return r.j(e,"mousemove",t,function(e,t){return n(e,o._create(t))},i)},e}(),N=function(e){function t(t){var n=e.call(this)||this;return n._editorViewDomNode=t,n._globalMouseMoveMonitor=n._register(new y.a),n._keydownListener=null,n}return b(t,e),t.prototype.startMonitoring=function(e,t,n){var i=this;this._keydownListener=r.k(document,"keydown",function(e){e.toKeybinding().isModifierKey()||i._globalMouseMoveMonitor.stopMonitoring(!0)},!0);this._globalMouseMoveMonitor.startMonitoring(function(t,n){return e(t,new O(n,i._editorViewDomNode))},t,function(){i._keydownListener.dispose(),n()})},t}(u.a),x=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),I=function(e){function t(){var t=e.call(this)||this;return t._shouldRender=!0,t}return x(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,n=0,i=e.length;n=u?o=Math.max(o,u+l-i):(t[n++]=new P(i,o),i=u,o=l)}return t[n++]=new P(i,o),t},e._createHorizontalRangesFromClientRects=function(e,t){if(!e||0===e.length)return null;for(var n=[],i=0,o=e.length;ia)return null;(t=Math.min(a,Math.max(0,t)))!==(i=Math.min(a,Math.max(0,i)))&&i>0&&0===o&&(i--,o=1073741824);var u=e.children[t].firstChild,l=e.children[i].firstChild;if(u&&l||(!u&&0===n&&t>0&&(u=e.children[t-1].firstChild,n=1073741824),!l&&0===o&&i>0&&(l=e.children[i-1].firstChild,o=1073741824)),!u||!l)return null;n=Math.min(u.textContent.length,Math.max(0,n)),o=Math.min(l.textContent.length,Math.max(0,o));var c=this._readClientRects(u,n,l,o,s);return this._createHorizontalRangesFromClientRects(c,r)},e}(),j=n("t7eM"),V=n("Qxje"),B=n("eoic"),H=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),z=!!v.e||!(v.c||g.i||g.l),U=g.g,K=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}(),q=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.canUseHalfwidthRightwardsArrow=e.editor.fontInfo.canUseHalfwidthRightwardsArrow,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.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures},e}(),G=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(p.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!(!U&&this._options.themeType!==B.b&&"selection"!==this._options.renderWhitespace)&&(this._isMaybeInvalid=!0,!0)},e.prototype.renderLine=function(t,n,i,o){if(!1===this._isMaybeInvalid)return!1;this._isMaybeInvalid=!1;var r=i.getViewLineRenderingData(t),s=this._options,a=j.a.filter(r.inlineDecorations,t,r.minColumn,r.maxColumn),u=null;if(U||s.themeType===B.b||"selection"===this._options.renderWhitespace)for(var l=0,c=i.selections;lt)){var h=d.startLineNumber===t?d.startColumn:r.minColumn,p=d.endLineNumber===t?d.endColumn:r.maxColumn;h');var g=Object(V.d)(f,o);o.appendASCIIString("");var m=null;return z&&r.isBasicASCII&&s.useMonospaceOptimizations&&0===g.containsForeignElements&&r.content.length<300&&f.lineTokens.getCount()<100&&(m=new Z(this._renderedViewLine?this._renderedViewLine.domNode:null,f,g.characterMapping)),m||(m=J(this._renderedViewLine?this._renderedViewLine.domNode:null,f,g.characterMapping,g.containsRTL,g.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,n){if(!this._renderedViewLine)return null;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 i=0|this._renderedViewLine.input.stopRenderingLineAfter;return-1!==i&&e>i&&t>i?null:(-1!==i&&e>i&&(e=i),-1!==i&&t>i&&(t=i),this._renderedViewLine.getVisibleRangesForRange(e,t,n))},e.prototype.getColumnOfNodeOffset=function(e,t,n){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t,n):1},e.CLASS_NAME="view-line",e}(),Z=function(){function e(e,t,n){this.domNode=e,this.input=t,this._characterMapping=n,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,n){var i=this._getCharPosition(e),o=this._getCharPosition(t);return[new P(i,o-i)]},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,n){for(var i=t.textContent.length,o=-1;t;)t=t.previousSibling,o++;return this._characterMapping.partDataToCharOffset(o,i,n)+1},e}(),Y=function(){function e(e,t,n,i,o){if(this.domNode=e,this.input=t,this._characterMapping=n,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=o,this._cachedWidth=-1,this._pixelOffsetCache=null,!i||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,n){if(null!==this._pixelOffsetCache){var i=this._readPixelOffset(e,n);if(-1===i)return null;var o=this._readPixelOffset(t,n);return-1===o?null:[new P(i,o-i)]}return this._readVisibleRangesForRange(e,t,n)},e.prototype._readVisibleRangesForRange=function(e,t,n){if(e===t){var i=this._readPixelOffset(e,n);return-1===i?null:[new P(i,0)]}return this._readRawVisibleRangesForRange(e,t,n)},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 n=this._pixelOffsetCache[e];if(-1!==n)return n;var i=this._actualReadPixelOffset(e,t);return this._pixelOffsetCache[e]=i,i}return this._actualReadPixelOffset(e,t)},e.prototype._actualReadPixelOffset=function(e,t){if(0===this._characterMapping.length){var n=W.readHorizontalRanges(this._getReadingTarget(),0,0,0,0,t.clientRectDeltaLeft,t.endNode);return n&&0!==n.length?n[0].left:-1}if(e===this._characterMapping.length&&this._isWhitespaceOnly&&0===this._containsForeignElements)return this.getWidth();var i=this._characterMapping.charOffsetToPartData(e-1),o=V.a.getPartIndex(i),r=V.a.getCharIndex(i),s=W.readHorizontalRanges(this._getReadingTarget(),o,r,o,r,t.clientRectDeltaLeft,t.endNode);return s&&0!==s.length?s[0].left:-1},e.prototype._readRawVisibleRangesForRange=function(e,t,n){if(1===e&&t===this._characterMapping.length)return[new P(0,this.getWidth())];var i=this._characterMapping.charOffsetToPartData(e-1),o=V.a.getPartIndex(i),r=V.a.getCharIndex(i),s=this._characterMapping.charOffsetToPartData(t-1),a=V.a.getPartIndex(s),u=V.a.getCharIndex(s);return W.readHorizontalRanges(this._getReadingTarget(),o,r,a,u,n.clientRectDeltaLeft,n.endNode)},e.prototype.getColumnOfNodeOffset=function(e,t,n){for(var i=t.textContent.length,o=-1;t;)t=t.previousSibling,o++;return this._characterMapping.partDataToCharOffset(o,i,n)+1},e}(),X=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return H(t,e),t.prototype._readVisibleRangesForRange=function(t,n,i){var o=e.prototype._readVisibleRangesForRange.call(this,t,n,i);if(!o||0===o.length||t===n||1===t&&n===this._characterMapping.length)return o;if(!this.input.containsRTL){var r=this._readPixelOffset(n,i);if(-1!==r){var s=o[o.length-1];s.left=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}(),se=function(){function e(e,t,n){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=n,this._context=e,this._viewHelper=t}return e.prototype.getZoneAtCoord=function(t){return e.getZoneAtCoord(this._context,t)},e.getZoneAtCoord=function(e,t){var n=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(n){var i=n.verticalOffset+n.height/2,o=e.model.getLineCount(),r=null,s=void 0,a=null;return n.afterLineNumber!==o&&(a=new ee.a(n.afterLineNumber+1,1)),n.afterLineNumber>0&&(r=new ee.a(n.afterLineNumber,e.model.getLineMaxColumn(n.afterLineNumber))),s=null===a?r:null===r?a:t=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,ce._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}}()),ue={isAfterLines:!0};function le(e){return{isAfterLines:!1,horizontalDistanceToText:e}}var ce=function(){function e(e,t){this._context=e,this._viewHelper=t}return e.prototype.mouseTargetIsWidget=function(e){var t=e.target,n=T.collect(t,this._viewHelper.viewDomNode);return!(!re.isChildOfContentWidgets(n)&&!re.isChildOfOverflowingContentWidgets(n))||!!re.isChildOfOverlayWidgets(n)},e.prototype.createMouseTarget=function(t,n,i,o){var r=new se(this._context,this._viewHelper,t),s=new ae(r,n,i,o);try{return e._createMouseTarget(r,s,!1)}catch(e){return s.fulfill(0)}},e._createMouseTarget=function(t,n,i){if(null===n.target){if(i)return n.fulfill(0);var o=e._doHitTest(t,n);return o.position?e.createMouseTargetFromHitTestPosition(t,n,o.position.lineNumber,o.position.column):this._createMouseTarget(t,n.withTarget(o.hitTarget),!0)}var r=n,s=null;return(s=(s=(s=(s=(s=(s=(s=(s=(s=(s=s||e._hitTestContentWidget(t,r))||e._hitTestOverlayWidget(t,r))||e._hitTestMinimap(t,r))||e._hitTestScrollbarSlider(t,r))||e._hitTestViewZone(t,r))||e._hitTestMargin(t,r))||e._hitTestViewCursor(t,r))||e._hitTestTextArea(t,r))||e._hitTestViewLines(t,r,i))||e._hitTestScrollbar(t,r))||n.fulfill(0)},e._hitTestContentWidget=function(e,t){if(re.isChildOfContentWidgets(t.targetPath)||re.isChildOfOverflowingContentWidgets(t.targetPath)){var n=e.findAttribute(t.target,"widgetId");return n?t.fulfill(9,null,null,n):t.fulfill(0)}return null},e._hitTestOverlayWidget=function(e,t){if(re.isChildOfOverlayWidgets(t.targetPath)){var n=e.findAttribute(t.target,"widgetId");return n?t.fulfill(12,null,null,n):t.fulfill(0)}return null},e._hitTestViewCursor=function(e,t){if(t.target)for(var n=0,i=r=e.lastViewCursorsRenderData;no.contentLeft+o.width)){var c=e.getVerticalOffsetForLineNumber(o.position.lineNumber);if(c<=a&&a<=c+o.height)return t.fulfill(6,o.position)}}return null},e._hitTestViewZone=function(e,t){var n=e.getZoneAtCoord(t.mouseVerticalOffset);if(n){var i=t.isInContentArea?8:5;return t.fulfill(i,n.position,null,n)}return null},e._hitTestTextArea=function(e,t){return re.isTextArea(t.targetPath)?t.fulfill(1):null},e._hitTestMargin=function(e,t){if(t.isInMarginArea){var n=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),i=n.range.getStartPosition(),o=Math.abs(t.pos.x-t.editorPos.x),r={isAfterLines:n.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:o};return(o-=e.layoutInfo.glyphMarginLeft)<=e.layoutInfo.glyphMarginWidth?t.fulfill(2,i,n.range,r):(o-=e.layoutInfo.glyphMarginWidth)<=e.layoutInfo.lineNumbersWidth?t.fulfill(3,i,n.range,r):(o-=e.layoutInfo.lineNumbersWidth,t.fulfill(4,i,n.range,r))}return null},e._hitTestViewLines=function(t,n,i){if(!re.isChildOfViewLines(n.targetPath))return null;if(t.isAfterLines(n.mouseVerticalOffset)){var o=t.model.getLineCount(),r=t.model.getLineMaxColumn(o);return n.fulfill(7,new ee.a(o,r),void 0,ue)}if(i){if(re.isStrictChildOfViewLines(n.targetPath)){var s=t.getLineNumberAtVerticalOffset(n.mouseVerticalOffset);if(0===t.model.getLineLength(s)){var a=t.getLineWidth(s),u=le(n.mouseContentHorizontalOffset-a);return n.fulfill(7,new ee.a(s,1),void 0,u)}}return n.fulfill(0)}var l=e._doHitTest(t,n);return l.position?e.createMouseTargetFromHitTestPosition(t,n,l.position.lineNumber,l.position.column):this._createMouseTarget(t,n.withTarget(l.hitTarget),!0)},e._hitTestMinimap=function(e,t){if(re.isChildOfMinimap(t.targetPath)){var n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),i=e.model.getLineMaxColumn(n);return t.fulfill(11,new ee.a(n,i))}return null},e._hitTestScrollbarSlider=function(e,t){if(re.isChildOfScrollableElement(t.targetPath)&&t.target&&1===t.target.nodeType){var n=t.target.className;if(n&&/\b(slider|scrollbar)\b/.test(n)){var i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),o=e.model.getLineMaxColumn(i);return t.fulfill(11,new ee.a(i,o))}}return null},e._hitTestScrollbar=function(e,t){if(re.isChildOfScrollableElement(t.targetPath)){var n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),i=e.model.getLineMaxColumn(n);return t.fulfill(11,new ee.a(n,i))}return null},e.prototype.getMouseColumn=function(t,n){var i=this._context.configuration.editor.layoutInfo,o=this._context.viewLayout.getCurrentScrollLeft()+n.x-t.x-i.contentLeft;return e._getMouseColumn(o,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,n,i){var o=new ee.a(n,i),r=e.getLineWidth(n);if(t.mouseContentHorizontalOffset>r){if(g.f&&1===o.column){var s=le(t.mouseContentHorizontalOffset-r);return t.fulfill(7,new ee.a(n,e.model.getLineMaxColumn(n)),void 0,s)}var a=le(t.mouseContentHorizontalOffset-r);return t.fulfill(7,o,void 0,a)}var u=e.visibleRangeForPosition2(n,i);if(!u)return t.fulfill(0,o);var l=u.left;if(t.mouseContentHorizontalOffset===l)return t.fulfill(6,o);var c=[];if(c.push({offset:u.left,column:i}),i>1){var d=e.visibleRangeForPosition2(n,i-1);d&&c.push({offset:d.left,column:i-1})}if(i=t.editorPos.y+e.layoutInfo.height&&(o=t.editorPos.y+e.layoutInfo.height-1);var r=new C(t.pos.x,o),s=this._actualDoHitTestWithCaretRangeFromPoint(e,r.toClientCoordinates());return s.position?s:this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates())},e._actualDoHitTestWithCaretRangeFromPoint=function(e,t){var n=document.caretRangeFromPoint(t.clientX,t.clientY);if(!n||!n.startContainer)return{position:null,hitTarget:null};var i=n.startContainer,o=null;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)===G.CLASS_NAME)return{position:e.getPositionFromDOMInfo(s,n.startOffset),hitTarget:null};o=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)===G.CLASS_NAME)return{position:e.getPositionFromDOMInfo(i,i.textContent.length),hitTarget:null};o=i}return{position:null,hitTarget:o}},e._doHitTestWithCaretPositionFromPoint=function(e,t){var n=document.caretPositionFromPoint(t.clientX,t.clientY);if(n.offsetNode.nodeType===n.offsetNode.TEXT_NODE){var i=n.offsetNode.parentNode,o=i?i.parentNode:null,r=o?o.parentNode:null;return(r&&r.nodeType===r.ELEMENT_NODE?r.className:null)===G.CLASS_NAME?{position:e.getPositionFromDOMInfo(n.offsetNode.parentNode,n.offset),hitTarget:null}:{position:null,hitTarget:n.offsetNode.parentNode}}return{position:null,hitTarget:n.offsetNode}},e._doHitTestWithMoveToPoint=function(e,t){var n=null,i=null,o=document.body.createTextRange();try{o.moveToPoint(t.clientX,t.clientY)}catch(e){return{position:null,hitTarget:null}}o.collapse(!0);var r=o?o.parentElement():null,s=r?r.parentNode:null,a=s?s.parentNode:null;if((a&&a.nodeType===a.ELEMENT_NODE?a.className:"")===G.CLASS_NAME){var u=o.duplicate();u.moveToElementText(r),u.setEndPoint("EndToStart",o),n=e.getPositionFromDOMInfo(r,u.text.length),u.moveToElementText(e.viewDomNode)}else i=r;return o.moveToElementText(e.viewDomNode),{position:n,hitTarget:i}},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}(),de=n("G8r4"),he=n("iHM7"),pe=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();function fe(e){return function(t,n){var i=!1;return e&&(i=e.mouseTargetIsWidget(n)),i||n.preventDefault(),n}}var ge=function(e){function t(n,i,o){var s=e.call(this)||this;s._isFocused=!1,s._context=n,s.viewController=i,s.viewHelper=o,s.mouseTargetFactory=new ce(s._context,o),s._mouseDownOperation=s._register(new me(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 _.d(function(){return s.viewHelper.focusTextArea()},0)),s.lastMouseLeaveTime=-1;var a=new E(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)},fe(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)}));return s._register(r.h(s.viewHelper.viewDomNode,g.g?"mousewheel":"wheel",function(e){if(s.viewController.emitMouseWheel(e),s._context.configuration.editor.viewInfo.mouseWheelZoom){var t=new m.c(e);if(t.browserEvent.ctrlKey||t.browserEvent.metaKey){var n=de.a.getZoomLevel(),i=t.deltaY>0?1:-1;de.a.setZoomLevel(n+i),t.preventDefault(),t.stopPropagation()}}},!0)),s._context.addEventHandler(s),s}return pe(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 n=new w(e,t).toPageCoordinates(),i=L(this.viewHelper.viewDomNode);if(n.yi.y+i.height||n.xi.x+i.width)return null;var o=this.viewHelper.getLastViewCursorsRenderData();return this.mouseTargetFactory.createMouseTarget(o,i,n,null)},t.prototype._createMouseTarget=function(e,t){var n=this.viewHelper.getLastViewCursorsRenderData();return this.mouseTargetFactory.createMouseTarget(n,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.timestampt.y+t.height){var a,u;r=i.getCurrentScrollTop()+(e.posy-t.y);if(a=se.getZoneAtCoord(this._context,r))if(u=this._helpPositionJumpOverViewZone(a))return new oe(null,13,o,u);var l=i.getLineNumberAtVerticalOffset(r);return new oe(null,13,o,new ee.a(l,n.getLineMaxColumn(l)))}var c=i.getLineNumberAtVerticalOffset(i.getCurrentScrollTop()+(e.posy-t.y));return e.posxt.x+t.width?new oe(null,13,o,new ee.a(c,n.getLineMaxColumn(c))):null},t.prototype._findMousePosition=function(e,t){var n=this._getPositionOutsideEditor(e);if(n)return n;var i=this._createMouseTarget(e,t);if(!i.position)return null;if(8===i.type||5===i.type){var o=this._helpPositionJumpOverViewZone(i.detail);if(o)return new oe(i.element,i.type,i.mouseColumn,o,null,i.detail)}return i},t.prototype._helpPositionJumpOverViewZone=function(e){var t=new ee.a(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),n=e.positionBefore,i=e.positionAfter;return n&&i?n.isBefore(t)?n:i:null},t.prototype._dispatchMouse=function(e,t){e.position&&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}(u.a),_e=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,n){var i=(new Date).getTime();i-this._lastSetMouseDownCountTime>e.CLEAR_MOUSE_DOWN_COUNT_TIME&&(t=1),this._lastSetMouseDownCountTime=i,t>this._lastMouseDownCount+1&&(t=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(n)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=n,this._lastMouseDownCount=Math.min(t,this._lastMouseDownPositionEqualCount)},e.CLEAR_MOUSE_DOWN_COUNT_TIME=400,e}(),ve=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();function ye(e,t){var n={translationY:t.translationY,translationX:t.translationX};return e&&(n.translationY+=e.translationY,n.translationX+=e.translationX),n}var be=function(e){function t(t,n,i){var o=e.call(this,t,n,i)||this;return o.viewHelper.linesContentDomNode.style.msTouchAction="none",o.viewHelper.linesContentDomNode.style.msContentZooming="none",o._installGestureHandlerTimeout=window.setTimeout(function(){if(o._installGestureHandlerTimeout=-1,window.MSGesture){var e=new MSGesture,t=new MSGesture;e.target=o.viewHelper.linesContentDomNode,t.target=o.viewHelper.linesContentDomNode,o.viewHelper.linesContentDomNode.addEventListener("MSPointerDown",function(n){var i=n.pointerType;i!==(n.MSPOINTER_TYPE_MOUSE||"mouse")?i===(n.MSPOINTER_TYPE_TOUCH||"touch")?(o._lastPointerType="touch",e.addPointer(n.pointerId)):(o._lastPointerType="pen",t.addPointer(n.pointerId)):o._lastPointerType="mouse"}),o._register(r.j(o.viewHelper.linesContentDomNode,"MSGestureChange",function(e){return o._onGestureChange(e)},ye)),o._register(r.h(o.viewHelper.linesContentDomNode,"MSGestureTap",function(e){return o._onCaptureGestureTap(e)},!0))}},100),o._lastPointerType="mouse",o}return ve(t,e),t.prototype._onMouseDown=function(t){"mouse"===this._lastPointerType&&e.prototype._onMouseDown.call(this,t)},t.prototype._onCaptureGestureTap=function(e){var t=this,n=new O(e,this.viewHelper.viewDomNode),i=this._createMouseTarget(n,!1);i.position&&this.viewController.moveTo(i.position),n.browserEvent.fromElement?(n.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}(ge),Ce=function(e){function t(t,n,i){var o=e.call(this,t,n,i)||this;return o.viewHelper.linesContentDomNode.style.touchAction="none",o._installGestureHandlerTimeout=window.setTimeout(function(){if(o._installGestureHandlerTimeout=-1,window.MSGesture){var e=new MSGesture,t=new MSGesture;e.target=o.viewHelper.linesContentDomNode,t.target=o.viewHelper.linesContentDomNode,o.viewHelper.linesContentDomNode.addEventListener("pointerdown",function(n){var i=n.pointerType;"mouse"!==i?"touch"===i?(o._lastPointerType="touch",e.addPointer(n.pointerId)):(o._lastPointerType="pen",t.addPointer(n.pointerId)):o._lastPointerType="mouse"}),o._register(r.j(o.viewHelper.linesContentDomNode,"MSGestureChange",function(e){return o._onGestureChange(e)},ye)),o._register(r.h(o.viewHelper.linesContentDomNode,"MSGestureTap",function(e){return o._onCaptureGestureTap(e)},!0))}},100),o._lastPointerType="mouse",o}return ve(t,e),t.prototype._onMouseDown=function(t){"mouse"===this._lastPointerType&&e.prototype._onMouseDown.call(this,t)},t.prototype._onCaptureGestureTap=function(e){var t=this,n=new O(e,this.viewHelper.viewDomNode),i=this._createMouseTarget(n,!1);i.position&&this.viewController.moveTo(i.position),n.browserEvent.fromElement?(n.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}(ge),we=function(e){function t(t,n,i){var o=e.call(this,t,n,i)||this;return f.b.addTarget(o.viewHelper.linesContentDomNode),o._register(r.h(o.viewHelper.linesContentDomNode,f.a.Tap,function(e){return o.onTap(e)})),o._register(r.h(o.viewHelper.linesContentDomNode,f.a.Change,function(e){return o.onChange(e)})),o._register(r.h(o.viewHelper.linesContentDomNode,f.a.Contextmenu,function(e){return o._onContextMenu(new O(e,o.viewHelper.viewDomNode),!1)})),o}return ve(t,e),t.prototype.onTap=function(e){e.preventDefault(),this.viewHelper.focusTextArea();var t=this._createMouseTarget(new O(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}(ge),Se=function(e){function t(t,n,i){var o=e.call(this)||this;return window.navigator.msPointerEnabled?o.handler=o._register(new be(t,n,i)):window.TouchEvent?o.handler=o._register(new we(t,n,i)):window.navigator.pointerEnabled||window.PointerEvent?o.handler=o._register(new Ce(t,n,i)):o.handler=o._register(new ge(t,n,i)),o}return ve(t,e),t.prototype.getTargetAtClientPoint=function(e,t){return this.handler.getTargetAtClientPoint(e,t)},t}(u.a),Le=(n("9vcT"),n("aL7J")),Oe=n("4QaN"),Ee=n("ZWAj"),Ne=(n("7Do+"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),xe=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Ne(t,e),t}(I),Ie=n("Rfe2"),De=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ke=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._readConfig(),n._lastCursorModelPosition=new ee.a(1,1),n._renderResult=null,n._context.addEventHandler(n),n}return De(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._renderFinalNewline=e.viewInfo.renderFinalNewline,this._lineNumbersLeft=e.layoutInfo.lineNumbersLeft,this._lineNumbersWidth=e.layoutInfo.lineNumbersWidth},t.prototype.dispose=function(){this._context.removeEventHandler(this),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 ee.a(e,1));if(1!==t.column)return"";var n=t.lineNumber;if(!this._renderFinalNewline){var i=this._context.model.getLineCount(),o=this._context.model.getLineContent(n);if(n===i&&""===o)return""}if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(n);if(2===this._renderLineNumbers){var r=Math.abs(this._lastCursorModelPosition.lineNumber-n);return 0===r?''+n+"":String(r)}return 3===this._renderLineNumbers?this._lastCursorModelPosition.lineNumber===n?String(n):n%10==0?String(n):"":String(n)},t.prototype.prepareRender=function(e){if(0!==this._renderLineNumbers){for(var n=v.c?this._lineHeight%2==0?" lh-even":" lh-odd":"",i=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber,r='
    ',s=[],a=i;a<=o;a++){var u=a-i,l=this._getLineRenderLineNumber(a);s[u]=l?r+l+"
    ":""}this._renderResult=s}else this._renderResult=null},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]},t.CLASS_NAME="line-numbers",t}(xe);Object(B.f)(function(e,t){var n=e.getColor(Ie.k);n&&t.addRule(".monaco-editor .line-numbers { color: "+n+"; }");var i=e.getColor(Ie.b);i&&t.addRule(".monaco-editor .current-line ~ .line-numbers { color: "+i+"; }")});var Te=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Me=function(e){function t(n){var i=e.call(this,n)||this;return i._canUseLayerHinting=i._context.configuration.editor.canUseLayerHinting,i._contentLeft=i._context.configuration.editor.layoutInfo.contentLeft,i._glyphMarginLeft=i._context.configuration.editor.layoutInfo.glyphMarginLeft,i._glyphMarginWidth=i._context.configuration.editor.layoutInfo.glyphMarginWidth,i._domNode=Object(p.b)(document.createElement("div")),i._domNode.setClassName(t.OUTER_CLASS_NAME),i._domNode.setPosition("absolute"),i._domNode.setAttribute("role","presentation"),i._domNode.setAttribute("aria-hidden","true"),i._glyphMarginBackgroundDomNode=Object(p.b)(document.createElement("div")),i._glyphMarginBackgroundDomNode.setClassName(t.CLASS_NAME),i._domNode.appendChild(i._glyphMarginBackgroundDomNode),i}return Te(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.getDomNode=function(){return this._domNode},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 n=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(n),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(n)},t.CLASS_NAME="glyph-margin",t.OUTER_CLASS_NAME="margin",t}(k),Re=n("BwcV"),Ae=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Pe=function(){return 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.copyWithSyntaxHighlighting=e.copyWithSyntaxHighlighting,this.layoutInfo=e.layoutInfo,this.fontInfo=e.fontInfo,this.viewInfo=e.viewInfo,this.wrappingInfo=e.wrappingInfo}}(),Fe=function(){return function(e){this.type=2,this.selections=e}}(),We=function(){return function(){this.type=3}}(),je=function(){return function(){this.type=4}}(),Ve=function(){return function(e){this.type=5,this.isFocused=e}}(),Be=function(){return function(){this.type=6}}(),He=function(){return function(e,t){this.type=7,this.fromLineNumber=e,this.toLineNumber=t}}(),ze=function(){return function(e,t){this.type=8,this.fromLineNumber=e,this.toLineNumber=t}}(),Ue=function(){return function(e,t){this.type=9,this.fromLineNumber=e,this.toLineNumber=t}}(),Ke=function(){return function(e,t,n,i){this.type=10,this.range=e,this.verticalType=t,this.revealHorizontal=n,this.scrollType=i}}(),qe=function(){return 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}}(),Ge=function(){return function(e){this.type=12,this.ranges=e}}(),Ze=function(){return function(){this.type=15}}(),Ye=function(){return function(){this.type=13}}(),Xe=function(){return function(){this.type=14}}(),Je=function(){return function(){this.type=16}}(),Qe=function(e){function t(){var t=e.call(this)||this;return t._listeners=[],t._collector=null,t._collectorCnt=0,t}return Ae(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 $e),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),n=0,i=t.length;n0)return new Ee.b(i,i.length,i.length,n,n)}}return Ee.b.EMPTY}return Ee.a.fromEditorSelection(e,s,o._selections[0],0===o._accessibilitySupport)},deduceModelPosition:function(e,t,n){return o._context.model.deduceModelPositionRelativeToViewPosition(e,t,n)}};return o._textAreaInput=o._register(new Oe.b(a,o.textArea)),o._register(o._textAreaInput.onKeyDown(function(e){o._viewController.emitKeyDown(e)})),o._register(o._textAreaInput.onKeyUp(function(e){o._viewController.emitKeyUp(e)})),o._register(o._textAreaInput.onPaste(function(e){var t=ot.INSTANCE.get(e.text),n=!1,i=null;t&&(n=o._emptySelectionClipboard&&t.isFromEmptySelection,i=t.multicursorText),o._viewController.paste("keyboard",e.text,n,i)})),o._register(o._textAreaInput.onCut(function(){o._viewController.cut("keyboard")})),o._register(o._textAreaInput.onType(function(e){e.replaceCharCnt?o._viewController.replacePreviousChar("keyboard",e.text,e.replaceCharCnt):o._viewController.type("keyboard",e.text)})),o._register(o._textAreaInput.onSelectionChangeRequest(function(e){o._viewController.setSelection("keyboard",e)})),o._register(o._textAreaInput.onCompositionStart(function(){var e=o._selections[0].startLineNumber,t=o._selections[0].startColumn;o._context.privateViewEventBus.emit(new Ke(new te.a(e,t,e,t),0,!0,1));var n=o._viewHelper.visibleRangeForPositionRelativeToEditor(e,t);n&&(o._visibleTextArea=new nt(o._context.viewLayout.getVerticalOffsetForLineNumber(e),n.left,it?0:1),o._render()),o.textArea.setClassName("inputarea ime-input"),o._viewController.compositionStart("keyboard")})),o._register(o._textAreaInput.onCompositionUpdate(function(e){g.g?o._visibleTextArea=o._visibleTextArea.setWidth(0):o._visibleTextArea=o._visibleTextArea.setWidth(function(e,t){var n=document.createElement("canvas").getContext("2d");n.font=(i=t,o="normal",r=i.fontWeight,s=i.fontSize,a=i.lineHeight,u=i.fontFamily,o+" normal "+r+" "+s+"px / "+a+"px "+u);var i,o,r,s,a,u;var l=n.measureText(e);return g.i?l.width+2:l.width}(e.data,o._fontInfo)),o._render()})),o._register(o._textAreaInput.onCompositionEnd(function(){o._visibleTextArea=null,o._render(),o.textArea.setClassName("inputarea"),o._viewController.compositionEnd("keyboard")})),o._register(o._textAreaInput.onFocus(function(){o._context.privateViewEventBus.emit(new Ve(!0))})),o._register(o._textAreaInput.onBlur(function(){o._context.privateViewEventBus.emit(new Ve(!1))})),o}return tt(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),n=Object(Re.a)(this._context.configuration.editor.wordSeparators),i=e.column,o=0;i>1;){var r=t.charCodeAt(i-2);if(0!==n.get(r)||o>50)return t.substring(i-1,e.column-1);o++,i--}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(!Le.w(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),e.copyWithSyntaxHighlighting&&(this._copyWithSyntaxHighlighting=t.copyWithSyntaxHighlighting),!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){var t=new ee.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(ethis._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,it?0:1,it?0:1,!1)}}else this._renderAtTopLeft()},t.prototype._renderInsideEditor=function(e,t,n,i,o){var r=this.textArea,s=this.textAreaCover;o?c.a.applyFontInfo(r,this._fontInfo):(r.setFontSize(1),r.setLineHeight(this._fontInfo.lineHeight)),r.setTop(e),r.setLeft(t),r.setWidth(n),r.setHeight(i),s.setTop(0),s.setLeft(0),s.setWidth(0),s.setHeight(0)},t.prototype._renderAtTopLeft=function(){var e=this.textArea,t=this.textAreaCover;if(c.a.applyFontInfo(e,this._fontInfo),e.setTop(0),e.setLeft(0),t.setTop(0),t.setLeft(0),it)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 "+Me.OUTER_CLASS_NAME):0!==this._context.configuration.editor.viewInfo.renderLineNumbers?t.setClassName("monaco-editor-background textAreaCover "+ke.CLASS_NAME):t.setClassName("monaco-editor-background textAreaCover")},t}(k);var st=n("HZsc"),at=function(){function e(e,t,n,i){this.configuration=e,this.viewModel=t,this.outgoingEvents=n,this.commandDelegate=i}return e.prototype._execMouseCommand=function(e,t){t.source="mouse",this.commandDelegate.executeEditorCommand(e,t)},e.prototype.paste=function(e,t,n,i){this.commandDelegate.paste(e,t,n,i)},e.prototype.type=function(e,t){this.commandDelegate.type(e,t)},e.prototype.replacePreviousChar=function(e,t,n){this.commandDelegate.replacePreviousChar(e,t,n)},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.commandDelegate.executeEditorCommand(st.CoreNavigationCommands.SetSelection,{source:e,selection:t})},e.prototype._validateViewColumn=function(e){var t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column=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,!1):e.inSelectionMode?this._lastCursorMoveToSelect(e.position):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey?this._columnSelect(e.position,e.mouseColumn,!0):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(st.CoreNavigationCommands.MoveTo,this._usualArgs(e))},e.prototype._moveToSelect=function(e){this._execMouseCommand(st.CoreNavigationCommands.MoveToSelect,this._usualArgs(e))},e.prototype._columnSelect=function(e,t,n){e=this._validateViewColumn(e),this._execMouseCommand(st.CoreNavigationCommands.ColumnSelect,{position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:t,setAnchorIfNotSet:n})},e.prototype._createCursor=function(e,t){e=this._validateViewColumn(e),this._execMouseCommand(st.CoreNavigationCommands.CreateCursor,{position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:t})},e.prototype._lastCursorMoveToSelect=function(e){this._execMouseCommand(st.CoreNavigationCommands.LastCursorMoveToSelect,this._usualArgs(e))},e.prototype._wordSelect=function(e){this._execMouseCommand(st.CoreNavigationCommands.WordSelect,this._usualArgs(e))},e.prototype._wordSelectDrag=function(e){this._execMouseCommand(st.CoreNavigationCommands.WordSelectDrag,this._usualArgs(e))},e.prototype._lastCursorWordSelect=function(e){this._execMouseCommand(st.CoreNavigationCommands.LastCursorWordSelect,this._usualArgs(e))},e.prototype._lineSelect=function(e){this._execMouseCommand(st.CoreNavigationCommands.LineSelect,this._usualArgs(e))},e.prototype._lineSelectDrag=function(e){this._execMouseCommand(st.CoreNavigationCommands.LineSelectDrag,this._usualArgs(e))},e.prototype._lastCursorLineSelect=function(e){this._execMouseCommand(st.CoreNavigationCommands.LastCursorLineSelect,this._usualArgs(e))},e.prototype._lastCursorLineSelectDrag=function(e){this._execMouseCommand(st.CoreNavigationCommands.LastCursorLineSelectDrag,this._usualArgs(e))},e.prototype._selectAll=function(){this._execMouseCommand(st.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.prototype.emitMouseWheel=function(e){this.outgoingEvents.emitMouseWheel(e)},e}(),ut=n("ftXN"),lt=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 n=this.getStartLineNumber(),i=this.getEndLineNumber();if(ti)return null;for(var r=0,s=0,a=n;a<=i;a++){var u=a-this._rendLineNumberStart;e<=a&&a<=t&&(0===s?(r=u,s=1):s++)}if(e=n&&r<=i&&(this._lines[r-this._rendLineNumberStart].onContentChanged(),o=!0);return o},e.prototype.onLinesInserted=function(e,t){if(0===this.getCount())return null;var n=t-e+1,i=this.getStartLineNumber(),o=this.getEndLineNumber();if(e<=i)return this._rendLineNumberStart+=n,null;if(e>o)return null;if(n+e>o)return this._lines.splice(e-this._rendLineNumberStart,o-e+1);for(var r=[],s=0;sn))for(var a=Math.max(t,s.fromLineNumber),u=Math.min(n,s.toLineNumber),l=a;l<=u;l++){var c=l-this._rendLineNumberStart;this._lines[c].onTokensChanged(),i=!0}}return i},e}(),ct=function(){function e(e){var t=this;this._host=e,this.domNode=this._createDomNode(),this._linesCollection=new lt(function(){return t._host.createVisibleLine()})}return e.prototype._createDomNode=function(){var e=Object(p.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 n=0,i=t.length;nt)(u=t)<=(s=Math.min(n,o.rendLineNumberStart-1))&&(this._insertLinesBefore(o,u,s,i,t),o.linesLength+=s-u+1);else if(o.rendLineNumberStart0&&(this._removeLinesBefore(o,a),o.linesLength-=a)}if(o.rendLineNumberStart=t,o.rendLineNumberStart+o.linesLength-1n){var s,a,u=Math.max(0,n-o.rendLineNumberStart+1);(a=(s=o.linesLength-1)-u+1)>0&&(this._removeLinesAfter(o,a),o.linesLength-=a)}return this._finishRendering(o,!1,i),o},e.prototype._renderUntouchedLines=function(e,t,n,i,o){for(var r=e.rendLineNumberStart,s=e.lines,a=t;a<=n;a++){var u=r+a;s[a].layoutLine(u,i[u-o])}},e.prototype._insertLinesBefore=function(e,t,n,i,o){for(var r=[],s=0,a=t;a<=n;a++)r[s++]=this.host.createVisibleLine();e.lines=r.concat(e.lines)},e.prototype._removeLinesBefore=function(e,t){for(var n=0;n=0;s--){var a=e.lines[s];i[s]&&(a.setDomNode(r),r=r.previousSibling)}},e.prototype._finishRenderingInvalidLines=function(e,t,n){var i=document.createElement("div");i.innerHTML=t;for(var o=0;o'),i.appendASCIIString(o),i.appendASCIIString(""),!0)},e.prototype.layoutLine=function(e,t){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(this._lineHeight))},e}(),gt=function(e){function t(t){var n=e.call(this,t)||this;return n._contentWidth=n._context.configuration.editor.layoutInfo.contentWidth,n.domNode.setHeight(0),n}return ht(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}(pt),mt=function(e){function t(t){var n=e.call(this,t)||this;return n._contentLeft=n._context.configuration.editor.layoutInfo.contentLeft,n.domNode.setClassName("margin-view-overlays"),n.domNode.setWidth(1),c.a.applyFontInfo(n.domNode,n._context.configuration.editor.fontInfo),n}return ht(t,e),t.prototype.onConfigurationChanged=function(t){var n=!1;return t.fontInfo&&(c.a.applyFontInfo(this.domNode,this._context.configuration.editor.fontInfo),n=!0),t.layoutInfo&&(this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft,n=!0),e.prototype.onConfigurationChanged.call(this,t)||n},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 n=Math.min(t.scrollHeight,1e6);this.domNode.setHeight(n),this.domNode.setWidth(this._contentLeft)},t}(pt),_t=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),vt=function(){return function(e,t){this.top=e,this.left=t}}(),yt=function(e){function t(t,n){var i=e.call(this,t)||this;return i._viewDomNode=n,i._widgets={},i.domNode=Object(p.b)(document.createElement("div")),T.write(i.domNode,1),i.domNode.setClassName("contentWidgets"),i.domNode.setPosition("absolute"),i.domNode.setTop(0),i.overflowingContentWidgetsDomNode=Object(p.b)(document.createElement("div")),T.write(i.overflowingContentWidgetsDomNode,2),i.overflowingContentWidgetsDomNode.setClassName("overflowingContentWidgets"),i}return _t(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._widgets={}},t.prototype.onConfigurationChanged=function(e){for(var t=0,n=Object.keys(this._widgets);t=i,c=a,d=o.viewportHeight-a>=i,h=e.left,p=t.left;return h+n>o.scrollLeft+o.viewportWidth&&(h=o.scrollLeft+o.viewportWidth-n),p+n>o.scrollLeft+o.viewportWidth&&(p=o.scrollLeft+o.viewportWidth-n),h=22,b=g+i<=(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-22;m+n+20>v&&(m-=s=m-(v-n-20),d-=s);_+n+20>v&&(_-=s=_-(v-n-20),h-=s);m<0&&(m-=s=m,d-=s);_<0&&(_-=s=_,h-=s);return this._fixedOverflowWidgets&&(l=f,c=g,d=m,h=_),{fitsAbove:y,aboveTop:l,aboveLeft:d,fitsBelow:b,belowTop:c,belowLeft:h}},e.prototype._prepareRenderWidgetAtExactPositionOverflowing=function(e){return new vt(e.top,e.left+this._contentLeft)},e.prototype._getTopAndBottomLeft=function(e){if(!this._viewPosition)return[null,null];var t=e.visibleRangeForPosition(this._viewPosition);if(!t)return[null,null];var n=e.getVerticalOffsetForLineNumber(this._viewPosition.lineNumber)-e.scrollTop,i=new vt(n,t.left),o=this._viewPosition.lineNumber,r=t.left;if(this._viewRange){var s=e.linesVisibleRangesForRange(this._viewRange,!1);if(s&&s.length>0)for(var a=s.length-1;a>=0;a--){var u=s[a];if(u.lineNumber>=o){u.lineNumber>o&&(o=u.lineNumber,r=1073741824);for(var l=0,c=u.ranges.length;le.endLineNumber||this.domNode.setMaxWidth(this._maxWidth))},e.prototype.prepareRender=function(e){this._renderData=this._prepareRenderWidget(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}(),Ct=(n("Eawl"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),wt=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._renderLineHighlight=n._context.configuration.editor.viewInfo.renderLineHighlight,n._selectionIsEmpty=!0,n._primaryCursorLineNumber=1,n._scrollWidth=0,n._contentWidth=n._context.configuration.editor.layoutInfo.contentWidth,n._context.addEventHandler(n),n}return Ct(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),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,n=e.selections[0].positionLineNumber;this._primaryCursorLineNumber!==n&&(this._primaryCursorLineNumber=n,t=!0);var i=e.selections[0].isEmpty();return this._selectionIsEmpty!==i?(this._selectionIsEmpty=i,!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()?'
    ':""},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}(xe);Object(B.f)(function(e,t){var n=e.getColor(Ie.i);if(n&&t.addRule(".monaco-editor .view-overlays .current-line { background-color: "+n+"; }"),!n||n.isTransparent()||e.defines(Ie.j)){var i=e.getColor(Ie.j);i&&(t.addRule(".monaco-editor .view-overlays .current-line { border: 2px solid "+i+"; }"),"hc"===e.type&&t.addRule(".monaco-editor .view-overlays .current-line { border-width: 1px; }"))}});n("3ZDw");var St=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Lt=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._renderLineHighlight=n._context.configuration.editor.viewInfo.renderLineHighlight,n._selectionIsEmpty=!0,n._primaryCursorLineNumber=1,n._contentLeft=n._context.configuration.editor.layoutInfo.contentLeft,n._context.addEventHandler(n),n}return St(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),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,n=e.selections[0].positionLineNumber;this._primaryCursorLineNumber!==n&&(this._primaryCursorLineNumber=n,t=!0);var i=e.selections[0].isEmpty();return this._selectionIsEmpty!==i?(this._selectionIsEmpty=i,!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 n="current-line";if(this._shouldShowCurrentLine())n="current-line current-line-margin"+(this._willRenderContentCurrentLine()?" current-line-margin-both":"");return'
    '}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}(xe);Object(B.f)(function(e,t){var n=e.getColor(Ie.i);if(n)t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { background-color: "+n+"; border: none; }");else{var i=e.getColor(Ie.j);i&&t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid "+i+"; }"),"hc"===e.type&&t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }")}});n("84z/");var Ot=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Et=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._typicalHalfwidthCharacterWidth=n._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,n._renderResult=null,n._context.addEventHandler(n),n}return Ot(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),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(),n=[],i=0,o=0,r=t.length;ot.options.zIndex)return 1;var n=e.options.className,i=t.options.className;return ni?1:te.a.compareRangesUsingStarts(e.range,t.range)});for(var a=e.visibleRange.startLineNumber,u=e.visibleRange.endLineNumber,l=[],c=a;c<=u;c++){l[c-a]=""}this._renderWholeLineDecorations(e,n,l),this._renderNormalDecorations(e,n,l),this._renderResult=l},t.prototype._renderWholeLineDecorations=function(e,t,n){for(var i=String(this._lineHeight),o=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,s=0,a=t.length;s',c=Math.max(u.range.startLineNumber,o),d=Math.min(u.range.endLineNumber,r),h=c;h<=d;h++){n[h-o]+=l}}},t.prototype._renderNormalDecorations=function(e,t,n){for(var i=String(this._lineHeight),o=e.visibleRange.startLineNumber,r=null,s=!1,a=null,u=0,l=t.length;u';s[d]+=m}}},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]},t}(xe),Nt=n("qecS"),xt=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),It=function(e){function t(t,n,i,o){var s=e.call(this,t)||this,a=s._context.configuration.editor.viewInfo.scrollbar,u={listenOnDomNode:i.domNode,className:"editor-scrollable "+Object(B.e)(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,fastScrollSensitivity:a.fastScrollSensitivity};s.scrollbar=s._register(new Nt.c(n.domNode,u,s._context.viewLayout.scrollable)),T.write(s.scrollbar.getDomNode(),5),s.scrollbarDomNode=Object(p.b)(s.scrollbar.getDomNode()),s.scrollbarDomNode.setPosition("absolute"),s._setLayout();var l=function(e,t,n){var i={};if(t){var o=e.scrollTop;o&&(i.scrollTop=s._context.viewLayout.getCurrentScrollTop()+o,e.scrollTop=0)}if(n){var r=e.scrollLeft;r&&(i.scrollLeft=s._context.viewLayout.getCurrentScrollLeft()+r,e.scrollLeft=0)}s._context.viewLayout.setScrollPositionNow(i)};return s._register(r.h(i.domNode,"scroll",function(e){return l(i.domNode,!0,!0)})),s._register(r.h(n.domNode,"scroll",function(e){return l(n.domNode,!0,!1)})),s._register(r.h(o.domNode,"scroll",function(e){return l(o.domNode,!0,!1)})),s._register(r.h(s.scrollbarDomNode.domNode,"scroll",function(e){return l(s.scrollbarDomNode.domNode,!0,!1)})),s}return xt(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,n={handleMouseWheel:t.viewInfo.scrollbar.handleMouseWheel,mouseWheelScrollSensitivity:t.viewInfo.scrollbar.mouseWheelScrollSensitivity,fastScrollSensitivity:t.viewInfo.scrollbar.fastScrollSensitivity};this.scrollbar.updateOptions(n)}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(B.e)(this._context.theme.type)),!0},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this.scrollbar.renderNow()},t}(k),Dt=(n("uHSv"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),kt=function(){return function(e,t,n){this.startLineNumber=+e,this.endLineNumber=+t,this.className=String(n)}}(),Tt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Dt(t,e),t.prototype._render=function(e,t,n){for(var i=[],o=e;o<=t;o++){i[o-e]=[]}if(0===n.length)return i;n.sort(function(e,t){return e.className===t.className?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.className',s=[],a=t;a<=n;a++){var u=a-t,l=i[u];0===l.length?s[u]="":s[u]='
    =this._renderResult.length?"":this._renderResult[n]},t}(Tt),Rt=(n("gCdB"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),At=function(e){function t(t){var n=e.call(this)||this;n._context=t,n._primaryLineNumber=0,n._lineHeight=n._context.configuration.editor.lineHeight,n._spaceWidth=n._context.configuration.editor.fontInfo.spaceWidth,n._enabled=n._context.configuration.editor.viewInfo.renderIndentGuides,n._activeIndentEnabled=n._context.configuration.editor.viewInfo.highlightActiveIndentGuide;var i=n._context.configuration.editor.wrappingInfo.wrappingColumn;return n._maxIndentLeft=-1===i?-1:i*n._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,n._renderResult=null,n._context.addEventHandler(n),n}return Rt(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){if(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),e.wrappingInfo||e.fontInfo){var t=this._context.configuration.editor.wrappingInfo.wrappingColumn;this._maxIndentLeft=-1===t?-1:t*this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth}return!0},t.prototype.onCursorStateChanged=function(e){var t=e.selections[0],n=t.isEmpty()?t.positionLineNumber:0;return this._primaryLineNumber!==n&&(this._primaryLineNumber=n,!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,n=e.visibleRange.endLineNumber,i=this._context.model.getOptions().indentSize*this._spaceWidth,o=e.scrollWidth,r=this._lineHeight,s=this._context.model.getLinesIndentGuides(t,n),a=0,u=0,l=0;if(this._activeIndentEnabled&&this._primaryLineNumber){var c=this._context.model.getActiveIndentGuide(this._primaryLineNumber,t,n);a=c.startLineNumber,u=c.endLineNumber,l=c.indent}for(var d=[],h=t;h<=n;h++){for(var p=a<=h&&h<=u,f=h-t,g=s[f],m="",_=e.visibleRangeForPosition(new ee.a(h,1)),v=_?_.left:0,y=1;y<=g;y++){if(m+='
    ',(v+=i)>o||this._maxIndentLeft>0&&v>this._maxIndentLeft)break}d[f]=m}this._renderResult=d}else this._renderResult=null},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]},t}(xe);Object(B.f)(function(e,t){var n=e.getColor(Ie.h);n&&t.addRule(".monaco-editor .lines-content .cigr { box-shadow: 1px 0 0 0 "+n+" inset; }");var i=e.getColor(Ie.a)||n;i&&t.addRule(".monaco-editor .lines-content .cigra { box-shadow: 1px 0 0 0 "+i+" inset; }")});n("+0Qw");var Pt=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ft=function(){function e(){this._currentVisibleRange=new te.a(1,1,1,1)}return e.prototype.getCurrentVisibleRange=function(){return this._currentVisibleRange},e.prototype.setCurrentVisibleRange=function(e){this._currentVisibleRange=e},e}(),Wt=function(){return function(e,t,n,i,o,r){this.lineNumber=e,this.startColumn=t,this.endColumn=n,this.startScrollTop=i,this.stopScrollTop=o,this.scrollType=r}}(),jt=function(e){function t(t,n){var i=e.call(this,t)||this;i._linesContent=n,i._textRangeRestingSpot=document.createElement("div"),i._visibleLines=new ct(i),i.domNode=i._visibleLines.domNode;var o=i._context.configuration;return i._lineHeight=o.editor.lineHeight,i._typicalHalfwidthCharacterWidth=o.editor.fontInfo.typicalHalfwidthCharacterWidth,i._isViewportWrapping=o.editor.wrappingInfo.isViewportWrapping,i._revealHorizontalRightPadding=o.editor.viewInfo.revealHorizontalRightPadding,i._scrollOff=o.editor.viewInfo.cursorSurroundingLines,i._canUseLayerHinting=o.editor.canUseLayerHinting,i._viewLineOptions=new q(o,i._context.theme.type),T.write(i.domNode,7),i.domNode.setClassName("view-lines"),c.a.applyFontInfo(i.domNode,o.editor.fontInfo),i._maxLineWidth=0,i._asyncUpdateLineWidths=new _.d(function(){i._updateLineWidthsSlow()},200),i._lastRenderedData=new Ft,i._horizontalRevealRequest=null,i}return Pt(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 G(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,this._scrollOff=t.editor.viewInfo.cursorSurroundingLines),e.canUseLayerHinting&&(this._canUseLayerHinting=t.editor.canUseLayerHinting),e.fontInfo&&c.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 q(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;for(var n=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber(),o=n;o<=i;o++){this._visibleLines.getVisibleLine(o).onOptionsChanged(this._viewLineOptions)}return!0}return!1},t.prototype.onCursorStateChanged=function(e){for(var t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),i=!1,o=t;o<=n;o++)i=this._visibleLines.getVisibleLine(o).onSelectionChanged()||i;return i},t.prototype.onDecorationsChanged=function(e){for(var t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),i=t;i<=n;i++)this._visibleLines.getVisibleLine(i).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),n=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range.startLineNumber!==e.range.endLineNumber?n={scrollTop:n.scrollTop,scrollLeft:0}:this._horizontalRevealRequest=new Wt(e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),n.scrollTop,e.scrollType):this._horizontalRevealRequest=null;var i=Math.abs(this._context.viewLayout.getCurrentScrollTop()-n.scrollTop);return 0===e.scrollType&&i>this._lineHeight?this._context.viewLayout.setScrollPositionSmooth(n):this._context.viewLayout.setScrollPositionNow(n),!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),n=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTopn)&&(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 n=this._getViewLineDomNode(e);if(null===n)return null;var i=this._getLineNumberFor(n);if(-1===i)return null;if(i<1||i>this._context.model.getLineCount())return null;if(1===this._context.model.getLineMaxColumn(i))return new ee.a(i,1);var o=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();if(ir)return null;var s=this._visibleLines.getVisibleLine(i).getColumnOfNodeOffset(i,e,t),a=this._context.model.getLineMinColumn(i);return sn?-1:this._visibleLines.getVisibleLine(e).getWidth()},t.prototype.linesVisibleRangesForRange=function(e,t){if(this.shouldRender())return null;var n=e.endLineNumber,i=te.a.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!i)return null;var o=[],r=0,s=new K(this.domNode.domNode,this._textRangeRestingSpot),a=0;t&&(a=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new ee.a(i.startLineNumber,1)).lineNumber);for(var u=this._visibleLines.getStartLineNumber(),l=this._visibleLines.getEndLineNumber(),c=i.startLineNumber;c<=i.endLineNumber;c++)if(!(cl)){var d=c===i.startLineNumber?i.startColumn:1,h=c===i.endLineNumber?i.endColumn:this._context.model.getLineMaxColumn(c),p=this._visibleLines.getVisibleLine(c).getVisibleRangesForRange(d,h,s);if(p&&0!==p.length){if(t&&cr)){var a=s===t.startLineNumber?t.startColumn:1,u=s===t.endLineNumber?t.endColumn:this._context.model.getLineMaxColumn(s),l=this._visibleLines.getVisibleLine(s).getVisibleRangesForRange(a,u,i);l&&0!==l.length&&(n=n.concat(l))}return 0===n.length?null:n},t.prototype.visibleRangeForPosition=function(e){var t=this.visibleRangesForRange2(new te.a(e.lineNumber,e.column,e.lineNumber,e.column));return t?t[0]:null},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(),n=this._visibleLines.getEndLineNumber(),i=1,o=!0,r=t;r<=n;r++){var s=this._visibleLines.getVisibleLine(r);!e||s.getWidthIsFast()?i=Math.max(i,s.getWidth()):o=!1}return o&&1===t&&n===this._context.model.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(i),o},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,n=this._horizontalRevealRequest.startColumn,i=this._horizontalRevealRequest.endColumn,o=this._horizontalRevealRequest.scrollType;if(e.startLineNumber<=t&&t<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();var r=this._computeScrollLeftToRevealRange(t,n,i);this._isViewportWrapping||this._ensureMaxLineWidth(r.maxHorizontalOffset),0===o?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._maxLineWidthc&&(c=p.left+p.width)}return o=c,l=Math.max(0,l-t.HORIZONTAL_EXTRA_PX),c+=this._revealHorizontalRightPadding,{scrollLeft:this._computeMinimumScrolling(s,a,l,c),maxHorizontalOffset:o}},t.prototype._computeMinimumScrolling=function(e,t,n,i,o,r){o=!!o,r=!!r;var s=(t|=0)-(e|=0);return(i|=0)-(n|=0)t?Math.max(0,i-s):e:n},t.HORIZONTAL_EXTRA_PX=30,t}(k),Vt=(n("MlKm"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),Bt=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._decorationsLeft=n._context.configuration.editor.layoutInfo.decorationsLeft,n._decorationsWidth=n._context.configuration.editor.layoutInfo.decorationsWidth,n._renderResult=null,n._context.addEventHandler(n),n}return Vt(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),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(),n=[],i=0,o=0,r=t.length;o
    ',r=[],s=t;s<=n;s++){for(var a=s-t,u=i[a],l="",c=0,d=u.length;c';o[s]=u}this._renderResult=o},t.prototype.render=function(e,t){return this._renderResult?this._renderResult[t-e]:""},t}(Tt),Ut=(n("OkZj"),function(){function e(t,n,i,o){this.r=e._clamp(t),this.g=e._clamp(n),this.b=e._clamp(i),this.a=e._clamp(o)}return e._clamp=function(e){return e<0?0:e>255?255:0|e},e.Empty=new e(0,0,0,0),e}()),Kt=n("PCC9"),qt=function(){function e(){var e=this;this._onDidChange=new a.a,this.onDidChange=this._onDidChange.event,this._updateColorMap(),Kt.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=Kt.y.getColorMap();if(!e)return this._colors=[Ut.Empty],void(this._backgroundIsLight=!0);this._colors=[Ut.Empty];for(var t=1;t=.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}(),Gt=function(){function e(t,n){if(760!==t.length)throw new Error("Invalid x2CharData");if(190!==n.length)throw new Error("Invalid x1CharData");this.x2charData=t,this.x1charData=n,this.x2charDataLight=e.soften(t,.8),this.x1charDataLight=e.soften(n,50/60)}return e.soften=function(e,t){for(var n=new Uint8ClampedArray(e.length),i=0,o=e.length;it.width||i+4>t.height)console.warn("bad render request outside image data");else{var u=a?this.x2charDataLight:this.x2charData,l=e._getChIndex(o),c=4*t.width,d=s.r,h=s.g,p=s.b,f=r.r-d,g=r.g-h,m=r.b-p,_=t.data,v=4*l*2,y=i*c+4*n,b=u[v]/255;_[y+0]=d+f*b,_[y+1]=h+g*b,_[y+2]=p+m*b;b=u[v+1]/255;_[y+4]=d+f*b,_[y+5]=h+g*b,_[y+6]=p+m*b,y+=c;b=u[v+2]/255;_[y+0]=d+f*b,_[y+1]=h+g*b,_[y+2]=p+m*b;b=u[v+3]/255;_[y+4]=d+f*b,_[y+5]=h+g*b,_[y+6]=p+m*b,y+=c;b=u[v+4]/255;_[y+0]=d+f*b,_[y+1]=h+g*b,_[y+2]=p+m*b;b=u[v+5]/255;_[y+4]=d+f*b,_[y+5]=h+g*b,_[y+6]=p+m*b,y+=c;b=u[v+6]/255;_[y+0]=d+f*b,_[y+1]=h+g*b,_[y+2]=p+m*b;b=u[v+7]/255;_[y+4]=d+f*b,_[y+5]=h+g*b,_[y+6]=p+m*b}},e.prototype.x1RenderChar=function(t,n,i,o,r,s,a){if(n+1>t.width||i+2>t.height)console.warn("bad render request outside image data");else{var u=a?this.x1charDataLight:this.x1charData,l=e._getChIndex(o),c=4*t.width,d=s.r,h=s.g,p=s.b,f=r.r-d,g=r.g-h,m=r.b-p,_=t.data,v=2*l*1,y=i*c+4*n,b=u[v]/255;_[y+0]=d+f*b,_[y+1]=h+g*b,_[y+2]=p+m*b,y+=c;b=u[v+1]/255;_[y+0]=d+f*b,_[y+1]=h+g*b,_[y+2]=p+m*b}},e.prototype.x2BlockRenderChar=function(e,t,n,i,o,r){if(t+2>e.width||n+4>e.height)console.warn("bad render request outside image data");else{var s=4*e.width,a=o.r,u=o.g,l=o.b,c=a+.5*(i.r-a),d=u+.5*(i.g-u),h=l+.5*(i.b-l),p=e.data,f=n*s+4*t;p[f+0]=c,p[f+1]=d,p[f+2]=h,p[f+4]=c,p[f+5]=d,p[f+6]=h,p[(f+=s)+0]=c,p[f+1]=d,p[f+2]=h,p[f+4]=c,p[f+5]=d,p[f+6]=h,p[(f+=s)+0]=c,p[f+1]=d,p[f+2]=h,p[f+4]=c,p[f+5]=d,p[f+6]=h,p[(f+=s)+0]=c,p[f+1]=d,p[f+2]=h,p[f+4]=c,p[f+5]=d,p[f+6]=h}},e.prototype.x1BlockRenderChar=function(e,t,n,i,o,r){if(t+1>e.width||n+2>e.height)console.warn("bad render request outside image data");else{var s=4*e.width,a=o.r,u=o.g,l=o.b,c=a+.5*(i.r-a),d=u+.5*(i.g-u),h=l+.5*(i.b-l),p=e.data,f=n*s+4*t;p[f+0]=c,p[f+1]=d,p[f+2]=h,p[(f+=s)+0]=c,p[f+1]=d,p[f+2]=h}},e}();function Zt(e){for(var t=new Uint8ClampedArray(e.length),n=0,i=e.length;n=s+b)return new e(a,u,v,y,c,C=1,s);var C=Math.max(1,Math.floor(n-y*h/p));return l&&l.scrollHeight===u&&(l.scrollTop>a&&(C=Math.min(C,l.startLineNumber)),l.scrollTopon)n._context.viewLayout.setScrollPositionNow({scrollTop:o.scrollTop});else{var s=e.posy-t;n._context.viewLayout.setScrollPositionNow({scrollTop:o.getDesiredScrollTopFromDelta(s)})}},function(){n._slider.toggleClassName("active",!1)})}}),n}return en(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._decorationsCanvas.setWidth(this._options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._options.canvasInnerHeight,this._slider.setWidth(this._options.minimapWidth)},t.prototype._getBuffer=function(){return this._buffers||(this._buffers=new ln(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 rn(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 this._renderDecorations=!0,!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.onDecorationsChanged=function(e){return this._renderDecorations=!0,!0},t.prototype.onThemeChanged=function(e){return this._context.model.invalidateMinimapColorCache(),this._renderDecorations=!!this._lastDecorations,!!this._lastDecorations},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=sn.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 n=e.scrollLeft/this._options.typicalHalfwidthCharacterWidth,i=Math.min(this._options.minimapWidth,Math.round(n*nn(this._options.renderMinimap)/this._options.pixelRatio));this._sliderHorizontal.setLeft(i),this._sliderHorizontal.setWidth(this._options.minimapWidth-i),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(t.sliderHeight),this.renderDecorations(t),this._lastRenderData=this.renderLines(t)},t.prototype.renderDecorations=function(e){if(this._renderDecorations){this._renderDecorations=!1;var t=this._context.model.getDecorationsInViewport(new te.a(e.startLineNumber,1,e.endLineNumber,this._context.model.getLineMaxColumn(e.endLineNumber))),n=this._options,i=n.renderMinimap,o=n.canvasInnerWidth,r=n.canvasInnerHeight,s=tn(i),a=nn(i),u=this._context.model.getOptions().tabSize,l=this._decorationsCanvas.domNode.getContext("2d");l.clearRect(0,0,o,r);for(var c=new Map,d=0;do?c.length-1:v-1;if(w>0){var S=c[w]-C||2;this.renderDecoration(e,n.options.minimap,C,l,S,r)}d&&this.renderLineHighlight(e,n.options.minimap,l,r)},t.prototype.renderLineHighlight=function(e,t,n,i){var o=t.getColor(this._context.theme);e.fillStyle=o&&o.transparent(.5).toString()||"",e.fillRect(0,n,e.canvas.width,i)},t.prototype.renderDecoration=function(e,t,n,i,o,r){var s=t.getColor(this._context.theme);e.fillStyle=s&&s.toString()||"",e.fillRect(n,i,o,r)},t.prototype.renderLines=function(e){var n=this._options.renderMinimap,i=e.startLineNumber,o=e.endLineNumber,r=tn(n);if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){var s=this._lastRenderData._get();return new un(e,s.imageData,s.lines)}for(var a=this._getBuffer(),u=t._renderUntouchedLines(a,i,o,r,this._lastRenderData),l=u[0],c=u[1],d=u[2],h=this._context.model.getMinimapLinesRenderingData(i,o,d),p=h.tabSize,f=this._tokensColorTracker.getColor(2),g=this._tokensColorTracker.backgroundIsLight(),m=0,_=[],v=0,y=o-i+1;v=0&&Oh)return;var C=l.charCodeAt(f);if(9===C){var w=a-(f+g)%a;g+=w-1,p+=w*d}else if(32===C)p+=d;else for(var S=Le.v(C)?2:1,L=0;Lh)return}},t}(k);Object(B.f)(function(e,t){var n=e.getColor($t._39);if(n){var i=n.transparent(.5);t.addRule(".monaco-editor .minimap-slider, .monaco-editor .minimap-slider .minimap-slider-horizontal { background: "+i+"; }")}var o=e.getColor($t._40);if(o){var r=o.transparent(.5);t.addRule(".monaco-editor .minimap-slider:hover, .monaco-editor .minimap-slider:hover .minimap-slider-horizontal { background: "+r+"; }")}var s=e.getColor($t._38);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 u=e.getColor($t._37);u&&t.addRule(".monaco-editor .minimap-shadow-visible { box-shadow: "+u+" -6px 0 6px -6px inset; }")});n("EG+O");var dn=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),hn=function(e){function t(t){var n=e.call(this,t)||this;return n._widgets={},n._verticalScrollbarWidth=n._context.configuration.editor.layoutInfo.verticalScrollbarWidth,n._minimapWidth=n._context.configuration.editor.layoutInfo.minimapWidth,n._horizontalScrollbarHeight=n._context.configuration.editor.layoutInfo.horizontalScrollbarHeight,n._editorHeight=n._context.configuration.editor.layoutInfo.height,n._editorWidth=n._context.configuration.editor.layoutInfo.width,n._domNode=Object(p.b)(document.createElement("div")),T.write(n._domNode,4),n._domNode.setClassName("overlayWidgets"),n}return dn(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._widgets={}},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(p.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 n=this._widgets[e.getId()];return n.preference!==t&&(n.preference=t,this.setShouldRender(),!0)},t.prototype.removeWidget=function(e){var t=e.getId();if(this._widgets.hasOwnProperty(t)){var n=this._widgets[t].domNode.domNode;delete this._widgets[t],n.parentNode.removeChild(n),this.setShouldRender()}},t.prototype._renderWidget=function(e){var t=e.domNode;if(null!==e.preference)if(0===e.preference)t.setTop(0),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth);else if(1===e.preference){var n=t.domNode.clientHeight;t.setTop(this._editorHeight-n-2*this._horizontalScrollbarHeight),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth)}else 2===e.preference&&(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),n=0,i=t.length;n=3){var o,r,s,a=i-(o=Math.floor(i/3))-(r=Math.floor(i/3)),u=(s=e)+o;return[[0,s,u,s,s+o+a,s,u,s],[0,o,a,o+a,r,o+a+r,a+r,o+a+r]]}if(2===n)return[[0,s=e,s,s,s+(o=Math.floor(i/2)),s,s,s],[0,o,o,o,r=i-o,o+r,o+r,o+r]];return[[0,e,e,e,e,e,e,e],[0,i,i,i,i,i,i,i]]},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}(),mn=function(e){function t(t){var n=e.call(this,t)||this;return n._domNode=Object(p.b)(document.createElement("canvas")),n._domNode.setClassName("decorationsOverviewRuler"),n._domNode.setPosition("absolute"),n._domNode.setLayerHinting(!0),n._domNode.setAttribute("aria-hidden","true"),n._updateSettings(!1),n._tokensColorTrackerListener=Kt.y.onDidChange(function(e){e.changedColorMap&&n._updateSettings(!0)}),n._cursorPositions=[],n}return fn(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._tokensColorTrackerListener.dispose()},t.prototype._updateSettings=function(e){var t=new gn(this._context.configuration,this._context.theme);return(!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,n=e.selections.length;tt&&(I=t-a),L=I-a,k=I+a;L>v+1||C!==m?(0!==y&&u.fillRect(l[m],_,c[m],v-_),m=C,_=L,v=k):k>v&&(v=k)}u.fillRect(l[m],_,c[m],v-_)}if(!this._settings.hideCursor&&this._settings.cursorColor){var O=2*this._settings.pixelRatio|0,E=O/2|0,N=this._settings.x[7],x=this._settings.w[7];u.fillStyle=this._settings.cursorColor;for(_=-100,v=-100,y=0,b=this._cursorPositions.length;yt&&(I=t-E);var k=(L=I-E)+O;L>v+1?(0!==y&&u.fillRect(N,_,x,v-_),_=L,v=k):k>v&&(v=k)}u.fillRect(N,_,x,v-_)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(u.beginPath(),u.lineWidth=1,u.strokeStyle=this._settings.borderColor,u.moveTo(0,0),u.lineTo(0,t),u.stroke(),u.moveTo(0,0),u.lineTo(e,0),u.stroke())},t}(k),_n=n("tGak"),vn=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),yn=function(e){function t(t,n){var i=e.call(this)||this;return i._context=t,i._domNode=Object(p.b)(document.createElement("canvas")),i._domNode.setClassName(n),i._domNode.setPosition("absolute"),i._domNode.setLayerHinting(!0),i._zoneManager=new _n.b(function(e){return i._context.viewLayout.getVerticalOffsetForLineNumber(e)}),i._zoneManager.setDOMWidth(0),i._zoneManager.setDOMHeight(0),i._zoneManager.setOuterHeight(i._context.viewLayout.getScrollHeight()),i._zoneManager.setLineHeight(i._context.configuration.editor.lineHeight),i._zoneManager.setPixelRatio(i._context.configuration.editor.pixelRatio),i._context.addEventHandler(i),i}return vn(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),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(),n=this._zoneManager.resolveColorZones(),i=this._zoneManager.getId2Color(),o=this._domNode.domNode.getContext("2d");return o.clearRect(0,0,e,t),n.length>0&&this._renderOneLane(o,n,i,e),!0},t.prototype._renderOneLane=function(e,t,n,i){for(var o=0,r=0,s=0,a=0,u=t;a=d?s=Math.max(s,h):(e.fillRect(0,r,i,s-r),r=d,s=h)}e.fillRect(0,r,i,s-r)},t}(I),bn=(n("5RGO"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),Cn=function(e){function t(t){var n=e.call(this,t)||this;return n.domNode=Object(p.b)(document.createElement("div")),n.domNode.setAttribute("role","presentation"),n.domNode.setAttribute("aria-hidden","true"),n.domNode.setClassName("view-rulers"),n._renderedRulers=[],n._rulers=n._context.configuration.editor.viewInfo.rulers,n._typicalHalfwidthCharacterWidth=n._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,n}return bn(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(e0;){(r=Object(p.b)(document.createElement("div"))).setClassName("view-ruler"),r.setWidth(n),this.domNode.appendChild(r),this._renderedRulers.push(r),i--}else for(var o=e-t;o>0;){var r=this._renderedRulers.pop();this.domNode.removeChild(r),o--}},t.prototype.render=function(e){this._ensureRulersCount();for(var t=0,n=this._rulers.length;t0;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}(k);Object(B.f)(function(e,t){var n=e.getColor($t._37);n&&t.addRule(".monaco-editor .scroll-decoration { box-shadow: "+n+" 0 6px 6px -6px inset; }")});n("MfYP");var Ln=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),On=function(){return function(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}}(),En=function(){return function(e,t){this.lineNumber=e,this.ranges=t}}();function Nn(e){return new On(e)}function xn(e){return new En(e.lineNumber,e.ranges.map(Nn))}var In=g.g,Dn=function(e){function t(t){var n=e.call(this)||this;return n._previousFrameVisibleRangesWithStyle=[],n._context=t,n._lineHeight=n._context.configuration.editor.lineHeight,n._roundedSelection=n._context.configuration.editor.viewInfo.roundedSelection,n._typicalHalfwidthCharacterWidth=n._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,n._selections=[],n._renderResult=null,n._context.addEventHandler(n),n}return Ln(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),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,n=e.length;t1)return!0}return!1},t.prototype._enrichVisibleRangesWithStyle=function(e,t,n){var i=this._typicalHalfwidthCharacterWidth/4,o=null,r=null;if(n&&n.length>0&&t.length>0){var s=t[0].lineNumber;if(s===e.startLineNumber)for(var a=0;!o&&a=0;a--)n[a].lineNumber===u&&(r=n[a].ranges[0]);o&&!o.startStyle&&(o=null),r&&!r.startStyle&&(r=null)}a=0;for(var l=t.length;a0){var g=t[a-1].ranges[0].left,m=t[a-1].ranges[0].left+t[a-1].ranges[0].width;kn(d-g)g&&(p.top=1),kn(h-m)'},t.prototype._actualRenderOneSelection=function(e,n,i,o){for(var r=o.length>0&&o[0].ranges[0].startStyle,s=this._lineHeight.toString(),a=(this._lineHeight-1).toString(),u=o.length>0?o[0].lineNumber:0,l=o.length>0?o[o.length-1].lineNumber:0,c=0,d=o.length;c1,l)}}this._previousFrameVisibleRangesWithStyle=r,this._renderResult=t},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]},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}(xe);function kn(e){return e<0?-e:e}Object(B.f)(function(e,t){var n=e.getColor($t.H);n&&t.addRule(".monaco-editor .focused .selected-text { background-color: "+n+"; }");var i=e.getColor($t.E);i&&t.addRule(".monaco-editor .selected-text { background-color: "+i+"; }");var o=e.getColor($t.I);o&&t.addRule(".monaco-editor .view-line span.inline-selected-text { color: "+o+"; }")});n("8EM9");var Tn=n("iXRW"),Mn=function(){return function(e,t,n,i,o,r){this.top=e,this.left=t,this.width=n,this.height=i,this.textContent=o,this.textContentClassName=r}}(),Rn=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(p.b)(document.createElement("div")),this._domNode.setClassName("cursor"),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),c.a.applyFontInfo(this._domNode,this._context.configuration.editor.fontInfo),this._domNode.setDisplay("none"),this._position=new ee.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&&(c.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._position=e,!0},e.prototype._prepareRender=function(e){var t="",n="";if(this._cursorStyle===Tn.g.Line||this._cursorStyle===Tn.g.LineThin){var i,o=e.visibleRangeForPosition(this._position);if(!o)return null;if(this._cursorStyle===Tn.g.Line){if((i=r.q(this._lineCursorWidth>0?this._lineCursorWidth:2))>2)t=this._context.model.getLineContent(this._position.lineNumber).charAt(this._position.column-1)}else i=r.q(1);var s=o.left;i>=2&&s>=1&&(s-=1);var a=e.getVerticalOffsetForLineNumber(this._position.lineNumber)-e.bigNumbersDelta;return new Mn(a,s,i,this._lineHeight,t,n)}var u=e.linesVisibleRangesForRange(new te.a(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column+1),!1);if(!u||0===u.length||0===u[0].ranges.length)return null;var l=u[0].ranges[0],c=l.width<1?this._typicalHalfwidthCharacterWidth:l.width;if(this._cursorStyle===Tn.g.Block){var d=this._context.model.getViewLineData(this._position.lineNumber);t=d.content.charAt(this._position.column-1),Le.w(d.content.charCodeAt(this._position.column-1))&&(t+=d.content.charAt(this._position.column));var h=d.tokens.findTokenIndexAtOffset(this._position.column-1);n=d.tokens.getClassName(h)}var p=e.getVerticalOffsetForLineNumber(this._position.lineNumber)-e.bigNumbersDelta,f=this._lineHeight;return this._cursorStyle!==Tn.g.Underline&&this._cursorStyle!==Tn.g.UnderlineThin||(p+=this._lineHeight-2,f=2),new Mn(p,l.left,c,f,t,n)},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}(),An=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Pn=function(e){function t(t){var n=e.call(this,t)||this;return n._readOnly=n._context.configuration.editor.readOnly,n._cursorBlinking=n._context.configuration.editor.viewInfo.cursorBlinking,n._cursorStyle=n._context.configuration.editor.viewInfo.cursorStyle,n._cursorSmoothCaretAnimation=n._context.configuration.editor.viewInfo.cursorSmoothCaretAnimation,n._selectionIsEmpty=!0,n._isVisible=!1,n._primaryCursor=new Rn(n._context),n._secondaryCursors=[],n._renderData=[],n._domNode=Object(p.b)(document.createElement("div")),n._domNode.setAttribute("role","presentation"),n._domNode.setAttribute("aria-hidden","true"),n._updateDomClassName(),n._domNode.appendChild(n._primaryCursor.getDomNode()),n._startCursorBlinkAnimation=new _.e,n._cursorFlatBlinkInterval=new _.c,n._blinkingEnabled=!1,n._editorHasFocus=!1,n._updateBlinking(),n}return An(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._cursorSmoothCaretAnimation=this._context.configuration.editor.viewInfo.cursorSmoothCaretAnimation),this._primaryCursor.onConfigurationChanged(e),this._updateBlinking(),e.viewInfo&&this._updateDomClassName();for(var t=0,n=this._secondaryCursors.length;tt.length){var r=this._secondaryCursors.length-t.length;for(i=0;in){var r=t-n;for(o=0;o=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,n=this.secondaryCursors.length;td&&S.index--}e.splice(d,1),t.splice(c,1),this._removeSecondaryCursor(d-1),o--}}}}},e}(),Jn=n("2Ayt"),Qn=n("UuCV"),$n=n("33h2"),ei=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();var ti=function(){return function(e,t,n){this.selections=e,this.source=t,this.reason=n}}(),ni=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,n=this.cursorState.length;t=t.length)return!1;if(!t[n].strictContainsRange(e[n]))return!1}return!0},e}(),oi=function(e){function t(t,n,i){var o=e.call(this)||this;o._onDidReachMaxCursorCount=o._register(new a.a),o.onDidReachMaxCursorCount=o._onDidReachMaxCursorCount.event,o._onDidAttemptReadOnlyEdit=o._register(new a.a),o.onDidAttemptReadOnlyEdit=o._onDidAttemptReadOnlyEdit.event,o._onDidChange=o._register(new a.a),o.onDidChange=o._onDidChange.event,o._configuration=t,o._model=n,o._knownModelVersionId=o._model.getVersionId(),o._viewModel=i,o.context=new ne.c(o._configuration,o._model,o._viewModel),o._cursors=new Xn(o.context),o._isHandling=!1,o._isDoingComposition=!1,o._columnSelectData=null,o._autoClosedActions=[],o._prevEditOperationType=0,o._register(o._model.onDidChangeRawContent(function(e){if(o._knownModelVersionId=e.versionId,!o._isHandling){var t=e.containsEvent(1);o._onModelContentChanged(t)}})),o._register(i.addEventListener(function(e){(function(e){for(var t=0,n=e.length;t0)for(var e=this._cursors.getSelections(),t=0;tt.MAX_CURSOR_COUNT&&(i=i.slice(0,t.MAX_CURSOR_COUNT),this._onDidReachMaxCursorCount.fire(void 0));var o=new ni(this._model,this);this._cursors.setStates(i),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,n,o)},t.prototype.setColumnSelectData=function(e){this._columnSelectData=e},t.prototype.reveal=function(e,t,n){this._revealRange(t,0,e,n)},t.prototype.revealRange=function(e,t,n,i){this.emitCursorRevealRange(t,n,e,i)},t.prototype.scrollTo=function(e){this._viewModel.viewLayout.setScrollPositionSmooth({scrollTop:e})},t.prototype.saveState=function(){for(var e=[],t=this._cursors.getSelections(),n=0,i=t.length;n0&&this._pushAutoClosedAction(n,i),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,n){var i=new ni(this._model,this);if(i.equals(n))return!1;var o=this._cursors.getSelections(),r=this._cursors.getViewSelections();try{this._beginEmit().emit(new Fe(r))}finally{this._endEmit()}return n&&n.cursorState.length===i.cursorState.length&&!i.cursorState.some(function(e,t){return!e.modelState.equals(n.cursorState[t].modelState)})||this._onDidChange.fire(new ti(o,e||"keyboard",t)),!0},t.prototype._revealRange=function(e,t,n,i){var o=this._cursors.getViewPositions(),r=o[0];if(1===e)for(var s=1;s1)return;var a=new te.a(r.lineNumber,r.column,r.lineNumber,r.column);this.emitCursorRevealRange(a,t,n,i)},t.prototype.emitCursorRevealRange=function(e,t,n,i){try{this._beginEmit().emit(new Ke(e,t,n,i))}finally{this._endEmit()}},t.prototype._findAutoClosingPairs=function(e){if(!e.length)return null;for(var t=[],n=0,i=e.length;n=0)return null;var r=o.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!r)return null;var s=r[1],a=this.context.config.autoClosingPairsClose2.get(s);if(!a||1!==a.length)return null;var u=a[0].open,l=o.text.length-r[2].length-1,c=o.text.lastIndexOf(u,l-1);if(-1===c)return null;t.push([c,l])}return t},t.prototype.executeEdits=function(e,t,n){var i=this,o=null;"snippet"===e&&(o=this._findAutoClosingPairs(t)),o&&(t[0]._isTracked=!0);var r=[],s=[],a=this._model.pushEditOperations(this.getSelections(),t,function(e){if(o)for(var t=0,a=o.length;t0&&this._pushAutoClosedAction(r,s)},t.prototype.trigger=function(e,t,n){var i=$n.b;if(t!==i.CompositionStart)if(t===i.CompositionEnd&&(this._isDoingComposition=!1),this._configuration.editor.readOnly)this._onDidAttemptReadOnlyEdit.fire(void 0);else{var o=new ni(this._model,this),r=0;t!==i.Undo&&t!==i.Redo&&this._cursors.stopTrackingSelections(),this._cursors.ensureValidState(),this._isHandling=!0;try{switch(t){case i.Type:this._type(e,n.text);break;case i.ReplacePreviousChar:this._replacePreviousChar(n.text,n.replaceCharCnt);break;case i.Paste:r=4,this._paste(n.text,n.pasteOnNewLine,n.multicursorText);break;case i.Cut:this._cut();break;case i.Undo:r=5,this._interpretCommandResult(this._model.undo());break;case i.Redo:r=6,this._interpretCommandResult(this._model.redo());break;case i.ExecuteCommand:this._externalExecuteCommand(n);break;case i.ExecuteCommands:this._externalExecuteCommands(n);break;case i.CompositionEnd:this._interpretCompositionEnd(e)}}catch(e){Object(s.e)(e)}this._isHandling=!1,t!==i.Undo&&t!==i.Redo&&this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,r,o)&&this._revealRange(0,0,!0,0)}else this._isDoingComposition=!0},t.prototype._interpretCompositionEnd=function(e){if(!this._isDoingComposition&&"keyboard"===e){var t=ii.getAllAutoClosedCharacters(this._autoClosedActions);this._executeEditOperation(Qn.a.compositionEndWithInterceptors(this._prevEditOperationType,this.context.config,this.context.model,this.getSelections(),t))}},t.prototype._type=function(e,t){if(this._isDoingComposition||"keyboard"!==e)this._executeEditOperation(Qn.a.typeWithoutInterceptors(this._prevEditOperationType,this.context.config,this.context.model,this.getSelections(),t));else for(var n=0,i=t.length;n0&&(r[0]._isTracked=!0);var u=e.model.pushEditOperations(e.selectionsBefore,r,function(n){for(var i=[],o=0;o0?(i[n].sort(u),l[n]=t[n].computeCursorState(e.model,{getInverseEditOperations:function(){return i[n]},getTrackedSelection:function(t){var n=parseInt(t,10),i=e.model._getTrackedRange(e.trackedRanges[n]);return 0===e.trackedRangesDirection[n]?new he.a(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn):new he.a(i.endLineNumber,i.endColumn,i.startLineNumber,i.startColumn)}})):l[n]=e.selectionsBefore[n]};for(o=0;oo.identifier.major?i.identifier.major:o.identifier.major).toString()]=!0;for(var s=0;s0&&n--}}return t},e}(),si=n("lthF"),ai=n("/9db"),ui=n("Skdw"),li=n("fyvs"),ci=function(){function e(){this._instanceId=Le.I(++e.INSTANCE_COUNT),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,n,i){for(var o=0,r=e.length;o>>1;t===e[s]?i=t&&(this._whitespaceId2Index[l]=c+1)}this._whitespaceId2Index[e]=t,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)},e.prototype.changeWhitespace=function(e,t,n){t|=0,n|=0;var i=!1;return i=this.changeWhitespaceHeight(e,n)||i,i=this.changeWhitespaceAfterLineNumber(e,t)||i},e.prototype.changeWhitespaceHeight=function(e,t){if(t|=0,this._whitespaceId2Index.hasOwnProperty(e)){var n=this._whitespaceId2Index[e];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,n){if(n|=0,this._whitespaceId2Index.hasOwnProperty(t)){var i=this._whitespaceId2Index[t];if(this._afterLineNumbers[i]!==n){var o=this._ordinals[i],r=this._heights[i],s=this._minWidths[i];this.removeWhitespace(t);var a=e.findInsertionIndex(this._afterLineNumbers,n,this._ordinals,o);return this._insertWhitespaceAtIndex(t,a,n,o,r,s),!0}}return!1},e.prototype.removeWhitespace=function(e){if(this._whitespaceId2Index.hasOwnProperty(e)){var t=this._whitespaceId2Index[e];return delete this._whitespaceId2Index[e],this._removeWhitespaceAtIndex(t),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),n=0,i=t.length;n=e&&(this._whitespaceId2Index[o]=r-1)}},e.prototype.onLinesDeleted=function(e,t){e|=0,t|=0;for(var n=0,i=this._afterLineNumbers.length;nt&&(this._afterLineNumbers[n]-=t-e+1)}},e.prototype.onLinesInserted=function(e,t){e|=0,t|=0;for(var n=0,i=this._afterLineNumbers.length;n=t.length||t[o+1]>=e)return o;n=o+1|0}else i=o-1|0}return-1},e.prototype._findFirstWhitespaceAfterLineNumber=function(e){e|=0;var t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t1?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,n=this._lineHeight,i=1,o=t;i=s+n)i=r+1;else{if(e>=s)return r;o=r}}return i>t?t:i},e.prototype.getLinesViewportData=function(e,t){e|=0,t|=0;var n,i,o=this._lineHeight,r=0|this.getLineNumberAtOrAfterVerticalOffset(e),s=0|this.getVerticalOffsetForLineNumber(r),a=0|this._lineCount,u=0|this._whitespaces.getFirstWhitespaceIndexAfterLineNumber(r),l=0|this._whitespaces.getCount();-1===u?(u=l,i=a+1,n=0):(i=0|this._whitespaces.getAfterLineNumberForWhitespaceIndex(u),n=0|this._whitespaces.getHeightForWhitespaceIndex(u));var c=s,d=c,h=0;s>=5e5&&(h=5e5*Math.floor(s/5e5),d-=h=Math.floor(h/o)*o);for(var p=[],f=e+(t-e)/2,g=-1,m=r;m<=a;m++){if(-1===g){(c<=f&&ff)&&(g=m)}for(c+=o,p[m-r]=d,d+=o;i===m;)d+=n,c+=n,++u>=l?i=a+1:(i=0|this._whitespaces.getAfterLineNumberForWhitespaceIndex(u),n=0|this._whitespaces.getHeightForWhitespaceIndex(u));if(c>=t){a=m;break}}-1===g&&(g=a);var _=0|this.getVerticalOffsetForLineNumber(a),v=r,y=a;return vt&&y--,{bigNumbersDelta:h,startLineNumber:r,endLineNumber:a,relativeVerticalOffset:p,centeredLineNumber:g,completelyVisibleStartLineNumber:v,completelyVisibleEndLineNumber:y}},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,n,i=0,o=this._whitespaces.getCount()-1;if(o<0)return-1;if(e>=this.getVerticalOffsetForWhitespaceIndex(o)+this._whitespaces.getHeightForWhitespaceIndex(o))return-1;for(;i=(n=this.getVerticalOffsetForWhitespaceIndex(t))+this._whitespaces.getHeightForWhitespaceIndex(t))i=t+1;else{if(e>=n)return t;o=t}return i},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 n=this.getVerticalOffsetForWhitespaceIndex(t);if(n>e)return null;var i=this._whitespaces.getHeightForWhitespaceIndex(t);return{id:this._whitespaces.getIdForWhitespaceIndex(t),afterLineNumber:this._whitespaces.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:n,height:i}},e.prototype.getWhitespaceViewportData=function(e,t){e|=0,t|=0;var n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),i=this._whitespaces.getCount()-1;if(n<0)return[];for(var o=[],r=n;r<=i;r++){var s=this.getVerticalOffsetForWhitespaceIndex(r),a=this._whitespaces.getHeightForWhitespaceIndex(r);if(s>=t)break;o.push({id:this._whitespaces.getIdForWhitespaceIndex(r),afterLineNumber:this._whitespaces.getAfterLineNumberForWhitespaceIndex(r),verticalOffset:s,height:a})}return o},e.prototype.getWhitespaces=function(){return this._whitespaces.getWhitespaces(this._lineHeight)},e}(),hi=n("e1sR"),pi=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),fi=function(e){function t(t,n,i){var o=e.call(this)||this;return o._configuration=t,o._linesLayout=new di(n,o._configuration.editor.lineHeight),o.scrollable=o._register(new li.a(0,i)),o._configureSmoothScrollDuration(),o.scrollable.setScrollDimensions({width:t.editor.layoutInfo.contentWidth,height:t.editor.layoutInfo.contentHeight}),o.onDidScroll=o.scrollable.onScroll,o._updateHeight(),o}return pi(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 2===this._configuration.editor.viewInfo.scrollbar.horizontal?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 hi.f(t.scrollTop,t.scrollLeft,e.width,e.height)},t.prototype.getFutureViewport=function(){var e=this.scrollable.getScrollDimensions(),t=this.scrollable.getFutureScrollPosition();return new hi.f(t.scrollTop,t.scrollLeft,e.width,e.height)},t.prototype._computeScrollWidth=function(e,t){if(!this._configuration.editor.wrappingInfo.isViewportWrapping){var n=this._configuration.editor.viewInfo.scrollBeyondLastColumn*this._configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,i=this._linesLayout.getWhitespaceMinWidth();return Math.max(e+n,t,i)}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,n=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(n),scrollLeft:e.scrollLeft}},t.prototype.addWhitespace=function(e,t,n,i){return this._linesLayout.insertWhitespace(e,t,n,i)},t.prototype.changeWhitespace=function(e,t,n){return this._linesLayout.changeWhitespace(e,t,n)},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 n=this.scrollable.getCurrentScrollPosition();this.scrollable.setScrollPositionNow({scrollLeft:n.scrollLeft+e,scrollTop:n.scrollTop+t})},t}(u.a),gi=n("GfE5"),mi=n("CQAd"),_i=n("Y6WZ"),vi=n("0ly5"),yi=function(){return function(e,t){this.outputLineIndex=e,this.outputOffset=t}}(),bi=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),n=this._lines.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new te.a(t.lineNumber,t.column,n.lineNumber,n.column)},e.prototype.validateViewPosition=function(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)},e.prototype.validateViewRange=function(e,t){var n=this._lines.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),i=this._lines.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new te.a(n.lineNumber,n.column,i.lineNumber,i.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),n=this._lines.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn);return new te.a(t.lineNumber,t.column,n.lineNumber,n.column)},e.prototype.modelPositionIsVisible=function(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)},e}(),Ci=function(){function e(e,t,n,i,o,r){this.model=e,this._validModelVersionId=-1,this.tabSize=n,this.wrappingColumn=i,this.columnsForFullWidthChar=o,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 bi(this)},e.prototype._ensureValidState=function(){if(this.model.getVersionId()!==this._validModelVersionId)throw new Error("ViewModel is out of sync with Model!");this.lines.length!==this.model.getLineCount()&&this._constructLines(!1)},e.prototype._constructLines=function(e){var t=this;this.lines=[],e&&(this.hiddenAreasIds=[]);for(var n=this.model.getLinesContent(),i=n.length,o=new Uint32Array(i),r=this.hiddenAreasIds.map(function(e){return t.model.getDecorationRange(e)}).sort(te.a.compareRangesUsingStarts),s=1,a=0,u=-1,l=u+1=s&&d<=a,p=Oi(this.linePositionMapperFactory,n[c],this.tabSize,this.wrappingColumn,this.columnsForFullWidthChar,this.wrappingIndent,!h);o[c]=p.getViewLineCount(),this.lines[c]=p}this._validModelVersionId=this.model.getVersionId(),this.prefixSumComputer=new _i.b(o)},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 n=e.map(function(e){return t.model.validateRange(e)}).sort(te.a.compareRangesUsingStarts),i=[],o=n[0].startLineNumber,r=n[0].endLineNumber,s=1,a=n.length;sr+1?(i.push(new te.a(o,1,r,1)),o=u.startLineNumber,r=u.endLineNumber):u.endLineNumber>r&&(r=u.endLineNumber)}return i.push(new te.a(o,1,r,1)),i},e.prototype.setHiddenAreas=function(e){var t=this,n=this._reduceRanges(e),i=this.hiddenAreasIds.map(function(e){return t.model.getDecorationRange(e)}).sort(te.a.compareRangesUsingStarts);if(n.length===i.length){for(var o=!1,r=0;r=d&&m<=h?this.lines[r].isVisible()&&(this.lines[r]=this.lines[r].setVisible(!1),_=!0):(g=!0,this.lines[r].isVisible()||(this.lines[r]=this.lines[r].setVisible(!0),_=!0)),_){var v=this.lines[r].getViewLineCount();this.prefixSumComputer.changeValue(r,v)}}return g||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,n){return(this.wrappingIndent!==e||this.wrappingColumn!==t||this.columnsForFullWidthChar!==n)&&(this.wrappingIndent=e,this.wrappingColumn=t,this.columnsForFullWidthChar=n,this._constructLines(!1),!0)},e.prototype.onModelFlushed=function(){this._constructLines(!0)},e.prototype.onModelLinesDeleted=function(e,t,n){if(e<=this._validModelVersionId)return null;var i=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1,o=this.prefixSumComputer.getAccumulatedValue(n-1);return this.lines.splice(t-1,n-t+1),this.prefixSumComputer.removeValues(t-1,n-t+1),new ze(i,o)},e.prototype.onModelLinesInserted=function(e,t,n,i){if(e<=this._validModelVersionId)return null;for(var o=this.getHiddenAreas(),r=!1,s=new ee.a(t,1),a=0,u=o;aa?(f=(p=(c=(l=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1)+a-1)+1)+(o-a)-1,u=!0):ot?t:e},e.prototype.warmUpLookupCache=function(e,t){this.prefixSumComputer.warmUpCache(e-1,t-1)},e.prototype.getActiveIndentGuide=function(e,t,n){this._ensureValidState(),e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),n=this._toValidViewLineNumber(n);var i=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),o=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),r=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),s=this.model.getActiveIndentGuide(i.lineNumber,o.lineNumber,r.lineNumber),a=this.convertModelPositionToViewPosition(s.startLineNumber,1),u=this.convertModelPositionToViewPosition(s.endLineNumber,this.model.getLineMaxColumn(s.endLineNumber));return{startLineNumber:a.lineNumber,endLineNumber:u.lineNumber,indent:s.indent}},e.prototype.getViewLinesIndentGuides=function(e,t){this._ensureValidState(),e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);for(var n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),i=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t)),o=[],r=[],s=[],a=n.lineNumber-1,u=i.lineNumber-1,l=null,c=a;c<=u;c++){var d=this.lines[c];if(d.isVisible()){var h=d.getViewLineNumberOfModelPosition(0,c===a?n.column:1),p=d.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(c+1)),f=0;(C=p-h+1)>1&&1===d.getViewLineMinColumn(this.model,c+1,p)&&(f=0===h?1:2),r.push(C),s.push(f),null===l&&(l=new ee.a(c+1,0))}else null!==l&&(o=o.concat(this.model.getLinesIndentGuides(l.lineNumber,c)),l=null)}null!==l&&(o=o.concat(this.model.getLinesIndentGuides(l.lineNumber,i.lineNumber)),l=null);for(var g=t-e+1,m=new Array(g),_=0,v=0,y=o.length;vt&&(p=!0,h=t-o+1);var f=d+h;if(c.getViewLinesData(this.model,u+1,d,f,o-e,n,a),o+=h,p)break}}return a},e.prototype.validateViewPosition=function(e,t,n){this._ensureValidState(),e=this._toValidViewLineNumber(e);var i=this.prefixSumComputer.getIndexOf(e-1),o=i.index,r=i.remainder,s=this.lines[o],a=s.getViewLineMinColumn(this.model,o+1,r),u=s.getViewLineMaxColumn(this.model,o+1,r);tu&&(t=u);var l=s.getModelColumnOfViewPosition(r,t);return this.model.validatePosition(new ee.a(o+1,l)).equals(n)?new ee.a(e,t):this.convertModelPositionToViewPosition(n.lineNumber,n.column)},e.prototype.convertViewPositionToModelPosition=function(e,t){this._ensureValidState(),e=this._toValidViewLineNumber(e);var n=this.prefixSumComputer.getIndexOf(e-1),i=n.index,o=n.remainder,r=this.lines[i].getModelColumnOfViewPosition(o,t);return this.model.validatePosition(new ee.a(i+1,r))},e.prototype.convertModelPositionToViewPosition=function(e,t){this._ensureValidState();for(var n=this.model.validatePosition(new ee.a(e,t)),i=n.lineNumber,o=n.column,r=i-1,s=!1;r>0&&!this.lines[r].isVisible();)r--,s=!0;if(0===r&&!this.lines[r].isVisible())return new ee.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[i-1].getViewPositionOfModelPosition(a,o)},e.prototype._getViewLineNumberForModelPosition=function(e,t){var n=e-1;if(this.lines[n].isVisible()){var i=1+(0===n?0:this.prefixSumComputer.getAccumulatedValue(n-1));return this.lines[n].getViewLineNumberOfModelPosition(i,t)}for(;n>0&&!this.lines[n].isVisible();)n--;if(0===n&&!this.lines[n].isVisible())return 1;var o=1+(0===n?0:this.prefixSumComputer.getAccumulatedValue(n-1));return this.lines[n].getViewLineNumberOfModelPosition(o,this.model.getLineMaxColumn(n+1))},e.prototype.getAllOverviewRulerDecorations=function(e,t,n){for(var i=this.model.getOverviewRulerDecorations(e,t),o=new xi,r=0,s=i;rt.id?1:0:n});for(var d=[],h=0,p=null,f=0,g=r;f0&&(r=this.wrappedIndent+r),r},e.prototype.getViewLineLength=function(e,t,n){if(!this._isVisible)throw new Error("Not supported");var i=this.getInputStartOffsetOfOutputLineIndex(n),o=this.getInputEndOffsetOfOutputLineIndex(e,t,n)-i;return n>0&&(o=this.wrappedIndent.length+o),o},e.prototype.getViewLineMinColumn=function(e,t,n){if(!this._isVisible)throw new Error("Not supported");return n>0?this.wrappedIndentLength+1:1},e.prototype.getViewLineMaxColumn=function(e,t,n){if(!this._isVisible)throw new Error("Not supported");return this.getViewLineContent(e,t,n).length+1},e.prototype.getViewLineData=function(e,t,n){if(!this._isVisible)throw new Error("Not supported");var i=this.getInputStartOffsetOfOutputLineIndex(n),o=this.getInputEndOffsetOfOutputLineIndex(e,t,n),r=e.getValueInRange({startLineNumber:t,startColumn:i+1,endLineNumber:t,endColumn:o+1});n>0&&(r=this.wrappedIndent+r);var s=n>0?this.wrappedIndentLength+1:1,a=r.length+1,u=n+10&&(l=this.wrappedIndentLength);var c=e.getLineTokens(t);return new hi.c(r,u,s,a,c.sliceAndInflate(i,o,l))},e.prototype.getViewLinesData=function(e,t,n,i,o,r,s){if(!this._isVisible)throw new Error("Not supported");for(var a=n;a0&&(n0&&(o+=this.wrappedIndentLength),new ee.a(e+i,o)},e.prototype.getViewLineNumberOfModelPosition=function(e,t){if(!this._isVisible)throw new Error("Not supported");return e+this.positionMapper.getOutputPositionOfInputOffset(t-1).outputLineIndex},e}();function Oi(e,t,n,i,o,r,s){var a=e.createLineMapping(t,n,i,o,r);return null===a?s?wi.INSTANCE:Si.INSTANCE:new Li(a,s)}var Ei=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}(),Ni=function(){function e(e){this.model=e}return e.prototype.dispose=function(){},e.prototype.createCoordinatesConverter=function(){return new Ei(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,n){return!1},e.prototype.onModelFlushed=function(){},e.prototype.onModelLinesDeleted=function(e,t,n){return new ze(t,n)},e.prototype.onModelLinesInserted=function(e,t,n,i){return new Ue(t,n)},e.prototype.onModelLineChanged=function(e,t,n){return[!1,new He(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,n){return{startLineNumber:e,endLineNumber:e,indent:0}},e.prototype.getViewLinesIndentGuides=function(e,t){for(var n=t-e+1,i=new Array(n),o=0;o=t)return void(n>s&&(o[o.length-1]=n));o.push(i,t,n)}else this.result[e]=[i,t,n]},e}(),Ii=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Di=function(e){function t(t,n,i){for(var o=e.call(this,0)||this,r=0;r=12352&&t<=12543||t>=13312&&t<=19903||t>=19968&&t<=40959?4:e.prototype.get.call(this,t)},t}(gi.a),ki=function(){function e(e,t,n){this.classifier=new Di(e,t,n)}return e.nextVisibleColumn=function(e,t,n,i){return e=+e,t=+t,i=+i,n?e+(t-e%t):e+i},e.prototype.createLineMapping=function(t,n,i,o,r){if(-1===i)return null;n=+n,i=+i,o=+o;var s=0,a="",u=-1;if(0!==(r=+r)&&-1!==(u=Le.q(t))){a=t.substring(0,u);for(var l=0;li&&(a="",s=0)}var d=this.classifier,h=0,p=[],f=0,g=0,m=-1,_=0,v=-1,y=0,b=t.length;for(l=0;l0){var L=t.charCodeAt(l-1);1!==d.get(L)&&(m=l,_=s)}var O=1;if(Le.v(C)&&(O=o),(g=e.nextVisibleColumn(g,n,w,O))>i&&0!==l){var E=void 0,N=void 0;-1!==m&&_<=i?(E=m,N=_):-1!==v&&y<=i?(E=v,N=y):(E=l,N=s),p[f++]=E-h,h=E,g=e.nextVisibleColumn(N,n,w,O),m=-1,_=0,v=-1,y=0}if(-1!==m&&(_=e.nextVisibleColumn(_,n,w,O)),-1!==v&&(y=e.nextVisibleColumn(y,n,w,O)),2===S&&(0===r||l>=u)&&(m=l+1,_=s),4===S&&l=2&&e.viewportStartLineTrackedRange){var g=e.model._getTrackedRange(e.viewportStartLineTrackedRange);if(g){var m=e.coordinatesConverter.convertModelPositionToViewPosition(g.getStartPosition()),_=e.viewLayout.getVerticalOffsetForLineNumber(m.lineNumber);e.viewLayout.setScrollPositionNow({scrollTop:_+e.viewportStartLineDelta})}}})),this._register(this.model.onDidChangeTokens(function(t){for(var n=[],i=0,o=t.ranges.length;ia||(r0&&s[u-1]===s[u]||(a+=this.model.getLineContent(s[u])+o);return a}for(var l=[],c=0,d=r;c'+this._getHTMLToCopy(n,r)+""},t.prototype._getHTMLToCopy=function(e,t){for(var n=e.startLineNumber,i=e.startColumn,o=e.endLineNumber,r=e.endColumn,s=this.getTabSize(),a="",u=n;u<=o;u++){var l=this.model.getLineTokens(u),c=l.getLineContent(),d=u===n?i-1:0,h=u===o?r-1:c.length;a+=""===c?"
    ":Object(ui.a)(c,l.inflate(),t,d,h,s)}return a},t.prototype._getColorMap=function(){var e=Kt.y.getColorMap(),t=["#000000"];if(e)for(var n=1,i=e.length;n=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},qi=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Gi=0,Zi="showUnused",Yi=function(){function e(e,t,n,i,o,r){this.model=e,this.viewModel=t,this.cursor=n,this.view=i,this.hasRealView=o,this.listenersToRemove=r}return e.prototype.dispose=function(){Object(u.f)(this.listenersToRemove),this.model.onBeforeDetached(),this.hasRealView&&this.view.dispose(),this.cursor.dispose(),this.viewModel.dispose()},e}(),Xi=function(e){function t(t,n,i,o,r,u,l,c,h,p){var f,g=e.call(this)||this;g._onDidDispose=g._register(new a.a),g.onDidDispose=g._onDidDispose.event,g._onDidChangeModelContent=g._register(new a.a),g.onDidChangeModelContent=g._onDidChangeModelContent.event,g._onDidChangeModelLanguage=g._register(new a.a),g.onDidChangeModelLanguage=g._onDidChangeModelLanguage.event,g._onDidChangeModelLanguageConfiguration=g._register(new a.a),g.onDidChangeModelLanguageConfiguration=g._onDidChangeModelLanguageConfiguration.event,g._onDidChangeModelOptions=g._register(new a.a),g.onDidChangeModelOptions=g._onDidChangeModelOptions.event,g._onDidChangeModelDecorations=g._register(new a.a),g.onDidChangeModelDecorations=g._onDidChangeModelDecorations.event,g._onDidChangeConfiguration=g._register(new a.a),g.onDidChangeConfiguration=g._onDidChangeConfiguration.event,g._onDidChangeModel=g._register(new a.a),g.onDidChangeModel=g._onDidChangeModel.event,g._onDidChangeCursorPosition=g._register(new a.a),g.onDidChangeCursorPosition=g._onDidChangeCursorPosition.event,g._onDidChangeCursorSelection=g._register(new a.a),g.onDidChangeCursorSelection=g._onDidChangeCursorSelection.event,g._onDidAttemptReadOnlyEdit=g._register(new a.a),g.onDidAttemptReadOnlyEdit=g._onDidAttemptReadOnlyEdit.event,g._onDidLayoutChange=g._register(new a.a),g.onDidLayoutChange=g._onDidLayoutChange.event,g._editorTextFocus=g._register(new Ji),g.onDidFocusEditorText=g._editorTextFocus.onDidChangeToTrue,g.onDidBlurEditorText=g._editorTextFocus.onDidChangeToFalse,g._editorWidgetFocus=g._register(new Ji),g.onDidFocusEditorWidget=g._editorWidgetFocus.onDidChangeToTrue,g.onDidBlurEditorWidget=g._editorWidgetFocus.onDidChangeToFalse,g._onWillType=g._register(new a.a),g.onWillType=g._onWillType.event,g._onDidType=g._register(new a.a),g.onDidType=g._onDidType.event,g._onCompositionStart=g._register(new a.a),g.onCompositionStart=g._onCompositionStart.event,g._onCompositionEnd=g._register(new a.a),g.onCompositionEnd=g._onCompositionEnd.event,g._onDidPaste=g._register(new a.a),g.onDidPaste=g._onDidPaste.event,g._onMouseUp=g._register(new a.a),g.onMouseUp=g._onMouseUp.event,g._onMouseDown=g._register(new a.a),g.onMouseDown=g._onMouseDown.event,g._onMouseDrag=g._register(new a.a),g.onMouseDrag=g._onMouseDrag.event,g._onMouseDrop=g._register(new a.a),g.onMouseDrop=g._onMouseDrop.event,g._onContextMenu=g._register(new a.a),g.onContextMenu=g._onContextMenu.event,g._onMouseMove=g._register(new a.a),g.onMouseMove=g._onMouseMove.event,g._onMouseLeave=g._register(new a.a),g.onMouseLeave=g._onMouseLeave.event,g._onMouseWheel=g._register(new a.a),g.onMouseWheel=g._onMouseWheel.event,g._onKeyUp=g._register(new a.a),g.onKeyUp=g._onKeyUp.event,g._onKeyDown=g._register(new a.a),g.onKeyDown=g._onKeyDown.event,g._onDidScrollChange=g._register(new a.a),g.onDidScrollChange=g._onDidScrollChange.event,g._onDidChangeViewZones=g._register(new a.a),g.onDidChangeViewZones=g._onDidChangeViewZones.event,g._domElement=t,g._id=++Gi,g._decorationTypeKeysToIds={},g._decorationTypeSubtypes={},g.isSimpleWidget=i.isSimpleWidget||!1,g._telemetryData=i.telemetryData,n=n||{},g._configuration=g._register(g._createConfiguration(n,p)),g._register(g._configuration.onDidChange(function(e){g._onDidChangeConfiguration.fire(e),e.layoutInfo&&g._onDidLayoutChange.fire(g._configuration.editor.layoutInfo),g._configuration.editor.showUnused?g._domElement.classList.add(Zi):g._domElement.classList.remove(Zi)})),g._contextKeyService=g._register(l.createScoped(g._domElement)),g._notificationService=h,g._codeEditorService=r,g._commandService=u,g._themeService=c,g._register(new Qi(g,g._contextKeyService)),g._register(new $i(g,g._contextKeyService)),g._instantiationService=o.createChild(new Vi.a([Wi.c,g._contextKeyService])),g._modelData=null,g._contributions={},g._actions={},g._focusTracker=new eo(t),g._focusTracker.onChange(function(){g._editorWidgetFocus.setValue(g._focusTracker.hasFocus())}),g._contentWidgets={},g._overlayWidgets={};for(var m=0,_=(f=Array.isArray(i.contributions)?i.contributions:d.d.getEditorContributions()).length;m<_;m++){var v=f[m];try{var y=g._instantiationService.createInstance(v,g);g._contributions[y.getId()]=y}catch(e){Object(s.e)(e)}}return d.d.getEditorActions().forEach(function(e){var t=new si.a(e.id,e.label,e.alias,Object(zi.m)(e.precondition),function(){return g._instantiationService.invokeFunction(function(t){return Promise.resolve(e.runEditorCommand(t,g,null))})},g._contextKeyService);g._actions[t.id]=t}),g._codeEditorService.addCodeEditor(g),g}return Ui(t,e),t.prototype._createConfiguration=function(e,t){return new c.a(this.isSimpleWidget,e,this._domElement,t)},t.prototype.getId=function(){return this.getEditorType()+":"+this._id},t.prototype.getEditorType=function(){return $n.a.ICodeEditor},t.prototype.dispose=function(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose();for(var t=Object.keys(this._contributions),n=0,i=t.length;n1),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(Boolean(e&&e.canUndo())),this._canRedo.set(Boolean(e&&e.canRedo()))},t}(u.a),$i=function(e){function t(t,n){var i=e.call(this)||this;i._editor=t,i._contextKeyService=n,i._langId=ai.a.languageId.bindTo(n),i._hasCompletionItemProvider=ai.a.hasCompletionItemProvider.bindTo(n),i._hasCodeActionsProvider=ai.a.hasCodeActionsProvider.bindTo(n),i._hasCodeLensProvider=ai.a.hasCodeLensProvider.bindTo(n),i._hasDefinitionProvider=ai.a.hasDefinitionProvider.bindTo(n),i._hasDeclarationProvider=ai.a.hasDeclarationProvider.bindTo(n),i._hasImplementationProvider=ai.a.hasImplementationProvider.bindTo(n),i._hasTypeDefinitionProvider=ai.a.hasTypeDefinitionProvider.bindTo(n),i._hasHoverProvider=ai.a.hasHoverProvider.bindTo(n),i._hasDocumentHighlightProvider=ai.a.hasDocumentHighlightProvider.bindTo(n),i._hasDocumentSymbolProvider=ai.a.hasDocumentSymbolProvider.bindTo(n),i._hasReferenceProvider=ai.a.hasReferenceProvider.bindTo(n),i._hasRenameProvider=ai.a.hasRenameProvider.bindTo(n),i._hasSignatureHelpProvider=ai.a.hasSignatureHelpProvider.bindTo(n),i._hasDocumentFormattingProvider=ai.a.hasDocumentFormattingProvider.bindTo(n),i._hasDocumentSelectionFormattingProvider=ai.a.hasDocumentSelectionFormattingProvider.bindTo(n),i._hasMultipleDocumentFormattingProvider=ai.a.hasMultipleDocumentFormattingProvider.bindTo(n),i._hasMultipleDocumentSelectionFormattingProvider=ai.a.hasMultipleDocumentSelectionFormattingProvider.bindTo(n),i._isInWalkThrough=ai.a.isInEmbeddedEditor.bindTo(n);var o=function(){return i._update()};return i._register(t.onDidChangeModel(o)),i._register(t.onDidChangeModelLanguage(o)),i._register(Kt.d.onDidChange(o)),i._register(Kt.a.onDidChange(o)),i._register(Kt.b.onDidChange(o)),i._register(Kt.f.onDidChange(o)),i._register(Kt.e.onDidChange(o)),i._register(Kt.o.onDidChange(o)),i._register(Kt.z.onDidChange(o)),i._register(Kt.n.onDidChange(o)),i._register(Kt.i.onDidChange(o)),i._register(Kt.k.onDidChange(o)),i._register(Kt.s.onDidChange(o)),i._register(Kt.t.onDidChange(o)),i._register(Kt.g.onDidChange(o)),i._register(Kt.j.onDidChange(o)),i._register(Kt.v.onDidChange(o)),o(),i}return Ui(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.reset=function(){var e=this;this._contextKeyService.bufferChangeEvents(function(){e._langId.reset(),e._hasCompletionItemProvider.reset(),e._hasCodeActionsProvider.reset(),e._hasCodeLensProvider.reset(),e._hasDefinitionProvider.reset(),e._hasDeclarationProvider.reset(),e._hasImplementationProvider.reset(),e._hasTypeDefinitionProvider.reset(),e._hasHoverProvider.reset(),e._hasDocumentHighlightProvider.reset(),e._hasDocumentSymbolProvider.reset(),e._hasReferenceProvider.reset(),e._hasRenameProvider.reset(),e._hasDocumentFormattingProvider.reset(),e._hasDocumentSelectionFormattingProvider.reset(),e._hasSignatureHelpProvider.reset(),e._isInWalkThrough.reset()})},t.prototype._update=function(){var e=this,t=this._editor.getModel();t?this._contextKeyService.bufferChangeEvents(function(){e._langId.set(t.getLanguageIdentifier().language),e._hasCompletionItemProvider.set(Kt.d.has(t)),e._hasCodeActionsProvider.set(Kt.a.has(t)),e._hasCodeLensProvider.set(Kt.b.has(t)),e._hasDefinitionProvider.set(Kt.f.has(t)),e._hasDeclarationProvider.set(Kt.e.has(t)),e._hasImplementationProvider.set(Kt.o.has(t)),e._hasTypeDefinitionProvider.set(Kt.z.has(t)),e._hasHoverProvider.set(Kt.n.has(t)),e._hasDocumentHighlightProvider.set(Kt.i.has(t)),e._hasDocumentSymbolProvider.set(Kt.k.has(t)),e._hasReferenceProvider.set(Kt.s.has(t)),e._hasRenameProvider.set(Kt.t.has(t)),e._hasSignatureHelpProvider.set(Kt.v.has(t)),e._hasDocumentFormattingProvider.set(Kt.g.has(t)||Kt.j.has(t)),e._hasDocumentSelectionFormattingProvider.set(Kt.j.has(t)),e._hasMultipleDocumentFormattingProvider.set(Kt.g.all(t).length+Kt.j.all(t).length>1),e._hasMultipleDocumentSelectionFormattingProvider.set(Kt.j.all(t).length>1),e._isInWalkThrough.set(t.uri.scheme===l.b.walkThroughSnippet)}):this.reset()},t}(u.a),eo=function(e){function t(t){var n=e.call(this)||this;return n._onChange=n._register(new a.a),n.onChange=n._onChange.event,n._hasFocus=!1,n._domFocusTracker=n._register(r.S(t)),n._register(n._domFocusTracker.onDidFocus(function(){n._hasFocus=!0,n._onChange.fire(void 0)})),n._register(n._domFocusTracker.onDidBlur(function(){n._hasFocus=!1,n._onChange.fire(void 0)})),n}return Ui(t,e),t.prototype.hasFocus=function(){return this._hasFocus},t}(u.a),to=encodeURIComponent("");function io(e){return to+encodeURIComponent(e.toString())+no}var oo=encodeURIComponent('');Object(B.f)(function(e,t){var n=e.getColor($t.p);n&&t.addRule(".monaco-editor .squiggly-error { border-bottom: 4px double "+n+"; }");var i=e.getColor($t.q);i&&t.addRule('.monaco-editor .squiggly-error { background: url("data:image/svg+xml,'+io(i)+'") repeat-x bottom left; }');var o=e.getColor($t.L);o&&t.addRule(".monaco-editor .squiggly-warning { border-bottom: 4px double "+o+"; }");var r=e.getColor($t.M);r&&t.addRule('.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,'+io(r)+'") repeat-x bottom left; }');var s=e.getColor($t.F);s&&t.addRule(".monaco-editor .squiggly-info { border-bottom: 4px double "+s+"; }");var a=e.getColor($t.G);a&&t.addRule('.monaco-editor .squiggly-info { background: url("data:image/svg+xml,'+io(a)+'") repeat-x bottom left; }');var u=e.getColor($t.y);u&&t.addRule(".monaco-editor .squiggly-hint { border-bottom: 2px dotted "+u+"; }");var l=e.getColor($t.z);l&&t.addRule('.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,'+(oo+encodeURIComponent(l.toString())+ro)+'") no-repeat bottom left; }');var c=e.getColor(Ie.o);c&&t.addRule("."+Zi+" .monaco-editor .squiggly-inline-unnecessary { opacity: "+c.rgba.a+"; }");var d=e.getColor(Ie.n);d&&t.addRule("."+Zi+" .monaco-editor .squiggly-unnecessary { border-bottom: 2px dashed "+d+"; }");var h=e.getColor($t.x)||"inherit";t.addRule(".monaco-editor .squiggly-inline-deprecated { text-decoration: line-through; text-decoration-color: "+h+"}")})},vbff:function(e,t,n){"use strict";var i;n.d(t,"a",function(){return i}),function(e){function t(e,t){if(e.start>=t.end||t.start>=e.end)return{start:0,end:0};var n=Math.max(e.start,t.start),i=Math.min(e.end,t.end);return i-n<=0?{start:0,end:0}:{start:n,end:i}}function n(e){return e.end-e.start<=0}e.intersect=t,e.isEmpty=n,e.intersects=function(e,i){return!n(t(e,i))},e.relativeComplement=function(e,t){var i=[],o={start:e.start,end:Math.min(t.start,e.end)},r={start:Math.max(t.end,e.start),end:e.end};return n(o)||i.push(o),n(r)||i.push(r),i}}(i||(i={}))},wV8Z:function(e,t,n){"use strict";t.d=function(e){var t=[];for(var n in e)i.call(e,n)&&t.push(e[n]);return t},t.b=function(e){for(var t in e)if(i.call(e,t))return e[t];return},t.c=function(e,t){var n=function(n){if(i.call(e,n)){var o=t({key:n,value:e[n]},function(){delete e[n]});if(!1===o)return{value:void 0}}};for(var o in e){var r=n(o);if("object"==typeof r)return r.value}},n.d(t,"a",function(){return o});var i=Object.prototype.hasOwnProperty;var o=function(){function e(){this.map=new Map}return e.prototype.add=function(e,t){var n=this.map.get(e);n||(n=new Set,this.map.set(e,n)),n.add(t)},e.prototype.delete=function(e,t){var n=this.map.get(e);n&&(n.delete(t),0===n.size&&this.map.delete(e))},e.prototype.forEach=function(e,t){var n=this.map.get(e);n&&n.forEach(t)},e}()},wtJh:function(e,t){},x33M:function(e,t){},xF6g:function(e,t){},xJaW:function(e,t,n){"use strict";n.d(t,"b",function(){return r}),n.d(t,"a",function(){return s});var i=n("JVO/"),o=n("7g0X"),r=Object(i.c)("accessibilityService"),s=new o.d("accessibilityModeEnabled",!1)},xgy6:function(e,t,n){"use strict";(function(e){n.d(t,"a",function(){return r}),n.d(t,"b",function(){return s}),n.d(t,"c",function(){return a});var i=n("ZfGv"),o=void 0===e?{cwd:function(){return"/"},env:Object.create(null),get platform(){return i.g?"win32":i.d?"darwin":"linux"},nextTick:function(e){return Object(i.h)(e)}}:e,r=o.cwd,s=o.env,a=o.platform}).call(t,n("W2nU"))},xteI:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"ContextMenuController",function(){return _});var i,o=n("hK2W"),r=n("7/Cv"),s=n("IG52"),a=n("tqet"),u=n("03Zz"),l=n("/9db"),c=n("C3c5"),d=n("7g0X"),h=n("yO/1"),p=n("NqM+"),f=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),g=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},_=function(){function e(e,t,n,i,o,r){var s=this;this._contextMenuService=t,this._contextViewService=n,this._contextKeyService=i,this._keybindingService=o,this._menuService=r,this._toDispose=new a.b,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(function(e){return s._onContextMenu(e)})),this._toDispose.add(this._editor.onMouseWheel(function(e){s._contextMenuIsBeingShownCount>0&&s._contextViewService.hideContextView()})),this._toDispose.add(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.hasModel()){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));if(12!==e.target.type&&(e.event.preventDefault(),6===e.target.type||7===e.target.type||1===e.target.type)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);var t=null;1!==e.target.type&&(t={x:e.event.posx-1,width:2,y:e.event.posy-1,height:2}),this.showContextMenu(t)}}},e.prototype.showContextMenu=function(e){if(this._editor.getConfiguration().contribInfo.contextmenu&&this._editor.hasModel())if(this._contextMenuService){var t=this._getMenuActions(this._editor.getModel());t.length>0&&this._doShowContextMenu(t,e)}else this._editor.focus()},e.prototype._getMenuActions=function(e){var t=[],n=this._menuService.createMenu(7,this._contextKeyService),i=n.getActions({arg:e.uri});n.dispose();for(var o=0,r=i;o0&&this._contextViewService.hideContextView(),this._toDispose.dispose()},e.ID="editor.contrib.contextmenu",e=g([m(1,h.a),m(2,h.b),m(3,d.c),m(4,p.a),m(5,c.a)],e)}(),v=function(e){function t(){return e.call(this,{id:"editor.action.showContextMenu",label:o.a("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:l.a.textInputFocus,primary:1092,weight:100}})||this}return f(t,e),t.prototype.run=function(e,t){_.get(t).showContextMenu()},t}(u.b);Object(u.h)(_),Object(u.f)(v)},y3Fb:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o=n("hK2W"),r=n("03Zz"),s=n("G8r4"),a=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),u=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomIn",label:o.a("EditorFontZoomIn.label","Editor Font Zoom In"),alias:"Editor Font Zoom In",precondition:void 0})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(s.a.getZoomLevel()+1)},t}(r.b),l=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomOut",label:o.a("EditorFontZoomOut.label","Editor Font Zoom Out"),alias:"Editor Font Zoom Out",precondition:void 0})||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:o.a("EditorFontZoomReset.label","Editor Font Zoom Reset"),alias:"Editor Font Zoom Reset",precondition:void 0})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(0)},t}(r.b);Object(r.f)(u),Object(r.f)(l),Object(r.f)(c)},yCNF:function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},"yO/1":function(e,t,n){"use strict";n.d(t,"b",function(){return o}),n.d(t,"a",function(){return r});var i=n("JVO/"),o=Object(i.c)("contextViewService"),r=Object(i.c)("contextMenuService")},ygb1:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("X6iQ"),o=n("80kS"),r=n("uNfg"),s=n("tqet"),a=n("03Zz"),u=n("vORD"),l=n("GfE5"),c=n("vTy2"),d=n("/9db"),h=n("PCC9"),p=n("606G"),f=n("UqCF"),g=n("zxiH"),m=n("mrx5"),_=n("4tuZ"),v=n("P1SM"),y=n("artP"),b=n("iHM7"),C=n("jIdl"),w=n("0WPX"),S=function(){function e(){}return e._handleEolEdits=function(e,t){for(var n=void 0,i=[],o=0,r=t;o0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},z=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},U=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},K=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]1)){var n=this._editor.getModel(),o=this._editor.getPosition(),r=!1,s=this._editor.onDidChangeModelContent(function(e){if(e.isFlush)return r=!0,void s.dispose();for(var t=0,n=e.changes.length;t1||this._instantiationService.invokeFunction(M,this.editor,e,2,o.a.None).catch(g.e))},e.ID="editor.contrib.formatOnPaste",e=H([z(1,E.a)],e)}(),Y=function(e){function t(){return e.call(this,{id:"editor.action.formatDocument",label:L.a("formatDocument.label","Format Document"),alias:"Format Document",precondition:V.a.and(d.a.writable,d.a.hasDocumentFormattingProvider),kbOpts:{kbExpr:V.a.and(d.a.editorTextFocus,d.a.hasDocumentFormattingProvider),primary:1572,linux:{primary:3111},weight:100},menuOpts:{when:d.a.hasDocumentFormattingProvider,group:"1_modification",order:1.3}})||this}return B(t,e),t.prototype.run=function(e,t){return U(this,void 0,void 0,function(){return K(this,function(n){switch(n.label){case 0:return t.hasModel()?[4,e.get(E.a).invokeFunction(A,t,1,o.a.None)]:[3,2];case 1:n.sent(),n.label=2;case 2:return[2]}})})},t}(a.b),X=function(e){function t(){return e.call(this,{id:"editor.action.formatSelection",label:L.a("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:V.a.and(d.a.writable,d.a.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:V.a.and(d.a.editorTextFocus,d.a.hasDocumentSelectionFormattingProvider),primary:Object(r.a)(2089,2084),weight:100},menuOpts:{when:V.a.and(d.a.hasDocumentSelectionFormattingProvider,d.a.hasNonEmptySelection),group:"1_modification",order:1.31}})||this}return B(t,e),t.prototype.run=function(e,t){return U(this,void 0,void 0,function(){var n,i,r;return K(this,function(s){switch(s.label){case 0:return t.hasModel()?(n=e.get(E.a),i=t.getModel(),(r=t.getSelection()).isEmpty()&&(r=new c.a(r.startLineNumber,1,r.startLineNumber,i.getLineMaxColumn(r.startLineNumber))),[4,n.invokeFunction(M,t,r,1,o.a.None)]):[2];case 1:return s.sent(),[2]}})})},t}(a.b);Object(a.h)(G),Object(a.h)(Z),Object(a.f)(Y),Object(a.f)(X),j.a.registerCommand("editor.action.format",function(e){return U(q,void 0,void 0,function(){var t,n;return K(this,function(i){switch(i.label){case 0:return(t=e.get(u.a).getFocusedCodeEditor())&&t.hasModel()?(n=e.get(j.b),t.getSelection().isEmpty()?[4,n.executeCommand("editor.action.formatDocument")]:[3,2]):[2];case 1:return i.sent(),[3,4];case 2:return[4,n.executeCommand("editor.action.formatSelection")];case 3:i.sent(),i.label=4;case 4:return[2]}})})})},z4hc:function(e,t,n){var i=n("aCM0"),o=n("Rh28"),r=n("UnEC"),s={};s["[object Float32Array]"]=s["[object Float64Array]"]=s["[object Int8Array]"]=s["[object Int16Array]"]=s["[object Int32Array]"]=s["[object Uint8Array]"]=s["[object Uint8ClampedArray]"]=s["[object Uint16Array]"]=s["[object Uint32Array]"]=!0,s["[object Arguments]"]=s["[object Array]"]=s["[object ArrayBuffer]"]=s["[object Boolean]"]=s["[object DataView]"]=s["[object Date]"]=s["[object Error]"]=s["[object Function]"]=s["[object Map]"]=s["[object Number]"]=s["[object Object]"]=s["[object RegExp]"]=s["[object Set]"]=s["[object String]"]=s["[object WeakMap]"]=!1,e.exports=function(e){return r(e)&&o(e.length)&&!!s[i(e)]}},zBOP:function(e,t,n){var i=n("22B7"),o=n("bGc4"),r=n("ZGh9"),s=n("yCNF");e.exports=function(e,t,n){if(!s(n))return!1;var a=typeof t;return!!("number"==a?o(n)&&r(t,n.length):"string"==a&&t in n)&&i(n[t],e)}},zwZj:function(e,t,n){"use strict";n("3Clc");var i,o=n("03Zz"),r=n("0ly5"),s=n("7/Cv"),a=(n("2ZBE"),n("hK2W")),u=n("ZfGv"),l=n("KIxu"),c=function(){function e(e){this.modelProvider=Object(l.f)(e.getModel)?e:{getModel:function(){return e}}}return e.prototype.getId=function(e,t){if(!t)return null;var n=this.modelProvider.getModel();return n===t?"__root__":n.dataSource.getId(t)},e.prototype.hasChildren=function(e,t){var n=this.modelProvider.getModel();return!!(n&&n===t&&n.entries.length>0)},e.prototype.getChildren=function(e,t){var n=this.modelProvider.getModel();return Promise.resolve(n===t?n.entries:[])},e.prototype.getParent=function(e,t){return Promise.resolve(null)},e}(),d=function(){function e(e){this.modelProvider=e}return e.prototype.getAriaLabel=function(e,t){var n=this.modelProvider.getModel();return n.accessibilityProvider?n.accessibilityProvider.getAriaLabel(t):null},e.prototype.getPosInSet=function(e,t){var n=this.modelProvider.getModel(),i=0;if(n.filter)for(var o=0,r=n.entries;o=0;t--){var n=this._arr[t];if(e.toChord().equals(n.keybinding))return n.callback}return null},e}(),v=function(){function e(e){var t=this;void 0===e&&(e={clickBehavior:0,keyboardSupport:!0,openMode:0}),this.options=e,this.downKeyBindingDispatcher=new _,this.upKeyBindingDispatcher=new _,("boolean"!=typeof e.keyboardSupport||e.keyboardSupport)&&(this.downKeyBindingDispatcher.set(16,function(e,n){return t.onUp(e,n)}),this.downKeyBindingDispatcher.set(18,function(e,n){return t.onDown(e,n)}),this.downKeyBindingDispatcher.set(15,function(e,n){return t.onLeft(e,n)}),this.downKeyBindingDispatcher.set(17,function(e,n){return t.onRight(e,n)}),u.d&&(this.downKeyBindingDispatcher.set(2064,function(e,n){return t.onLeft(e,n)}),this.downKeyBindingDispatcher.set(300,function(e,n){return t.onDown(e,n)}),this.downKeyBindingDispatcher.set(302,function(e,n){return t.onUp(e,n)})),this.downKeyBindingDispatcher.set(11,function(e,n){return t.onPageUp(e,n)}),this.downKeyBindingDispatcher.set(12,function(e,n){return t.onPageDown(e,n)}),this.downKeyBindingDispatcher.set(14,function(e,n){return t.onHome(e,n)}),this.downKeyBindingDispatcher.set(13,function(e,n){return t.onEnd(e,n)}),this.downKeyBindingDispatcher.set(10,function(e,n){return t.onSpace(e,n)}),this.downKeyBindingDispatcher.set(9,function(e,n){return t.onEscape(e,n)}),this.upKeyBindingDispatcher.set(3,this.onEnter.bind(this)),this.upKeyBindingDispatcher.set(2051,this.onEnter.bind(this)))}return e.prototype.onMouseDown=function(e,t,n,i){if(void 0===i&&(i="mouse"),0===this.options.clickBehavior&&(n.leftButton||n.middleButton)){if(n.target){if(n.target.tagName&&"input"===n.target.tagName.toLowerCase())return!1;if(s.t(n.target,"scrollbar","monaco-tree"))return!1;if(s.t(n.target,"monaco-action-bar","row"))return!1}return this.onLeftClick(e,t,n,i)}return!1},e.prototype.onClick=function(e,t,n){return u.d&&n.ctrlKey?(n.preventDefault(),n.stopPropagation(),!1):(!n.target||!n.target.tagName||"input"!==n.target.tagName.toLowerCase())&&((0!==this.options.clickBehavior||!n.leftButton&&!n.middleButton)&&this.onLeftClick(e,t,n))},e.prototype.onLeftClick=function(e,t,n,i){void 0===i&&(i="mouse");var o=n,r={origin:i,originalEvent:n,didClickOnTwistie:this.isClickOnTwistie(o)};e.getInput()===t?(e.clearFocus(r),e.clearSelection(r)):(n&&o.browserEvent&&"mousedown"===o.browserEvent.type&&1===o.browserEvent.detail||n.preventDefault(),n.stopPropagation(),e.domFocus(),e.setSelection([t],r),e.setFocus(t,r),this.shouldToggleExpansion(t,o,i)&&(e.isExpanded(t)?e.collapse(t).then(void 0,g.e):e.expand(t).then(void 0,g.e)));return!0},e.prototype.shouldToggleExpansion=function(e,t,n){var i="mouse"===n&&2===t.detail;return this.openOnSingleClick||i||this.isClickOnTwistie(t)},Object.defineProperty(e.prototype,"openOnSingleClick",{get:function(){return 0===this.options.openMode},enumerable:!0,configurable:!0}),e.prototype.isClickOnTwistie=function(e){var t=e.target;if(!s.C(t,"content"))return!1;var n=window.getComputedStyle(t,":before");if("none"===n.backgroundImage||"none"===n.display)return!1;var i=parseInt(n.width)+parseInt(n.paddingRight);return e.browserEvent.offsetX<=i},e.prototype.onContextMenu=function(e,t,n){return(!n.target||!n.target.tagName||"input"!==n.target.tagName.toLowerCase())&&(n&&(n.preventDefault(),n.stopPropagation()),!1)},e.prototype.onTap=function(e,t,n){var i=n.initialTarget;return(!i||!i.tagName||"input"!==i.tagName.toLowerCase())&&this.onLeftClick(e,t,n,"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,n){var i=e.dispatch(n.toKeybinding());return!(!i||!i(t,n))&&(n.preventDefault(),n.stopPropagation(),!0)},e.prototype.onUp=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusPrevious(1,n),e.reveal(e.getFocus()).then(void 0,g.e)),!0},e.prototype.onPageUp=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusPreviousPage(n),e.reveal(e.getFocus()).then(void 0,g.e)),!0},e.prototype.onDown=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusNext(1,n),e.reveal(e.getFocus()).then(void 0,g.e)),!0},e.prototype.onPageDown=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusNextPage(n),e.reveal(e.getFocus()).then(void 0,g.e)),!0},e.prototype.onHome=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusFirst(n),e.reveal(e.getFocus()).then(void 0,g.e)),!0},e.prototype.onEnd=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusLast(n),e.reveal(e.getFocus()).then(void 0,g.e)),!0},e.prototype.onLeft=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())e.clearHighlight(n);else{var i=e.getFocus();e.collapse(i).then(function(t){if(i&&!t)return e.focusParent(n),e.reveal(e.getFocus())}).then(void 0,g.e)}return!0},e.prototype.onRight=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())e.clearHighlight(n);else{var i=e.getFocus();e.expand(i).then(function(t){if(i&&!t)return e.focusFirstChild(n),e.reveal(e.getFocus())}).then(void 0,g.e)}return!0},e.prototype.onEnter=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())return!1;var i=e.getFocus();return i&&e.setSelection([i],n),!0},e.prototype.onSpace=function(e,t){if(e.getHighlight())return!1;var n=e.getFocus();return n&&e.toggleExpansion(n),!0},e.prototype.onEscape=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?(e.clearHighlight(n),!0):e.getSelection().length?(e.clearSelection(n),!0):!!e.getFocus()&&(e.clearFocus(n),!0)},e}(),y=function(){function e(){}return e.prototype.getDragURI=function(e,t){return null},e.prototype.onDragStart=function(e,t,n){},e.prototype.onDragOver=function(e,t,n,i){return null},e.prototype.drop=function(e,t,n,i){},e}(),b=function(){function e(){}return e.prototype.isVisible=function(e,t){return!0},e}(),C=function(){function e(){}return e.prototype.getAriaLabel=function(e,t){return null},e}(),w=function(){function e(e,t){this.styleElement=e,this.selectorSuffix=t}return e.prototype.style=function(e){var t=this.selectorSuffix?"."+this.selectorSuffix:"",n=[];e.listFocusBackground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { background-color: "+e.listFocusBackground+"; }"),e.listFocusForeground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { color: "+e.listFocusForeground+"; }"),e.listActiveSelectionBackground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+e.listActiveSelectionBackground+"; }"),e.listActiveSelectionForeground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+e.listActiveSelectionForeground+"; }"),e.listFocusAndSelectionBackground&&n.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&&n.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&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+e.listInactiveSelectionBackground+"; }"),e.listInactiveSelectionForeground&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+e.listInactiveSelectionForeground+"; }"),e.listHoverBackground&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { background-color: "+e.listHoverBackground+"; }"),e.listHoverForeground&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { color: "+e.listHoverForeground+"; }"),e.listDropBackground&&n.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&&n.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 i=n.join("\n");i!==this.styleElement.innerHTML&&(this.styleElement.innerHTML=i)},e}(),S=n("5TlO"),L=n("tqet"),O=n("Kp7x"),E=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),N=function(){function e(e){this._onDispose=new O.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=void 0)},e}(),x=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 n=this,i=this.getLock(e);return i?new Promise(function(o,r){O.b.once(i.onDispose)(function(){return n.run(e,t).then(o,r)})}):new Promise(function(i,o){if(e.isDisposed())return o(new Error("Item is disposed."));var r=n.locks[e.id]=new N(e);return t().then(function(t){return delete n.locks[e.id],r.dispose(),t}).then(i,o)})},e.prototype.getLock=function(e){var t;for(t in this.locks){var n=this.locks[t];if(e.intersects(n.item))return n}return null},e}(),I=function(){function e(){this._isDisposed=!1,this._onDidRevealItem=new O.d,this.onDidRevealItem=this._onDidRevealItem.event,this._onExpandItem=new O.d,this.onExpandItem=this._onExpandItem.event,this._onDidExpandItem=new O.d,this.onDidExpandItem=this._onDidExpandItem.event,this._onCollapseItem=new O.d,this.onCollapseItem=this._onCollapseItem.event,this._onDidCollapseItem=new O.d,this.onDidCollapseItem=this._onDidCollapseItem.event,this._onDidAddTraitItem=new O.d,this.onDidAddTraitItem=this._onDidAddTraitItem.event,this._onDidRemoveTraitItem=new O.d,this.onDidRemoveTraitItem=this._onDidRemoveTraitItem.event,this._onDidRefreshItem=new O.d,this.onDidRefreshItem=this._onDidRefreshItem.event,this._onRefreshItemChildren=new O.d,this.onRefreshItemChildren=this._onRefreshItemChildren.event,this._onDidRefreshItemChildren=new O.d,this.onDidRefreshItemChildren=this._onDidRefreshItemChildren.event,this._onDidDisposeItem=new O.d,this.onDidDisposeItem=this._onDidDisposeItem.event,this.items={}}return e.prototype.register=function(e){S.a(!this.isRegistered(e.id),"item already registered: "+e.id);var t=Object(L.e)(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){S.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}(),D=function(){function e(e,t,n,i,o){this._onDidCreate=new O.a,this._onDidReveal=new O.a,this.onDidReveal=this._onDidReveal.event,this._onExpand=new O.a,this.onExpand=this._onExpand.event,this._onDidExpand=new O.a,this.onDidExpand=this._onDidExpand.event,this._onCollapse=new O.a,this.onCollapse=this._onCollapse.event,this._onDidCollapse=new O.a,this.onDidCollapse=this._onDidCollapse.event,this._onDidAddTrait=new O.a,this.onDidAddTrait=this._onDidAddTrait.event,this._onDidRemoveTrait=new O.a,this.onDidRemoveTrait=this._onDidRemoveTrait.event,this._onDidRefresh=new O.a,this.onDidRefresh=this._onDidRefresh.event,this._onRefreshChildren=new O.a,this.onRefreshChildren=this._onRefreshChildren.event,this._onDidRefreshChildren=new O.a,this.onDidRefreshChildren=this._onDidRefreshChildren.event,this._onDidDispose=new O.a,this.onDidDispose=this._onDidDispose.event,this.registry=t,this.context=n,this.lock=i,this.element=o,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,o)),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)?Promise.resolve(!1):this.lock.run(this,function(){if(e.isExpanded()||!e.doesHaveChildren)return Promise.resolve(!1);var t={item:e};return e._onExpand.fire(t),(e.needsChildrenRefresh?e.refreshChildren(!1,!0,!0):Promise.resolve(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 n=Promise.resolve(null);return this.forEachChild(function(e){n=n.then(function(){return e.collapse(!0)})}),n.then(function(){return t.collapse(!1)})}return!this.isExpanded()||this.lock.isLocked(this)?Promise.resolve(!1):this.lock.run(this,function(){var e={item:t};return t._onCollapse.fire(e),t._setExpanded(!1),t._onDidCollapse.fire(e),Promise.resolve(!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,n,i){var o=this;if(void 0===n&&(n=!1),void 0===i&&(i=!1),!i&&!this.isExpanded()){var r=function(e){e.needsChildrenRefresh=!0,e.forEachChild(r)};return r(this),Promise.resolve(this)}this.needsChildrenRefresh=!1;var s=function(){var i={item:o,isNested:n};return o._onRefreshChildren.fire(i),(o.doesHaveChildren?o.context.dataSource.getChildren(o.context.tree,o.element):Promise.resolve([])).then(function(n){if(o.isDisposed()||o.registry.isDisposed())return Promise.resolve(null);if(!Array.isArray(n))return Promise.reject(new Error("Please return an array of children."));n=n?n.slice(0):[],n=o.sort(n);for(var i={};null!==o.firstChild;)i[o.firstChild.id]=o.firstChild,o.removeChild(o.firstChild);for(var r=0,s=n.length;r=0;o--)this.onInsertItem(l[o]);for(o=this.heightMap.length-1;o>=i;o--)this.onRefreshItem(this.heightMap[o]);return a},e.prototype.onInsertItem=function(e){},e.prototype.onRemoveItems=function(e){for(var t,n=null,i=null,o=0,r=0;n=e.next();){if(o=this.indexes[n],!(t=this.heightMap[o]))return void console.error("view item doesnt exist");r-=t.height,delete this.indexes[n],this.onRemoveItem(t),null===i&&(i=o)}if(0!==r&&null!==i)for(this.heightMap.splice(i,o-i+1),o=i;o=n.top+n.height))return t;if(i===t)break;i=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=[],this.indexes={}},e}(),q=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),G=function(){function e(e,t,n){this._posx=e,this._posy=t,this._target=n}return e.prototype.preventDefault=function(){},e.prototype.stopPropagation=function(){},Object.defineProperty(e.prototype,"target",{get:function(){return this._target},enumerable:!0,configurable:!0}),e}(),Z=function(e){function t(t){var n=e.call(this,t.posx,t.posy,t.target)||this;return n.originalEvent=t,n}return q(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(G),Y=function(e){function t(t,n,i){var o=e.call(this,t,n,i.target)||this;return o.originalEvent=i,o}return q(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(G),X=n("VvfH"),J=n("odeJ"),Q=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();var $=function(){function e(e){this.context=e,this._cache={"":[]}}return e.prototype.alloc=function(e){var t=this.cache(e).pop();if(!t){var n=document.createElement("div");n.className="content";var i=document.createElement("div");i.appendChild(n);var o=null;try{o=this.context.renderer.renderTemplate(this.context.tree,e,n)}catch(e){console.error("Tree usage error: exception while rendering template"),console.error(e)}t={element:i,templateId:e,templateData: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(n){e.context.renderer.disposeTemplate(e.context.tree,t,n.templateData),n.element=null,n.templateData=null}),delete e._cache[t]})},e.prototype.dispose=function(){this.garbageCollect(),this._cache=null},e}(),ee=function(){function e(e,t){var n=this;this.width=0,this.needsRender=!1,this.uri=null,this.unbindDragStart=L.a.None,this._draggable=!1,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 n._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 n=["monaco-tree-row"];n.push.apply(n,Object.keys(this._styles)),this.model.hasChildren()&&n.push("has-children"),this.element.className=n.join(" "),this.element.draggable=this.draggable,this.element.style.height=this.height+"px",this.element.setAttribute("role","treeitem");var i=this.context.accessibilityProvider,o=i.getAriaLabel(this.context.tree,this.model.getElement());if(o&&this.element.setAttribute("aria-label",o),i.getPosInSet&&i.getSetSize&&(this.element.setAttribute("aria-setsize",i.getSetSize()),this.element.setAttribute("aria-posinset",i.getPosInSet(this.context.tree,this.model.getElement()))),this.model.hasTrait("focused")){var r=F.H(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 a=this.context.dnd.getDragURI(this.context.tree,this.model.getElement());if(a!==this.uri&&(this.unbindDragStart&&this.unbindDragStart.dispose(),a?(this.uri=a,this.draggable=!0,this.unbindDragStart=s.h(this.element,"dragstart",function(e){t.onDragStart(e)})):this.uri=null),!e&&this.element){var u=0;if(this.context.horizontalScrolling){var l=window.getComputedStyle(this.element);u=parseFloat(l.paddingLeft)}this.context.horizontalScrolling&&(this.element.style.width="fit-content");try{this.context.renderer.renderElement(this.context.tree,this.model.getElement(),this.templateId,this.row.templateData)}catch(e){console.error("Tree usage error: exception while rendering element"),console.error(e)}this.context.horizontalScrolling&&(this.width=s.w(this.element)+u,this.element.style.width="")}}},e.prototype.insertInDOM=function(e,t){if(this.row||(this.row=this.context.cache.alloc(this.templateId),this.element[ne.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.dispose(),this.uri=null,this.element[ne.BINDING]=null,this.context.cache.release(this.templateId,this.row),this.row=null)},e.prototype.dispose=function(){this.row=null},e}(),te=function(e){function t(t,n,i){var o=e.call(this,t,n)||this;return o.row={element:i,templateData:null,templateId:null},o}return Q(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}(ee);var ne=function(e){function t(n,i){var o=e.call(this)||this;o.model=null,o.lastPointerType="",o.lastClickTimeStamp=0,o.contentWidthUpdateDelayer=new J.a(50),o.isRefreshing=!1,o.refreshingPreviousChildrenIds={},o.currentDragAndDropData=null,o.currentDropTarget=null,o.currentDropTargets=null,o.currentDropDisposable=L.a.None,o.dragAndDropScrollInterval=null,o.dragAndDropScrollTimeout=null,o.dragAndDropMouseY=null,o.highlightedItemWasDraggable=!1,o.onHiddenScrollTop=null,o._onDOMFocus=new O.a,o.onDOMFocus=o._onDOMFocus.event,o._onDOMBlur=new O.a,o._onDidScroll=new O.a,t.counter++,o.instance=t.counter;var r=void 0===n.options.horizontalScrollMode?2:n.options.horizontalScrollMode;o.horizontalScrolling=2!==r,o.context={dataSource:n.dataSource,renderer:n.renderer,controller:n.controller,dnd:n.dnd,filter:n.filter,sorter:n.sorter,tree:n.tree,accessibilityProvider:n.accessibilityProvider,options:n.options,cache:new $(n),horizontalScrolling:o.horizontalScrolling},o.modelListeners=[],o.viewListeners=[],o.items={},o.domNode=document.createElement("div"),o.domNode.className="monaco-tree no-focused-item monaco-tree-instance-"+o.instance,o.domNode.tabIndex=n.options.preventRootFocus?-1:0,o.styleElement=s.s(o.domNode),o.treeStyler=n.styler||new w(o.styleElement,"monaco-tree-instance-"+o.instance),o.domNode.setAttribute("role","tree"),o.context.options.ariaLabel&&o.domNode.setAttribute("aria-label",o.context.options.ariaLabel),o.context.options.alwaysFocused&&s.f(o.domNode,"focused"),o.context.options.paddingOnRow||s.f(o.domNode,"no-row-padding"),o.wrapper=document.createElement("div"),o.wrapper.className="monaco-tree-wrapper",o.scrollableElement=new U.b(o.wrapper,{alwaysConsumeMouseWheel:!0,horizontal:r,vertical:void 0!==n.options.verticalScrollMode?n.options.verticalScrollMode:1,useShadows:n.options.useShadows}),o.scrollableElement.onScroll(function(e){o.render(e.scrollTop,e.height,e.scrollLeft,e.width,e.scrollWidth),o._onDidScroll.fire()}),R.j?(o.wrapper.style.msTouchAction="none",o.wrapper.style.msContentZooming="none"):P.b.addTarget(o.wrapper),o.rowsContainer=document.createElement("div"),o.rowsContainer.className="monaco-tree-rows",n.options.showTwistie&&(o.rowsContainer.className+=" show-twisties");var a=s.S(o.domNode);return o.viewListeners.push(a.onDidFocus(function(){return o.onFocus()})),o.viewListeners.push(a.onDidBlur(function(){return o.onBlur()})),o.viewListeners.push(a),o.viewListeners.push(s.h(o.domNode,"keydown",function(e){return o.onKeyDown(e)})),o.viewListeners.push(s.h(o.domNode,"keyup",function(e){return o.onKeyUp(e)})),o.viewListeners.push(s.h(o.domNode,"mousedown",function(e){return o.onMouseDown(e)})),o.viewListeners.push(s.h(o.domNode,"mouseup",function(e){return o.onMouseUp(e)})),o.viewListeners.push(s.h(o.wrapper,"auxclick",function(e){e&&1===e.button&&o.onMouseMiddleClick(e)})),o.viewListeners.push(s.h(o.wrapper,"click",function(e){return o.onClick(e)})),o.viewListeners.push(s.h(o.domNode,"contextmenu",function(e){return o.onContextMenu(e)})),o.viewListeners.push(s.h(o.wrapper,P.a.Tap,function(e){return o.onTap(e)})),o.viewListeners.push(s.h(o.wrapper,P.a.Change,function(e){return o.onTouchChange(e)})),R.j&&(o.viewListeners.push(s.h(o.wrapper,"MSPointerDown",function(e){return o.onMsPointerDown(e)})),o.viewListeners.push(s.h(o.wrapper,"MSGestureTap",function(e){return o.onMsGestureTap(e)})),o.viewListeners.push(s.j(o.wrapper,"MSGestureChange",function(e){return o.onThrottledMsGestureChange(e)},function(e,t){t.stopPropagation(),t.preventDefault();var n={translationY:t.translationY,translationX:t.translationX};return e&&(n.translationY+=e.translationY,n.translationX+=e.translationX),n}))),o.viewListeners.push(s.h(window,"dragover",function(e){return o.onDragOver(e)})),o.viewListeners.push(s.h(o.wrapper,"drop",function(e){return o.onDrop(e)})),o.viewListeners.push(s.h(window,"dragend",function(e){return o.onDragEnd(e)})),o.viewListeners.push(s.h(window,"dragleave",function(e){return o.onDragOver(e)})),o.wrapper.appendChild(o.rowsContainer),o.domNode.appendChild(o.scrollableElement.getDomNode()),i.appendChild(o.domNode),o.lastRenderTop=0,o.lastRenderHeight=0,o.didJustPressContextMenuKey=!1,o.currentDropTarget=null,o.currentDropTargets=[],o.shouldInvalidateDropReaction=!1,o.dragAndDropScrollInterval=null,o.dragAndDropScrollTimeout=null,o.onRowsChanged(),o.layout(),o.setupMSGesture(),o.applyStyles(n.options),o}return Q(t,e),t.prototype.applyStyles=function(e){this.treeStyler.style(e)},t.prototype.createViewItem=function(e){return new ee(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||s.v(this.wrapper),this.scrollHeight=this.getContentHeight(),this.horizontalScrolling&&(this.viewWidth=t||s.w(this.wrapper)))},t.prototype.render=function(e,t,n,i,o){var r,s,a=e,u=e+t,l=this.lastRenderTop+this.lastRenderHeight;for(r=this.indexAfter(u)-1,s=this.indexAt(Math.max(l,a));r>=s;r--)this.insertItemInDOM(this.itemAtIndex(r));for(r=Math.min(this.indexAt(this.lastRenderTop),this.indexAfter(u))-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(l));r1e3,l=[],c=!1;if(!u)c=(l=new A.a({getLength:function(){return o.length},getElementAtIndex:function(e){return o[e]}},{getLength:function(){return r.length},getElementAtIndex:function(e){return r[e].id}},null).ComputeDiff(!1)).some(function(e){if(e.modifiedLength>0)for(var n=e.modifiedStart,i=e.modifiedStart+e.modifiedLength;n0&&this.onRemoveItems(new z.a(o,p.originalStart,p.originalStart+p.originalLength)),p.modifiedLength>0){var f=r[p.modifiedStart-1]||n;f=f.getDepth()>0?f:null,this.onInsertItems(new z.a(r,p.modifiedStart,p.modifiedStart+p.modifiedLength),f?f.id:null)}}else(u||l.length)&&(this.onRemoveItems(new z.a(o)),this.onInsertItems(new z.a(r),n.getDepth()>0?n.id:null));(u||l.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,n=this.items[t.id];if(n){n.expanded=!0;var i=this.onInsertItems(t.getNavigator(),t.id)||0,o=this.scrollTop;n.top+n.height<=this.scrollTop&&(o+=i),this.onRowsChanged(o)}},t.prototype.onItemCollapsing=function(e){var t=e.item,n=this.items[t.id];n&&(n.expanded=!1,this.onRemoveItems(new z.e(t.getNavigator(),function(e){return e&&e.id})),this.onRowsChanged())},t.prototype.onItemReveal=function(e){var t=e.item,n=e.relativeTop,i=this.items[t.id];if(i)if(null!==n){n=(n=n<0?0:n)>1?1:n;var o=i.height-this.viewHeight;this.scrollTop=o*n+i.top}else{var r=i.top+i.height,s=this.scrollTop+this.viewHeight;i.top=s&&(this.scrollTop=r-this.viewHeight)}},t.prototype.onItemAddTrait=function(e){var t=e.item,n=e.trait,i=this.items[t.id];i&&i.addClass(n),"highlighted"===n&&(s.f(this.domNode,n),i&&(this.highlightedItemWasDraggable=!!i.draggable,i.draggable&&(i.draggable=!1)))},t.prototype.onItemRemoveTrait=function(e){var t=e.item,n=e.trait,i=this.items[t.id];i&&i.removeClass(n),"highlighted"===n&&(s.I(this.domNode,n),this.highlightedItemWasDraggable&&(i.draggable=!0),this.highlightedItemWasDraggable=!1)},t.prototype.onModelFocusChange=function(){var e=this.model&&this.model.getFocus();s.R(this.domNode,"no-focused-item",!e),e?this.domNode.setAttribute("aria-activedescendant",F.H(this.context.dataSource.getId(this.context.tree,e))):this.domNode.removeAttribute("aria-activedescendant")},t.prototype.onInsertItem=function(e){var t=this;e.onDragStart=function(n){t.onDragStart(e,n)},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 W.b(e),n=this.getItemAround(t.target);n&&(R.j&&Date.now()-this.lastClickTimeStamp<300&&(t.detail=2),this.lastClickTimeStamp=Date.now(),this.context.controller.onClick(this.context.tree,n.model.getElement(),t))}},t.prototype.onMouseMiddleClick=function(e){if(this.context.controller.onMouseMiddleClick){var t=new W.b(e),n=this.getItemAround(t.target);n&&this.context.controller.onMouseMiddleClick(this.context.tree,n.model.getElement(),t)}},t.prototype.onMouseDown=function(e){if(this.didJustPressContextMenuKey=!1,this.context.controller.onMouseDown&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new W.b(e);if(!(t.ctrlKey&&u.e&&u.d)){var n=this.getItemAround(t.target);n&&this.context.controller.onMouseDown(this.context.tree,n.model.getElement(),t)}}},t.prototype.onMouseUp=function(e){if(this.context.controller.onMouseUp&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new W.b(e);if(!(t.ctrlKey&&u.e&&u.d)){var n=this.getItemAround(t.target);n&&this.context.controller.onMouseUp(this.context.tree,n.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,n;if(e instanceof KeyboardEvent||this.didJustPressContextMenuKey){this.didJustPressContextMenuKey=!1;var i=new j.a(e),o=void 0;if(n=this.model.getFocus()){var r=this.context.dataSource.getId(this.context.tree,n),a=this.items[r];o=s.x(a.element)}else n=this.model.getInput(),o=s.x(this.inputItem.element);t=new Y(o.left+o.width,o.top,i)}else{var u=new W.b(e),l=this.getItemAround(u.target);if(!l)return;n=l.model.getElement(),t=new Z(u)}this.context.controller.onContextMenu(this.context.tree,n,t)},t.prototype.onKeyDown=function(e){var t=new j.a(e);this.didJustPressContextMenuKey=58===t.keyCode||t.shiftKey&&68===t.keyCode,t.target&&t.target.tagName&&"input"===t.target.tagName.toLowerCase()||(this.didJustPressContextMenuKey&&(t.preventDefault(),t.stopPropagation()),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 j.a(e))},t.prototype.onDragStart=function(e,t){if(!this.model.getHighlight()){var n,i=e.model.getElement(),o=this.model.getSelection();if(n=o.indexOf(i)>-1?o:[i],t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setData(X.a.RESOURCES,JSON.stringify([e.uri])),t.dataTransfer.setDragImage){var r=void 0;r=this.context.dnd.getDragLabel?this.context.dnd.getDragLabel(this.context.tree,n):String(n.length);var s=document.createElement("div");s.className="monaco-tree-drag-image",s.textContent=r,document.body.appendChild(s),t.dataTransfer.setDragImage(s,-10,-10),setTimeout(function(){return document.body.removeChild(s)},0)}this.currentDragAndDropData=new V(n),X.c.CurrentDragAndDropData=new B(n),this.context.dnd.onDragStart(this.context.tree,this.currentDragAndDropData,new W.a(t))}},t.prototype.setupDragAndDropScrollInterval=function(){var e=this,t=s.z(this.wrapper).top;this.dragAndDropScrollInterval||(this.dragAndDropScrollInterval=window.setInterval(function(){if(null!==e.dragAndDropMouseY){var n=e.dragAndDropMouseY-t,i=0,o=e.viewHeight-35;n<35?i=Math.max(-14,.2*(n-35)):n>o&&(i=Math.min(14,.2*(n-o))),e.scrollTop+=i}},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 t=this;e.preventDefault();var n,i=new W.a(e),o=this.getItemAround(i.target);if(!o||0===i.posx&&0===i.posy&&i.browserEvent.type===s.d.DRAG_LEAVE)return this.currentDropTarget&&(this.currentDropTargets.forEach(function(e){return e.dropTarget=!1}),this.currentDropTargets=[],this.currentDropDisposable.dispose()),this.cancelDragAndDropScrollInterval(),this.currentDropTarget=null,this.currentDropElement=null,this.dragAndDropMouseY=null,!1;if(this.setupDragAndDropScrollInterval(),this.dragAndDropMouseY=i.posy,!this.currentDragAndDropData)if(X.c.CurrentDragAndDropData)this.currentDragAndDropData=X.c.CurrentDragAndDropData;else{if(!i.dataTransfer.types)return!1;this.currentDragAndDropData=new H}this.currentDragAndDropData.update(i.browserEvent.dataTransfer);var r,a=o.model;do{if(n=a?a.getElement():this.model.getInput(),!(r=this.context.dnd.onDragOver(this.context.tree,this.currentDragAndDropData,n,i))||1!==r.bubble)break;a=a&&a.parent}while(a);if(!a)return this.currentDropElement=null,!1;var u=r&&r.accept;u?(this.currentDropElement=a.getElement(),i.preventDefault(),i.dataTransfer.dropEffect=0===r.effect?"copy":"move"):this.currentDropElement=null;var l,c,d=a.id===this.inputItem.id?this.inputItem:this.items[a.id];if((this.shouldInvalidateDropReaction||this.currentDropTarget!==d||(l=this.currentDropElementReaction,c=r,!(!l&&!c||l&&c&&l.accept===c.accept&&l.bubble===c.bubble&&l.effect===c.effect)))&&(this.shouldInvalidateDropReaction=!1,this.currentDropTarget&&(this.currentDropTargets.forEach(function(e){return e.dropTarget=!1}),this.currentDropTargets=[],this.currentDropDisposable.dispose()),this.currentDropTarget=d,this.currentDropElementReaction=r,u)){if(this.currentDropTarget&&(this.currentDropTarget.dropTarget=!0,this.currentDropTargets.push(this.currentDropTarget)),0===r.bubble)for(var h=a.getNavigator(),p=void 0;p=h.next();)(o=this.items[p.id])&&(o.dropTarget=!0,this.currentDropTargets.push(o));if(r.autoExpand){var f=Object(J.l)(500);this.currentDropDisposable=L.h(function(){return f.cancel()}),f.then(function(){return t.context.tree.expand(t.currentDropElement)}).then(function(){return t.shouldInvalidateDropReaction=!0})}}return!0},t.prototype.onDrop=function(e){if(this.currentDropElement){var t=new W.a(e);t.preventDefault(),this.currentDragAndDropData.update(t.browserEvent.dataTransfer),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.currentDropDisposable.dispose(),this.cancelDragAndDropScrollInterval(),this.currentDragAndDropData=null,X.c.CurrentDragAndDropData=void 0,this.currentDropElement=null,this.currentDropTarget=null,this.dragAndDropMouseY=null},t.prototype.onFocus=function(){this.context.options.alwaysFocused||s.f(this.domNode,"focused"),this._onDOMFocus.fire()},t.prototype.onBlur=function(){this.context.options.alwaysFocused||s.I(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,n=this.itemAfter(e);n&&n.element&&(t=n.element),e.insertInDOM(this.rowsContainer,t)},t.prototype.removeItemFromDOM=function(e){e&&e.removeFromDOM()},t.prototype.shouldBeRendered=function(e){return e.topthis.lastRenderTop},t.prototype.getItemAround=function(e){var n=this.inputItem,i=e;do{if(i[t.BINDING]&&(n=i[t.BINDING]),i===this.wrapper||i===this.domNode)return n;if(i===this.scrollableElement.getDomNode()||i===document.body)return}while(i=i.parentElement)},t.prototype.releaseModel=function(){this.model&&(this.modelListeners=L.f(this.modelListeners),this.model=null)},t.prototype.dispose=function(){var t=this;this.scrollableElement.dispose(),this.releaseModel(),this.viewListeners=L.f(this.viewListeners),this._onDOMFocus.dispose(),this._onDOMBlur.dispose(),this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),this.items&&Object.keys(this.items).forEach(function(e){return t.items[e].removeFromDOM()}),this.context.cache&&this.context.cache.dispose(),e.prototype.dispose.call(this)},t.BINDING="monaco-tree-row",t.LOADING_DECORATION_DELAY=800,t.counter=0,t}(K),ie=n("TNPA"),oe=n("TU7t"),re=function(){return function(e,t,n){if(void 0===n&&(n={}),this.tree=e,this.configuration=t,this.options=n,!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 v({clickBehavior:1,keyboardSupport:"boolean"!=typeof n.keyboardSupport||n.keyboardSupport}),this.dnd=t.dnd||new y,this.filter=t.filter||new b,this.sorter=t.sorter,this.accessibilityProvider=t.accessibilityProvider||new C,this.styler=t.styler}}(),se={listFocusBackground:ie.a.fromHex("#073655"),listActiveSelectionBackground:ie.a.fromHex("#0E639C"),listActiveSelectionForeground:ie.a.fromHex("#FFFFFF"),listFocusAndSelectionBackground:ie.a.fromHex("#094771"),listFocusAndSelectionForeground:ie.a.fromHex("#FFFFFF"),listInactiveSelectionBackground:ie.a.fromHex("#3F3F46"),listHoverBackground:ie.a.fromHex("#2A2D2E"),listDropBackground:ie.a.fromHex("#383B3D")},ae=function(){function e(e,t,n){void 0===n&&(n={}),this._onDidChangeFocus=new O.f,this.onDidChangeFocus=this._onDidChangeFocus.event,this._onDidChangeSelection=new O.f,this.onDidChangeSelection=this._onDidChangeSelection.event,this._onHighlightChange=new O.f,this._onDidExpandItem=new O.f,this._onDidCollapseItem=new O.f,this._onDispose=new O.a,this.onDidDispose=this._onDispose.event,this.container=e,Object(oe.g)(n,se,!1),n.twistiePixels="number"==typeof n.twistiePixels?n.twistiePixels:32,n.showTwistie=!1!==n.showTwistie,n.indentPixels="number"==typeof n.indentPixels?n.indentPixels:12,n.alwaysFocused=!0===n.alwaysFocused,n.useShadows=!1!==n.useShadows,n.paddingOnRow=!1!==n.paddingOnRow,n.showLoading=!1!==n.showLoading,this.context=new re(this,t,n),this.model=new M(this.context),this.view=new ne(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.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}(),ue=(n("1O6n"),this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}()),le={progressBarBackground:ie.a.fromHex("#0E70C0")},ce=function(e){function t(t,n){var i=e.call(this)||this;return i.options=n||Object.create(null),Object(oe.g)(i.options,le,!1),i.workedVal=0,i.progressBarBackground=i.options.progressBarBackground,i._register(i.showDelayedScheduler=new J.d(function(){return Object(s.Q)(i.element)},0)),i.create(t),i}return ue(t,e),t.prototype.create=function(e){this.element=document.createElement("div"),Object(s.f)(this.element,"monaco-progress-container"),e.appendChild(this.element),this.bit=document.createElement("div"),Object(s.f)(this.bit,"progress-bit"),this.element.appendChild(this.bit),this.applyStyles()},t.prototype.off=function(){this.bit.style.width="inherit",this.bit.style.opacity="1",Object(s.J)(this.element,"active","infinite","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 Object(s.f)(this.element,"done"),Object(s.C)(this.element,"infinite")?(this.bit.style.opacity="0",e?setTimeout(function(){return t.off()},200):this.off()):(this.bit.style.width="inherit",e?setTimeout(function(){return t.off()},200):this.off()),this},t.prototype.hide=function(){Object(s.D)(this.element),this.showDelayedScheduler.cancel()},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}(L.a),de=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),he=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return de(t,e),t.prototype.onContextMenu=function(t,n,i){return u.d?this.onLeftClick(t,n,i):e.prototype.onContextMenu.call(this,t,n,i)},t}(v),pe={background:ie.a.fromHex("#1E1E1E"),foreground:ie.a.fromHex("#CCCCCC"),pickerGroupForeground:ie.a.fromHex("#0097FB"),pickerGroupBorder:ie.a.fromHex("#3F3F46"),widgetShadow:ie.a.fromHex("#000000"),progressBarBackground:ie.a.fromHex("#0E70C0")},fe=a.a("quickOpenAriaLabel","Quick picker. Type to narrow down results."),ge=function(e){function t(t,n,i){var o=e.call(this)||this;return o.isDisposed=!1,o.container=t,o.callbacks=n,o.options=i,o.styles=i||Object.create(null),Object(oe.g)(o.styles,pe,!1),o.model=null,o}return de(t,e),t.prototype.getModel=function(){return this.model},t.prototype.create=function(){var e=this;this.element=document.createElement("div"),s.f(this.element,"monaco-quick-open-widget"),this.container.appendChild(this.element),this._register(s.h(this.element,s.d.CONTEXT_MENU,function(e){return s.c.stop(e,!0)})),this._register(s.h(this.element,s.d.FOCUS,function(t){return e.gainingFocus()},!0)),this._register(s.h(this.element,s.d.BLUR,function(t){return e.loosingFocus(t)},!0)),this._register(s.h(this.element,s.d.KEY_DOWN,function(t){var n=new j.a(t);if(9===n.keyCode)s.c.stop(t,!0),e.hide(2);else if(2===n.keyCode&&!n.altKey&&!n.ctrlKey&&!n.metaKey){var i=t.currentTarget.querySelectorAll("input, .monaco-tree, .monaco-tree-row.focused .action-label.icon");n.shiftKey&&n.target===i[0]?(s.c.stop(t,!0),i[i.length-1].focus()):n.shiftKey||n.target!==i[i.length-1]||(s.c.stop(t,!0),i[0].focus())}})),this.progressBar=this._register(new ce(this.element,{progressBarBackground:this.styles.progressBarBackground})),this.progressBar.hide(),this.inputContainer=document.createElement("div"),s.f(this.inputContainer,"quick-open-input"),this.element.appendChild(this.inputContainer),this.inputBox=this._register(new f.b(this.inputContainer,void 0,{placeholder:this.options.inputPlaceHolder||"",ariaLabel:fe,inputBackground:this.styles.inputBackground,inputForeground:this.styles.inputForeground,inputBorder:this.styles.inputBorder,inputValidationInfoBackground:this.styles.inputValidationInfoBackground,inputValidationInfoForeground:this.styles.inputValidationInfoForeground,inputValidationInfoBorder:this.styles.inputValidationInfoBorder,inputValidationWarningBackground:this.styles.inputValidationWarningBackground,inputValidationWarningForeground:this.styles.inputValidationWarningForeground,inputValidationWarningBorder:this.styles.inputValidationWarningBorder,inputValidationErrorBackground:this.styles.inputValidationErrorBackground,inputValidationErrorForeground:this.styles.inputValidationErrorForeground,inputValidationErrorBorder:this.styles.inputValidationErrorBorder})),this.inputElement=this.inputBox.inputElement,this.inputElement.setAttribute("role","combobox"),this.inputElement.setAttribute("aria-haspopup","false"),this.inputElement.setAttribute("aria-autocomplete","list"),this._register(s.h(this.inputBox.inputElement,s.d.INPUT,function(t){return e.onType()})),this._register(s.h(this.inputBox.inputElement,s.d.KEY_DOWN,function(t){var n=new j.a(t),i=e.shouldOpenInBackground(n);if(2!==n.keyCode)if(18===n.keyCode||16===n.keyCode||12===n.keyCode||11===n.keyCode)s.c.stop(t,!0),e.navigateInTree(n.keyCode,n.shiftKey),e.inputBox.inputElement.selectionStart===e.inputBox.inputElement.selectionEnd&&(e.inputBox.inputElement.selectionStart=e.inputBox.value.length);else if(3===n.keyCode||i){s.c.stop(t,!0);var o=e.tree.getFocus();o&&e.elementSelected(o,t,i?2:1)}})),this.resultCount=document.createElement("div"),s.f(this.resultCount,"quick-open-result-count"),this.resultCount.setAttribute("aria-live","polite"),this.resultCount.setAttribute("aria-atomic","true"),this.element.appendChild(this.resultCount),this.treeContainer=document.createElement("div"),s.f(this.treeContainer,"quick-open-tree"),this.element.appendChild(this.treeContainer);var t=this.options.treeCreator||function(e,t,n){return new ae(e,t,n)};return this.tree=this._register(t(this.treeContainer,{dataSource:new c(this),controller:new he({clickBehavior:1,keyboardSupport:this.options.keyboardSupport}),renderer:this.renderer=new p(this,this.styles),filter:new h(this),accessibilityProvider:new d(this)},{twistiePixels:11,indentPixels:0,alwaysFocused:!0,verticalScrollMode:3,horizontalScrollMode:2,ariaLabel:a.a("treeAriaLabel","Quick Picker"),keyboardSupport:this.options.keyboardSupport,preventRootFocus:!1})),this.treeElement=this.tree.getHTMLElement(),this._register(this.tree.onDidChangeFocus(function(t){e.elementFocused(t.focus,t)})),this._register(this.tree.onDidChangeSelection(function(t){if(t.selection&&t.selection.length>0){var n=t.payload&&t.payload.originalEvent instanceof W.b?t.payload.originalEvent:void 0,i=!!n&&e.shouldOpenInBackground(n);e.elementSelected(t.selection[0],t,i?2:1)}})),this._register(s.h(this.treeContainer,s.d.KEY_DOWN,function(t){var n=new j.a(t);e.quickNavigateConfiguration&&(18!==n.keyCode&&16!==n.keyCode&&12!==n.keyCode&&11!==n.keyCode||(s.c.stop(t,!0),e.navigateInTree(n.keyCode)))})),this._register(s.h(this.treeContainer,s.d.KEY_UP,function(t){var n=new j.a(t),i=n.keyCode;if(e.quickNavigateConfiguration){var o=e.quickNavigateConfiguration.keybindings;if(3===i||o.some(function(e){var t=e.getParts(),o=t[0];return!t[1]&&(o.shiftKey&&4===i?!(n.ctrlKey||n.altKey||n.metaKey):!(!o.altKey||6!==i)||(!(!o.ctrlKey||5!==i)||!(!o.metaKey||57!==i)))})){var r=e.tree.getFocus();r&&e.elementSelected(r,t)}}})),this.layoutDimensions&&this.layout(this.layoutDimensions),this.applyStyles(),this._register(s.h(this.treeContainer,s.d.KEY_DOWN,function(t){var n=new j.a(t);e.quickNavigateConfiguration||18!==n.keyCode&&16!==n.keyCode&&12!==n.keyCode&&11!==n.keyCode||(s.c.stop(t,!0),e.navigateInTree(n.keyCode,n.shiftKey),e.treeElement.focus())})),this.element},t.prototype.style=function(e){this.styles=e,this.applyStyles()},t.prototype.applyStyles=function(){if(this.element){var e=this.styles.foreground?this.styles.foreground.toString():null,t=this.styles.background?this.styles.background.toString():null,n=this.styles.borderColor?this.styles.borderColor.toString():null,i=this.styles.widgetShadow?this.styles.widgetShadow.toString():null;this.element.style.color=e,this.element.style.backgroundColor=t,this.element.style.borderColor=n,this.element.style.borderWidth=n?"1px":null,this.element.style.borderStyle=n?"solid":null,this.element.style.boxShadow=i?"0 5px 8px "+i: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,inputValidationInfoForeground:this.styles.inputValidationInfoForeground,inputValidationInfoBorder:this.styles.inputValidationInfoBorder,inputValidationWarningBackground:this.styles.inputValidationWarningBackground,inputValidationWarningForeground:this.styles.inputValidationWarningForeground,inputValidationWarningBorder:this.styles.inputValidationWarningBorder,inputValidationErrorBackground:this.styles.inputValidationErrorBackground,inputValidationErrorForeground:this.styles.inputValidationErrorForeground,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 j.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?s.D(this.helpText):s.Q(this.helpText)),this.callbacks.onType(e)},t.prototype.navigateInTree=function(e,t){var n=this.tree.getInput(),i=n?n.entries:[],o=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();i.length>1&&o===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)},t.prototype.elementFocused=function(e,t){if(e&&this.isVisible()){var n=this.treeElement.getAttribute("aria-activedescendant");n?this.inputElement.setAttribute("aria-activedescendant",n):this.inputElement.removeAttribute("aria-activedescendant");var i={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};this.model.runner.run(e,0,i)}},t.prototype.elementSelected=function(e,t,n){var i=!0;if(this.isVisible()){var o=n||1,r={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};i=this.model.runner.run(e,o,r)}i&&this.hide(0)},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?(s.D(this.inputContainer),s.Q(this.element),this.tree.domFocus()):(s.Q(this.inputContainer),s.Q(this.element),this.inputBox.focus()),this.helpText&&(this.quickNavigateConfiguration||l.i(e)?s.D(this.helpText):s.Q(this.helpText)),l.i(e)?this.doShowWithPrefix(e):(t&&t.value&&this.restoreLastInput(t.value),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.restoreLastInput=function(e){this.inputBox.value=e,this.inputBox.select(),this.callbacks.onType(e)},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 n=this;this.treeContainer.style.height=this.getHeight(e)+"px",this.tree.setInput(null).then(function(){return n.model=e,n.inputElement.setAttribute("aria-haspopup",String(e&&e.entries&&e.entries.length>0)),n.tree.setInput(e)}).then(function(){n.tree.layout();var i=e?e.entries.filter(function(t){return n.isElementVisible(e,t)}):[];n.updateResultCount(i.length),i.length&&n.autoFocus(e,i,t)})},t.prototype.isElementVisible=function(e,t){return!e.filter||e.filter.isVisible(t)},t.prototype.autoFocus=function(e,t,n){if(void 0===n&&(n={}),n.autoFocusPrefixMatch){for(var i=void 0,o=void 0,r=n.autoFocusPrefixMatch,s=r.toLowerCase(),a=0,u=t;an.autoFocusIndex&&(this.tree.focusNth(n.autoFocusIndex),this.tree.reveal(this.tree.getFocus())):n.autoFocusSecondEntry?t.length>1&&this.tree.focusNth(1):n.autoFocusLastEntry&&t.length>1&&this.tree.focusLast()},t.prototype.getHeight=function(e){var n=this,i=e.renderer;if(!e){var o=i.getHeight(null);return this.options.minItemsToShow?this.options.minItemsToShow*o: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 n.isElementVisible(e,t)}),u=this.options.maxItemsToShow||a.length,l=0;l=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},we=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Se=function(){function e(e,t){this.themeService=t,this.widget=null,this.rangeHighlightDecorationId=null,this.lastKnownEditorSelection=null,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 n=function(e){t.clearDecorations(),e&&t.lastKnownEditorSelection&&(t.editor.setSelection(t.lastKnownEditorSelection),t.editor.revealRangeInCenterIfOutsideViewport(t.lastKnownEditorSelection,0)),t.lastKnownEditorSelection=null,document.activeElement!==document.body&&e||t.editor.focus()};this.widget=new ve(this.editor,function(){return n(!1)},function(){return n(!0)},function(n){t.widget.setInput(e.getModel(n),e.getAutoFocus(n))},{inputAriaLabel:e.inputAriaLabel},this.themeService),this.lastKnownEditorSelection||(this.lastKnownEditorSelection=this.editor.getSelection()),this.widget.show("")},e.prototype.decorateLine=function(t,n){var i=[];this.rangeHighlightDecorationId&&(i.push(this.rangeHighlightDecorationId),this.rangeHighlightDecorationId=null);var o=[{range:t,options:e._RANGE_HIGHLIGHT_DECORATION}],r=n.deltaDecorations(i,o);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=r.a.register({className:"rangeHighlight",isWholeLine:!0}),e=Ce([we(1,ye.c)],e)}(),Le=function(e){function t(t,n){var i=e.call(this,n)||this;return i._inputAriaLabel=t,i}return be(t,e),t.prototype.getController=function(e){return Se.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}(o.b);Object(o.h)(Se)},zxiH:function(e,t,n){"use strict";t.e=function(e){r(e)||i.onUnexpectedError(e);return},t.f=function(e){r(e)||i.onUnexpectedExternalError(e);return},t.g=function(e){if(e instanceof Error){var t=e.name,n=e.message,i=e.stacktrace||e.stack;return{$isError:!0,name:t,message:n,stack:i}}return e},t.d=r,t.a=function(){var e=new Error(o);return e.name=e.message,e},t.b=function(e){return e?new Error("Illegal argument: "+e):new Error("Illegal argument")},t.c=function(e){return e?new Error("Illegal state: "+e):new Error("Illegal state")};var i=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}());var o="Canceled";function r(e){return e instanceof Error&&e.name===o&&e.message===o}}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/3.b04827f9f49e3488c55c.js b/apps/emqx_dashboard/priv/www/static/js/3.b04827f9f49e3488c55c.js new file mode 100644 index 000000000..fd00f7de0 --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/3.b04827f9f49e3488c55c.js @@ -0,0 +1 @@ +webpackJsonp([3],{"+0Qw":function(e,t){},"+66z":function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},"+Tn7":function(e,t){},"+gg+":function(e,t,n){var i=n("TQ3y")["__core-js_shared__"];e.exports=i},"+jct":function(e,t,n){"use strict";n.d(t,"b",function(){return i}),n.d(t,"a",function(){return o}),t.c=function(e){var t=o;if(e&&e instanceof RegExp)if(e.global)t=e;else{var n="g";e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),t=new RegExp(e.source,n)}return t.lastIndex=0,t},t.d=function(e,t,n,i){t.lastIndex=0;var o=t.exec(n);if(!o)return null;var r=o[0].indexOf(" ")>=0?function(e,t,n,i){var o,r=e-1-i;t.lastIndex=0;for(;o=t.exec(n);){var s=o.index||0;if(s>r)return null;if(t.lastIndex>=r)return{word:o[0],startColumn:i+1+s,endColumn:i+1+t.lastIndex}}return null}(e,t,n,i):function(e,t,n,i){var o,r=e-1-i,s=n.lastIndexOf(" ",r-1)+1;t.lastIndex=s;for(;o=t.exec(n);){var a=o.index||0;if(a<=r&&t.lastIndex>=r)return{word:o[0],startColumn:i+1+a,endColumn:i+1+t.lastIndex}}return null}(e,t,n,i);return t.lastIndex=0,r};var i="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";var o=function(e){void 0===e&&(e="");for(var t="(-?\\d*\\.\\d\\w*)|([^",n=0,o=i;n=0||(t+="\\"+r)}return t+="\\s]+)",new RegExp(t,"g")}()},"+oh4":function(e,t,n){"use strict";var i;n.d(t,"a",function(){return i}),n.d(t,"b",function(){return o}),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(i||(i={}));var o=function(){function e(e){if(this.open=e.open,this.close=e.close,this._standardTokenMask=0,Array.isArray(e.notIn))for(var t=0,n=e.notIn.length;t200)return t;if("object"==typeof t){switch(t.$mid){case 1:return i.a.revive(t);case 2:return new RegExp(t.source,t.flags)}for(var o in t)Object.hasOwnProperty.call(t,o)&&(t[o]=e(t[o],n+1))}return t}(t,0)};var i=n("mrx5")},"/9db":function(e,t,n){"use strict";n.d(t,"a",function(){return i});var i,o=n("7g0X");!function(e){e.editorTextFocus=new o.d("editorTextFocus",!1),e.focus=new o.d("editorFocus",!1),e.textInputFocus=new o.d("textInputFocus",!1),e.readOnly=new o.d("editorReadonly",!1),e.writable=e.readOnly.toNegated(),e.hasNonEmptySelection=new o.d("editorHasSelection",!1),e.hasOnlyEmptySelection=e.hasNonEmptySelection.toNegated(),e.hasMultipleSelections=new o.d("editorHasMultipleSelections",!1),e.hasSingleSelection=e.hasMultipleSelections.toNegated(),e.tabMovesFocus=new o.d("editorTabMovesFocus",!1),e.tabDoesNotMoveFocus=e.tabMovesFocus.toNegated(),e.isInEmbeddedEditor=new o.d("isInEmbeddedEditor",!1),e.canUndo=new o.d("canUndo",!1),e.canRedo=new o.d("canRedo",!1),e.languageId=new o.d("editorLangId",""),e.hasCompletionItemProvider=new o.d("editorHasCompletionItemProvider",!1),e.hasCodeActionsProvider=new o.d("editorHasCodeActionsProvider",!1),e.hasCodeLensProvider=new o.d("editorHasCodeLensProvider",!1),e.hasDefinitionProvider=new o.d("editorHasDefinitionProvider",!1),e.hasDeclarationProvider=new o.d("editorHasDeclarationProvider",!1),e.hasImplementationProvider=new o.d("editorHasImplementationProvider",!1),e.hasTypeDefinitionProvider=new o.d("editorHasTypeDefinitionProvider",!1),e.hasHoverProvider=new o.d("editorHasHoverProvider",!1),e.hasDocumentHighlightProvider=new o.d("editorHasDocumentHighlightProvider",!1),e.hasDocumentSymbolProvider=new o.d("editorHasDocumentSymbolProvider",!1),e.hasReferenceProvider=new o.d("editorHasReferenceProvider",!1),e.hasRenameProvider=new o.d("editorHasRenameProvider",!1),e.hasSignatureHelpProvider=new o.d("editorHasSignatureHelpProvider",!1),e.hasDocumentFormattingProvider=new o.d("editorHasDocumentFormattingProvider",!1),e.hasDocumentSelectionFormattingProvider=new o.d("editorHasDocumentSelectionFormattingProvider",!1),e.hasMultipleDocumentFormattingProvider=new o.d("editorHasMultipleDocumentFormattingProvider",!1),e.hasMultipleDocumentSelectionFormattingProvider=new o.d("editorHasMultipleDocumentSelectionFormattingProvider",!1)}(i||(i={}))},"/GnY":function(e,t,n){var i=n("HT7L"),o=n("W529"),r=Object.prototype.hasOwnProperty;e.exports=function(e){if(!i(e))return o(e);var t=[];for(var n in Object(e))r.call(e,n)&&"constructor"!=n&&t.push(n);return t}},"/tAm":function(e,t,n){"use strict";t.__esModule=!0;var i=r(n("gdof")),o=r(n("7PNz"));function r(e){return e&&e.__esModule?e:{default:e}}var s=["ALL","ALTER","ANALYZE","AND","ANY","ARRAY","AS","ASC","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CASE","CAST","CLUSTER","COLLATE","COLLECTION","COMMIT","CONNECT","CONTINUE","CORRELATE","COVER","CREATE","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DELETE","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","ELSE","END","EVERY","EXCEPT","EXCLUDE","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FIRST","FLATTEN","FOR","FORCE","FROM","FUNCTION","GRANT","GROUP","GSI","HAVING","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","JOIN","KEY","KEYS","KEYSPACE","KNOWN","LAST","LEFT","LET","LETTING","LIKE","LIMIT","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MERGE","MINUS","MISSING","NAMESPACE","NEST","NOT","NULL","NUMBER","OBJECT","OFFSET","ON","OPTION","OR","ORDER","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PREPARE","PRIMARY","PRIVATE","PRIVILEGE","PROCEDURE","PUBLIC","RAW","REALM","REDUCE","RENAME","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","SATISFIES","SCHEMA","SELECT","SELF","SEMI","SET","SHOW","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TO","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNDER","UNION","UNIQUE","UNKNOWN","UNNEST","UNSET","UPDATE","UPSERT","USE","USER","USING","VALIDATE","VALUE","VALUED","VALUES","VIA","VIEW","WHEN","WHERE","WHILE","WITH","WITHIN","WORK","XOR"],a=["DELETE FROM","EXCEPT ALL","EXCEPT","EXPLAIN DELETE FROM","EXPLAIN UPDATE","EXPLAIN UPSERT","FROM","GROUP BY","HAVING","INFER","INSERT INTO","INTERSECT ALL","INTERSECT","LET","LIMIT","MERGE","NEST","ORDER BY","PREPARE","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","UNION ALL","UNION","UNNEST","UPDATE","UPSERT","USE KEYS","VALUES","WHERE"],u=["AND","INNER JOIN","JOIN","LEFT JOIN","LEFT OUTER JOIN","OR","OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","XOR"],l=void 0,c=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.cfg=t}return e.prototype.format=function(e){return l||(l=new o.default({reservedWords:s,reservedToplevelWords:a,reservedNewlineWords:u,stringTypes:['""',"''","``"],openParens:["(","[","{"],closeParens:[")","]","}"],namedPlaceholderTypes:["$"],lineCommentTypes:["#","--"]})),new i.default(this.cfg,l).format(e)},e}();t.default=c,e.exports=t.default},"/uRs":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"win32",function(){return b}),n.d(t,"posix",function(){return C}),n.d(t,"normalize",function(){return w}),n.d(t,"join",function(){return S}),n.d(t,"relative",function(){return L}),n.d(t,"dirname",function(){return O}),n.d(t,"basename",function(){return E}),n.d(t,"extname",function(){return N}),n.d(t,"sep",function(){return x});var i,o=n("xgy6"),r=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=65,a=97,u=90,l=122,c=46,d=47,h=92,p=function(e){function t(t,n,i){var o,r=this;"string"==typeof n&&0===n.indexOf("not ")?(o="must not be",n=n.replace(/^not /,"")):o="must be";var s='The "'+t+'" '+(-1!==t.indexOf(".")?"property":"argument")+" "+o+" of type "+n;return s+=". Received type "+typeof i,(r=e.call(this,s)||this).code="ERR_INVALID_ARG_TYPE",r}return r(t,e),t}(Error);function f(e,t){if("string"!=typeof e)throw new p(t,"string",e)}function g(e){return e===d||e===h}function m(e){return e===d}function _(e){return e>=s&&e<=u||e>=a&&e<=l}function v(e,t,n,i){for(var o,r="",s=0,a=-1,u=0,l=0;l<=e.length;++l){if(l2){var h=r.lastIndexOf(n);-1===h?(r="",s=0):s=(r=r.slice(0,h)).length-1-r.lastIndexOf(n),a=l,u=0;continue}if(2===r.length||1===r.length){r="",s=0,a=l,u=0;continue}}t&&(r.length>0?r+=n+"..":r="..",s=2)}else r.length>0?r+=n+e.slice(a+1,l):r=e.slice(a+1,l),s=l-a-1;a=l,u=0}else o===c&&-1!==u?++u:u=-1}return r}function y(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+e+i:i}var b={resolve:function(){for(var e=[],t=0;t=-1;s--){var a=void 0;if(s>=0?a=e[s]:n?void 0!==(a=o.b["="+n]||o.a())&&a.slice(0,3).toLowerCase()===n.toLowerCase()+"\\"||(a=n+"\\"):a=o.a(),f(a,"path"),0!==a.length){var u=a.length,l=0,c="",d=!1,h=a.charCodeAt(0);if(u>1)if(g(h))if(d=!0,g(a.charCodeAt(1))){for(var p=2,m=p;p2&&g(a.charCodeAt(2))&&(d=!0,l=3));else g(h)&&(l=1,d=!0);if(!(c.length>0&&n.length>0&&c.toLowerCase()!==n.toLowerCase())&&(0===n.length&&c.length>0&&(n=c),r||(i=a.slice(l)+"\\"+i,r=d),n.length>0&&r))break}}return i=v(i,!r,"\\",g),n+(r?"\\":"")+i||"."},normalize:function(e){f(e,"path");var t=e.length;if(0===t)return".";var n,i,o=0,r=!1,s=e.charCodeAt(0);if(t>1)if(g(s))if(r=!0,g(e.charCodeAt(1))){for(var a=2,u=a;a2&&g(e.charCodeAt(2))&&(r=!0,o=3));else if(g(s))return"\\";return 0!==(i=o0&&g(e.charCodeAt(t-1))&&(i+="\\"),void 0===n?r?i.length>0?"\\"+i:"\\":i.length>0?i:"":r?i.length>0?n+"\\"+i:n+"\\":i.length>0?n+i:n},isAbsolute:function(e){f(e,"path");var t=e.length;if(0===t)return!1;var n=e.charCodeAt(0);return!!g(n)||!!(_(n)&&t>2&&58===e.charCodeAt(1)&&g(e.charCodeAt(2)))},join:function(){for(var e,t,n=[],i=0;i0&&(void 0===e?e=t=r:e+="\\"+r)}if(void 0===e)return".";var s=!0,a=0;if("string"==typeof t&&g(t.charCodeAt(0))){++a;var u=t.length;u>1&&g(t.charCodeAt(1))&&(++a,u>2&&(g(t.charCodeAt(2))?++a:s=!1))}if(s){for(;a=2&&(e="\\"+e.slice(a))}return b.normalize(e)},relative:function(e,t){if(f(e,"from"),f(t,"to"),e===t)return"";var n=b.resolve(e),i=b.resolve(t);if(n===i)return"";if((e=n.toLowerCase())===(t=i.toLowerCase()))return"";for(var o=0;oo&&e.charCodeAt(r-1)===h;--r);for(var s=r-o,a=0;aa&&t.charCodeAt(u-1)===h;--u);for(var l=u-a,c=sc){if(t.charCodeAt(a+p)===h)return i.slice(a+p+1);if(2===p)return i.slice(a+p)}s>c&&(e.charCodeAt(o+p)===h?d=p:2===p&&(d=3));break}var g=e.charCodeAt(o+p);if(g!==t.charCodeAt(a+p))break;g===h&&(d=p)}if(p!==c&&-1===d)return i;var m="";for(-1===d&&(d=0),p=o+d+1;p<=r;++p)p!==r&&e.charCodeAt(p)!==h||(0===m.length?m+="..":m+="\\..");return m.length>0?m+i.slice(a+d,u):(a+=d,i.charCodeAt(a)===h&&++a,i.slice(a,u))},toNamespacedPath:function(e){if("string"!=typeof e)return e;if(0===e.length)return"";var t=b.resolve(e);if(t.length>=3)if(t.charCodeAt(0)===h){if(t.charCodeAt(1)===h){var n=t.charCodeAt(2);if(63!==n&&n!==c)return"\\\\?\\UNC\\"+t.slice(2)}}else if(_(t.charCodeAt(0))&&58===t.charCodeAt(1)&&t.charCodeAt(2)===h)return"\\\\?\\"+t;return e},dirname:function(e){f(e,"path");var t=e.length;if(0===t)return".";var n=-1,i=-1,o=!0,r=0,s=e.charCodeAt(0);if(t>1)if(g(s)){if(n=r=1,g(e.charCodeAt(1))){for(var a=2,u=a;a2&&g(e.charCodeAt(2))&&(n=r=3));else if(g(s))return e;for(var l=t-1;l>=r;--l)if(g(e.charCodeAt(l))){if(!o){i=l;break}}else o=!1;if(-1===i){if(-1===n)return".";i=n}return e.slice(0,i)},basename:function(e,t){void 0!==t&&f(t,"ext"),f(e,"path");var n,i=0,o=-1,r=!0;e.length>=2&&(_(e.charCodeAt(0))&&58===e.charCodeAt(1)&&(i=2));if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var s=t.length-1,a=-1;for(n=e.length-1;n>=i;--n){var u=e.charCodeAt(n);if(g(u)){if(!r){i=n+1;break}}else-1===a&&(r=!1,a=n+1),s>=0&&(u===t.charCodeAt(s)?-1==--s&&(o=n):(s=-1,o=a))}return i===o?o=a:-1===o&&(o=e.length),e.slice(i,o)}for(n=e.length-1;n>=i;--n)if(g(e.charCodeAt(n))){if(!r){i=n+1;break}}else-1===o&&(r=!1,o=n+1);return-1===o?"":e.slice(i,o)},extname:function(e){f(e,"path");var t=0,n=-1,i=0,o=-1,r=!0,s=0;e.length>=2&&58===e.charCodeAt(1)&&_(e.charCodeAt(0))&&(t=i=2);for(var a=e.length-1;a>=t;--a){var u=e.charCodeAt(a);if(g(u)){if(!r){i=a+1;break}}else-1===o&&(r=!1,o=a+1),u===c?-1===n?n=a:1!==s&&(s=1):-1!==n&&(s=-1)}return-1===n||-1===o||0===s||1===s&&n===o-1&&n===i+1?"":e.slice(n,o)},format:function(e){if(null===e||"object"!=typeof e)throw new p("pathObject","Object",e);return y("\\",e)},parse:function(e){f(e,"path");var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var n=e.length,i=0,o=e.charCodeAt(0);if(n>1){if(g(o)){if(i=1,g(e.charCodeAt(1))){for(var r=2,s=r;r2))return t.root=t.dir=e,t;if(g(e.charCodeAt(2))){if(3===n)return t.root=t.dir=e,t;i=3}}}else if(g(o))return t.root=t.dir=e,t;i>0&&(t.root=e.slice(0,i));for(var a=-1,u=i,l=-1,d=!0,h=e.length-1,p=0;h>=i;--h)if(g(o=e.charCodeAt(h))){if(!d){u=h+1;break}}else-1===l&&(d=!1,l=h+1),o===c?-1===a?a=h:1!==p&&(p=1):-1!==a&&(p=-1);return-1===a||-1===l||0===p||1===p&&a===l-1&&a===u+1?-1!==l&&(t.base=t.name=e.slice(u,l)):(t.name=e.slice(u,a),t.base=e.slice(u,l),t.ext=e.slice(a,l)),t.dir=u>0&&u!==i?e.slice(0,u-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},C={resolve:function(){for(var e=[],t=0;t=-1&&!i;r--){var s=void 0;f(s=r>=0?e[r]:o.a(),"path"),0!==s.length&&(n=s+"/"+n,i=s.charCodeAt(0)===d)}return n=v(n,!i,"/",m),i?n.length>0?"/"+n:"/":n.length>0?n:"."},normalize:function(e){if(f(e,"path"),0===e.length)return".";var t=e.charCodeAt(0)===d,n=e.charCodeAt(e.length-1)===d;return 0!==(e=v(e,!t,"/",m)).length||t||(e="."),e.length>0&&n&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return f(e,"path"),e.length>0&&e.charCodeAt(0)===d},join:function(){for(var e,t=[],n=0;n0&&(void 0===e?e=o:e+="/"+o)}return void 0===e?".":C.normalize(e)},relative:function(e,t){if(f(e,"from"),f(t,"to"),e===t)return"";if((e=C.resolve(e))===(t=C.resolve(t)))return"";for(var n=1;na){if(t.charCodeAt(r+l)===d)return t.slice(r+l+1);if(0===l)return t.slice(r+l)}else o>a&&(e.charCodeAt(n+l)===d?u=l:0===l&&(u=0));break}var c=e.charCodeAt(n+l);if(c!==t.charCodeAt(r+l))break;c===d&&(u=l)}var h="";for(l=n+u+1;l<=i;++l)l!==i&&e.charCodeAt(l)!==d||(0===h.length?h+="..":h+="/..");return h.length>0?h+t.slice(r+u):(r+=u,t.charCodeAt(r)===d&&++r,t.slice(r))},toNamespacedPath:function(e){return e},dirname:function(e){if(f(e,"path"),0===e.length)return".";for(var t=e.charCodeAt(0)===d,n=-1,i=!0,o=e.length-1;o>=1;--o)if(e.charCodeAt(o)===d){if(!i){n=o;break}}else i=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)},basename:function(e,t){void 0!==t&&f(t,"ext"),f(e,"path");var n,i=0,o=-1,r=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var s=t.length-1,a=-1;for(n=e.length-1;n>=0;--n){var u=e.charCodeAt(n);if(u===d){if(!r){i=n+1;break}}else-1===a&&(r=!1,a=n+1),s>=0&&(u===t.charCodeAt(s)?-1==--s&&(o=n):(s=-1,o=a))}return i===o?o=a:-1===o&&(o=e.length),e.slice(i,o)}for(n=e.length-1;n>=0;--n)if(e.charCodeAt(n)===d){if(!r){i=n+1;break}}else-1===o&&(r=!1,o=n+1);return-1===o?"":e.slice(i,o)},extname:function(e){f(e,"path");for(var t=-1,n=0,i=-1,o=!0,r=0,s=e.length-1;s>=0;--s){var a=e.charCodeAt(s);if(a!==d)-1===i&&(o=!1,i=s+1),a===c?-1===t?t=s:1!==r&&(r=1):-1!==t&&(r=-1);else if(!o){n=s+1;break}}return-1===t||-1===i||0===r||1===r&&t===i-1&&t===n+1?"":e.slice(t,i)},format:function(e){if(null===e||"object"!=typeof e)throw new p("pathObject","Object",e);return y("/",e)},parse:function(e){f(e,"path");var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var n,i=e.charCodeAt(0)===d;i?(t.root="/",n=1):n=0;for(var o=-1,r=0,s=-1,a=!0,u=e.length-1,l=0;u>=n;--u){var h=e.charCodeAt(u);if(h!==d)-1===s&&(a=!1,s=u+1),h===c?-1===o?o=u:1!==l&&(l=1):-1!==o&&(l=-1);else if(!a){r=u+1;break}}return-1===o||-1===s||0===l||1===l&&o===s-1&&o===r+1?-1!==s&&(t.base=t.name=0===r&&i?e.slice(1,s):e.slice(r,s)):(0===r&&i?(t.name=e.slice(1,o),t.base=e.slice(1,s)):(t.name=e.slice(r,o),t.base=e.slice(r,s)),t.ext=e.slice(o,s)),r>0?t.dir=e.slice(0,r-1):i&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};C.win32=b.win32=b,C.posix=b.posix=C;var w="win32"===o.c?b.normalize:C.normalize,S="win32"===o.c?b.join:C.join,L="win32"===o.c?b.relative:C.relative,O="win32"===o.c?b.dirname:C.dirname,E="win32"===o.c?b.basename:C.basename,N="win32"===o.c?b.extname:C.extname,x="win32"===o.c?b.sep:C.sep},"03Zz":function(e,t,n){"use strict";n.d(t,"a",function(){return y}),n.d(t,"c",function(){return b}),n.d(t,"b",function(){return C}),t.j=w,t.e=function(e,t){w(e,function(e,n){var i=n.resource,o=n.position;if(!(i instanceof s.a))throw Object(r.b)("resource");if(!u.a.isIPosition(o))throw Object(r.b)("position");var a=e.get(l.a).getModel(i);if(a){var d=u.a.lift(o);return t(a,d,n)}return e.get(c.a).createModelReference(i).then(function(e){return new Promise(function(i,r){try{var s=t(e.object.textEditorModel,u.a.lift(o),n);i(s)}catch(e){r(e)}}).finally(function(){e.dispose()})})})},t.g=function(e){return S.INSTANCE.registerEditorCommand(e),e},t.f=function(e){S.INSTANCE.registerEditorAction(new e)},t.i=function(e){S.INSTANCE.registerEditorAction(e)},t.h=function(e){S.INSTANCE.registerEditorContribution(e)},n.d(t,"d",function(){return o});var i,o,r=n("zxiH"),s=n("mrx5"),a=n("vORD"),u=n("artP"),l=n("jIdl"),c=n("B/Xy"),d=n("C3c5"),h=n("ItKl"),p=n("7g0X"),f=n("Kx4b"),g=n("RWr8"),m=n("3ciN"),_=n("KIxu"),v=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),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&&d.c.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.a.and(t,this.precondition):this.precondition),f.a.registerCommandAndKeybindingRule({id:this.id,handler:function(t,n){return e.runCommand(t,n)},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 h.a.registerCommand({id:this.id,handler:function(t,n){return e.runCommand(t,n)},description:this._description})},e}(),b=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return v(t,e),t.bindToContribution=function(e){return function(t){function n(e){var n=t.call(this,e)||this;return n._callback=e.handler,n}return v(n,t),n.prototype.runEditorCommand=function(t,n,i){e(n)&&this._callback(e(n),i)},n}(t)},t.prototype.runCommand=function(e,t){var n=this,i=e.get(a.a),o=i.getFocusedCodeEditor()||i.getActiveCodeEditor();if(o)return o.invokeWithinContext(function(e){if(e.get(p.c).contextMatchesRules(Object(_.m)(n.precondition)))return n.runEditorCommand(e,o,t)})},t}(y),C=function(e){function t(t){var n=e.call(this,t)||this;return n.label=t.label,n.alias=t.alias,n.menuOpts=t.menuOpts,n}return v(t,e),t.prototype.register=function(){this.menuOpts&&d.c.appendMenuItem(7,{command:{id:this.id,title:this.label},when:p.a.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,n){return this.reportTelemetry(e,t),this.run(e,t,n||{})},t.prototype.reportTelemetry=function(e,t){e.get(m.a).publicLog2("editorActionInvoked",{name:this.label,id:this.id})},t}(b);function w(e,t){h.a.registerCommand(e,function(e,n){return t(e,n||{})})}!function(e){e.getEditorCommand=function(e){return S.INSTANCE.getEditorCommand(e)},e.getEditorActions=function(){return S.INSTANCE.getEditorActions()},e.getEditorContributions=function(){return S.INSTANCE.getEditorContributions()}}(o||(o={}));var S=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}();g.a.add("editor.contributions",S.INSTANCE)},"0Td8":function(e,t,n){"use strict";var i,o,r=n("tqet"),s=n("aL7J"),a=n("03Zz"),u=n("7VLx"),l=n("/9db"),c=n("zxiH"),d=n("Cv8t"),h=n("yO/1"),p=n("NqM+"),f=n("7/Cv"),g=n("AKCZ"),m=n("artP"),_=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),v=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},y=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},N=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}};!function(e){e.Hidden=new(function(){return function(){this.type=0}}());var t=function(){return function(e,t,n){this.actions=e,this.editorPosition=t,this.widgetPosition=n,this.type=1}}();e.Showing=t}(o||(o={}));var x,I=function(e){function t(t,n,i){var r=e.call(this)||this;return r._editor=t,r._quickFixActionId=n,r._keybindingService=i,r._onClick=r._register(new w.a),r.onClick=r._onClick.event,r._state=o.Hidden,r._domNode=document.createElement("div"),r._domNode.className="lightbulb-glyph",r._editor.addContentWidget(r),r._register(r._editor.onDidChangeModelContent(function(e){var t=r._editor.getModel();(1!==r._state.type||!t||r._state.editorPosition.lineNumber>=t.getLineCount())&&r.hide()})),r._register(f.k(r._domNode,"mousedown",function(e){if(1===r._state.type){r._editor.focus(),e.preventDefault();var t=f.x(r._domNode),n=t.top,i=t.height,o=r._editor.getConfiguration().lineHeight,s=Math.floor(o/3);null!==r._state.widgetPosition.position&&r._state.widgetPosition.position.lineNumber2&&i._editor.getTopForLineNumber(e)===i._editor.getTopForLineNumber(e-1)},p=s;if(!(r.fontInfo.spaceWidth*d>22))if(s>1&&!h(s-1))p-=1;else if(h(s+1)){if(a*r.fontInfo.spaceWidth<22)return this.hide()}else p+=1;this._state=new o.Showing(e,n,{position:{lineNumber:p,column:1},preference:t._posPref}),f.R(this._domNode,"autofixable",e.hasAutoFix),this._editor.layoutContentWidget(this)},Object.defineProperty(t.prototype,"title",{set:function(e){this._domNode.title=e},enumerable:!0,configurable:!0}),t.prototype.hide=function(){this._state=o.Hidden,this._editor.layoutContentWidget(this)},t.prototype._updateLightBulbTitle=function(){var e,t=this._keybindingService.lookupKeybinding(this._quickFixActionId);e=t?L.a("quickFixWithKb","Show Fixes ({0})",t.getLabel()):L.a("quickFix","Show Fixes"),this.title=e},t._posPref=[0],t=E([N(2,p.a)],t)}(r.a),D=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),k=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},T=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},M=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},R=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]0))return[3,9];if(1!==e.trigger.autoApply&&(0!==e.trigger.autoApply||1!==t.actions.length))return[3,9];i.label=5;case 5:return i.trys.push([5,,7,8]),[4,this.delegate.applyCodeAction(t.actions[0],!1)];case 6:return i.sent(),[3,8];case 7:return t.dispose(),[7];case 8:return[2];case 9:return this._activeCodeActions.value=t,this._codeActionWidget.show(t,e.position),[3,11];case 10:this._codeActionWidget.isVisible?t.dispose():this._activeCodeActions.value=t,i.label=11;case 11:return[2]}})})},t.prototype.showCodeActionList=function(e,t){return M(this,void 0,void 0,function(){return R(this,function(n){return this._codeActionWidget.show(e,t),[2]})})},t.prototype._handleLightBulbSelect=function(e){this._codeActionWidget.show(e.actions,e)},t=k([T(3,h.a),T(4,p.a)],t)}(r.a),P=n("ItKl"),F=n("7g0X"),W=n("OHx0"),j=n("DBt1"),V=n("odeJ"),B=n("vTy2"),H=n("PCC9"),z=n("OBuU"),U=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),K=new F.d("supportedCodeAction",""),q=function(e){function t(t,n,i,o){void 0===o&&(o=250);var r=e.call(this)||this;return r._editor=t,r._markerService=n,r._signalChange=i,r._delay=o,r._autoTriggerTimer=r._register(new V.e),r._register(r._markerService.onMarkerChanged(function(e){return r._onMarkerChanges(e)})),r._register(r._editor.onDidChangeCursorPosition(function(){return r._onCursorChange()})),r}return U(t,e),t.prototype.trigger=function(e){var t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);return this._createEventAndSignalChange(e,t)},t.prototype._onMarkerChanges=function(e){var t=this,n=this._editor.getModel();n&&e.some(function(e){return e.toString()===n.uri.toString()})&&this._autoTriggerTimer.cancelAndSet(function(){t.trigger({type:"auto"})},this._delay)},t.prototype._onCursorChange=function(){var e=this;this._autoTriggerTimer.cancelAndSet(function(){e.trigger({type:"auto"})},this._delay)},t.prototype._getRangeOfMarker=function(e){var t=this._editor.getModel();if(t)for(var n=0,i=this._markerService.read({resource:t.uri});n=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},J=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Q=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},$=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=0;t--)this.editOperations[t]={operations:e.applyEdits(this.editOperations[t].operations)}},e.prototype.redo=function(e){for(var t=0;t0){var e=this.past.pop();try{e.undo(this.model)}catch(e){return Object(i.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||null!==this.currentOpenStackElement},e.prototype.redo=function(){if(this.future.length>0){var e=this.future.pop();try{e.redo(this.model)}catch(e){return Object(i.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}(),_=function(){return function(){this.spacesDiff=0,this.looksLikeAlignment=!1}}();function v(e,t,n,i,o){var r;for(o.spacesDiff=0,o.looksLikeAlignment=!1,r=0;r0&&a>0||l>0&&c>0)){var d=Math.abs(a-c),h=Math.abs(s-l);if(0===d)return o.spacesDiff=h,void(h>0&&0<=l-1&&l-10?o++:m>1&&r++,v(s,a,h,g,l),!l.looksLikeAlignment||n&&t===l.spacesDiff)){var S=l.spacesDiff;S<=8&&u[S]++,s=h,a=g}}var L=n;o!==r&&(L=oE&&(E=t,O=e)}),4===O&&u[4]>0&&u[2]>0&&u[2]>=u[4]/2&&(O=2)}return{insertSpaces:L,tabSize:O}}function b(e){return(1&e.metadata)>>>0}function C(e,t){e.metadata=254&e.metadata|t<<0}function w(e){return(2&e.metadata)>>>1==1}function S(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function L(e){return(4&e.metadata)>>>2==1}function O(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function E(e){return(8&e.metadata)>>>3==1}function N(e,t){e.metadata=247&e.metadata|(t?1:0)<<3}function x(e,t){e.metadata=207&e.metadata|t<<4}function I(e,t){e.metadata=191&e.metadata|(t?1:0)<<6}var D=function(){function e(e,t,n){this.metadata=0,this.parent=this,this.left=this,this.right=this,C(this,1),this.start=t,this.end=n,this.delta=0,this.maxEnd=n,this.id=e,this.ownerId=0,this.options=null,O(this,!1),x(this,1),N(this,!1),I(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=null,S(this,!1)}return e.prototype.reset=function(e,t,n,i){this.start=t,this.end=n,this.maxEnd=n,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=i},e.prototype.setOptions=function(e){this.options=e;var t=this.options.className;O(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),x(this,this.options.stickiness),N(this,!(!this.options.overviewRuler||!this.options.overviewRuler.color)),I(this,this.options.collapseOnReplaceEdit)},e.prototype.setCachedOffsets=function(e,t,n){this.cachedVersionId!==n&&(this.range=null),this.cachedVersionId=n,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t},e.prototype.detach=function(){this.parent=null,this.left=null,this.right=null},e}(),k=new D(null,0,0);k.parent=k,k.left=k,k.right=k,C(k,0);var T=function(){function e(){this.root=k,this.requestNormalizeDelta=!1}return e.prototype.intervalSearch=function(e,t,n,i,o){return this.root===k?[]:function(e,t,n,i,o,r){var s=e.root,a=0,u=0,l=0,c=[],d=0;for(;s!==k;)if(w(s))S(s.left,!1),S(s.right,!1),s===s.parent.right&&(a-=s.parent.delta),s=s.parent;else{if(!w(s.left)){if(a+s.maxEndn)S(s,!0);else{if((l=a+s.end)>=t){s.setCachedOffsets(u,l,r);var h=!0;i&&s.ownerId&&s.ownerId!==i&&(h=!1),o&&L(s)&&(h=!1),h&&(c[d++]=s)}S(s,!0),s.right===k||w(s.right)||(a+=s.delta,s=s.right)}}return S(e.root,!1),c}(this,e,t,n,i,o)},e.prototype.search=function(e,t,n){return this.root===k?[]:function(e,t,n,i){var o=e.root,r=0,s=0,a=0,u=[],l=0;for(;o!==k;)if(w(o))S(o.left,!1),S(o.right,!1),o===o.parent.right&&(r-=o.parent.delta),o=o.parent;else if(o.left===k||w(o.left)){s=r+o.start,a=r+o.end,o.setCachedOffsets(s,a,i);var c=!0;t&&o.ownerId&&o.ownerId!==t&&(c=!1),n&&L(o)&&(c=!1),c&&(u[l++]=o),S(o,!0),o.right===k||w(o.right)||(r+=o.delta,o=o.right)}else o=o.left;return S(e.root,!1),u}(this,e,t,n)},e.prototype.collectNodesFromOwner=function(e){return function(e,t){var n=e.root,i=[],o=0;for(;n!==k;)w(n)?(S(n.left,!1),S(n.right,!1),n=n.parent):n.left===k||w(n.left)?(n.ownerId===t&&(i[o++]=n),S(n,!0),n.right===k||w(n.right)||(n=n.right)):n=n.left;return S(e.root,!1),i}(this,e)},e.prototype.collectNodesPostOrder=function(){return function(e){var t=e.root,n=[],i=0;for(;t!==k;)w(t)?(S(t.left,!1),S(t.right,!1),t=t.parent):t.left===k||w(t.left)?t.right===k||w(t.right)?(n[i++]=t,S(t,!0)):t=t.right:t=t.left;return S(e.root,!1),n}(this)},e.prototype.insert=function(e){A(this,e),this._normalizeDeltaIfNecessary()},e.prototype.delete=function(e){P(this,e),this._normalizeDeltaIfNecessary()},e.prototype.resolveNode=function(e,t){for(var n=e,i=0;e!==this.root;)e===e.parent.right&&(i+=e.parent.delta),e=e.parent;var o=n.start+i,r=n.end+i;n.setCachedOffsets(o,r,t)},e.prototype.acceptReplace=function(e,t,n,i){for(var o=function(e,t,n){var i=e.root,o=0,r=0,s=0,a=[],u=0;for(;i!==k;)if(w(i))S(i.left,!1),S(i.right,!1),i===i.parent.right&&(o-=i.parent.delta),i=i.parent;else{if(!w(i.left)){if(o+i.maxEndn?S(i,!0):((s=o+i.end)>=t&&(i.setCachedOffsets(r,s,0),a[u++]=i),S(i,!0),i.right===k||w(i.right)||(o+=i.delta,i=i.right))}return S(e.root,!1),a}(this,e,e+t),r=0,s=o.length;rn?(o.start+=s,o.end+=s,o.delta+=s,(o.delta<-1073741824||o.delta>1073741824)&&(e.requestNormalizeDelta=!0),S(o,!0)):(S(o,!0),o.right===k||w(o.right)||(r+=o.delta,o=o.right))}S(e.root,!1)}(this,e,e+t,n),this._normalizeDeltaIfNecessary();for(r=0,s=o.length;rn)&&(1!==i&&(2===i||t))}function R(e,t,n,i,o){var r=function(e){return(48&e.metadata)>>>4}(e),s=0===r||2===r,a=1===r||2===r,u=n-t,l=i,c=Math.min(u,l),d=e.start,h=!1,p=e.end,f=!1;t<=d&&p<=n&&function(e){return(64&e.metadata)>>>6==1}(e)&&(e.start=t,h=!0,e.end=t,f=!0);var g=o?1:u>0?2:0;if(!h&&M(d,s,t,g)&&(h=!0),!f&&M(p,a,t,g)&&(f=!0),c>0&&!o){g=u>l?2:0;!h&&M(d,s,t+c,g)&&(h=!0),!f&&M(p,a,t+c,g)&&(f=!0)}g=o?1:0;!h&&M(d,s,n,g)&&(e.start=t+l,h=!0),!f&&M(p,a,n,g)&&(e.end=t+l,f=!0);var m=l-u;h||(e.start=Math.max(0,d+m)),f||(e.end=Math.max(0,p+m)),e.start>e.end&&(e.end=e.start)}function A(e,t){if(e.root===k)return t.parent=k,t.left=k,t.right=k,C(t,0),e.root=t,e.root;!function(e,t){var n=0,i=e.root,o=t.start,r=t.end;for(;;){var s=z(o,r,i.start+n,i.end+n);if(s<0){if(i.left===k){t.start-=n,t.end-=n,t.maxEnd-=n,i.left=t;break}i=i.left}else{if(i.right===k){t.start-=n+i.delta,t.end-=n+i.delta,t.maxEnd-=n+i.delta,i.right=t;break}n+=i.delta,i=i.right}}t.parent=i,t.left=k,t.right=k,C(t,1)}(e,t),H(t.parent);for(var n=t;n!==e.root&&1===b(n.parent);){var i;if(n.parent===n.parent.parent.left)1===b(i=n.parent.parent.right)?(C(n.parent,0),C(i,0),C(n.parent.parent,1),n=n.parent.parent):(n===n.parent.right&&W(e,n=n.parent),C(n.parent,0),C(n.parent.parent,1),j(e,n.parent.parent));else 1===b(i=n.parent.parent.left)?(C(n.parent,0),C(i,0),C(n.parent.parent,1),n=n.parent.parent):(n===n.parent.left&&j(e,n=n.parent),C(n.parent,0),C(n.parent.parent,1),W(e,n.parent.parent))}return C(e.root,0),t}function P(e,t){var n,i;if(t.left===k?(i=t,(n=t.right).delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta):t.right===k?(n=t.left,i=t):((n=(i=function(e){for(;e.left!==k;)e=e.left;return e}(t.right)).right).start+=i.delta,n.end+=i.delta,n.delta+=i.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta,i.delta=t.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0)),i===e.root)return e.root=n,C(n,0),t.detach(),F(),B(n),void(e.root.parent=k);var o,r=1===b(i);if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?n.parent=i.parent:(i.parent===t?n.parent=i:n.parent=i.parent,i.left=t.left,i.right=t.right,i.parent=t.parent,C(i,b(t)),t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==k&&(i.left.parent=i),i.right!==k&&(i.right.parent=i)),t.detach(),r)return H(n.parent),i!==t&&(H(i),H(i.parent)),void F();for(H(n),H(n.parent),i!==t&&(H(i),H(i.parent));n!==e.root&&0===b(n);)n===n.parent.left?(1===b(o=n.parent.right)&&(C(o,0),C(n.parent,1),W(e,n.parent),o=n.parent.right),0===b(o.left)&&0===b(o.right)?(C(o,1),n=n.parent):(0===b(o.right)&&(C(o.left,0),C(o,1),j(e,o),o=n.parent.right),C(o,b(n.parent)),C(n.parent,0),C(o.right,0),W(e,n.parent),n=e.root)):(1===b(o=n.parent.left)&&(C(o,0),C(n.parent,1),j(e,n.parent),o=n.parent.left),0===b(o.left)&&0===b(o.right)?(C(o,1),n=n.parent):(0===b(o.left)&&(C(o.right,0),C(o,1),W(e,o),o=n.parent.left),C(o,b(n.parent)),C(n.parent,0),C(o.left,0),j(e,n.parent),n=e.root));C(n,0),F()}function F(){k.parent=k,k.delta=0,k.start=0,k.end=0}function W(e,t){var n=t.right;n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta,t.right=n.left,n.left!==k&&(n.left.parent=t),n.parent=t.parent,t.parent===k?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n,B(t),B(n)}function j(e,t){var n=t.left;t.delta-=n.delta,(t.delta<-1073741824||t.delta>1073741824)&&(e.requestNormalizeDelta=!0),t.start-=n.delta,t.end-=n.delta,t.left=n.right,n.right!==k&&(n.right.parent=t),n.parent=t.parent,t.parent===k?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n,B(t),B(n)}function V(e){var t=e.end;if(e.left!==k){var n=e.left.maxEnd;n>t&&(t=n)}if(e.right!==k){var i=e.right.maxEnd+e.delta;i>t&&(t=i)}return t}function B(e){e.maxEnd=V(e)}function H(e){for(;e!==k;){var t=V(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}function z(e,t,n,i){return e===n?t-i:e-n}var U=function(){function e(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}return e.prototype.next=function(){if(this.right!==K)return q(this.right);for(var e=this;e.parent!==K&&e.parent.left!==e;)e=e.parent;return e.parent===K?K:e.parent},e.prototype.prev=function(){if(this.left!==K)return G(this.left);for(var e=this;e.parent!==K&&e.parent.right!==e;)e=e.parent;return e.parent===K?K:e.parent},e.prototype.detach=function(){this.parent=null,this.left=null,this.right=null},e}(),K=new U(null,0);function q(e){for(;e.left!==K;)e=e.left;return e}function G(e){for(;e.right!==K;)e=e.right;return e}function Z(e){return e===K?0:e.size_left+e.piece.length+Z(e.right)}function Y(e){return e===K?0:e.lf_left+e.piece.lineFeedCnt+Y(e.right)}function X(){K.parent=K}function J(e,t){var n=t.right;n.size_left+=t.size_left+(t.piece?t.piece.length:0),n.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=n.left,n.left!==K&&(n.left.parent=t),n.parent=t.parent,t.parent===K?e.root=n:t.parent.left===t?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n}function Q(e,t){var n=t.left;t.left=n.right,n.right!==K&&(n.right.parent=t),n.parent=t.parent,t.size_left-=n.size_left+(n.piece?n.piece.length:0),t.lf_left-=n.lf_left+(n.piece?n.piece.lineFeedCnt:0),t.parent===K?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n}function $(e,t){var n,i;if(n=t.left===K?(i=t).right:t.right===K?(i=t).left:(i=q(t.right)).right,i===e.root)return e.root=n,n.color=0,t.detach(),X(),void(e.root.parent=K);var o=1===i.color;if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?(n.parent=i.parent,ne(e,n)):(i.parent===t?n.parent=i:n.parent=i.parent,ne(e,n),i.left=t.left,i.right=t.right,i.parent=t.parent,i.color=t.color,t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==K&&(i.left.parent=i),i.right!==K&&(i.right.parent=i),i.size_left=t.size_left,i.lf_left=t.lf_left,ne(e,i)),t.detach(),n.parent.left===n){var r=Z(n),s=Y(n);if(r!==n.parent.size_left||s!==n.parent.lf_left){var a=r-n.parent.size_left,u=s-n.parent.lf_left;n.parent.size_left=r,n.parent.lf_left=s,te(e,n.parent,a,u)}}if(ne(e,n.parent),o)X();else{for(var l;n!==e.root&&0===n.color;)n===n.parent.left?(1===(l=n.parent.right).color&&(l.color=0,n.parent.color=1,J(e,n.parent),l=n.parent.right),0===l.left.color&&0===l.right.color?(l.color=1,n=n.parent):(0===l.right.color&&(l.left.color=0,l.color=1,Q(e,l),l=n.parent.right),l.color=n.parent.color,n.parent.color=0,l.right.color=0,J(e,n.parent),n=e.root)):(1===(l=n.parent.left).color&&(l.color=0,n.parent.color=1,Q(e,n.parent),l=n.parent.left),0===l.left.color&&0===l.right.color?(l.color=1,n=n.parent):(0===l.left.color&&(l.right.color=0,l.color=1,J(e,l),l=n.parent.left),l.color=n.parent.color,n.parent.color=0,l.left.color=0,Q(e,n.parent),n=e.root));n.color=0,X()}}function ee(e,t){for(ne(e,t);t!==e.root&&1===t.parent.color;){var n;if(t.parent===t.parent.parent.left)1===(n=t.parent.parent.right).color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&J(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,Q(e,t.parent.parent));else 1===(n=t.parent.parent.left).color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&Q(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,J(e,t.parent.parent))}e.root.color=0}function te(e,t,n,i){for(;t!==e.root&&t!==K;)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}function ne(e,t){var n=0,i=0;if(t!==e.root){if(0===n){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t===e.root)return;n=Z((t=t.parent).left)-t.size_left,i=Y(t.left)-t.lf_left,t.size_left+=n,t.lf_left+=i}for(;t!==e.root&&(0!==n||0!==i);)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}}K.parent=K,K.left=K,K.right=K,K.color=0;var ie=n("IErJ");function oe(e){var t;return(t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length)).set(e,0),t}var re=function(){return function(e,t,n,i,o){this.lineStarts=e,this.cr=t,this.lf=n,this.crlf=i,this.isBasicASCII=o}}();function se(e,t){void 0===t&&(t=!0);for(var n=[0],i=1,o=0,r=e.length;o=0;t--){var n=this._cache[t];if(n.nodeStartOffset<=e&&n.nodeStartOffset+n.node.piece.length>=e)return n}return null},e.prototype.get2=function(e){for(var t=this._cache.length-1;t>=0;t--){var n=this._cache[t];if(n.nodeStartLineNumber&&n.nodeStartLineNumber=e)return n}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,n=this._cache,i=0;i=e)&&(n[i]=null,t=!0)}if(t){for(var r=[],s=0,a=n;s0){e[o].lineStarts||(e[o].lineStarts=se(e[o].buffer));var s=new ae(o+1,{line:0,column:0},{line:e[o].lineStarts.length-1,column:e[o].buffer.length-e[o].lineStarts[e[o].lineStarts.length-1]},e[o].lineStarts.length-1,e[o].buffer.length);this._buffers.push(e[o]),i=this.rbInsertRight(i,s)}this._searchCache=new le(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()},e.prototype.normalizeEOL=function(e){var t=this,n=65535-Math.floor(21845),i=2*n,o="",r=0,s=[];if(this.iterate(this.root,function(a){var u=t.getNodeContent(a),l=u.length;if(r<=n||r+l0){var a=o.replace(/\r\n|\r|\n/g,e);s.push(new ue(a,se(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 n=0,i=this.root;i!==K;)if(i.left!==K&&i.lf_left+1>=e)i=i.left;else{if(i.lf_left+i.piece.lineFeedCnt+1>=e)return(n+=i.size_left)+(this.getAccumulatedValue(i,e-i.lf_left-2)+t-1);e-=i.lf_left+i.piece.lineFeedCnt,n+=i.size_left+i.piece.length,i=i.right}return n},e.prototype.getPositionAt=function(e){e=Math.floor(e),e=Math.max(0,e);for(var t=this.root,n=0,i=e;t!==K;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){var o=this.getIndexOf(t,e-t.size_left);if(n+=t.lf_left+o.index,0===o.index){var r=i-this.getOffsetAt(n+1,1);return new l.a(n+1,r+1)}return new l.a(n+1,o.remainder+1)}if(e-=t.size_left+t.piece.length,n+=t.lf_left+t.piece.lineFeedCnt,t.right===K){r=i-e-this.getOffsetAt(n+1,1);return new l.a(n+1,r+1)}t=t.right}return new l.a(1,1)},e.prototype.getValueInRange=function(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";var n=this.nodeAt2(e.startLineNumber,e.startColumn),i=this.nodeAt2(e.endLineNumber,e.endColumn),o=this.getValueInRange2(n,i);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?o:o.replace(/\r\n|\r|\n/g,t):o},e.prototype.getValueInRange2=function(e,t){if(e.node===t.node){var n=e.node,i=this._buffers[n.piece.bufferIndex].buffer,o=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i.substring(o+e.remainder,o+t.remainder)}var r=e.node,s=this._buffers[r.piece.bufferIndex].buffer,a=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start),u=s.substring(a+e.remainder,a+r.piece.length);for(r=r.next();r!==K;){var l=this._buffers[r.piece.bufferIndex].buffer,c=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start);if(r===t.node){u+=l.substring(c,c+t.remainder);break}u+=l.substr(c,r.piece.length),r=r.next()}return u},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 n=this.nodeAt2(e,t+1);if(n.remainder===n.node.piece.length){var i=n.node.next();if(!i)return 0;var o=this._buffers[i.piece.bufferIndex],r=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return o.buffer.charCodeAt(r)}o=this._buffers[n.node.piece.bufferIndex];var s=(r=this.offsetInBuffer(n.node.piece.bufferIndex,n.node.piece.start))+n.remainder;return o.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,n,i,o,r,s,a,u,l,d){var h,p=this._buffers[e.piece.bufferIndex],f=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start),g=this.offsetInBuffer(e.piece.bufferIndex,o),m=this.offsetInBuffer(e.piece.bufferIndex,r);t.reset(g);var _={line:0,column:0};do{if(h=t.next(p.buffer)){if(h.index>=m)return l;this.positionInBuffer(e,h.index-f,_);var v=this.getLineFeedCnt(e.piece.bufferIndex,o,_),y=_.line===o.line?_.column-o.column+i:_.column+1,b=y+h[0].length;if(d[l++]=Object(ie.d)(new c.a(n+v,y,n+v,b),h,a),h.index+h[0].length>=m)return l;if(l>=u)return l}}while(h);return l},e.prototype.findMatchesLineByLine=function(e,t,n,i){var o=[],r=0,s=new ie.b(t.wordSeparators,t.regex),a=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===a)return[];var u=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===u)return[];var l=this.positionInBuffer(a.node,a.remainder),c=this.positionInBuffer(u.node,u.remainder);if(a.node===u.node)return this.findMatchesInNode(a.node,s,e.startLineNumber,e.startColumn,l,c,t,n,i,r,o),o;for(var d=e.startLineNumber,h=a.node;h!==u.node;){var p=this.getLineFeedCnt(h.piece.bufferIndex,l,h.piece.end);if(p>=1){var f=this._buffers[h.piece.bufferIndex].lineStarts,g=this.offsetInBuffer(h.piece.bufferIndex,h.piece.start),m=f[l.line+p],_=d===e.startLineNumber?e.startColumn:1;if((r=this.findMatchesInNode(h,s,d,_,l,this.positionInBuffer(h,m-g),t,n,i,r,o))>=i)return o;d+=p}var v=d===e.startLineNumber?e.startColumn-1:0;if(d===e.endLineNumber){var y=this.getLineContent(d).substring(v,e.endColumn-1);return r=this._findMatchesInLine(t,s,y,e.endLineNumber,v,r,o,n,i),o}if((r=this._findMatchesInLine(t,s,this.getLineContent(d).substr(v),d,v,r,o,n,i))>=i)return o;d++,h=(a=this.nodeAt2(d,1)).node,l=this.positionInBuffer(a.node,a.remainder)}if(d===e.endLineNumber){var b=d===e.startLineNumber?e.startColumn-1:0;y=this.getLineContent(d).substring(b,e.endColumn-1);return r=this._findMatchesInLine(t,s,y,e.endLineNumber,b,r,o,n,i),o}var C=d===e.startLineNumber?e.startColumn:1;return r=this.findMatchesInNode(u.node,s,d,C,l,c,t,n,i,r,o),o},e.prototype._findMatchesInLine=function(e,t,n,i,o,r,s,a,u){var l,d=e.wordSeparators;if(!a&&e.simpleSearch){for(var p=e.simpleSearch,f=p.length,g=n.length,m=-f;-1!==(m=n.indexOf(p,m+f));)if((!d||Object(ie.e)(d,n,g,m,f))&&(s[r++]=new h.b(new c.a(i,m+1+o,i,m+1+f+o),null),r>=u))return r;return r}t.reset(0);do{if((l=t.next(n))&&(s[r++]=Object(ie.d)(new c.a(i,l.index+1+o,i,l.index+1+l[0].length+o),l,a),r>=u))return r}while(l);return r},e.prototype.insert=function(e,t,n){if(void 0===n&&(n=!1),this._EOLNormalized=this._EOLNormalized&&n,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==K){var i=this.nodeAt(e),o=i.node,r=i.remainder,s=i.nodeStartOffset,a=o.piece,u=a.bufferIndex,l=this.positionInBuffer(o,r);if(0===o.piece.bufferIndex&&a.end.line===this._lastChangeBufferPos.line&&a.end.column===this._lastChangeBufferPos.column&&s+a.length===e&&t.length<65535)return this.appendToNode(o,t),void this.computeBufferMetadata();if(s===e)this.insertContentToNodeLeft(t,o),this._searchCache.valdiate(e);else if(s+o.piece.length>e){var c=[],d=new ae(a.bufferIndex,l,a.end,this.getLineFeedCnt(a.bufferIndex,l,a.end),this.offsetInBuffer(u,a.end)-this.offsetInBuffer(u,l));if(this.shouldCheckCRLF()&&this.endWithCR(t))if(10===this.nodeCharCodeAt(o,r)){var h={line:d.start.line+1,column:0};d=new ae(d.bufferIndex,h,d.end,this.getLineFeedCnt(d.bufferIndex,h,d.end),d.length-1),t+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(13===this.nodeCharCodeAt(o,r-1)){var p=this.positionInBuffer(o,r-1);this.deleteNodeTail(o,p),t="\r"+t,0===o.piece.length&&c.push(o)}else this.deleteNodeTail(o,l);else this.deleteNodeTail(o,l);var f=this.createNewPieces(t);d.length>0&&this.rbInsertRight(o,d);for(var g=o,m=0;m=0;u--)a=this.rbInsertLeft(a,s[u]);this.validateCRLFWithPrevNode(a),this.deleteNodes(n)},e.prototype.insertContentToNodeRight=function(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");for(var n=this.createNewPieces(e),i=this.rbInsertRight(t,n[0]),o=i,r=1;r=c))break;a=l+1}return n?(n.line=l,n.column=s-d,null):{line:l,column:s-d}},e.prototype.getLineFeedCnt=function(e,t,n){if(0===n.column)return n.line-t.line;var i=this._buffers[e].lineStarts;if(n.line===i.length-1)return n.line-t.line;var o=i[n.line+1],r=i[n.line]+n.column;if(o>r+1)return n.line-t.line;var s=r-1;return 13===this._buffers[e].buffer.charCodeAt(s)?n.line-t.line+1:n.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;t65535){for(var t=[];e.length>65535;){var n=e.charCodeAt(65534),i=void 0;13===n||n>=55296&&n<=56319?(i=e.substring(0,65534),e=e.substring(65534)):(i=e.substring(0,65535),e=e.substring(65535));var o=se(i);t.push(new ae(this._buffers.length,{line:0,column:0},{line:o.length-1,column:i.length-o[o.length-1]},o.length-1,i.length)),this._buffers.push(new ue(i,o))}var r=se(e);return t.push(new ae(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 ue(e,r)),t}var s=this._buffers[0].buffer.length,a=se(e,!1),u=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},u=this._lastChangeBufferPos;for(var l=0;l=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){r=this.getAccumulatedValue(n,e-n.lf_left-2),u=this.getAccumulatedValue(n,e-n.lf_left-1),s=this._buffers[n.piece.bufferIndex].buffer,a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return l+=n.size_left,this._searchCache.set({node:n,nodeStartOffset:l,nodeStartLineNumber:c-(e-1-n.lf_left)}),s.substring(a+r,a+u-t)}if(n.lf_left+n.piece.lineFeedCnt===e-1){r=this.getAccumulatedValue(n,e-n.lf_left-2),s=this._buffers[n.piece.bufferIndex].buffer,a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i=s.substring(a+r,a+n.piece.length);break}e-=n.lf_left+n.piece.lineFeedCnt,l+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==K;){s=this._buffers[n.piece.bufferIndex].buffer;if(n.piece.lineFeedCnt>0){u=this.getAccumulatedValue(n,0),a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i+=s.substring(a,a+u-t)}a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i+=s.substr(a,n.piece.length),n=n.next()}return i},e.prototype.computeBufferMetadata=function(){for(var e=this.root,t=1,n=0;e!==K;)t+=e.lf_left+e.piece.lineFeedCnt,n+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=n,this._searchCache.valdiate(this._length)},e.prototype.getIndexOf=function(e,t){var n=e.piece,i=this.positionInBuffer(e,t),o=i.line-n.start.line;if(this.offsetInBuffer(n.bufferIndex,n.end)-this.offsetInBuffer(n.bufferIndex,n.start)===t){var r=this.getLineFeedCnt(e.piece.bufferIndex,n.start,i);if(r!==o)return{index:r,remainder:0}}return{index:o,remainder:i.column}},e.prototype.getAccumulatedValue=function(e,t){if(t<0)return 0;var n=e.piece,i=this._buffers[n.bufferIndex].lineStarts,o=n.start.line+t+1;return o>n.end.line?i[n.end.line]+n.end.column-i[n.start.line]-n.start.column:i[o]-i[n.start.line]-n.start.column},e.prototype.deleteNodeTail=function(e,t){var n=e.piece,i=n.lineFeedCnt,o=this.offsetInBuffer(n.bufferIndex,n.end),r=t,s=this.offsetInBuffer(n.bufferIndex,r),a=this.getLineFeedCnt(n.bufferIndex,n.start,r),u=a-i,l=s-o,c=n.length+l;e.piece=new ae(n.bufferIndex,n.start,r,a,c),te(this,e,l,u)},e.prototype.deleteNodeHead=function(e,t){var n=e.piece,i=n.lineFeedCnt,o=this.offsetInBuffer(n.bufferIndex,n.start),r=t,s=this.getLineFeedCnt(n.bufferIndex,r,n.end),a=s-i,u=o-this.offsetInBuffer(n.bufferIndex,r),l=n.length+u;e.piece=new ae(n.bufferIndex,r,n.end,s,l),te(this,e,u,a)},e.prototype.shrinkNode=function(e,t,n){var i=e.piece,o=i.start,r=i.end,s=i.length,a=i.lineFeedCnt,u=t,l=this.getLineFeedCnt(i.bufferIndex,i.start,u),c=this.offsetInBuffer(i.bufferIndex,t)-this.offsetInBuffer(i.bufferIndex,o);e.piece=new ae(i.bufferIndex,i.start,u,l,c),te(this,e,c-s,l-a);var d=new ae(i.bufferIndex,n,r,this.getLineFeedCnt(i.bufferIndex,n,r),this.offsetInBuffer(i.bufferIndex,r)-this.offsetInBuffer(i.bufferIndex,n)),h=this.rbInsertRight(e,d);this.validateCRLFWithPrevNode(h)},e.prototype.appendToNode=function(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");var n=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),i=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;for(var o=se(t,!1),r=0;re)t=t.left;else{if(t.size_left+t.piece.length>=e){i+=t.size_left;var o={node:t,remainder:e-t.size_left,nodeStartOffset:i};return this._searchCache.set(o),o}e-=t.size_left+t.piece.length,i+=t.size_left+t.piece.length,t=t.right}return null},e.prototype.nodeAt2=function(e,t){for(var n=this.root,i=0;n!==K;)if(n.left!==K&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){var o=this.getAccumulatedValue(n,e-n.lf_left-2),r=this.getAccumulatedValue(n,e-n.lf_left-1);return i+=n.size_left,{node:n,remainder:Math.min(o+t-1,r),nodeStartOffset:i}}if(n.lf_left+n.piece.lineFeedCnt===e-1){if((o=this.getAccumulatedValue(n,e-n.lf_left-2))+t-1<=n.piece.length)return{node:n,remainder:o+t-1,nodeStartOffset:i};t-=n.piece.length-o;break}e-=n.lf_left+n.piece.lineFeedCnt,i+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==K;){if(n.piece.lineFeedCnt>0){r=this.getAccumulatedValue(n,0);var s=this.offsetOfNode(n);return{node:n,remainder:Math.min(t-1,r),nodeStartOffset:s}}if(n.piece.length>=t-1)return{node:n,remainder:t-1,nodeStartOffset:this.offsetOfNode(n)};t-=n.piece.length,n=n.next()}return null},e.prototype.nodeCharCodeAt=function(e,t){if(e.piece.lineFeedCnt<1)return-1;var n=this._buffers[e.piece.bufferIndex],i=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return n.buffer.charCodeAt(i)},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===K||0===e.piece.lineFeedCnt)return!1;var t=e.piece,n=this._buffers[t.bufferIndex].lineStarts,i=t.start.line,o=n[i]+t.start.column;return i!==n.length-1&&(!(n[i+1]>o+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(o))},e.prototype.endWithCR=function(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==K&&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 n,i=[],o=this._buffers[e.piece.bufferIndex].lineStarts;n=0===e.piece.end.column?{line:e.piece.end.line-1,column:o[e.piece.end.line]-o[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 ae(e.piece.bufferIndex,e.piece.start,n,s,r),te(this,e,-1,-1),0===e.piece.length&&i.push(e);var a={line:t.piece.start.line+1,column:0},u=t.piece.length-1,l=this.getLineFeedCnt(t.piece.bufferIndex,a,t.piece.end);t.piece=new ae(t.piece.bufferIndex,a,t.piece.end,l,u),te(this,t,-1,-1),0===t.piece.length&&i.push(t);var c=this.createNewPieces("\r\n");this.rbInsertRight(e,c[0]);for(var d=0;d0){_.sort(function(e,t){return t.lineNumber-e.lineNumber}),S=[];u=0;for(var L=_.length;u0&&_[u-1].lineNumber===y)){var O=_[u].oldContent,E=this.getLineContent(y);0!==E.length&&E!==O&&-1===s.q(E)&&S.push(y)}}}return new h.a(C,w,S)},e.prototype._reduceOperations=function(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]},e.prototype._toSingleEditOperation=function(e){for(var t=!1,n=e[0].range,i=e[e.length-1].range,o=new c.a(n.startLineNumber,n.startColumn,i.endLineNumber,i.endColumn),r=n.startLineNumber,s=n.startColumn,a=[],u=0,l=e.length;u0){var h=a.lines.length,p=a.lines[0],f=a.lines[h-1];d=1===h?new c.a(u,l,u,l+p.length):new c.a(u,l,u+h-1,f.length+1)}else d=new c.a(u,l,u,l);n=d.endLineNumber,i=d.endColumn,t.push(d),o=a}return t},e._sortOpsAscending=function(e,t){var n=c.a.compareRangesUsingEnds(e.range,t.range);return 0===n?e.sortIndex-t.sortIndex:n},e._sortOpsDescending=function(e,t){var n=c.a.compareRangesUsingEnds(e.range,t.range);return 0===n?t.sortIndex-e.sortIndex:-n},e}(),he=function(){function e(e,t,n,i,o,r,s,a){this._chunks=e,this._bom=t,this._cr=n,this._lf=i,this._crlf=o,this._containsRTL=r,this._isBasicASCII=s,this._normalizeEOL=a}return e.prototype._getEOL=function(e){var t=this._cr+this._lf+this._crlf,n=this._cr+this._crlf;return 0===t?1===e?"\n":"\r\n":n>t/2?"\r\n":"\n"},e.prototype.create=function(e){var t=this._getEOL(e),n=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(var i=0,o=n.length;i=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 n=1,i=0,o=0,r=0,s=!0,a=0,u=t.length;a126)&&(s=!1)}var c=new re(oe(e),i,o,r,s);return e.length=0,c}(this._tmpLineStarts,e);this.chunks.push(new ue(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=s.h(e))},e.prototype.finish=function(e){return void 0===e&&(e=!0),this._finish(),new he(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=se(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}},e}(),fe=function(){return function(){this.changeType=1}}(),ge=function(){return function(e,t){this.changeType=2,this.lineNumber=e,this.detail=t}}(),me=function(){return function(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}(),_e=function(){return function(e,t,n){this.changeType=4,this.fromLineNumber=e,this.toLineNumber=t,this.detail=n}}(),ve=function(){return function(){this.changeType=5}}(),ye=function(){function e(e,t,n,i){this.changes=e,this.versionId=t,this.isUndoing=n,this.isRedoing=i}return e.prototype.containsEvent=function(e){for(var t=0,n=this.changes.length;t>>0}var xe=new Uint32Array(0).buffer,Ie=function(){function e(){this.tokens=[]}return e.prototype.add=function(e,t){if(this.tokens.length>0){var n=this.tokens[this.tokens.length-1];if(n.startLineNumber+n.tokens.length-1+1===e)return void n.tokens.push(t)}this.tokens.push(new De(e,[t]))},e}(),De=function(){return function(e,t){this.startLineNumber=e,this.tokens=t}}();function ke(e){return e instanceof Uint32Array?e:new Uint32Array(e)}var Te,Me=function(){function e(){this._lineTokens=[],this._len=0}return e.prototype.flush=function(){this._lineTokens=[],this._len=0},e.prototype.getTokens=function(e,t,n){var i=null;if(t1&&(o=Se.x.getLanguageId(i[1])!==e),!o)return xe}if(!i||0===i.length){var r=new Uint32Array(2);return r[0]=t,r[1]=Ne(e),r.buffer}return i[i.length-2]=t,0===i.byteOffset&&i.byteLength===i.buffer.byteLength?i.buffer:i},e.prototype._ensureLine=function(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++},e.prototype._deleteLines=function(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)},e.prototype._insertLines=function(e,t){if(0!==t){for(var n=[],i=0;i=this._len))if(t.startLineNumber!==t.endLineNumber){this._lineTokens[n]=e._deleteEnding(this._lineTokens[n],t.startColumn-1);var i=t.endLineNumber-1,o=null;i=this._len||(0!==n?(this._lineTokens[o]=e._deleteEnding(this._lineTokens[o],t.column-1),this._lineTokens[o]=e._insert(this._lineTokens[o],t.column-1,i),this._insertLines(t.lineNumber,n)):this._lineTokens[o]=e._insert(this._lineTokens[o],t.column-1,i))}},e._deleteBeginning=function(t,n){return null===t||t===xe?t:e._delete(t,0,n)},e._deleteEnding=function(t,n){if(null===t||t===xe)return t;var i=ke(t),o=i[i.length-2];return e._delete(t,n,o)},e._delete=function(e,t,n){if(null===e||e===xe||t===n)return e;var i=ke(e),o=i.length>>>1;if(0===t&&i[i.length-2]===n)return xe;var r,s,a=we.a.findIndexInTokensArray(i,t),u=a>0?i[a-1<<1]:0;if(ns&&(i[r++]=p,i[r++]=i[1+(h<<1)],s=p)}if(r===i.length)return e;var f=new Uint32Array(r);return f.set(i.subarray(0,r),0),f.buffer},e._append=function(e,t){if(t===xe)return e;if(e===xe)return t;if(null===e)return e;if(null===t)return null;var n=ke(e),i=ke(t),o=i.length>>>1,r=new Uint32Array(n.length+i.length);r.set(n,0);for(var s=n.length,a=n[n.length-2],u=0;u>>1,r=we.a.findIndexInTokensArray(i,t);r>0&&(i[r-1<<1]===t&&r--);for(var s=r;s=this._len;)this._beginState[this._len]=null,this._valid[this._len]=!1,this._len++},e.prototype._deleteLines=function(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._beginState.splice(e,t),this._valid.splice(e,t),this._len-=t)},e.prototype._insertLines=function(e,t){if(0!==t){for(var n=[],i=[],o=0;o=0;o--)this._invalidateLine(e.startLineNumber+o-1);this._acceptDeleteRange(e),this._acceptInsertText(new l.a(e.startLineNumber,e.startColumn),t)},e.prototype._acceptDeleteRange=function(e){e.startLineNumber-1>=this._len||this._deleteLines(e.startLineNumber,e.endLineNumber-e.startLineNumber)},e.prototype._acceptInsertText=function(e,t){e.lineNumber-1>=this._len||this._insertLines(e.lineNumber,t)},e}(),Pe=function(e){function t(t){var n=e.call(this)||this;return n._textModel=t,n._tokenizationStateStore=new Ae,n._revalidateTokensTimeout=-1,n._tokenizationSupport=null,n._register(Se.y.onDidChange(function(e){var t=n._textModel.getLanguageIdentifier();-1!==e.changedLanguages.indexOf(t.language)&&(n._resetTokenizationState(),n._textModel.clearTokens())})),n._register(n._textModel.onDidChangeRawContentFast(function(e){e.containsEvent(1)&&n._resetTokenizationState()})),n._register(n._textModel.onDidChangeContentFast(function(e){for(var t=0,i=e.changes.length;t20);){if(this._tokenizeOneInvalidLine(t)>=e)break}this._beginBackgroundTokenization(),this._textModel.setTokens(t.tokens)},t.prototype.tokenizeViewport=function(e,t){var n=new Ie;this._tokenizeViewport(n,e,t),this._textModel.setTokens(n.tokens)},t.prototype.reset=function(){this._resetTokenizationState(),this._textModel.clearTokens()},t.prototype.forceTokenization=function(e){var t=new Ie;this._updateTokensUntilLine(t,e),this._textModel.setTokens(t.tokens)},t.prototype.isCheapToTokenize=function(e){if(!this._tokenizationSupport)return!0;var t=this._tokenizationStateStore.invalidLineStartIndex+1;return!(e>t)&&(e0&&s>=1;s--){var a=this._textModel.getLineFirstNonWhitespaceColumn(s);if(0!==a&&a=0;s--){l=(h=Fe(u,this._tokenizationSupport,o[s],l)).endState}for(var c=t;c<=n;c++){var d=this._textModel.getLineContent(c),h=Fe(u,this._tokenizationSupport,d,l);e.add(c,h.tokens),this._tokenizationStateStore.setFakeTokens(c-1),l=h.endState}}},t}(r.a);function Fe(e,t,n,o){var r=null;if(t)try{r=t.tokenize2(n,o.clone(),0)}catch(e){Object(i.e)(e)}return r||(r=Object(Le.e)(e.id,n,o,0)),we.a.convertToEndOffset(r.tokens,n.length),r}var We=n("+jct"),je=n("Fllr"),Ve=n("Eeyw"),Be=n("iNUG"),He=n("KIxu"),ze=n("TNPA");n.d(t,"b",function(){return Ye}),n.d(t,"a",function(){return tt});var Ue=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();function Ke(e){var t=new pe;return t.acceptChunk(e),t.finish()}function qe(e,t){return("string"==typeof e?Ke(e):e).create(t)}var Ge=0,Ze=function(){throw new Error("Invalid change accessor")},Ye=function(e){function t(n,i,r,u){void 0===u&&(u=null);var l=e.call(this)||this;l._onWillDispose=l._register(new o.a),l.onWillDispose=l._onWillDispose.event,l._onDidChangeDecorations=l._register(new ot),l.onDidChangeDecorations=l._onDidChangeDecorations.event,l._onDidChangeLanguage=l._register(new o.a),l.onDidChangeLanguage=l._onDidChangeLanguage.event,l._onDidChangeLanguageConfiguration=l._register(new o.a),l.onDidChangeLanguageConfiguration=l._onDidChangeLanguageConfiguration.event,l._onDidChangeTokens=l._register(new o.a),l.onDidChangeTokens=l._onDidChangeTokens.event,l._onDidChangeOptions=l._register(new o.a),l.onDidChangeOptions=l._onDidChangeOptions.event,l._onDidChangeAttached=l._register(new o.a),l.onDidChangeAttached=l._onDidChangeAttached.event,l._eventEmitter=l._register(new rt),Ge++,l.id="$model"+Ge,l.isForSimpleWidget=i.isForSimpleWidget,l._associatedResource=void 0===u||null===u?a.a.parse("inmemory://model/"+Ge):u,l._attachedEditorCount=0,l._buffer=qe(n,i.defaultEOL),l._options=t.resolveOptions(l._buffer,i);var d=l._buffer.getLineCount(),h=l._buffer.getValueLengthInRange(new c.a(1,1,d,l._buffer.getLineLength(d)+1),0);return i.largeFileOptimizations?l._isTooLargeForTokenization=h>t.LARGE_FILE_SIZE_THRESHOLD||d>t.LARGE_FILE_LINE_COUNT_THRESHOLD:l._isTooLargeForTokenization=!1,l._isTooLargeForSyncing=h>t.MODEL_SYNC_LIMIT,l._versionId=1,l._alternativeVersionId=1,l._isDisposed=!1,l._isDisposing=!1,l._languageIdentifier=r||Le.a,l._languageRegistryListener=je.a.onDidChange(function(e){e.languageIdentifier.id===l._languageIdentifier.id&&l._onDidChangeLanguageConfiguration.fire({})}),l._instanceId=s.I(Ge),l._lastDecorationId=0,l._decorations=Object.create(null),l._decorationsTree=new Xe,l._commandManager=new m(l),l._isUndoing=!1,l._isRedoing=!1,l._trimAutoWhitespaceLines=null,l._tokens=new Me,l._tokenization=new Pe(l),l}return Ue(t,e),t.createFromString=function(e,n,i,o){return void 0===n&&(n=t.DEFAULT_CREATION_OPTIONS),void 0===i&&(i=null),void 0===o&&(o=null),new t(e,n,i,o)},t.resolveOptions=function(e,t){if(t.detectIndentation){var n=y(e,t.tabSize,t.insertSpaces);return new h.e({tabSize:n.tabSize,indentSize:n.tabSize,insertSpaces:n.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL})}return new h.e({tabSize:t.tabSize,indentSize:t.indentSize,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.onDidChangeContentFast=function(e){return this._eventEmitter.fastEvent(function(t){return e(t.contentChangedEvent)})},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._languageRegistryListener.dispose(),this._tokenization.dispose(),this._isDisposed=!0,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 be(e,t))},t.prototype.setValue=function(e){if(this._assertNotDisposed(),null!==e){var t=qe(e,this._options.defaultEOL);this.setValueFromTextBuffer(t)}},t.prototype._createContentChanged2=function(e,t,n,i,o,r,s){return{changes:[{range:e,rangeOffset:t,rangeLength:n,text:i}],eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:o,isRedoing:r,isFlush:s}},t.prototype.setValueFromTextBuffer=function(e){if(this._assertNotDisposed(),null!==e){var t=this.getFullModelRange(),n=this.getValueLengthInRange(t),i=this.getLineCount(),o=this.getLineMaxColumn(i);this._buffer=e,this._increaseVersionId(),this._tokens.flush(),this._decorations=Object.create(null),this._decorationsTree=new Xe,this._commandManager=new m(this),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new ye([new fe],this._versionId,!1,!1),this._createContentChanged2(new c.a(1,1,i,o),0,n,this.getValue(),!1,!1,!0))}},t.prototype.setEOL=function(e){this._assertNotDisposed();var t=1===e?"\r\n":"\n";if(this._buffer.getEOL()!==t){var n=this.getFullModelRange(),i=this.getValueLengthInRange(n),o=this.getLineCount(),r=this.getLineMaxColumn(o);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new ye([new ve],this._versionId,!1,!1),this._createContentChanged2(new c.a(1,1,o,r),0,i,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(),n=0,i=t.length;n0},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,n=this._buffer.getLineCount(),i=1;i<=n;i++){var o=this._buffer.getLineLength(i);o>=1e4?t+=o:e+=o}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.getFormattingOptions=function(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}},t.prototype.updateOptions=function(e){this._assertNotDisposed();var t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,n=void 0!==e.indentSize?e.indentSize:this._options.indentSize,i=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,o=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,r=new h.e({tabSize:t,indentSize:n,insertSpaces:i,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:o});if(!this._options.equals(r)){var s=this._options.createChangeEvent(r);this._options=r,this._onDidChangeOptions.fire(s)}},t.prototype.detectIndentation=function(e,t){this._assertNotDisposed();var n=y(this._buffer,t,e);this.updateOptions({insertSpaces:n.insertSpaces,tabSize:n.tabSize,indentSize:n.tabSize})},t._normalizeIndentationFromWhitespace=function(e,t,n){for(var i=0,o=0;othis.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,n,i=this._buffer.getLineCount(),o=e.startLineNumber,r=e.startColumn;if(o<1)t=1,n=1;else if(o>i)t=i,n=this.getLineMaxColumn(t);else{if(t=0|o,r<=1)n=1;else n=r>=(h=this.getLineMaxColumn(t))?h:0|r}var s,a,u=e.endLineNumber,l=e.endColumn;if(u<1)s=1,a=1;else if(u>i)s=i,a=this.getLineMaxColumn(s);else{var h;if(s=0|u,l<=1)a=1;else a=l>=(h=this.getLineMaxColumn(s))?h:0|l}return o===t&&r===n&&u===s&&l===a&&e instanceof c.a&&!(e instanceof d.a)?e:new c.a(t,n,s,a)},t.prototype._isValidPosition=function(e,t,n){if("number"!=typeof e||"number"!=typeof t)return!1;if(isNaN(e)||isNaN(t))return!1;if(e<1||t<1)return!1;if((0|e)!==e||(0|t)!==t)return!1;if(e>this._buffer.getLineCount())return!1;if(t>this.getLineMaxColumn(e))return!1;if(n&&t>1){var i=this._buffer.getLineCharCode(e,t-2);if(s.w(i))return!1}return!0},t.prototype._validatePosition=function(e,t,n){var i=Math.floor("number"!=typeof e||isNaN(e)?1:e),o=Math.floor("number"!=typeof t||isNaN(t)?1:t),r=this._buffer.getLineCount();if(i<1)return new l.a(1,1);if(i>r)return new l.a(r,this.getLineMaxColumn(r));if(o<=1)return new l.a(i,1);var a=this.getLineMaxColumn(i);if(o>=a)return new l.a(i,a);if(n){var u=this._buffer.getLineCharCode(i,o-2);if(s.w(u))return new l.a(i,o-1)}return new l.a(i,o)},t.prototype.validatePosition=function(e){return this._assertNotDisposed(),e instanceof l.a&&this._isValidPosition(e.lineNumber,e.column,!0)?e:this._validatePosition(e.lineNumber,e.column,!0)},t.prototype._isValidRange=function(e,t){var n=e.startLineNumber,i=e.startColumn,o=e.endLineNumber,r=e.endColumn;if(!this._isValidPosition(n,i,!1))return!1;if(!this._isValidPosition(o,r,!1))return!1;if(t){var a=i>1?this._buffer.getLineCharCode(n,i-2):0,u=r>1&&r<=this._buffer.getLineLength(o)?this._buffer.getLineCharCode(o,r-2):0,l=s.w(a),c=s.w(u);return!l&&!c}return!0},t.prototype.validateRange=function(e){if(this._assertNotDisposed(),e instanceof c.a&&!(e instanceof d.a)&&this._isValidRange(e,!0))return e;var t=this._validatePosition(e.startLineNumber,e.startColumn,!1),n=this._validatePosition(e.endLineNumber,e.endColumn,!1),i=t.lineNumber,o=t.column,r=n.lineNumber,a=n.column,u=o>1?this._buffer.getLineCharCode(i,o-2):0,l=a>1&&a<=this._buffer.getLineLength(r)?this._buffer.getLineCharCode(r,a-2):0,h=s.w(u),p=s.w(l);return h||p?i===r&&o===a?new c.a(i,o-1,r,a-1):h&&p?new c.a(i,o-1,r,a+1):h?new c.a(i,o-1,r,a):new c.a(i,o,r,a+1):new c.a(i,o,r,a)},t.prototype.modifyPosition=function(e,t){this._assertNotDisposed();var n=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,n)))},t.prototype.getFullModelRange=function(){this._assertNotDisposed();var e=this.getLineCount();return new c.a(1,1,e,this.getLineMaxColumn(e))},t.prototype.findMatchesLineByLine=function(e,t,n,i){return this._buffer.findMatchesLineByLine(e,t,n,i)},t.prototype.findMatches=function(e,t,n,i,o,r,s){var a;if(void 0===s&&(s=999),this._assertNotDisposed(),a=c.a.isIRange(t)?this.validateRange(t):this.getFullModelRange(),!n&&e.indexOf("\n")<0){var u=new ie.a(e,n,i,o).parseSearchRequest();return u?this.findMatchesLineByLine(a,u,r,s):[]}return ie.c.findMatches(this,new ie.a(e,n,i,o),a,r,s)},t.prototype.findNextMatch=function(e,t,n,i,o,r){this._assertNotDisposed();var s=this.validatePosition(t);if(!n&&e.indexOf("\n")<0){var a=new ie.a(e,n,i,o).parseSearchRequest();if(!a)return null;var u=this.getLineCount(),l=new c.a(s.lineNumber,s.column,u,this.getLineMaxColumn(u)),d=this.findMatchesLineByLine(l,a,r,1);return ie.c.findNextMatch(this,new ie.a(e,n,i,o),s,r),d.length>0?d[0]:(l=new c.a(1,1,s.lineNumber,this.getLineMaxColumn(s.lineNumber)),(d=this.findMatchesLineByLine(l,a,r,1)).length>0?d[0]:null)}return ie.c.findNextMatch(this,new ie.a(e,n,i,o),s,r)},t.prototype.findPreviousMatch=function(e,t,n,i,o,r){this._assertNotDisposed();var s=this.validatePosition(t);return ie.c.findPreviousMatch(this,new ie.a(e,n,i,o),s,r)},t.prototype.pushStackElement=function(){this._commandManager.pushStackElement()},t.prototype.pushEOL=function(e){if(("\n"===this.getEOL()?0:1)!==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,n){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,t,n)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t.prototype._pushEditOperations=function(e,t,n){var i=this;if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){for(var o=t.map(function(e){return{range:i.validateRange(e.range),text:e.text}}),r=!0,s=0,a=e.length;su.endLineNumber,f=u.startLineNumber>v.endLineNumber;if(!p&&!f){l=!0;break}}if(!l){r=!1;break}}if(r)for(s=0,a=this._trimAutoWhitespaceLines.length;sv.endLineNumber)&&!(g===v.startLineNumber&&v.startColumn===m&&v.isEmpty()&&y&&y.length>0&&"\n"===y.charAt(0)||g===v.startLineNumber&&1===v.startColumn&&v.isEmpty()&&y&&y.length>0&&"\n"===y.charAt(y.length-1))){_=!1;break}}_&&t.push({range:new c.a(g,1,g,m),text:null})}this._trimAutoWhitespaceLines=null}return this._commandManager.pushEditOperation(e,t,n)},t.prototype.applyEdits=function(e){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._applyEdits(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t.prototype._applyEdits=function(e){for(var t=0,n=e.length;t=0;y--){var b=p+y,C=r-u-v+b;a.push(new ge(b,this.getLineContent(C)))}if(_this.getLineCount()?[]:this.getLinesDecorations(e,e,t,n)},t.prototype.getLinesDecorations=function(e,t,n,i){void 0===n&&(n=0),void 0===i&&(i=!1);var o=this.getLineCount(),r=Math.min(o,Math.max(1,e)),s=Math.min(o,Math.max(1,t)),a=this.getLineMaxColumn(s);return this._getDecorationsInRange(new c.a(r,1,s,a),n,i)},t.prototype.getDecorationsInRange=function(e,t,n){void 0===t&&(t=0),void 0===n&&(n=!1);var i=this.validateRange(e);return this._getDecorationsInRange(i,t,n)},t.prototype.getOverviewRulerDecorations=function(e,t){void 0===e&&(e=0),void 0===t&&(t=!1);var n=this.getVersionId(),i=this._decorationsTree.search(e,t,!0,n);return this._ensureNodesHaveRanges(i)},t.prototype.getAllDecorations=function(e,t){void 0===e&&(e=0),void 0===t&&(t=!1);var n=this.getVersionId(),i=this._decorationsTree.search(e,t,!1,n);return this._ensureNodesHaveRanges(i)},t.prototype._getDecorationsInRange=function(e,t,n){var i=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),o=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn),r=this.getVersionId(),s=this._decorationsTree.intervalSearch(i,o,t,n,r);return this._ensureNodesHaveRanges(s)},t.prototype._ensureNodesHaveRanges=function(e){for(var t=0,n=e.length;tthis.getLineCount())throw new Error("Illegal value for lineNumber");this._tokens.setTokens(this._languageIdentifier.id,e-1,this._buffer.getLineLength(e),t)},t.prototype.setTokens=function(e){if(0!==e.length){for(var t=[],n=0,i=e.length;nthis.getLineCount())throw new Error("Illegal value for lineNumber");this._tokenization.forceTokenization(e)},t.prototype.isCheapToTokenize=function(e){return this._tokenization.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.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._onDidChangeLanguage.fire(t),this._onDidChangeLanguageConfiguration.fire({})}},t.prototype.getLanguageIdAtPosition=function(e,t){var n=this.validatePosition(new l.a(e,t)),i=this.getLineTokens(n.lineNumber);return i.getLanguageId(i.findTokenIndexAtOffset(n.column-1))},t.prototype.getWordAtPosition=function(e){this._assertNotDisposed();var n=this.validatePosition(e),i=this.getLineContent(n.lineNumber),o=this._getLineTokens(n.lineNumber),r=o.findTokenIndexAtOffset(n.column-1),s=t._findLanguageBoundaries(o,r),a=s[0],u=s[1],l=Object(We.d)(n.column,je.a.getWordDefinition(o.getLanguageId(r)),i.substring(a,u),a);if(l&&l.startColumn<=e.column&&e.column<=l.endColumn)return l;if(r>0&&a===n.column-1){var c=t._findLanguageBoundaries(o,r-1),d=c[0],h=c[1],p=Object(We.d)(n.column,je.a.getWordDefinition(o.getLanguageId(r-1)),i.substring(d,h),d);if(p&&p.startColumn<=e.column&&e.column<=p.endColumn)return p}return null},t._findLanguageBoundaries=function(e,t){for(var n=e.getLanguageId(t),i=0,o=t;o>=0&&e.getLanguageId(o)===n;o--)i=e.getStartOffset(o);for(var r=e.getLineContent().length,s=(o=t,e.getCount());o0&&n.getStartOffset(o)===e.column-1){a=n.getStartOffset(o);o--;var l=je.a.getBracketsSupport(n.getLanguageId(o));if(l&&!Object(Ve.b)(n.getStandardTokenType(o))){var c,d,h;s=Math.max(n.getStartOffset(o),e.column-1-l.maxBracketLength);if((c=Be.a.findPrevBracketInToken(l.reversedRegex,t,i,s,a))&&c.startColumn<=e.column&&e.column<=c.endColumn)if(d=(d=i.substring(c.startColumn-1,c.endColumn-1)).toLowerCase(),h=this._matchFoundBracket(c,l.textIsBracket[d],l.textIsOpenBracket[d]))return h}}return null},t.prototype._matchFoundBracket=function(e,t,n){if(!t)return null;var i;if(n){if(i=this._findMatchingBracketDown(t,e.getEndPosition()))return[e,i]}else if(i=this._findMatchingBracketUp(t,e.getStartPosition()))return[e,i];return null},t.prototype._findMatchingBracketUp=function(e,t){for(var n=e.languageIdentifier.id,i=e.reversedRegex,o=-1,r=t.lineNumber;r>=1;r--){var s=this._getLineTokens(r),a=s.getCount(),u=this._buffer.getLineContent(r),l=a-1,c=-1;for(r===t.lineNumber&&(l=s.findTokenIndexAtOffset(t.column-1),c=t.column-1);l>=0;l--){var d=s.getLanguageId(l),h=s.getStandardTokenType(l),p=s.getStartOffset(l),f=s.getEndOffset(l);if(-1===c&&(c=f),d===n&&!Object(Ve.b)(h))for(;;){var g=Be.a.findPrevBracketInToken(i,r,u,p,c);if(!g)break;var m=u.substring(g.startColumn-1,g.endColumn-1);if((m=m.toLowerCase())===e.open?o++:m===e.close&&o--,0===o)return g;c=g.startColumn-1}c=-1}}return null},t.prototype._findMatchingBracketDown=function(e,t){for(var n=e.languageIdentifier.id,i=e.forwardRegex,o=1,r=t.lineNumber,s=this.getLineCount();r<=s;r++){var a=this._getLineTokens(r),u=a.getCount(),l=this._buffer.getLineContent(r),c=0,d=0;for(r===t.lineNumber&&(c=a.findTokenIndexAtOffset(t.column-1),d=t.column-1);c=1;o--){var r=this._getLineTokens(o),s=r.getCount(),a=this._buffer.getLineContent(o),u=s-1,l=-1;for(o===t.lineNumber&&(u=r.findTokenIndexAtOffset(t.column-1),l=t.column-1);u>=0;u--){var c=r.getLanguageId(u),d=r.getStandardTokenType(u),h=r.getStartOffset(u),p=r.getEndOffset(u);if(-1===l&&(l=p),n!==c&&(n=c,i=je.a.getBracketsSupport(n)),i&&!Object(Ve.b)(d)){var f=Be.a.findPrevBracketInToken(i.reversedRegex,o,a,h,l);if(f)return this._toFoundBracket(i,f)}l=-1}}return null},t.prototype.findNextBracket=function(e){for(var t=this.validatePosition(e),n=-1,i=null,o=t.lineNumber,r=this.getLineCount();o<=r;o++){var s=this._getLineTokens(o),a=s.getCount(),u=this._buffer.getLineContent(o),l=0,c=0;for(o===t.lineNumber&&(l=s.findTokenIndexAtOffset(t.column-1),c=t.column-1);lo)throw new Error("Illegal value for lineNumber");for(var r=je.a.getFoldingRules(this._languageIdentifier.id),s=Boolean(r&&r.offSide),a=-2,u=-1,l=-2,c=-1,d=function(e){if(-1!==a&&(-2===a||a>e-1)){a=-1,u=-1;for(var t=e-2;t>=0;t--){var n=i._computeIndentLevel(t);if(n>=0){a=t,u=n;break}}}if(-2===l){l=-1,c=-1;for(t=e;t=0){l=t,c=r;break}}}},h=-2,p=-1,f=-2,g=-1,m=function(e){if(-2===h){h=-1,p=-1;for(var t=e-2;t>=0;t--){var n=i._computeIndentLevel(t);if(n>=0){h=t,p=n;break}}}if(-1!==f&&(-2===f||f=0){f=t,g=r;break}}}},_=0,v=!0,y=0,b=!0,C=0,w=0;v||b;w++){var S=e-w,L=e+w;if(0!==w&&(S<1||So||L>n)&&(b=!1),w>5e4&&(v=!1,b=!1),v){var O=void 0;if((E=this._computeIndentLevel(S-1))>=0?(l=S-1,c=E,O=Math.ceil(E/this._options.indentSize)):(d(S),O=this._getIndentLevelForWhitespaceLine(s,u,c)),0===w){if(_=S,y=L,0===(C=O))return{startLineNumber:_,endLineNumber:y,indent:C};continue}O>=C?_=S:v=!1}if(b){var E,N=void 0;(E=this._computeIndentLevel(L-1))>=0?(h=L-1,p=E,N=Math.ceil(E/this._options.indentSize)):(m(L),N=this._getIndentLevelForWhitespaceLine(s,p,g)),N>=C?y=L:b=!1}}return{startLineNumber:_,endLineNumber:y,indent:C}},t.prototype.getLinesIndentGuides=function(e,t){this._assertNotDisposed();var n=this.getLineCount();if(e<1||e>n)throw new Error("Illegal value for startLineNumber");if(t<1||t>n)throw new Error("Illegal value for endLineNumber");for(var i=je.a.getFoldingRules(this._languageIdentifier.id),o=Boolean(i&&i.offSide),r=new Array(t-e+1),s=-2,a=-1,u=-2,l=-1,c=e;c<=t;c++){var d=c-e,h=this._computeIndentLevel(c-1);if(h>=0)s=c-1,a=h,r[d]=Math.ceil(h/this._options.indentSize);else{if(-2===s){s=-1,a=-1;for(var p=c-2;p>=0;p--){if((f=this._computeIndentLevel(p))>=0){s=p,a=f;break}}}if(-1!==u&&(-2===u||u=0){u=p,l=f;break}}}r[d]=this._getIndentLevelForWhitespaceLine(o,a,l)}}return r},t.prototype._getIndentLevelForWhitespaceLine=function(e,t,n){return-1===t||-1===n?0:t0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))},t}(r.a)},"0u1n":function(e,t){},"1LBi":function(e,t){},"1O6n":function(e,t){},"1Yb9":function(e,t,n){var i=n("mgnk"),o=n("UnEC"),r=Object.prototype,s=r.hasOwnProperty,a=r.propertyIsEnumerable,u=i(function(){return arguments}())?i:function(e){return o(e)&&s.call(e,"callee")&&!a.call(e,"callee")};e.exports=u},"1Z8u":function(e,t){},"1kli":function(e,t,n){var i=n("ZT2e"),o=/[\\^$.*+?()[\]{}|]/g,r=RegExp(o.source);e.exports=function(e){return(e=i(e))&&r.test(e)?e.replace(o,"\\$&"):e}},"1mBN":function(e,t){},"1sup":function(e,t,n){"use strict";t.b=function(e,t,n){"string"==typeof e&&(e=i.a.file(e));if(n){var h=n.getWorkspaceFolder(e);if(h){var p=n.getWorkspace().folders.length>1,f=void 0;if(f=Object(u.e)(h.uri,e)?"":Object(u.h)(h.uri,e),p){var g=h&&h.name?h.name:Object(u.b)(h.uri);f=f?g+" • "+f:g}return f}}if(e.scheme!==s.b.file&&e.scheme!==s.b.untitled)return e.with({query:null,fragment:null}).toString(!0);if(l(e.fsPath))return Object(o.normalize)(c(e.fsPath));var m=Object(o.normalize)(e.fsPath);!a.g&&t&&(m=function(e,t){if(a.g||!e||!t)return e;var n=d.original===t?d.normalized:void 0;n||(n=""+Object(r.G)(t,o.posix.sep)+o.posix.sep,d={original:t,normalized:n});(a.c?Object(r.J)(e,n):Object(r.K)(e,n))&&(e="~/"+e.substr(n.length));return e}(m,t.userHome));return m},t.a=function(e){if(!e)return;"string"==typeof e&&(e=i.a.file(e));var t=Object(u.b)(e)||(e.scheme===s.b.file?e.fsPath:e.path);if(l(t))return c(t);return t};var i=n("mrx5"),o=n("/uRs"),r=n("aL7J"),s=n("lapT"),a=n("ZfGv"),u=n("ZYUE");function l(e){return!(!a.g||!e||":"!==e[1])}function c(e){return l(e)?e.charAt(0).toUpperCase()+e.slice(1):e}var d=Object.create(null)},"1xIj":function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return r});var i=n("JVO/"),o=Object(i.c)("logService"),r=function(){function e(){}return e.prototype.trace=function(e){for(var t=[],n=1;n1){var m=n.getLineContent(g.lineNumber),_=i.q(m),v=-1===_?m.length+1:_+1;if(g.column<=v){var y=r.a.visibleColumnFromColumn2(t,n,g),b=r.a.prevIndentTabStop(y,t.indentSize),C=r.a.columnFromVisibleColumn2(t,n,g.lineNumber,b);f=new a.a(g.lineNumber,C,g.lineNumber,g.column)}else f=new a.a(g.lineNumber,g.column-1,g.lineNumber,g.column)}else{var w=s.a.left(t,n,g.lineNumber,g.column);f=new a.a(w.lineNumber,w.column,g.lineNumber,g.column)}}f.isEmpty()?l[d]=null:(f.startLineNumber!==f.endLineNumber&&(c=!0),l[d]=new o.a(f,""))}return[c,l]},e.cut=function(e,t,n){for(var i=[],s=0,u=n.length;s1?(d=c.lineNumber-1,h=t.getLineMaxColumn(c.lineNumber-1),p=c.lineNumber,f=t.getLineMaxColumn(c.lineNumber)):(d=c.lineNumber,h=1,p=c.lineNumber,f=t.getLineMaxColumn(c.lineNumber));var g=new a.a(d,h,p,f);g.isEmpty()?i[s]=null:i[s]=new o.a(g,"")}else i[s]=null;else i[s]=new o.a(l,"")}return new r.e(0,i,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e}()},"2LSJ":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"InsertCursorAbove",function(){return b}),n.d(t,"InsertCursorBelow",function(){return C}),n.d(t,"MultiCursorSessionResult",function(){return O}),n.d(t,"MultiCursorSession",function(){return E}),n.d(t,"MultiCursorSelectionController",function(){return N}),n.d(t,"MultiCursorSelectionControllerAction",function(){return x}),n.d(t,"AddSelectionToNextFindMatchAction",function(){return I}),n.d(t,"AddSelectionToPreviousFindMatchAction",function(){return D}),n.d(t,"MoveSelectionToNextFindMatchAction",function(){return k}),n.d(t,"MoveSelectionToPreviousFindMatchAction",function(){return T}),n.d(t,"SelectHighlightsAction",function(){return M}),n.d(t,"CompatChangeAll",function(){return R}),n.d(t,"SelectionHighlighter",function(){return P});var i,o=n("hK2W"),r=n("odeJ"),s=n("uNfg"),a=n("tqet"),u=n("03Zz"),l=n("HAT9"),c=n("vTy2"),d=n("iHM7"),h=n("/9db"),p=n("D2uo"),f=n("0ly5"),g=n("PCC9"),m=n("T1Qz"),_=n("L5KM"),v=n("eoic"),y=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),b=function(e){function t(){return e.call(this,{id:"editor.action.insertCursorAbove",label:o.a("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:h.a.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menubarOpts:{menuId:22,group:"3_multi",title:o.a({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})||this}return y(t,e),t.prototype.run=function(e,t,n){if(t.hasModel()){var i=n&&!0===n.logicalLine,o=t._getCursors(),r=o.context;r.config.readOnly||(r.model.pushStackElement(),o.setStates(n.source,3,l.b.addCursorUp(r,o.getAll(),i)),o.reveal(!0,1,0))}},t}(u.b),C=function(e){function t(){return e.call(this,{id:"editor.action.insertCursorBelow",label:o.a("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:h.a.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menubarOpts:{menuId:22,group:"3_multi",title:o.a({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})||this}return y(t,e),t.prototype.run=function(e,t,n){if(t.hasModel()){var i=n&&!0===n.logicalLine,o=t._getCursors(),r=o.context;r.config.readOnly||(r.model.pushStackElement(),o.setStates(n.source,3,l.b.addCursorDown(r,o.getAll(),i)),o.reveal(!0,2,0))}},t}(u.b),w=function(e){function t(){return e.call(this,{id:"editor.action.insertCursorAtEndOfEachLineSelected",label:o.a("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:h.a.editorTextFocus,primary:1575,weight:100},menubarOpts:{menuId:22,group:"3_multi",title:o.a({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})||this}return y(t,e),t.prototype.getCursorsForSelection=function(e,t,n){if(!e.isEmpty()){for(var i=e.startLineNumber;i1&&n.push(new d.a(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}},t.prototype.run=function(e,t){var n=this;if(t.hasModel()){var i=t.getModel(),o=[];t.getSelections().forEach(function(e){return n.getCursorsForSelection(e,i,o)}),o.length>0&&t.setSelections(o)}},t}(u.b),S=function(e){function t(){return e.call(this,{id:"editor.action.addCursorsToBottom",label:o.a("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})||this}return y(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getSelections(),i=t.getModel().getLineCount(),o=[],r=n[0].startLineNumber;r<=i;r++)o.push(new d.a(r,n[0].startColumn,r,n[0].endColumn));o.length>0&&t.setSelections(o)}},t}(u.b),L=function(e){function t(){return e.call(this,{id:"editor.action.addCursorsToTop",label:o.a("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})||this}return y(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getSelections(),i=[],o=n[0].startLineNumber;o>=1;o--)i.push(new d.a(o,n[0].startColumn,o,n[0].endColumn));i.length>0&&t.setSelections(i)}},t}(u.b),O=function(){return function(e,t,n){this.selections=e,this.revealRange=t,this.revealScrollType=n}}(),E=function(){function e(e,t,n,i,o,r,s){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=n,this.searchText=i,this.wholeWord=o,this.matchCase=r,this.currentMatch=s}return e.create=function(t,n){if(!t.hasModel())return null;var i=n.getState();if(!t.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new e(t,n,!1,i.searchString,i.wholeWord,i.matchCase,null);var o,r,s=!1,a=t.getSelections();1===a.length&&a[0].isEmpty()?(s=!0,o=!0,r=!0):(o=i.wholeWord,r=i.matchCase);var u,l=t.getSelection(),c=null;if(l.isEmpty()){var h=t.getModel().getWordAtPosition(l.getStartPosition());if(!h)return null;u=h.word,c=new d.a(l.startLineNumber,h.startColumn,l.startLineNumber,h.endColumn)}else u=t.getModel().getValueInRange(l).replace(/\r\n/g,"\n");return new e(t,n,s,u,o,r,c)},e.prototype.addSelectionToNextFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new O(t.concat(e),e,0)},e.prototype.moveSelectionToNextFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new O(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getNextMatch=function(){if(!this._editor.hasModel())return null;if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),n=t[t.length-1],i=this._editor.getModel().findNextMatch(this.searchText,n.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return i?new d.a(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null},e.prototype.addSelectionToPreviousFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new O(t.concat(e),e,0)},e.prototype.moveSelectionToPreviousFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new O(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getPreviousMatch=function(){if(!this._editor.hasModel())return null;if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),n=t[t.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,n.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return i?new d.a(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null},e.prototype.selectAll=function(){return this._editor.hasModel()?(this.findController.highlightFindOptions(),this._editor.getModel().findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1,1073741824)):[]},e}(),N=function(e){function t(t){var n=e.call(this)||this;return n._sessionDispose=n._register(new a.b),n._editor=t,n._ignoreSelectionChange=!1,n._session=null,n}return y(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 n=E.create(this._editor,e);if(!n)return;this._session=n;var i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(function(e){t._ignoreSelectionChange||t._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(function(){t._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(function(e){(e.matchCase||e.wholeWord)&&t._endSession()}))}},t.prototype._endSession=function(){if(this._sessionDispose.clear(),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 n=e.getWordAtPosition(t.getStartPosition());return n?new d.a(t.startLineNumber,n.startColumn,t.startLineNumber,n.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._editor.hasModel()){if(!this._session){var t=this._editor.getSelections();if(t.length>1){var n=e.getState().matchCase;if(!F(this._editor.getModel(),t,n)){for(var i=this._editor.getModel(),o=[],r=0,s=t.length;r0&&n.isRegex)t=this._editor.getModel().findMatches(n.searchString,!0,n.isRegex,n.matchCase,n.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 i=this._editor.getSelection(),o=0,r=t.length;o1){var a=o.getState().matchCase;if(!F(t.getModel(),s,a))return null}r=E.create(t,o)}if(!r)return null;if(r.currentMatch)return null;if(/^[ \t]+$/.test(r.searchText))return null;if(r.searchText.length>200)return null;var u=o.getState(),l=u.matchCase;if(u.isRevealed){var c=u.searchString;l||(c=c.toLowerCase());var d=r.searchText;if(l||(d=d.toLowerCase()),c===d&&r.matchCase===u.matchCase&&r.wholeWord===u.wholeWord&&!u.isRegex)return null}return new A(r.searchText,r.matchCase,r.wholeWord?t.getConfiguration().wordSeparators:null)},t.prototype._setState=function(e){if(A.softEquals(this.state,e))this.state=e;else if(this.state=e,this.state){if(this.editor.hasModel()){var n=this.editor.getModel();if(!n.isTooLargeForTokenization()){var i=g.i.has(n),o=n.findMatches(this.state.searchText,!0,!1,this.state.matchCase,this.state.wordSeparators,!1).map(function(e){return e.range});o.sort(c.a.compareRangesUsingStarts);var r=this.editor.getSelections();r.sort(c.a.compareRangesUsingStarts);for(var s=[],a=0,u=0,l=o.length,d=r.length;a=d)s.push(h),a++;else{var p=c.a.compareRangesUsingStarts(h,r[u]);p<0?(!r[u].isEmpty()&&c.a.areIntersecting(h,r[u])||s.push(h),a++):p>0?u++:(a++,u++)}}var f=s.map(function(e){return{range:e,options:i?t._SELECTION_HIGHLIGHT:t._SELECTION_HIGHLIGHT_OVERVIEW}});this.decorations=this.editor.deltaDecorations(this.decorations,f)}}}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=f.a.register({stickiness:1,className:"selectionHighlight",overviewRuler:{color:Object(v.g)(_._32),position:p.d.Center}}),t._SELECTION_HIGHLIGHT=f.a.register({stickiness:1,className:"selectionHighlight"}),t}(a.a);function F(e,t,n){for(var i=W(e,t[0],!n),o=1,r=t.length;o=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},C=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},w=Object(_._36)("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hc:null},o.a("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0),S=Object(_._36)("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hc:null},o.a("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0),L=Object(_._36)("editor.wordHighlightBorder",{light:null,dark:null,hc:_.b},o.a("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable.")),O=Object(_._36)("editor.wordHighlightStrongBorder",{light:null,dark:null,hc:_.b},o.a("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable.")),E=Object(_._36)("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hc:"#A0A0A0CC"},o.a("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),N=Object(_._36)("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hc:"#C0A0C0CC"},o.a("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),x=new m.d("hasWordHighlights",!1);function I(e,t,n){var i=g.i.ordered(e);return Object(s.h)(i.map(function(i){return function(){return Promise.resolve(i.provideDocumentHighlights(e,t,n)).then(void 0,u.f)}}),r.n)}var D=function(){function e(e,t,n){var i=this;this._wordRange=this._getCurrentWordRange(e,t),this.result=Object(s.f)(function(o){return i._compute(e,t,n,o)})}return e.prototype._getCurrentWordRange=function(e,t){var n=e.getWordAtPosition(t.getPosition());return n?new d.a(t.startLineNumber,n.startColumn,t.startLineNumber,n.endColumn):null},e.prototype.isValid=function(e,t,n){for(var i=t.startLineNumber,o=t.startColumn,r=t.endColumn,s=this._getCurrentWordRange(e,t),a=Boolean(this._wordRange&&this._wordRange.equalsRange(s)),u=0,l=n.length;!a&&u=r&&(a=!0)}return a},e.prototype.cancel=function(){this.result.cancel()},e}(),k=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return y(t,e),t.prototype._compute=function(e,t,n,i){return I(e,t.getPosition(),i).then(function(e){return e||[]})},t}(D),T=function(e){function t(t,n,i){var o=e.call(this,t,n,i)||this;return o._selectionIsEmpty=n.isEmpty(),o}return y(t,e),t.prototype._compute=function(e,t,n,i){return Object(s.l)(250,i).then(function(){if(!t.isEmpty())return[];var i=e.getWordAtPosition(t.getPosition());return i?e.findMatches(i.word,!0,!1,!0,n,!1).map(function(e){return{range:e.range,kind:g.h.Text}}):[]})},t.prototype.isValid=function(t,n,i){var o=n.isEmpty();return this._selectionIsEmpty===o&&e.prototype.isValid.call(this,t,n,i)},t}(D);Object(c.e)("_executeDocumentHighlights",function(e,t){return I(e,t,a.a.None)});var M=function(){function e(e,t){var n=this;this.toUnhook=new l.b,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=[],this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this._hasWordHighlights=x.bindTo(t),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getConfiguration().contribInfo.occurrencesHighlight,this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(function(e){n._ignorePositionChangeEvent||n.occurrencesHighlight&&n._onPositionChanged(e)})),this.toUnhook.add(e.onDidChangeModelContent(function(e){n._stopAll()})),this.toUnhook.add(e.onDidChangeConfiguration(function(e){var t=n.editor.getConfiguration().contribInfo.occurrencesHighlight;n.occurrencesHighlight!==t&&(n.occurrencesHighlight=t,n._stopAll())})),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 r.d(this._decorationIds.map(function(t){return e.model.getDecorationRange(t)}).sort(d.a.compareRangesUsingStarts))},e.prototype.moveNext=function(){var e=this,t=this._getSortedHighlights(),n=t[(r.j(t,function(t){return t.containsPosition(e.editor.getPosition())})+1)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n)}finally{this._ignorePositionChangeEvent=!1}},e.prototype.moveBack=function(){var e=this,t=this._getSortedHighlights(),n=t[(r.j(t,function(t){return t.containsPosition(e.editor.getPosition())})-1+t.length)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n)}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._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&&3===e.reason?this._run():this._stopAll()},e.prototype._run=function(){var e=this,t=this.editor.getSelection();if(t.startLineNumber===t.endLineNumber){var n=t.startLineNumber,i=t.startColumn,o=t.endColumn,r=this.model.getWordAtPosition({lineNumber:n,column:i});if(!r||r.startColumn>i||r.endColumn=n?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(function(){e.renderDecorations()},n-t)},e.prototype.renderDecorations=function(){this.renderDecorationsTimer=-1;for(var t=[],n=0,i=this.workerRequestValue.length;n0){n=o[0].getStartPosition();var r=t.getTopForPosition(n.lineNumber,n.column);i=t.getScrollTop()-r}}return new e(n,i)},e.prototype.restore=function(e){if(this._visiblePosition){var t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}},e}()},"5N57":function(e,t,n){var i=n("ICSD")(n("TQ3y"),"Set");e.exports=i},"5RGO":function(e,t){},"5TlO":function(e,t,n){"use strict";t.a=function(e,t){if(!e)throw new Error(t?"Assertion failed ("+t+")":"Assertion Failed")}},"5VRF":function(e,t,n){"use strict";n.d(t,"c",function(){return s}),n.d(t,"d",function(){return o}),t.f=function(e){return Array.isArray(e)?o.fromArray(e):e},n.d(t,"a",function(){return a}),n.d(t,"b",function(){return u}),n.d(t,"e",function(){return l});var i,o,r=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s={done:!0,value:void 0};!function(e){var t={next:function(){return s}};e.empty=function(){return t},e.single=function(e){var t=!1;return{next:function(){return t?s:(t=!0,{done:!1,value:e})}}},e.fromArray=function(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=e.length),{next:function(){return t>=n?s:{done:!1,value:e[t++]}}}},e.from=function(t){return t?Array.isArray(t)?e.fromArray(t):t:e.empty()},e.map=function(e,t){return{next:function(){var n=e.next();return n.done?s:{done:!1,value:t(n.value)}}}},e.filter=function(e,t){return{next:function(){for(;;){var n=e.next();if(n.done)return s;if(t(n.value))return{done:!1,value:n.value}}}}},e.forEach=function(e,t){for(var n=e.next();!n.done;n=e.next())t(n.value)},e.collect=function(e,t){void 0===t&&(t=Number.POSITIVE_INFINITY);var n=[];if(0===t)return n;for(var i=0,o=e.next();!(o.done||(n.push(o.value),++i>=t));o=e.next());return n},e.concat=function(){for(var e=[],t=0;t=e.length)return s;var t=e[n].next();return t.done?(n++,this.next()):t}}}}(o||(o={}));var a=function(){function e(e,t,n,i){void 0===t&&(t=0),void 0===n&&(n=e.length),void 0===i&&(i=t-1),this.items=e,this.start=t,this.end=n,this.index=i}return e.prototype.first=function(){return this.index=this.start,this.current()},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}(),u=function(e){function t(t,n,i,o){return void 0===n&&(n=0),void 0===i&&(i=t.length),void 0===o&&(o=n-1),e.call(this,t,n,i,o)||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}(a),l=function(){function e(e,t){this.iterator=e,this.fn=t}return e.prototype.next=function(){return this.fn(this.iterator.next())},e}()},"5Zxu":function(e,t,n){var i=n("sBat");e.exports=function(e){var t=i(e),n=t%1;return t==t?n?t-n:t:0}},"5kgg":function(e,t){},"5lao":function(e,t,n){"use strict";n.d(t,"a",function(){return h}),n.d(t,"b",function(){return p});var i,o=n("ZfGv"),r=n("iXRW"),s=n("G8r4"),a=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),u=o.d?1.5:1.35;function l(e,t){if("number"==typeof e)return e;if(void 0===e)return t;var n=parseFloat(e);return isNaN(n)?t:n}function c(e,t,n){return en?n:e}function d(e,t){return"string"!=typeof e?t:e}var h=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,n,i){void 0===i&&(i=!1);var o=d(t.fontFamily,r.b.fontFamily),a=d(t.fontWeight,r.b.fontWeight),h=l(t.fontSize,r.b.fontSize);0===(h=c(h,0,100))?h=r.b.fontSize:h<8&&(h=8);var p=function(e,t){if("number"==typeof e)return Math.round(e);if(void 0===e)return t;var n=parseInt(e);return isNaN(n)?t:n}(t.lineHeight,0);0===(p=c(p,0,150))?p=Math.round(u*h):p<8&&(p=8);var f=l(t.letterSpacing,0);f=c(f,-5,20);var g=1+(i?0:.1*s.a.getZoomLevel());return new e({zoomLevel:n,fontFamily:o,fontWeight:a,fontSize:h*=g,lineHeight:p*=g,letterSpacing:f})},e.prototype.getId=function(){return this.zoomLevel+"-"+this.fontFamily+"-"+this.fontWeight+"-"+this.fontSize+"-"+this.lineHeight+"-"+this.letterSpacing},e.prototype.getMassagedFontFamily=function(){return/[,"']/.test(this.fontFamily)?this.fontFamily:/[+ ]/.test(this.fontFamily)?'"'+this.fontFamily+'"':this.fontFamily},e}(),p=function(e){function t(t,n){var i=e.call(this,t)||this;return i.isTrusted=n,i.isMonospace=t.isMonospace,i.typicalHalfwidthCharacterWidth=t.typicalHalfwidthCharacterWidth,i.typicalFullwidthCharacterWidth=t.typicalFullwidthCharacterWidth,i.canUseHalfwidthRightwardsArrow=t.canUseHalfwidthRightwardsArrow,i.spaceWidth=t.spaceWidth,i.maxDigitWidth=t.maxDigitWidth,i}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.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.spaceWidth===e.spaceWidth&&this.maxDigitWidth===e.maxDigitWidth},t}(h)},"5tK6":function(e,t,n){"use strict";n.d(t,"a",function(){return m});var i,o=n("LCUL"),r=(n.n(o),n("tqet")),s=n("lAcG"),a=n("ZfGv"),u=n("KIxu"),l=n("Bug4"),c=n("b1X/"),d=n("Kp7x"),h=n("7/Cv"),p=n("Gxst"),f=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),g=!1,m=function(e){function t(t,n,i){void 0===i&&(i={});var o=e.call(this)||this;return o._state=3,o._onDidEnablementChange=o._register(new d.a),o.onDidEnablementChange=o._onDidEnablementChange.event,o._onDidStart=o._register(new d.a),o.onDidStart=o._onDidStart.event,o._onDidChange=o._register(new d.a),o.onDidChange=o._onDidChange.event,o._onDidReset=o._register(new d.a),o.onDidReset=o._onDidReset.event,o._onDidEnd=o._register(new d.a),o.onDidEnd=o._onDidEnd.event,o.linkedSash=void 0,o.orthogonalStartSashDisposables=o._register(new r.b),o.orthogonalEndSashDisposables=o._register(new r.b),o.el=Object(h.m)(t,Object(h.a)(".monaco-sash")),a.d&&Object(h.f)(o.el,"mac"),o._register(Object(p.a)(o.el,"mousedown")(o.onMouseDown,o)),o._register(Object(p.a)(o.el,"dblclick")(o.onMouseDoubleClick,o)),l.b.addTarget(o.el),o._register(Object(p.a)(o.el,l.a.Start)(o.onTouchStart,o)),s.k&&Object(h.f)(o.el,"touch"),o.setOrientation(i.orientation||0),o.hidden=!1,o.layoutProvider=n,o.orthogonalStartSash=i.orthogonalStartSash,o.orthogonalEndSash=i.orthogonalEndSash,Object(h.R)(o.el,"debug",g),o}return f(t,e),Object.defineProperty(t.prototype,"state",{get:function(){return this._state},set:function(e){this._state!==e&&(Object(h.R)(this.el,"disabled",0===e),Object(h.R)(this.el,"minimum",1===e),Object(h.R)(this.el,"maximum",2===e),this._state=e,this._onDidEnablementChange.fire(e))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"orthogonalStartSash",{get:function(){return this._orthogonalStartSash},set:function(e){this.orthogonalStartSashDisposables.clear(),e?(this.orthogonalStartSashDisposables.add(e.onDidEnablementChange(this.onOrthogonalStartSashEnablementChange,this)),this.onOrthogonalStartSashEnablementChange(e.state)):this.onOrthogonalStartSashEnablementChange(0),this._orthogonalStartSash=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"orthogonalEndSash",{get:function(){return this._orthogonalEndSash},set:function(e){this.orthogonalEndSashDisposables.clear(),e?(this.orthogonalEndSashDisposables.add(e.onDidEnablementChange(this.onOrthogonalEndSashEnablementChange,this)),this.onOrthogonalEndSashEnablementChange(e.state)):this.onOrthogonalEndSashEnablementChange(0),this._orthogonalEndSash=e},enumerable:!0,configurable:!0}),t.prototype.setOrientation=function(e){this.orientation=e,1===this.orientation?(Object(h.f)(this.el,"horizontal"),Object(h.I)(this.el,"vertical")):(Object(h.I)(this.el,"horizontal"),Object(h.f)(this.el,"vertical")),this.layoutProvider&&this.layout()},t.prototype.onMouseDown=function(e){var t=this;h.c.stop(e,!1);var n=!1;if(!e.__orthogonalSashEvent){var i=this.getOrthogonalSash(e);i&&(n=!0,e.__orthogonalSashEvent=!0,i.onMouseDown(e))}if(this.linkedSash&&!e.__linkedSashEvent&&(e.__linkedSashEvent=!0,this.linkedSash.onMouseDown(e)),this.state){for(var o=Object(h.y)("iframe").concat(Object(h.y)("webview")),s=0,u=o;s=this.el.clientHeight-4)return this.orthogonalEndSash}else{if(e.offsetX<=4)return this.orthogonalStartSash;if(e.offsetX>=this.el.clientWidth-4)return this.orthogonalEndSash}},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.el&&this.el.parentElement&&this.el.parentElement.removeChild(this.el),this.el=null},t}(r.a)},"5zde":function(e,t,n){n("zQR9"),n("qyJz"),e.exports=n("FeBl").Array.from},"606G":function(e,t,n){"use strict";n.d(t,"a",function(){return o});var i=n("JVO/"),o=Object(i.c)("editorWorkerService")},"67ys":function(e,t){},"6Hge":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("X6iQ"),o=n("80kS"),r=n("03Zz"),s=n("artP"),a=n("vTy2"),u=n("iHM7"),l=n("/9db"),c=n("PCC9"),d=n("hK2W"),h=n("tqet"),p=n("aL7J"),f=function(){function e(){}return e.prototype.provideSelectionRanges=function(e,t){for(var n=[],i=0,o=t;i=0;u--){if(95===(d=o.charCodeAt(u))||45===d)break;if(Object(p.y)(d)&&Object(p.z)(c))break;c=d}for(u+=1;l0&&0===t.getLineFirstNonWhitespaceColumn(n.lineNumber)&&0===t.getLineLastNonWhitespaceColumn(n.lineNumber)&&e.push({range:new a.a(n.lineNumber,1,n.lineNumber,t.getLineMaxColumn(n.lineNumber))})},e}(),g=n("NjuD"),m=n("ItKl"),_=n("zxiH");t.provideSelectionRanges=N;var v,y=this&&this.__extends||(v=function(e,t){return(v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}v(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),b=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},C=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=this.ranges.length)return this;var i=new e(n,this.ranges);return i.ranges[n].equalsRange(this.ranges[this.index])?i.mov(t):i},e}(),S=function(){function e(e){this._ignoreSelection=!1,this._editor=e}return e.get=function(t){return t.getContribution(e._id)},e.prototype.dispose=function(){Object(h.f)(this._selectionListener)},e.prototype.getId=function(){return e._id},e.prototype.run=function(e){var t=this;if(this._editor.hasModel()){var n=this._editor.getSelections(),r=this._editor.getModel();if(c.u.has(r)){var s=Promise.resolve(void 0);return this._state||(s=N(r,n.map(function(e){return e.getPosition()}),o.a.None).then(function(e){if(i.n(e)&&e.length===n.length&&t._editor.hasModel()&&i.g(t._editor.getSelections(),n,function(e,t){return e.equalsSelection(t)})){for(var o=function(t){e[t]=e[t].filter(function(e){return e.containsPosition(n[t].getStartPosition())&&e.containsPosition(n[t].getEndPosition())}),e[t].unshift(n[t])},r=0;r=i.length)&&o.x(i.charCodeAt(n))},e.isHighSurrogate=function(e,t,n){var i=e.getLineContent(t);return!(n<0||n>=i.length)&&o.w(i.charCodeAt(n))},e.isInsideSurrogatePair=function(e,t,n){return this.isHighSurrogate(e,t,n-2)},e.visibleColumnFromColumn=function(e,t,n){var i=e.length;i>t-1&&(i=t-1);for(var r=0,s=0;s=t)return u-ts?s:o},e.nextRenderTabStop=function(e,t){return e+t-e%t},e.nextIndentTabStop=function(e,t){return e+t-e%t},e.prevRenderTabStop=function(e,t){return e-1-(e-1)%t},e.prevIndentTabStop=function(e,t){return e-1-(e-1)%t},e}()},"6jTg":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("odeJ"),o=n("zxiH"),r=n("tqet"),s=n("4tuZ"),a=n("03Zz"),u=n("PCC9"),l=n("X6iQ"),c=n("80kS"),d=n("mrx5"),h=n("jIdl"),p=function(){function e(){this.lenses=[],this._dispoables=new r.b}return e.prototype.dispose=function(){this._dispoables.dispose()},e.prototype.add=function(e,t){this._dispoables.add(e);for(var n=0,i=e.lenses;nt.symbol.range.startLineNumber?1:i.get(e.provider)i.get(t.provider)?1:e.symbol.range.startColumnt.symbol.range.startColumn?1:0}),r})}Object(a.j)("_executeCodeLensProvider",function(e,t){var n=t.resource,i=t.itemResolveCount;if(!(n instanceof d.a))throw Object(o.b)();var s=e.get(h.a).getModel(n);if(!s)throw Object(o.b)();var a=[],u=new r.b;return f(s,c.a.None).then(function(e){u.add(e);for(var t=[],n=function(e){void 0===i||Boolean(e.symbol.command)?a.push(e.symbol):i-- >0&&e.provider.resolveCodeLens&&t.push(Promise.resolve(e.provider.resolveCodeLens(s,e.symbol,c.a.None)).then(function(t){return a.push(t||e.symbol)}))},o=0,r=e.lenses;ono commands";else{for(var i=[],o=0;o"+s+"",this._commands.set(String(o),r)):a=""+s+"",i.push(a)}}var u=""===this._domNode.innerHTML||" "===this._domNode.innerHTML;this._domNode.innerHTML=i.join(" | "),this._editor.layoutContentWidget(this),u&&t&&g.f(this._domNode,"fadein")}},e.prototype.getCommand=function(e){return e.parentElement===this._domNode?this._commands.get(e.id):void 0},e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.setSymbolRange=function(e){if(this._editor.hasModel()){var t=e.startLineNumber,n=this._editor.getModel().getLineFirstNonWhitespaceColumn(t);this._widgetPosition={position:{lineNumber:t,column:n},preference:[1]}}},e.prototype.getPosition=function(){return this._widgetPosition||null},e.prototype.isVisible=function(){return this._domNode.hasAttribute("monaco-visible-content-widget")},e._idPool=0,e}(),L=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),n=0,i=t.length;n a:hover { color: "+i+" !important; }")});var E=n("ItKl"),N=n("fAkY"),x=n("JVO/"),I=n("8xpx"),D=n("WTFd"),k=n("Cfmk"),T=n("dwjm"),M=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},R=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},A=Object(x.c)("ICodeLensCache"),P=function(){return function(e,t){this.lineCount=e,this.data=t}}(),F=function(){function e(e){var t=this;this._fakeProvider=new(function(){function e(){}return e.prototype.provideCodeLenses=function(){throw new Error("not supported")},e}()),this._cache=new D.a(20,.75);Object(i.k)(function(){return e.remove("codelens/cache",1)});var n="codelens/cache2",o=e.get(n,1,"{}");this._deserialize(o),Object(T.a)(e.onWillSaveState)(function(i){i.reason===k.c.SHUTDOWN&&e.store(n,t._serialize(),1)})}return e.prototype.put=function(e,t){var n=new p;n.add({lenses:t.lenses.map(function(e){return e.symbol}),dispose:function(){}},this._fakeProvider);var i=new P(e.getLineCount(),n);this._cache.set(e.uri.toString(),i)},e.prototype.get=function(e){var t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0},e.prototype.delete=function(e){this._cache.delete(e.uri.toString())},e.prototype._serialize=function(){var e=Object.create(null);return this._cache.forEach(function(t,n){for(var i=new Set,o=0,r=t.data.lenses;o=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},j=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},V=function(){function e(e,t,n,i){var o=this;this._editor=e,this._commandService=t,this._notificationService=n,this._codeLensCache=i,this._globalToDispose=new r.b,this._localToDispose=new r.b,this._lenses=[],this._oldCodeLensModels=new r.b,this._modelChangeCounter=0,this._isEnabled=this._editor.getConfiguration().contribInfo.codeLens,this._globalToDispose.add(this._editor.onDidChangeModel(function(){return o._onModelChange()})),this._globalToDispose.add(this._editor.onDidChangeModelLanguage(function(){return o._onModelChange()})),this._globalToDispose.add(this._editor.onDidChangeConfiguration(function(){var e=o._isEnabled;o._isEnabled=o._editor.getConfiguration().contribInfo.codeLens,e!==o._isEnabled&&o._onModelChange()})),this._globalToDispose.add(u.b.onDidChange(this._onModelChange,this)),this._onModelChange()}return e.prototype.dispose=function(){this._localDispose(),this._globalToDispose.dispose(),this._oldCodeLensModels.dispose(),Object(r.f)(this._currentCodeLensModel)},e.prototype._localDispose=function(){this._currentFindCodeLensSymbolsPromise&&(this._currentFindCodeLensSymbolsPromise.cancel(),this._currentFindCodeLensSymbolsPromise=void 0,this._modelChangeCounter++),this._currentResolveCodeLensSymbolsPromise&&(this._currentResolveCodeLensSymbolsPromise.cancel(),this._currentResolveCodeLensSymbolsPromise=void 0),this._localToDispose.clear(),this._oldCodeLensModels.clear(),Object(r.f)(this._currentCodeLensModel)},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){var n=this._codeLensCache.get(t);if(n&&this._renderCodeLensSymbols(n),u.b.has(t)){for(var a=0,l=u.b.all(t);a0&&h.schedule()})),this._localToDispose.add(this._editor.onDidLayoutChange(function(){h.schedule()})),this._localToDispose.add(Object(r.h)(function(){if(e._editor.getModel()){var t=s.c.capture(e._editor);e._editor.changeDecorations(function(t){e._editor.changeViewZones(function(n){e._disposeAllLenses(t,n)})}),t.restore(e._editor)}else e._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onDidChangeConfiguration(function(t){if(t.fontInfo)for(var n=0,i=e._lenses;ni||(n&&n[n.length-1].symbol.range.startLineNumber===l?n.push(u):(n=[u],o.push(n)))}var c=s.c.capture(this._editor);this._editor.changeDecorations(function(e){t._editor.changeViewZones(function(n){for(var i=new L,r=0,s=0;sn)return o;do{t%2&&(o+=e),(t=i(t/2))&&(e+=e)}while(t);return o}},"7/Cv":function(e,t,n){"use strict";t.p=function(e){for(;e.firstChild;)e.removeChild(e.firstChild)},t.K=function(e){e.parentNode&&e.parentNode.removeChild(e)},t.G=function(e){for(;e;){if(e===document.body)return!0;e=e.parentNode||e.host}return!1},n.d(t,"C",function(){return b}),n.d(t,"f",function(){return C}),n.d(t,"g",function(){return w}),n.d(t,"I",function(){return S}),n.d(t,"J",function(){return L}),n.d(t,"R",function(){return O}),t.h=N,n.d(t,"k",function(){return x}),t.i=function(e,t){return N(e,"mouseout",function(n){for(var i=n.relatedTarget||n.target;i&&i!==e;)i=i.parentNode;i!==e&&t(n)})},n.d(t,"N",function(){return I}),n.d(t,"P",function(){return D}),t.j=function(e,t,n,i,o){return new V(e,t,n,i,o)},t.u=B,n.d(t,"b",function(){return z}),t.z=function(e){var t=e.offsetParent,n=e.offsetTop,i=e.offsetLeft;for(;null!==(e=e.parentNode)&&e!==document.body&&e!==document.documentElement;){n-=e.scrollTop;var o=B(e);o&&(i-="rtl"!==o.direction?e.scrollLeft:-e.scrollLeft),e===t&&(i+=H.getBorderLeftWidth(e),n+=H.getBorderTopWidth(e),n+=e.offsetTop,i+=e.offsetLeft,t=e.offsetParent)}return{left:i,top:n}},t.x=function(e){var t=e.getBoundingClientRect();return{left:t.left+U.scrollX,top:t.top+U.scrollY,width:t.width,height:t.height}},n.d(t,"e",function(){return U}),t.B=function(e){var t=H.getMarginLeft(e)+H.getMarginRight(e);return e.offsetWidth+t},t.w=function(e){var t=H.getBorderLeftWidth(e)+H.getBorderRightWidth(e),n=H.getPaddingLeft(e)+H.getPaddingRight(e);return e.offsetWidth-t-n},t.v=function(e){var t=H.getBorderTopWidth(e)+H.getBorderBottomWidth(e),n=H.getPaddingTop(e)+H.getPaddingBottom(e);return e.offsetHeight-t-n},t.A=function(e){var t=H.getMarginTop(e)+H.getMarginBottom(e);return e.offsetHeight+t},t.E=K,t.t=function(e,t,n){for(;e;){if(b(e,t))return e;if(n)if("string"==typeof n){if(b(e,n))return null}else if(e===n)return null;e=e.parentNode}return null},t.s=q,t.r=function(e,t,n){void 0===n&&(n=Z());if(!n||!t)return;n.sheet.insertRule(e+"{"+t+"}",0)},t.H=function(e,t){void 0===t&&(t=Z());if(!t)return;for(var n=function(e){if(e&&e.sheet&&e.sheet.rules)return e.sheet.rules;if(e&&e.sheet&&e.sheet.cssRules)return e.sheet.cssRules;return[]}(t),i=[],o=0;o=0;o--)t.sheet.deleteRule(i[o])},t.F=function(e){if("object"==typeof HTMLElement)return e instanceof HTMLElement;return e&&"object"==typeof e&&1===e.nodeType&&"string"==typeof e.nodeName},n.d(t,"d",function(){return Y}),n.d(t,"c",function(){return X}),t.O=function(e){for(var t=[],n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)t[n]=e.scrollTop,e=e.parentNode;return t},t.M=function(e,t){for(var n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)e.scrollTop!==t[n]&&(e.scrollTop=t[n]),e=e.parentNode},t.S=function(e){return new J(e)},t.m=function(e){for(var t=[],n=1;n=0;){if(r=s+o,(0===s||32===n.charCodeAt(s-1))&&32===n.charCodeAt(r))return this._lastStart=s,void(this._lastEnd=r+1);if(s>0&&32===n.charCodeAt(s-1)&&r===i)return this._lastStart=s-1,void(this._lastEnd=r);if(0===s&&r===i)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,n=[],i=1;i0;){M.sort(F.sort),M.shift().execute()}A=!1},D=function(e,t){void 0===t&&(t=0);var n,i=new F(e,t);return T.push(i),R||(R=!0,n=P,k||(k=self.requestAnimationFrame||self.msRequestAnimationFrame||self.webkitRequestAnimationFrame||self.mozRequestAnimationFrame||self.oRequestAnimationFrame||function(e){return setTimeout(function(){return e((new Date).getTime())},0)}),k.call(self,n)),i},I=function(e,t){if(A){var n=new F(e,t);return M.push(n),n}return D(e,t)};var W=16,j=function(e,t){return t},V=function(e){function t(t,n,i,o,r){void 0===o&&(o=j),void 0===r&&(r=W);var s=e.call(this)||this,a=null,l=0,c=s._register(new u.e),d=function(){l=(new Date).getTime(),i(a),a=null};return s._register(N(t,n,function(e){a=o(a,e);var t=(new Date).getTime()-l;t>=r?(c.cancel(),d()):c.setIfNotSet(d,r-t)})),s}return g(t,e),t}(d.a);function B(e){return document.defaultView.getComputedStyle(e,null)}var H=function(){function e(){}return e.convertToPixels=function(e,t){return parseFloat(t)||0},e.getDimension=function(t,n,i){var o=B(t),r="0";return o&&(r=o.getPropertyValue?o.getPropertyValue(n):o.getAttribute(i)),e.convertToPixels(t,r)},e.getBorderLeftWidth=function(t){return e.getDimension(t,"border-left-width","borderLeftWidth")},e.getBorderRightWidth=function(t){return e.getDimension(t,"border-right-width","borderRightWidth")},e.getBorderTopWidth=function(t){return e.getDimension(t,"border-top-width","borderTopWidth")},e.getBorderBottomWidth=function(t){return e.getDimension(t,"border-bottom-width","borderBottomWidth")},e.getPaddingLeft=function(t){return e.getDimension(t,"padding-left","paddingLeft")},e.getPaddingRight=function(t){return e.getDimension(t,"padding-right","paddingRight")},e.getPaddingTop=function(t){return e.getDimension(t,"padding-top","paddingTop")},e.getPaddingBottom=function(t){return e.getDimension(t,"padding-bottom","paddingBottom")},e.getMarginLeft=function(t){return e.getDimension(t,"margin-left","marginLeft")},e.getMarginTop=function(t){return e.getDimension(t,"margin-top","marginTop")},e.getMarginRight=function(t){return e.getDimension(t,"margin-right","marginRight")},e.getMarginBottom=function(t){return e.getDimension(t,"margin-bottom","marginBottom")},e}(),z=function(){return function(e,t){this.width=e,this.height=t}}();var U=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 K(e,t){for(;e;){if(e===t)return!0;e=e.parentNode}return!1}function q(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 G=null;function Z(){return G||(G=q()),G}var Y={CLICK:"click",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",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",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:o.m?"webkitAnimationStart":"animationstart",ANIMATION_END:o.m?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:o.m?"webkitAnimationIteration":"animationiteration"},X={stop:function(e,t){e.preventDefault?e.preventDefault():e.returnValue=!1,t&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)}};var J=function(e){function t(t){var n=e.call(this)||this;n._onDidFocus=n._register(new c.a),n.onDidFocus=n._onDidFocus.event,n._onDidBlur=n._register(new c.a),n.onDidBlur=n._onDidBlur.event;var i=K(document.activeElement,t),o=!1;return n._register(Object(r.a)(t,Y.FOCUS,!0)(function(){o=!1,i||(i=!0,n._onDidFocus.fire())})),n._register(Object(r.a)(t,Y.BLUR,!0)(function(){i&&(o=!0,window.setTimeout(function(){o&&(o=!1,i=!1,n._onDidBlur.fire())},0))})),n}return g(t,e),t}(d.a);var Q,$=/([\w\-]+)?(#([\w\-]+))?((.([\w\-]+))*)/;function ee(e,t,n){for(var i=[],o=3;o|==|<=|>=|!<|!>|\|\||::|->>|->|~~\*|~~|!~~\*|!~~|~\*|!~\*|!~|.)/,this.BLOCK_COMMENT_REGEX=/^(\/\*[^]*?(?:\*\/|$))/,this.LINE_COMMENT_REGEX=this.createLineCommentRegex(t.lineCommentTypes),this.RESERVED_TOPLEVEL_REGEX=this.createReservedWordRegex(t.reservedToplevelWords),this.RESERVED_NEWLINE_REGEX=this.createReservedWordRegex(t.reservedNewlineWords),this.RESERVED_PLAIN_REGEX=this.createReservedWordRegex(t.reservedWords),this.WORD_REGEX=this.createWordRegex(t.specialWordChars),this.STRING_REGEX=this.createStringRegex(t.stringTypes),this.OPEN_PAREN_REGEX=this.createParenRegex(t.openParens),this.CLOSE_PAREN_REGEX=this.createParenRegex(t.closeParens),this.INDEXED_PLACEHOLDER_REGEX=this.createPlaceholderRegex(t.indexedPlaceholderTypes,"[0-9]*"),this.IDENT_NAMED_PLACEHOLDER_REGEX=this.createPlaceholderRegex(t.namedPlaceholderTypes,"[a-zA-Z0-9._$]+"),this.STRING_NAMED_PLACEHOLDER_REGEX=this.createPlaceholderRegex(t.namedPlaceholderTypes,this.createStringPattern(t.stringTypes))}return e.prototype.createLineCommentRegex=function(e){return new RegExp("^((?:"+e.map(function(e){return(0,o.default)(e)}).join("|")+").*?(?:\n|$))")},e.prototype.createReservedWordRegex=function(e){var t=e.join("|").replace(/ /g,"\\s+");return new RegExp("^("+t+")\\b","i")},e.prototype.createWordRegex=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return new RegExp("^([\\w"+e.join("")+"]+)")},e.prototype.createStringRegex=function(e){return new RegExp("^("+this.createStringPattern(e)+")")},e.prototype.createStringPattern=function(e){var t={"``":"((`[^`]*($|`))+)","[]":"((\\[[^\\]]*($|\\]))(\\][^\\]]*($|\\]))*)",'""':'(("[^"\\\\]*(?:\\\\.[^"\\\\]*)*("|$))+)',"''":"(('[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)","N''":"((N'[^N'\\\\]*(?:\\\\.[^N'\\\\]*)*('|$))+)"};return e.map(function(e){return t[e]}).join("|")},e.prototype.createParenRegex=function(e){var t=this;return new RegExp("^("+e.map(function(e){return t.escapeParen(e)}).join("|")+")","i")},e.prototype.escapeParen=function(e){return 1===e.length?(0,o.default)(e):"\\b"+e+"\\b"},e.prototype.createPlaceholderRegex=function(e,t){if((0,i.default)(e))return!1;var n=e.map(o.default).join("|");return new RegExp("^((?:"+n+")(?:"+t+"))")},e.prototype.tokenize=function(e){for(var t=[],n=void 0;e.length;)n=this.getNextToken(e,n),e=e.substring(n.value.length),t.push(n);return t},e.prototype.getNextToken=function(e,t){return this.getWhitespaceToken(e)||this.getCommentToken(e)||this.getStringToken(e)||this.getOpenParenToken(e)||this.getCloseParenToken(e)||this.getPlaceholderToken(e)||this.getNumberToken(e)||this.getReservedWordToken(e,t)||this.getWordToken(e)||this.getOperatorToken(e)},e.prototype.getWhitespaceToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.WHITESPACE,regex:this.WHITESPACE_REGEX})},e.prototype.getCommentToken=function(e){return this.getLineCommentToken(e)||this.getBlockCommentToken(e)},e.prototype.getLineCommentToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.LINE_COMMENT,regex:this.LINE_COMMENT_REGEX})},e.prototype.getBlockCommentToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.BLOCK_COMMENT,regex:this.BLOCK_COMMENT_REGEX})},e.prototype.getStringToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.STRING,regex:this.STRING_REGEX})},e.prototype.getOpenParenToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.OPEN_PAREN,regex:this.OPEN_PAREN_REGEX})},e.prototype.getCloseParenToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.CLOSE_PAREN,regex:this.CLOSE_PAREN_REGEX})},e.prototype.getPlaceholderToken=function(e){return this.getIdentNamedPlaceholderToken(e)||this.getStringNamedPlaceholderToken(e)||this.getIndexedPlaceholderToken(e)},e.prototype.getIdentNamedPlaceholderToken=function(e){return this.getPlaceholderTokenWithKey({input:e,regex:this.IDENT_NAMED_PLACEHOLDER_REGEX,parseKey:function(e){return e.slice(1)}})},e.prototype.getStringNamedPlaceholderToken=function(e){var t=this;return this.getPlaceholderTokenWithKey({input:e,regex:this.STRING_NAMED_PLACEHOLDER_REGEX,parseKey:function(e){return t.getEscapedPlaceholderKey({key:e.slice(2,-1),quoteChar:e.slice(-1)})}})},e.prototype.getIndexedPlaceholderToken=function(e){return this.getPlaceholderTokenWithKey({input:e,regex:this.INDEXED_PLACEHOLDER_REGEX,parseKey:function(e){return e.slice(1)}})},e.prototype.getPlaceholderTokenWithKey=function(e){var t=e.input,n=e.regex,i=e.parseKey,o=this.getTokenOnFirstMatch({input:t,regex:n,type:r.default.PLACEHOLDER});return o&&(o.key=i(o.value)),o},e.prototype.getEscapedPlaceholderKey=function(e){var t=e.key,n=e.quoteChar;return t.replace(new RegExp((0,o.default)("\\")+n,"g"),n)},e.prototype.getNumberToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.NUMBER,regex:this.NUMBER_REGEX})},e.prototype.getOperatorToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.OPERATOR,regex:this.OPERATOR_REGEX})},e.prototype.getReservedWordToken=function(e,t){if(!t||!t.value||"."!==t.value)return this.getToplevelReservedToken(e)||this.getNewlineReservedToken(e)||this.getPlainReservedToken(e)},e.prototype.getToplevelReservedToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.RESERVED_TOPLEVEL,regex:this.RESERVED_TOPLEVEL_REGEX})},e.prototype.getNewlineReservedToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.RESERVED_NEWLINE,regex:this.RESERVED_NEWLINE_REGEX})},e.prototype.getPlainReservedToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.RESERVED,regex:this.RESERVED_PLAIN_REGEX})},e.prototype.getWordToken=function(e){return this.getTokenOnFirstMatch({input:e,type:r.default.WORD,regex:this.WORD_REGEX})},e.prototype.getTokenOnFirstMatch=function(e){var t=e.input,n=e.type,i=e.regex,o=t.match(i);if(o)return{type:n,value:o[1]}},e}();t.default=a,e.exports=t.default},"7VLx":function(e,t,n){"use strict";n.d(t,"a",function(){return o});var i=n("JVO/"),o=Object(i.c)("IWorkspaceEditService")},"7YfR":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o=n("UqCF"),r=n("X6iQ"),s=n("zxiH"),a=n("tqet"),u=n("03Zz"),l=n("0WPX"),c=n("vTy2"),d=n("/9db"),h=n("Bzq0"),p=n("Evjx"),f=n("WTFd"),g=n("Cfmk"),m=n("PCC9"),_=n("odeJ"),v=n("JVO/"),y=n("Gzpe"),b=n("8xpx"),C=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),w=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},S=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},L=function(){function e(){}return e.prototype.select=function(e,t,n){if(0===n.length)return 0;for(var i=n[0].score[0],o=1;ou&&d.type===i[l].completion.kind&&d.insertText===i[l].completion.insertText&&(u=d.touch,a=l),i[l].completion.preselect&&-1===s)return l}return-1!==a?a:-1!==s?s:0},t.prototype.toJSON=function(){var e=[];return this._cache.forEach(function(t,n){e.push([n,t])}),e},t.prototype.fromJSON=function(e){this._cache.clear();for(var t=0,n=e;t0){this._seq=e[0][1].touch+1;for(var t=0,n=e;t=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},P=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},F=function(){function e(t,n){this._editor=t,this._index=0,this._ckOtherSuggestions=e.OtherSuggestions.bindTo(n)}return e.prototype.dispose=function(){this.reset()},e.prototype.reset=function(){this._ckOtherSuggestions.reset(),Object(a.f)(this._listener),this._model=void 0,this._acceptNext=void 0,this._ignore=!1},e.prototype.set=function(t,n){var i=this,o=t.model,r=t.index;0!==o.items.length?e._moveIndex(!0,o,r)!==r?(this._acceptNext=n,this._model=o,this._index=r,this._listener=this._editor.onDidChangeCursorPosition(function(){i._ignore||i.reset()}),this._ckOtherSuggestions.set(!0)):this.reset():this.reset()},e._moveIndex=function(e,t,n){for(var i=n;(i=(i+t.items.length+(e?1:-1))%t.items.length)!==n&&t.items[i].completion.additionalTextEdits;);return i},e.prototype.next=function(){this._move(!0)},e.prototype.prev=function(){this._move(!1)},e.prototype._move=function(t){if(this._model)try{this._ignore=!0,this._index=e._moveIndex(t,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}},e.OtherSuggestions=new M.d("hasOtherSuggestions",!1),e=A([P(1,M.c)],e)}(),W=n("Kp7x"),j=n("iHM7"),V=n("GYOr"),B=n("iXRW"),H=n("aL7J"),z=(function(){}(),function(){function e(t,n,i,o,r){void 0===r&&(r=B.a.contribInfo.suggest),this._snippetCompareFn=e._compareCompletionItems,this._items=t,this._column=n,this._wordDistance=o,this._options=r,this._refilterKind=1,this._lineContext=i,"top"===r.snippets?this._snippetCompareFn=e._compareCompletionItemsSnippetsUp:"bottom"===r.snippets&&(this._snippetCompareFn=e._compareCompletionItemsSnippetsDown)}return 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.characterCountDelta2e3?V.d:V.e,u=0;u=d)l.score=V.a.Default;else if("string"==typeof l.completion.filterText){if(!(f=a(i,o,h,l.completion.filterText,l.filterTextLow,0,!1)))continue;0===Object(H.e)(l.completion.filterText,l.completion.label)?l.score=f:(l.score=Object(V.b)(i,o,h,l.completion.label,l.labelLow,0),l.score[0]=f[0])}else{var f;if(!(f=a(i,o,h,l.completion.label,l.labelLow,0,!1)))continue;l.score=f}}switch(l.idx=u,l.distance=this._wordDistance.distance(l.position,l.completion),s.push(l),this._stats.suggestionCount++,l.completion.kind){case 25:this._stats.snippetCount++;break;case 18:this._stats.textCount++}}this._filteredItems=s.sort(this._snippetCompareFn),this._refilterKind=0},e._compareCompletionItems=function(e,t){return e.score[0]>t.score[0]?-1:e.score[0]t.distance?1:e.idxt.idx?1:0},e._compareCompletionItemsSnippetsDown=function(t,n){if(t.completion.kind!==n.completion.kind){if(25===t.completion.kind)return 1;if(25===n.completion.kind)return-1}return e._compareCompletionItems(t,n)},e._compareCompletionItemsSnippetsUp=function(t,n){if(t.completion.kind!==n.completion.kind){if(25===t.completion.kind)return-1;if(25===n.completion.kind)return 1}return e._compareCompletionItems(t,n)},e}()),U=n("80kS"),K=n("NjuD"),q=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),G=function(){function e(){}return e.create=function(t,n){if(!n.getConfiguration().contribInfo.suggest.localityBonus)return Promise.resolve(e.None);if(!n.hasModel())return Promise.resolve(e.None);var i=n.getModel(),o=n.getPosition();return t.canComputeWordRanges(i.uri)?(new K.a).provideSelectionRanges(i,[o]).then(function(s){return s&&0!==s.length&&0!==s[0].length?t.computeWordRanges(i.uri,s[0][0].range).then(function(t){return new(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return q(i,e),i.prototype.distance=function(e,i){if(!t||!o.equals(n.getPosition()))return 0;if(17===i.kind)return 2<<20;var a=i.label,u=t[a];if(Object(r.m)(u))return 2<<20;for(var l=Object(r.c)(u,c.a.fromPositions(e),c.a.compareRangesUsingStarts),d=l>=0?u[l]:u[Math.max(0,~l-1)],h=s.length,p=0,f=s[0];p0?{triggerKind:2}:{triggerKind:0},this._requestToken=new U.b;var h=this._editor.getConfiguration().contribInfo,p=new Set,f=1;switch(h.suggest.snippets){case"top":f=0;break;case"bottom":f=2;break;case"none":p.add(25)}for(var g in h.suggest.filteredTypes){var _=Object(m.A)(g,!0);void 0!==_&&!1===h.suggest.filteredTypes[g]&&p.add(_)}var v=G.create(this._editorWorker,this._editor),y=Object(R.e)(l,this._editor.getPosition(),new R.a(f,p,n),u,this._requestToken.token);Promise.all([y,v]).then(function(t){var n=t[0],s=t[1];if(Object(a.f)(o._requestToken),0!==o._state&&o._editor.hasModel()){var u=o._editor.getModel();if(Object(r.n)(i)){var l=Object(R.d)(f);n=n.concat(i).sort(l)}var d=new Z(u,o._editor.getPosition(),c,e.shy);o._completionModel=new z(n,o._context.column,{leadingLineContent:d.leadingLineContent,characterCountDelta:d.column-o._context.column},s,o._editor.getConfiguration().contribInfo.suggest);for(var h=0,p=n;hthis._context.column&&this._completionModel.incomplete.size>0&&0!==e.leadingWord.word.length){var t=this._completionModel.incomplete,n=this._completionModel.adopt(t);this.trigger({auto:2===this._state,shy:!1},!0,t,n)}else{var i=this._completionModel.lineContext,o=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},0===this._completionModel.items.length){if(Z.shouldAutoTrigger(this._editor)&&this._context.leadingWord.endColumn0)&&0===e.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,auto:this._context.auto,shy:this._context.shy,isFrozen:o})}}else this.cancel()},e}(),X=(n("YUwp"),n("7/Cv")),J=n("SWdJ"),Q=n("qecS"),$=n("NqM+"),ee=n("3ciN"),te=n("Yqb6"),ne=n("eoic"),ie=n("L5KM"),oe=n("VBCr"),re=n("6TMp"),se=n("GsV8"),ae=n("tpa8"),ue=n("lapT"),le=n("ZYUE"),ce=n("9XyG");function de(e,t,n,i){var o=i===D.ROOT_FOLDER?["rootfolder-icon"]:i===D.FOLDER?["folder-icon"]:["file-icon"];if(n){var r;if(n.scheme===ue.b.data)r=le.a.parseMetaData(n).get(le.a.META_DATA_LABEL);else r=he(Object(le.c)(n).toLowerCase());if(i===D.FOLDER)o.push(r+"-name-folder-icon");else{if(r){o.push(r+"-name-file-icon");for(var s=r.split("."),a=1;a=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},ve=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ye=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},be=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=0&&(l.extraClasses=(l.extraClasses||[]).concat(["deprecated"]),l.matches=[]),o.iconLabel.setLabel(s.label,void 0,l),o.typeLabel.textContent=(s.detail||"").replace(/\n.*$/m,""),Ne(e)?(Object(X.Q)(o.readMore),o.readMore.onmousedown=function(e){e.stopPropagation(),e.preventDefault()},o.readMore.onclick=function(e){e.stopPropagation(),e.preventDefault(),i.widget.toggleDetails()}):(Object(X.D)(o.readMore),o.readMore.onmousedown=null,o.readMore.onclick=null)},e.prototype.disposeTemplate=function(e){e.disposables.dispose()},e=_e([ve(3,pe.a),ve(4,re.a),ve(5,ne.c)],e)}(),Ie=function(){function e(e,t,n,i,o){var r=this;this.widget=t,this.editor=n,this.markdownRenderer=i,this.triggerKeybindingLabel=o,this.borderWidth=1,this.disposables=new a.b,this.el=Object(X.m)(e,Object(X.a)(".details")),this.disposables.add(Object(a.h)(function(){return e.removeChild(r.el)})),this.body=Object(X.a)(".body"),this.scrollbar=new Q.a(this.body,{}),Object(X.m)(this.el,this.scrollbar.getDomNode()),this.disposables.add(this.scrollbar),this.header=Object(X.m)(this.body,Object(X.a)(".header")),this.close=Object(X.m)(this.header,Object(X.a)("span.close")),this.close.title=k.a("readLess","Read less...{0}",this.triggerKeybindingLabel),this.type=Object(X.m)(this.header,Object(X.a)("p.type")),this.docs=Object(X.m)(this.body,Object(X.a)("p.docs")),this.ariaLabel=null,this.configureFont(),W.b.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(function(e){return e.fontInfo}).on(this.configureFont,this,this.disposables),i.onDidRenderCodeBlock(function(){return r.scrollbar.scanDomNode()},this,this.disposables)}return Object.defineProperty(e.prototype,"element",{get:function(){return this.el},enumerable:!0,configurable:!0}),e.prototype.renderLoading=function(){this.type.textContent=k.a("loading","Loading..."),this.docs.textContent=""},e.prototype.renderItem=function(e,t){var n=this;this.renderDisposeable=Object(a.f)(this.renderDisposeable);var i=e.completion,o=i.documentation,r=i.detail;if(t){var s="";s+="score: "+e.score[0]+(e.word?", compared '"+(e.completion.filterText&&e.completion.filterText+" (filterText)"||e.completion.label)+"' with '"+e.word+"'":" (no prefix)")+"\n",s+="distance: "+e.distance+", see localityBonus-setting\n",s+="index: "+e.idx+", based on "+(e.completion.sortText&&'sortText: "'+e.completion.sortText+'"'||"label")+"\n",o=(new ge.a).appendCodeblock("empty",s),r="Provider: "+e.provider._debugDisplayName}if(!t&&!Ne(e))return this.type.textContent="",this.docs.textContent="",Object(X.f)(this.el,"no-docs"),void(this.ariaLabel=null);if(Object(X.I)(this.el,"no-docs"),"string"==typeof o)Object(X.I)(this.docs,"markdown-docs"),this.docs.textContent=o;else{Object(X.f)(this.docs,"markdown-docs"),this.docs.innerHTML="";var u=this.markdownRenderer.render(o);this.renderDisposeable=u,this.docs.appendChild(u.element)}r?(this.type.innerText=r,Object(X.Q)(this.type)):(this.type.innerText="",Object(X.D)(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(),n.widget.toggleDetails()},this.body.scrollTop=0,this.scrollbar.scanDomNode(),this.ariaLabel=H.r("{0}{1}",r||"",o?"string"==typeof o?o:o.value:"")},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,n=e.contribInfo.suggestFontSize||e.fontInfo.fontSize,i=e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight,o=e.fontInfo.fontWeight,r=n+"px",s=i+"px";this.el.style.fontSize=r,this.el.style.fontWeight=o,this.type.style.fontFamily=t,this.close.style.height=s,this.close.style.width=s},e.prototype.dispose=function(){this.disposables.dispose(),this.renderDisposeable=Object(a.f)(this.renderDisposeable)},e}(),De=function(){function e(e,t,n,i,o,r,s,u,l){var c=this;this.editor=e,this.telemetryService=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.state=null,this.isAuto=!1,this.loadingTimeout=a.a.None,this.currentSuggestionDetails=null,this.ignoreFocusEvents=!1,this.completionModel=null,this.showTimeout=new _.e,this.toDispose=new a.b,this.onDidSelectEmitter=new W.a,this.onDidFocusEmitter=new W.a,this.onDidHideEmitter=new W.a,this.onDidShowEmitter=new W.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.firstFocusInCurrentList=!1,this.preferDocPositionTop=!1,this.docsPositionPreviousWidgetY=null,this.explainMode=!1,this._lastAriaAlertLabel=null;var d=r.lookupKeybinding("editor.action.triggerSuggest"),h=d?" ("+d.getLabel()+")":"",p=this.toDispose.add(new oe.a(e,s,u));this.isAuto=!1,this.focusedItem=null,this.storageService=o,this.element=Object(X.a)(".editor-widget.suggest-widget"),this.toDispose.add(Object(X.h)(this.element,"click",function(e){e.target===c.element&&c.hideWidget()})),this.messageElement=Object(X.m)(this.element,Object(X.a)(".message")),this.listElement=Object(X.m)(this.element,Object(X.a)(".tree")),this.details=l.createInstance(Ie,this.element,this,this.editor,p,h);var f=function(){return Object(X.R)(c.element,"no-icons",!c.editor.getConfiguration().contribInfo.suggest.showIcons)};f();var g=l.createInstance(xe,this,this.editor,h);this.list=new J.b(this.listElement,this,[g],{useShadows:!1,openController:{shouldOpen:function(){return!1}},mouseSupport:!1}),this.toDispose.add(Object(te.b)(this.list,i,{listInactiveFocusBackground:Le,listInactiveFocusOutline:ie.b})),this.toDispose.add(i.onThemeChange(function(e){return c.onThemeChange(e)})),this.toDispose.add(e.onDidLayoutChange(function(){return c.onEditorLayoutChange()})),this.toDispose.add(this.list.onMouseDown(function(e){return c.onListMouseDown(e)})),this.toDispose.add(this.list.onSelectionChange(function(e){return c.onListSelection(e)})),this.toDispose.add(this.list.onFocusChange(function(e){return c.onListFocus(e)})),this.toDispose.add(this.editor.onDidChangeCursorSelection(function(){return c.onCursorSelectionChanged()})),this.toDispose.add(this.editor.onDidChangeConfiguration(function(e){return e.contribInfo&&f()})),this.suggestWidgetVisible=R.b.Visible.bindTo(n),this.suggestWidgetMultipleSuggestions=R.b.MultipleSuggestions.bindTo(n),this.editor.addContentWidget(this),this.setState(0),this.onThemeChange(i.getTheme())}return e.prototype.onCursorSelectionChanged=function(){0!==this.state&&this.editor.layoutContentWidget(this)},e.prototype.onEditorLayoutChange=function(){3!==this.state&&5!==this.state||!this.expandDocsSettingFromStorage()||this.expandSideOrBelow()},e.prototype.onListMouseDown=function(e){void 0!==e.element&&void 0!==e.index&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this.select(e.element,e.index))},e.prototype.onListSelection=function(e){e.elements.length&&this.select(e.elements[0],e.indexes[0])},e.prototype.select=function(e,t){var n=this.completionModel;n&&(this.onDidSelectEmitter.fire({item:e,index:t,model:n}),this.editor.focus())},e.prototype._getSuggestionAriaAlertLabel=function(e){return this.expandDocsSettingFromStorage()?k.a("ariaCurrenttSuggestionReadDetails","Item {0}, docs: {1}",e.completion.label,this.details.getAriaLabel()):e.completion.label},e.prototype._ariaAlert=function(e){this._lastAriaAlertLabel!==e&&(this._lastAriaAlertLabel=e,this._lastAriaAlertLabel&&Object(o.a)(this._lastAriaAlertLabel,!0))},e.prototype.onThemeChange=function(e){var t=e.getColor(Ce);t&&(this.listElement.style.backgroundColor=t.toString(),this.details.element.style.backgroundColor=t.toString(),this.messageElement.style.backgroundColor=t.toString());var n=e.getColor(we);n&&(this.listElement.style.borderColor=n.toString(),this.details.element.style.borderColor=n.toString(),this.messageElement.style.borderColor=n.toString(),this.detailsBorderColor=n.toString());var i=e.getColor(ie.S);i&&(this.detailsFocusBorderColor=i.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);if(this.completionModel){var n=e.elements[0],i=e.indexes[0];this.firstFocusInCurrentList=!this.focusedItem,n!==this.focusedItem&&(this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null),this.focusedItem=n,this.list.reveal(i),this.currentSuggestionDetails=Object(_.f)(function(e){return ye(t,void 0,void 0,function(){var t,i,o=this;return be(this,function(r){switch(r.label){case 0:return t=Object(_.g)(function(){return o.showDetails(!0)},250),e.onCancellationRequested(function(){return t.dispose()}),[4,n.resolve(e)];case 1:return i=r.sent(),t.dispose(),[2,i]}})})}),this.currentSuggestionDetails.then(function(){i>=t.list.length||n!==t.list.element(i)||(t.ignoreFocusEvents=!0,t.list.splice(i,1,[n]),t.list.setFocus([i]),t.ignoreFocusEvents=!1,t.expandDocsSettingFromStorage()?t.showDetails(!1):Object(X.I)(t.element,"docs-side"),t._ariaAlert(t._getSuggestionAriaAlertLabel(n)))}).catch(s.e)),this.onDidFocusEmitter.fire({item:n,index:i,model:this.completionModel})}}},e.prototype.setState=function(t){if(this.element){var n=this.state!==t;switch(this.state=t,Object(X.R)(this.element,"frozen",4===t),t){case 0:Object(X.D)(this.messageElement,this.details.element,this.listElement),this.hide(),this.listHeight=0,n&&this.list.splice(0,this.list.length),this.focusedItem=null;break;case 1:this.messageElement.textContent=e.LOADING_MESSAGE,Object(X.D)(this.listElement,this.details.element),Object(X.Q)(this.messageElement),Object(X.I)(this.element,"docs-side"),this.show(),this.focusedItem=null;break;case 2:this.messageElement.textContent=e.NO_SUGGESTIONS_MESSAGE,Object(X.D)(this.listElement,this.details.element),Object(X.Q)(this.messageElement),Object(X.I)(this.element,"docs-side"),this.show(),this.focusedItem=null;break;case 3:case 4:Object(X.D)(this.messageElement),Object(X.Q)(this.listElement),this.show();break;case 5:Object(X.D)(this.messageElement),Object(X.Q)(this.details.element,this.listElement),this.show(),this._ariaAlert(this.details.getAriaLabel())}}},e.prototype.showTriggered=function(e,t){var n=this;0===this.state&&(this.isAuto=!!e,this.isAuto||(this.loadingTimeout=Object(_.g)(function(){return n.setState(1)},t)))},e.prototype.showSuggestions=function(e,t,n,i){if(this.preferDocPositionTop=!1,this.docsPositionPreviousWidgetY=null,this.loadingTimeout.dispose(),this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null),this.completionModel!==e&&(this.completionModel=e),n&&2!==this.state&&0!==this.state)this.setState(4);else{var o=this.completionModel.items.length,r=0===o;if(this.suggestWidgetMultipleSuggestions.set(o>1),r)i?this.setState(0):this.setState(2),this.completionModel=null;else{if(3!==this.state){var s=this.completionModel.stats;s.wasAutomaticallyTriggered=!!i,this.telemetryService.publicLog("suggestWidget",me({},s))}this.focusedItem=null,this.list.splice(0,this.list.length,this.completionModel.items),n?this.setState(4):this.setState(3),this.list.reveal(t,0),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&&this.completionModel)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.publicLog2("suggestWidget:toggleDetailsFocus")},e.prototype.toggleDetails=function(){if(Ne(this.list.getFocusedElements()[0]))if(this.expandDocsSettingFromStorage())this.updateExpandDocsSetting(!1),Object(X.D)(this.details.element),Object(X.I)(this.element,"docs-side"),Object(X.I)(this.element,"docs-below"),this.editor.layoutContentWidget(this),this.telemetryService.publicLog2("suggestWidget:collapseDetails");else{if(3!==this.state&&5!==this.state&&4!==this.state)return;this.updateExpandDocsSetting(!0),this.showDetails(!1),this._ariaAlert(this.details.getAriaLabel()),this.telemetryService.publicLog2("suggestWidget:expandDetails")}},e.prototype.showDetails=function(e){this.expandSideOrBelow(),Object(X.Q)(this.details.element),this.details.element.style.maxHeight=this.maxWidgetHeight+"px",e?this.details.renderLoading():this.details.renderItem(this.list.getFocusedElements()[0],this.explainMode),this.listElement.style.marginTop="0px",this.editor.layoutContentWidget(this),this.adjustDocsPosition(),this.editor.focus()},e.prototype.toggleExplainMode=function(){this.list.getFocusedElements()[0]&&this.expandDocsSettingFromStorage()&&(this.explainMode=!this.explainMode,this.showDetails(!1))},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(X.f)(e.element,"visible"),e.onDidShowEmitter.fire(e)},100)},e.prototype.hide=function(){this.suggestWidgetVisible.reset(),this.suggestWidgetMultipleSuggestions.reset(),Object(X.I)(this.element,"visible")},e.prototype.hideWidget=function(){this.loadingTimeout.dispose(),this.setState(0),this.onDidHideEmitter.fire(this)},e.prototype.getPosition=function(){if(0===this.state)return null;var e=[2,1];return this.preferDocPositionTop&&(e=[1]),{position:this.editor.getPosition(),preference:e}},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,n=this.editor.getConfiguration().contribInfo.suggest.maxVisibleSuggestions;e=Math.min(t,n)*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(){if(this.editor.hasModel()){var e=this.editor.getConfiguration().fontInfo.lineHeight,t=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),n=Object(X.x)(this.editor.getDomNode()),i=n.left+t.left,o=n.top+t.top+t.height,r=Object(X.x)(this.element),s=r.left,a=r.top;if(this.docsPositionPreviousWidgetY&&this.docsPositionPreviousWidgetYa&&this.details.element.offsetHeight>this.listElement.offsetHeight&&(this.listElement.style.marginTop=this.details.element.offsetHeight-this.listElement.offsetHeight+"px")}},e.prototype.expandSideOrBelow=function(){if(!Ne(this.focusedItem)&&this.firstFocusInCurrentList)return Object(X.I)(this.element,"docs-side"),void Object(X.I)(this.element,"docs-below");var e=this.element.style.maxWidth.match(/(\d+)px/);!e||Number(e[1])=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},Me=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Re=function(e){function t(n,i){var o=e.call(this)||this;return o._editor=n,o._enabled=!1,o._ckAtEnd=t.AtEnd.bindTo(i),o._register(o._editor.onDidChangeConfiguration(function(e){return e.contribInfo&&o._update()})),o._update(),o}return ke(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),Object(a.f)(this._selectionListener),this._ckAtEnd.reset()},t.prototype._update=function(){var e=this,t="on"===this._editor.getConfiguration().contribInfo.tabCompletion;if(this._enabled!==t)if(this._enabled=t,this._enabled){var n=function(){if(e._editor.hasModel()){var t=e._editor.getModel(),n=e._editor.getSelection(),i=t.getWordAtPosition(n.getStartPosition());i?e._ckAtEnd.set(i.endColumn===n.getStartPosition().column):e._ckAtEnd.set(!1)}else e._ckAtEnd.set(!1)};this._selectionListener=this._editor.onDidChangeCursorSelection(n),n()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)},t.AtEnd=new M.d("atEndOfWord",!1),t=Te([Me(1,M.c)],t)}(a.a),Ae=n("606G"),Pe=n("KIxu"),Fe=n("GfE5"),We=function(){function e(e,t,n){var i=this;this._disposables=new a.b,this._disposables.add(t.onDidShow(function(){return i._onItem(t.getFocusedItem())})),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(function(t){if(i._active){var o=t.charCodeAt(t.length-1);i._active.acceptCharacters.has(o)&&e.getConfiguration().contribInfo.acceptSuggestionOnCommitCharacter&&n(i._active.item)}}))}return e.prototype._onItem=function(e){if(e&&Object(r.n)(e.item.completion.commitCharacters)){if(!this._active||this._active.item.item!==e.item){for(var t=new Fe.b,n=0,i=e.item.completion.commitCharacters;n0&&t.add(o.charCodeAt(0))}this._active={acceptCharacters:t,item:e}}}else this.reset()},e.prototype.reset=function(){this._active=void 0},e.prototype.dispose=function(){this._disposables.dispose()},e}();n.d(t,"SuggestController",function(){return Ke}),n.d(t,"TriggerSuggestAction",function(){return qe});var je=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ve=this&&this.__assign||function(){return(Ve=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},He=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ze=!1,Ue=function(){function e(e,t){if(this._model=e,this._position=t,e.getLineMaxColumn(t.lineNumber)!==t.column){var n=e.getOffsetAt(t),i=e.getPositionAt(n+1);this._marker=e.deltaDecorations([],[{range:c.a.fromPositions(t,i),options:{stickiness:1}}])}}return e.prototype.dispose=function(){this._marker&&!this._model.isDisposed()&&this._model.deltaDecorations(this._marker,[])},e.prototype.delta=function(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){var t=this._model.getDecorationRange(this._marker[0]);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}return this._model.getLineMaxColumn(e.lineNumber)-e.column},e}(),Ke=function(){function e(e,t,n,i,o,r){var s=this;this._editor=e,this._memoryService=n,this._commandService=i,this._contextKeyService=o,this._instantiationService=r,this._lineSuffix=new a.d,this._toDispose=new a.b,this._model=new Y(this._editor,t),this._widget=new _.b(function(){var e=s._instantiationService.createInstance(De,s._editor);s._toDispose.add(e),s._toDispose.add(e.onDidSelect(function(e){return s._insertSuggestion(e,!1,!0)},s));var t=new We(s._editor,e,function(e){return s._insertSuggestion(e,!1,!0)});s._toDispose.add(t),s._toDispose.add(s._model.onDidSuggest(function(e){0===e.completionModel.items.length&&t.reset()}));var n=R.b.MakesTextEdit.bindTo(s._contextKeyService);return s._toDispose.add(e.onDidFocus(function(e){var t=e.item,i=s._editor.getPosition(),o=t.completion.range.startColumn,r=i.column,a=!0;"smart"!==s._editor.getConfiguration().contribInfo.acceptSuggestionOnEnter||2!==s._model.state||t.completion.command||t.completion.additionalTextEdits||4&t.completion.insertTextRules||r-o!==t.completion.insertText.length||(a=s._editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:o,endLineNumber:i.lineNumber,endColumn:r})!==t.completion.insertText);n.set(a)})),s._toDispose.add(Object(a.h)(function(){return n.reset()})),e}),this._alternatives=new _.b(function(){return s._toDispose.add(new F(s._editor,s._contextKeyService))}),this._toDispose.add(r.createInstance(Re,e)),this._toDispose.add(this._model.onDidTrigger(function(e){s._widget.getValue().showTriggered(e.auto,e.shy?250:50),s._lineSuffix.value=new Ue(s._editor.getModel(),e.position)})),this._toDispose.add(this._model.onDidSuggest(function(e){if(!e.shy){var t=s._memoryService.select(s._editor.getModel(),s._editor.getPosition(),e.completionModel.items);s._widget.getValue().showSuggestions(e.completionModel,t,e.isFrozen,e.auto)}})),this._toDispose.add(this._model.onDidCancel(function(e){e.retrigger||s._widget.getValue().hideWidget()})),this._toDispose.add(this._editor.onDidBlurEditorWidget(function(){ze||(s._model.cancel(),s._model.clear())}));var u=R.b.AcceptSuggestionsOnEnter.bindTo(o),l=function(){var e=s._editor.getConfiguration().contribInfo.acceptSuggestionOnEnter;u.set("on"===e||"smart"===e)};this._toDispose.add(this._editor.onDidChangeConfiguration(function(){return l()})),l()}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._alternatives.dispose(),this._toDispose.dispose(),this._widget.dispose(),this._model.dispose(),this._lineSuffix.dispose()},e.prototype._insertSuggestion=function(e,t,n){var i,o=this;if(!e||!e.item)return this._alternatives.getValue().reset(),this._model.cancel(),void this._model.clear();if(this._editor.hasModel()){var r=this._editor.getModel(),a=r.getAlternativeVersionId(),u=e.item,d=u.completion,f=u.position,g=this._editor.getPosition().column-f.column;n&&this._editor.pushUndoStop(),Array.isArray(d.additionalTextEdits)&&this._editor.executeEdits("suggestController.additionalTextEdits",d.additionalTextEdits.map(function(e){return l.a.replace(c.a.lift(e.range),e.text)})),this._memoryService.memorize(r,this._editor.getPosition(),e.item);var m=d.insertText;4&d.insertTextRules||(m=p.c.escape(m));var _=f.column-d.range.startColumn,v=d.range.endColumn-f.column,y=this._lineSuffix.value?this._lineSuffix.value.delta(this._editor.getPosition()):0;h.SnippetController2.get(this._editor).insert(m,{overwriteBefore:_+g,overwriteAfter:v+y,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(1&d.insertTextRules)}),n&&this._editor.pushUndoStop(),d.command?d.command.id===qe.id?this._model.trigger({auto:!0,shy:!1},!0):((i=this._commandService).executeCommand.apply(i,[d.command.id].concat(d.command.arguments?d.command.arguments.slice():[])).catch(s.e).finally(function(){return o._model.clear()}),this._model.cancel()):(this._model.cancel(),this._model.clear()),t&&this._alternatives.getValue().set(e,function(e){for(;r.canUndo();){a!==r.getAlternativeVersionId()&&r.undo(),o._insertSuggestion(e,!1,!1);break}}),this._alertCompletionItem(e.item)}},e.prototype._alertCompletionItem=function(e){var t=e.completion;if(Object(r.n)(t.additionalTextEdits)){var n=k.a("arai.alert.snippet","Accepting '{0}' made {1} additional edits",t.label,t.additionalTextEdits.length);Object(o.a)(n)}},e.prototype.triggerSuggest=function(e){this._editor.hasModel()&&(this._model.trigger({auto:!1,shy:!1},!1,e),this._editor.revealLine(this._editor.getPosition().lineNumber,0),this._editor.focus())},e.prototype.triggerSuggestAndAcceptBest=function(e){var t=this;if(this._editor.hasModel()){var n=this._editor.getPosition(),i=function(){n.equals(t._editor.getPosition())&&t._commandService.executeCommand(e.fallback)};W.b.once(this._model.onDidTrigger)(function(e){var n=[];W.b.any(t._model.onDidTrigger,t._model.onDidCancel)(function(){Object(a.f)(n),i()},void 0,n),t._model.onDidSuggest(function(e){var o=e.completionModel;if(Object(a.f)(n),0!==o.items.length){var r=t._memoryService.select(t._editor.getModel(),t._editor.getPosition(),o.items),s=o.items[r];!function(e){if(4&e.completion.insertTextRules||e.completion.additionalTextEdits)return!0;var n=t._editor.getPosition(),i=e.completion.range.startColumn,o=n.column;return o-i!==e.completion.insertText.length||t._editor.getModel().getValueInRange({startLineNumber:n.lineNumber,startColumn:i,endLineNumber:n.lineNumber,endColumn:o})!==e.completion.insertText}(s)?i():(t._editor.pushUndoStop(),t._insertSuggestion({index:r,item:s,model:o},!0,!1))}else i()},void 0,n)}),this._model.trigger({auto:!1,shy:!0}),this._editor.revealLine(n.lineNumber,0),this._editor.focus()}},e.prototype.acceptSelectedSuggestion=function(e){var t=this._widget.getValue().getFocusedItem();this._insertSuggestion(t,!!e,!0)},e.prototype.acceptNextSuggestion=function(){this._alternatives.getValue().next()},e.prototype.acceptPrevSuggestion=function(){this._alternatives.getValue().prev()},e.prototype.cancelSuggestWidget=function(){this._model.cancel(),this._model.clear(),this._widget.getValue().hideWidget()},e.prototype.selectNextSuggestion=function(){this._widget.getValue().selectNext()},e.prototype.selectNextPageSuggestion=function(){this._widget.getValue().selectNextPage()},e.prototype.selectLastSuggestion=function(){this._widget.getValue().selectLast()},e.prototype.selectPrevSuggestion=function(){this._widget.getValue().selectPrevious()},e.prototype.selectPrevPageSuggestion=function(){this._widget.getValue().selectPreviousPage()},e.prototype.selectFirstSuggestion=function(){this._widget.getValue().selectFirst()},e.prototype.toggleSuggestionDetails=function(){this._widget.getValue().toggleDetails()},e.prototype.toggleExplainMode=function(){this._widget.getValue().toggleExplainMode()},e.prototype.toggleSuggestionFocus=function(){this._widget.getValue().toggleDetailsFocus()},e.ID="editor.contrib.suggestController",e=Be([He(1,Ae.a),He(2,I),He(3,T.b),He(4,M.c),He(5,v.a)],e)}(),qe=function(e){function t(){return e.call(this,{id:t.id,label:k.a("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:M.a.and(d.a.writable,d.a.hasCompletionItemProvider),kbOpts:{kbExpr:d.a.textInputFocus,primary:2058,mac:{primary:266},weight:100}})||this}return je(t,e),t.prototype.run=function(e,t){var n=Ke.get(t);n&&n.triggerSuggest()},t.id="editor.action.triggerSuggest",t}(u.b);Object(u.h)(Ke),Object(u.f)(qe);var Ge=u.c.bindToContribution(Ke.get);Object(u.g)(new Ge({id:"acceptSelectedSuggestion",precondition:R.b.Visible,handler:function(e){return e.acceptSelectedSuggestion(!0)},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:2}})),Object(u.g)(new Ge({id:"acceptSelectedSuggestionOnEnter",precondition:R.b.Visible,handler:function(e){return e.acceptSelectedSuggestion(!1)},kbOpts:{weight:190,kbExpr:M.a.and(d.a.textInputFocus,R.b.AcceptSuggestionsOnEnter,R.b.MakesTextEdit),primary:3}})),Object(u.g)(new Ge({id:"hideSuggestWidget",precondition:R.b.Visible,handler:function(e){return e.cancelSuggestWidget()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:9,secondary:[1033]}})),Object(u.g)(new Ge({id:"selectNextSuggestion",precondition:M.a.and(R.b.Visible,R.b.MultipleSuggestions),handler:function(e){return e.selectNextSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),Object(u.g)(new Ge({id:"selectNextPageSuggestion",precondition:M.a.and(R.b.Visible,R.b.MultipleSuggestions),handler:function(e){return e.selectNextPageSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:12,secondary:[2060]}})),Object(u.g)(new Ge({id:"selectLastSuggestion",precondition:M.a.and(R.b.Visible,R.b.MultipleSuggestions),handler:function(e){return e.selectLastSuggestion()}})),Object(u.g)(new Ge({id:"selectPrevSuggestion",precondition:M.a.and(R.b.Visible,R.b.MultipleSuggestions),handler:function(e){return e.selectPrevSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),Object(u.g)(new Ge({id:"selectPrevPageSuggestion",precondition:M.a.and(R.b.Visible,R.b.MultipleSuggestions),handler:function(e){return e.selectPrevPageSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:11,secondary:[2059]}})),Object(u.g)(new Ge({id:"selectFirstSuggestion",precondition:M.a.and(R.b.Visible,R.b.MultipleSuggestions),handler:function(e){return e.selectFirstSuggestion()}})),Object(u.g)(new Ge({id:"toggleSuggestionDetails",precondition:R.b.Visible,handler:function(e){return e.toggleSuggestionDetails()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:2058,mac:{primary:266}}})),Object(u.g)(new Ge({id:"toggleExplainMode",precondition:R.b.Visible,handler:function(e){return e.toggleExplainMode()},kbOpts:{weight:100,primary:2133}})),Object(u.g)(new Ge({id:"toggleSuggestionFocus",precondition:R.b.Visible,handler:function(e){return e.toggleSuggestionFocus()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:2570,mac:{primary:778}}})),Object(u.g)(new Ge({id:"insertBestCompletion",precondition:M.a.and(M.a.equals("config.editor.tabCompletion","on"),Re.AtEnd,R.b.Visible.toNegated(),F.OtherSuggestions.toNegated(),h.SnippetController2.InSnippetMode.toNegated()),handler:function(e,t){e.triggerSuggestAndAcceptBest(Object(Pe.h)(t)?Ve({fallback:"tab"},t):{fallback:"tab"})},kbOpts:{weight:190,primary:2}})),Object(u.g)(new Ge({id:"insertNextSuggestion",precondition:M.a.and(M.a.equals("config.editor.tabCompletion","on"),F.OtherSuggestions,R.b.Visible.toNegated(),h.SnippetController2.InSnippetMode.toNegated()),handler:function(e){return e.acceptNextSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:2}})),Object(u.g)(new Ge({id:"insertPrevSuggestion",precondition:M.a.and(M.a.equals("config.editor.tabCompletion","on"),F.OtherSuggestions,R.b.Visible.toNegated(),h.SnippetController2.InSnippetMode.toNegated()),handler:function(e){return e.acceptPrevSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:1026}}))},"7g0X":function(e,t,n){"use strict";n.d(t,"a",function(){return a}),n.d(t,"b",function(){return m}),n.d(t,"d",function(){return _}),n.d(t,"c",function(){return v}),n.d(t,"e",function(){return y});var i,o=n("aL7J"),r=n("JVO/"),s=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=function(){function e(){}return e.has=function(e){return l.create(e)},e.equals=function(e,t){return c.create(e,t)},e.regex=function(e,t){return p.create(e,t)},e.not=function(e){return h.create(e)},e.and=function(){for(var e=[],t=0;t=0){var n=e.split("!=");return d.create(n[0].trim(),this._deserializeValue(n[1],t))}if(e.indexOf("==")>=0){n=e.split("==");return c.create(n[0].trim(),this._deserializeValue(n[1],t))}if(e.indexOf("=~")>=0){n=e.split("=~");return p.create(n[0].trim(),this._deserializeRegexValue(n[1],t))}return/^\!\s*/.test(e)?h.create(e.substr(1).trim()):l.create(e)},e._deserializeValue=function(e,t){if("true"===(e=e.trim()))return!0;if("false"===e)return!1;var n=/^'([^']*)'$/.exec(e);return n?n[1].trim():e},e._deserializeRegexValue=function(e,t){if(Object(o.u)(e)){if(t)throw new Error("missing regexp-value for =~-expression");return console.warn("missing regexp-value for =~-expression"),null}var n=e.indexOf("/"),i=e.lastIndexOf("/");if(n===i||n<0){if(t)throw new Error("bad regexp-value '"+e+"', missing /-enclosure");return console.warn("bad regexp-value '"+e+"', missing /-enclosure"),null}var r=e.slice(n+1,i),s="i"===e[i+1]?"i":"";try{return new RegExp(r,s)}catch(n){if(t)throw new Error("bad regexp-value '"+e+"', parse error: "+n);return console.warn("bad regexp-value '"+e+"', parse error: "+n),null}},e}();function u(e,t){var n=e.getType(),i=t.getType();if(n!==i)return n-i;switch(n){case 1:case 2:case 3:case 4:case 6:case 7:case 5:return e.cmp(t);default:throw new Error("Unknown ContextKeyExpr!")}}var l=function(){function e(e){this.key=e}return e.create=function(t){return new e(t)},e.prototype.getType=function(){return 1},e.prototype.cmp=function(e){return this.keye.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.keys=function(){return[this.key]},e.prototype.negate=function(){return h.create(this.key)},e}(),c=function(){function e(e,t){this.key=e,this.value=t}return e.create=function(t,n){return"boolean"==typeof n?n?l.create(t):h.create(t):new e(t,n)},e.prototype.getType=function(){return 3},e.prototype.cmp=function(e){return this.keye.key?1:this.valuee.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.keys=function(){return[this.key]},e.prototype.negate=function(){return d.create(this.key,this.value)},e}(),d=function(){function e(e,t){this.key=e,this.value=t}return e.create=function(t,n){return"boolean"==typeof n?n?h.create(t):l.create(t):new e(t,n)},e.prototype.getType=function(){return 4},e.prototype.cmp=function(e){return this.keye.key?1:this.valuee.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.keys=function(){return[this.key]},e.prototype.negate=function(){return c.create(this.key,this.value)},e}(),h=function(){function e(e){this.key=e}return e.create=function(t){return new e(t)},e.prototype.getType=function(){return 2},e.prototype.cmp=function(e){return this.keye.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.keys=function(){return[this.key]},e.prototype.negate=function(){return l.create(this.key)},e}(),p=function(){function e(e,t){this.key=e,this.regexp=t}return e.create=function(t,n){return new e(t,n)},e.prototype.getType=function(){return 6},e.prototype.cmp=function(e){if(this.keye.key)return 1;var t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return tn?1:0},e.prototype.equals=function(t){if(t instanceof e){var n=this.regexp?this.regexp.source:"",i=t.regexp?t.regexp.source:"";return this.key===t.key&&n===i}return!1},e.prototype.evaluate=function(e){var t=e.getValue(this.key);return!!this.regexp&&this.regexp.test(t)},e.prototype.keys=function(){return[this.key]},e.prototype.negate=function(){return f.create(this)},e}(),f=function(){function e(e){this._actual=e}return e.create=function(t){return new e(t)},e.prototype.getType=function(){return 7},e.prototype.cmp=function(e){return this._actual.cmp(e._actual)},e.prototype.equals=function(t){return t instanceof e&&this._actual.equals(t._actual)},e.prototype.evaluate=function(e){return!this._actual.evaluate(e)},e.prototype.keys=function(){return this._actual.keys()},e.prototype.negate=function(){return this._actual},e}(),g=function(){function e(e){this.expr=e}return e.create=function(t){var n=e._normalizeArr(t);if(0!==n.length)return 1===n.length?n[0]:new e(n)},e.prototype.getType=function(){return 5},e.prototype.cmp=function(e){if(this.expr.lengthe.expr.length)return 1;for(var t=0,n=this.expr.length;t1;){for(var s=t.shift(),u=t.shift(),l=[],c=0,d=r(s);c0&&(n._decorations=n._editor.deltaDecorations(n._decorations,[])),n._updateBracketsSoon.schedule()})),n}return v(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.jumpToBracket=function(){if(this._editor.hasModel()){var e=this._editor.getModel(),t=this._editor.getSelections().map(function(t){var n=t.getStartPosition(),i=e.matchBracket(n),o=null;if(i)i[0].containsPosition(n)?o=i[1].getStartPosition():i[1].containsPosition(n)&&(o=i[0].getStartPosition());else{var r=e.findNextBracket(n);r&&r.range&&(o=r.range.getStartPosition())}return o?new c.a(o.lineNumber,o.column,o.lineNumber,o.column):new c.a(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}},t.prototype.selectToBracket=function(){if(this._editor.hasModel()){var e=this._editor.getModel(),t=[];this._editor.getSelections().forEach(function(n){var i=n.getStartPosition(),o=e.matchBracket(i),r=null,s=null;if(!o){var a=e.findNextBracket(i);a&&a.range&&(o=e.matchBracket(a.range.getStartPosition()))}o&&(o[0].startLineNumber===o[1].startLineNumber?(r=o[1].startColumn0&&(this._editor.setSelections(t),this._editor.revealRange(t[0]))}},t.prototype._updateBrackets=function(){if(this._matchBrackets){this._recomputeBrackets();for(var e=[],n=0,i=0,o=this._lastBracketsData.length;i1&&o.sort(l.a.compare);var c=[],d=0,h=0,p=n.length;for(s=0,a=o.length;s0&&void 0!==arguments[0]&&arguments[0];var e=[].concat(o()(this.provider));return"sql"===this.lang&&e.push.apply(e,o()(this.sqlHints)),e},registerCustomHintsProvider:function(){var e=this;this.providerDisposeID=r.languages.registerCompletionItemProvider(this.lang,{provideCompletionItems:function(t,n,i){var o=t.getWordUntilPosition(n);return{suggestions:function(e,t,n){n.word;var i=[];return e.length&&(i=e.map(function(e){return{label:e.name,kind:e.type?r.languages.CompletionItemKind[e.type]:r.languages.CompletionItemKind.Function,documentation:e.documentation,insertText:(n=e.name,n),detail:e.detail||"EMQX",range:t};var n})),i}(e.getHints(o),{startLineNumber:n.lineNumber,endLineNumber:n.lineNumber,startColumn:o.startColumn,endColumn:o.endColumn},o)}},triggerCharacters:[" "]})},registerCustomHoverProvider:function(){var e=this;r.languages.register({id:this.lang}),this.hoverDisposeID=r.languages.registerHoverProvider(this.lang,{provideHover:function(t,n){if(!t.getWordAtPosition(n))return{};var i,o,r,s=t.getWordAtPosition(n).word;return{contents:(i=s,o=e.provider,r=[],o.forEach(function(e){var t=e.name;e.name.match(/\$events\//)&&(t=e.name.split("/")[1].replace('"',"")),i===t&&r.push({value:function(e){var t=e.name,n=e.default,i=e.valueType;return i&&(t=t+": "+i),n?t+", value: "+n:t}(e)},{value:e.documentation})}),r)}}})}},mounted:function(){this.initEditor()},created:function(){var e=this;this.defineTheme(),window.onresize=function(){e.editor&&e.editor.layout()},this.provider.length&&(this.registerCustomHintsProvider(),this.registerCustomHoverProvider())},beforeDestroy:function(){this.editor&&(this.editor.getModel().dispose(),this.editor.dispose(),this.editor=null),this.providerDisposeID&&this.providerDisposeID.dispose(),this.hoverDisposeID&&this.hoverDisposeID.dispose()}},l={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"monaco-view",attrs:{id:"monaco-"+this.id}})},staticRenderFns:[]};var c=n("VU/8")(u,l,!1,function(e){n("u9OF")},null,null);t.a=c.exports},"9XyG":function(e,t,n){"use strict";n.d(t,"a",function(){return u}),n.d(t,"c",function(){return l}),n.d(t,"b",function(){return c});var i=n("hK2W"),o=n("Kp7x"),r=n("PCC9"),s=n("Fllr"),a=n("RWr8"),u=new(function(){function e(){this._onDidChangeLanguages=new o.a,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[],this._dynamicLanguages=[]}return e.prototype.registerLanguage=function(e){this._languages.push(e),this._onDidChangeLanguages.fire(void 0)},e.prototype.getLanguages=function(){return[].concat(this._languages).concat(this._dynamicLanguages)},e}());a.a.add("editor.modesRegistry",u);var l="plaintext",c=new r.p(l,1);u.registerLanguage({id:l,extensions:[".txt",".gitignore"],aliases:[i.a("plainText.alias","Plain Text"),"text"],mimetypes:["text/plain"]}),s.a.register(c,{brackets:[["(",")"],["[","]"],["{","}"]]})},"9bHL":function(e,t,n){"use strict";var i=n("TU7t"),o=n("tqet"),r=n("Bug4"),s=n("7/Cv"),a=n("Kp7x"),u=n("Gxst"),l=n("qecS"),c=n("vbff");function d(e,t){for(var n=[],i=0,o=t;i=r.range.end)){if(e.end=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},w={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements:function(e){return[e]},getDragURI:function(){return null},onDragStart:function(){},onDragOver:function(){return!1},drop:function(){}},horizontalScrolling:!1},S=function(){function e(e){this.elements=e}return e.prototype.update=function(){},e.prototype.getData=function(){return this.elements},e}(),L=function(){function e(e){this.elements=e}return e.prototype.update=function(){},e.prototype.getData=function(){return this.elements},e}(),O=function(){function e(){this.types=[],this.files=[]}return e.prototype.update=function(e){var t;if(e.types&&(t=this.types).splice.apply(t,[0,this.types.length].concat(e.types)),e.files){this.files.splice(0,this.files.length);for(var n=0;n=this.items.length?(this.rangeMap=new p,this.rangeMap.splice(0,0,_),this.items=_,d=[]):(this.rangeMap.splice(e,t,_),d=(i=this.items).splice.apply(i,[e,t].concat(_)));var v=n.length-t,y=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),b=h(g,v),C=c.a.intersect(y,b);for(l=C.start;l=-1&&en&&(this.scrollTop+=Math.min(14,Math.floor(.3*(t-n))))}},e.prototype.teardownDragAndDropScrollTopAnimation=function(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)},e.prototype.getItemIndexFromEventTarget=function(e){for(var t=e;t instanceof HTMLElement&&t!==this.rowsContainer;){var n=t.getAttribute("data-index");if(n){var i=Number(n);if(!isNaN(i))return i}t=t.parentElement}},e.prototype.getRenderRange=function(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}},e.prototype._rerender=function(e,t){var n,i,o=this.getRenderRange(e,t);e===this.elementTop(o.start)?(n=o.start,i=0):o.end-o.start>1&&(n=o.start+1,i=this.elementTop(n)-e);for(var r=0;;){for(var s=this.getRenderRange(e,t),a=!1,u=s.start;u0?(i=t?(i+1)%o:(i+o-1)%o,n.children[i]):(i=n.parent.groups.indexOf(n),t?(i=(i+1)%r,n.parent.groups[i].children[0]):(i=(i+r-1)%r,n.parent.groups[i].children[n.parent.groups[i].children.length-1]))},e.prototype.nearestReference=function(e,t){var n=this.references.map(function(n,i){return{idx:i,prefixLen:a.b(n.uri.toString(),e.toString()),offsetDist:100*Math.abs(n.range.startLineNumber-t.lineNumber)+Math.abs(n.range.startColumn-t.column)}}).sort(function(e,t){return e.prefixLen>t.prefixLen?-1:e.prefixLent.offsetDist?1:0})[0];if(n)return this.references[n.idx]},e.prototype.firstReference=function(){for(var e=0,t=this.references;ei?1:l.a.compareRangesUsingStarts(e.range,t.range)},e}()},"9vcT":function(e,t){},AKCZ:function(e,t,n){"use strict";n.d(t,"a",function(){return l}),n.d(t,"b",function(){return c});var i,o=n("tqet"),r=n("Kp7x"),s=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},u=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]0?n.actionBar.push(r,{icon:!0,label:!1}):n.actionBar.isEmpty()||r&&0!==r.length||n.actionBar.clear(),e instanceof y&&e.getGroupLabel()?u.f(n.container,"has-group-label"):u.I(n.container,"has-group-label"),e instanceof y){var s=e,a=n;s.showBorder()?(u.f(a.container,"results-group-separator"),i.pickerGroupBorder&&(a.container.style.borderTopColor=i.pickerGroupBorder.toString())):(u.I(a.container,"results-group-separator"),a.container.style.borderTopColor=null);var l=s.getGroupLabel()||"";a.group&&(a.group.textContent=l,i.pickerGroupForeground&&(a.group.style.color=i.pickerGroupForeground.toString()))}if(e instanceof v){var c=e.getHighlights(),d=c[0],h=c[1],p=c[2],f=e.getIcon()?"quick-open-entry-icon "+e.getIcon():"";n.icon.className=f;var g=e.getLabelOptions()||Object.create(null);g.matches=d||[],g.title=e.getTooltip(),g.descriptionTitle=e.getDescriptionTooltip()||e.getDescription(),g.descriptionMatches=h||[],n.label.setLabel(o.m(e.getLabel()),e.getDescription(),g),n.detail.set(e.getDetail(),p),n.keybinding.set(e.getKeybinding())}},e.prototype.disposeTemplate=function(e,t){t.actionBar.dispose(),t.actionBar=null,t.container=null,t.entry=null,t.keybinding=null,t.detail=null,t.group=null,t.icon=null,t.label.dispose(),t.label=null},e}(),w=function(){function e(e,t){void 0===e&&(e=[]),void 0===t&&(t=new b),this._entries=e,this._dataSource=this,this._renderer=new C(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 o.n(e.getLabel())},e.prototype.getAriaLabel=function(e){return e.getAriaLabel()?i.a("quickOpenAriaLabelEntry","{0}, picker",e.getAriaLabel()):i.a("quickOpenAriaLabel","picker")},e.prototype.isVisible=function(e){return!e.isHidden()},e.prototype.run=function(e,t,n){return e.run(t,n)},e}()},Ao9X:function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"d",function(){return r}),n.d(t,"c",function(){return s}),n.d(t,"b",function(){return a});var i=n("iHM7"),o=function(){function e(e,t,n){void 0===n&&(n=!1),this._range=e,this._text=t,this.insertsAutoWhitespace=n}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return new i.a(n.endLineNumber,n.endColumn,n.endLineNumber,n.endColumn)},e}(),r=function(){function e(e,t,n){void 0===n&&(n=!1),this._range=e,this._text=t,this.insertsAutoWhitespace=n}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return new i.a(n.startLineNumber,n.startColumn,n.startLineNumber,n.startColumn)},e}(),s=function(){function e(e,t,n,i,o){void 0===o&&(o=!1),this._range=e,this._text=t,this._columnDeltaOffset=i,this._lineNumberDeltaOffset=n,this.insertsAutoWhitespace=o}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return new i.a(n.endLineNumber+this._lineNumberDeltaOffset,n.endColumn+this._columnDeltaOffset,n.endLineNumber+this._lineNumberDeltaOffset,n.endColumn+this._columnDeltaOffset)},e}(),a=function(){function e(e,t,n){this._range=e,this._text=t,this._initialSelection=n,this._selectionId=null}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}()},"B/Xy":function(e,t,n){"use strict";n.d(t,"a",function(){return o});var i=n("JVO/"),o=Object(i.c)("textModelService")},Bug4:function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return d});var i,o,r=n("X6iQ"),s=n("tqet"),a=n("7/Cv"),u=n("2VYG"),l=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),c=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s};!function(e){e.Tap="-monaco-gesturetap",e.Change="-monaco-gesturechange",e.Start="-monaco-gesturestart",e.End="-monaco-gesturesend",e.Contextmenu="-monaco-gesturecontextmenu"}(o||(o={}));var d=function(e){function t(){var t=e.call(this)||this;return t.dispatched=!1,t.activeTouches={},t.handle=null,t.targets=[],t._register(a.h(document,"touchstart",function(e){return t.onTouchStart(e)})),t._register(a.h(document,"touchend",function(e){return t.onTouchEnd(e)})),t._register(a.h(document,"touchmove",function(e){return t.onTouchMove(e)})),t}return l(t,e),t.addTarget=function(e){t.isTouchDevice()&&(t.INSTANCE||(t.INSTANCE=new t),t.INSTANCE.targets.push(e))},t.isTouchDevice=function(){return"ontouchstart"in window||navigator.maxTouchPoints>0||window.navigator.msMaxTouchPoints>0},t.prototype.dispose=function(){this.handle&&(this.handle.dispose(),this.handle=null),e.prototype.dispose.call(this)},t.prototype.onTouchStart=function(e){var t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(var n=0,i=e.targetTouches.length;n=t.HOLD_DELAY&&Math.abs(c.initialPageX-r.s(c.rollingPageX))<30&&Math.abs(c.initialPageY-r.s(c.rollingPageY))<30){var h;(h=a.newGestureEvent(o.Contextmenu,c.initialTarget)).pageX=r.s(c.rollingPageX),h.pageY=r.s(c.rollingPageY),a.dispatchEvent(h)}else if(1===i){var p=r.s(c.rollingPageX),f=r.s(c.rollingPageY),g=r.s(c.rollingTimestamps)-c.rollingTimestamps[0],m=p-c.rollingPageX[0],_=f-c.rollingPageY[0],v=a.targets.filter(function(e){return c.initialTarget instanceof Node&&e.contains(c.initialTarget)});a.inertia(v,n,Math.abs(m)/g,m>0?1:-1,p,Math.abs(_)/g,_>0?1:-1,f)}a.dispatchEvent(a.newGestureEvent(o.End,c.initialTarget)),delete a.activeTouches[l.identifier]},a=this,u=0,l=e.changedTouches.length;u0&&(g=!1,p=r*i*h),u>0&&(g=!1,f=l*u*h);var m=d.newGestureEvent(o.Change);m.translationX=p,m.translationY=f,e.forEach(function(e){return e.dispatchEvent(m)}),g||d.inertia(e,a,i,r,s+p,u,l,c+f)})},t.prototype.onTouchMove=function(e){for(var t=Date.now(),n=0,i=e.changedTouches.length;n3&&(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)},t.SCROLL_FRICTION=-.005,t.HOLD_DELAY=700,c([u.a],t,"isTouchDevice",null),t}(s.a)},Bv73:function(e,t){},BwcV:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var i,o=n("GfE5"),r=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=function(e){function t(t){for(var n=e.call(this,0)||this,i=0,o=t.length;i=0){for(var i=[],o=0,r=this._placeholderGroups[this._placeholderGroupsIdx];o0&&this._editor.executeEdits("snippet.placeholderTransform",i)}var d=!1;!0===t&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,d=!0);var h=this._editor.getModel().changeDecorations(function(t){for(var i=new Set,o=[],r=0,s=n._placeholderGroups[n._placeholderGroupsIdx];r0)return!0}t=t.parent}return!1},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,n=this._placeholderGroups;t0&&S!==d.getLineFirstNonWhitespaceColumn(F.positionLineNumber))&&e.adjustWhitespace(d,z,H),H.resolveVariables(new L([f,new N(u,W,k.length),new O(d,F),new x(d),new I,new D(h)]));var U=d.getOffsetAt(z)+b;b+=H.toString().length-d.getValueLengthInRange(B),l[W]=p.a.replace(B,H.toString()),c[W]=new R(t,H,U)}return{edits:l,snippets:c}},e.prototype.dispose=function(){Object(i.f)(this._snippets)},e.prototype._logInfo=function(){return'template="'+this._template+'", merged_templates="'+this._templateMerges.join(" -> ")+'"'},e.prototype.insert=function(){var t=this;if(this._editor.hasModel()){var n=e.createEditsAndSnippets(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText),i=n.edits,o=n.snippets;this._snippets=o,this._editor.executeEdits("snippet",i,function(e){return t._snippets[0].hasPlaceholder?t._move(!0):e.map(function(e){return a.a.fromPositions(e.range.getEndPosition())})}),this._editor.revealRange(this._editor.getSelections()[0])}},e.prototype.merge=function(t,n){var i=this;if(void 0===n&&(n=A),this._editor.hasModel()){this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,t]);var o=e.createEditsAndSnippets(this._editor,t,n.overwriteBefore,n.overwriteAfter,!0,n.adjustWhitespace,n.clipboardText),r=o.edits,s=o.snippets;this._editor.executeEdits("snippet",r,function(e){for(var t=0,n=i._snippets;t0},e}();n.d(t,"SnippetController2",function(){return B});var F=this&&this.__assign||function(){return(F=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},j=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},V={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0},B=function(){function e(t,n,o){this._editor=t,this._logService=n,this._snippetListener=new i.b,this._modelVersionId=-1,this._inSnippet=e.InSnippetMode.bindTo(o),this._hasNextTabstop=e.HasNextTabstop.bindTo(o),this._hasPrevTabstop=e.HasPrevTabstop.bindTo(o)}return e.get=function(e){return e.getContribution("snippetController2")},e.prototype.dispose=function(){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),Object(i.f)(this._session),this._snippetListener.dispose()},e.prototype.getId=function(){return"snippetController2"},e.prototype.insert=function(e,t){try{this._doInsert(e,void 0===t?V:F({},V,t))}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():"")}},e.prototype._doInsert=function(e,t){var n=this;this._editor.hasModel()&&(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session?this._session.merge(e,t):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new P(this._editor,e,t),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(function(e){return e.isFlush&&n.cancel()})),this._snippetListener.add(this._editor.onDidChangeModel(function(){return n.cancel()})),this._snippetListener.add(this._editor.onDidChangeCursorSelection(function(){return n._updateState()})))},e.prototype._updateState=function(){if(this._session&&this._editor.hasModel()){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;if(this._session&&this._editor.hasModel()){var t=this._session.choice;if(t){if(this._currentChoice!==t){this._currentChoice=t,this._editor.setSelections(this._editor.getSelections().map(function(e){return a.a.fromPositions(e.getStartPosition())}));var n=t.options[0];Object(l.f)(this._editor,t.options.map(function(t,i){return{kind:13,label:t.value,insertText:t.value,sortText:Object(o.F)("a",i+1),range:s.a.fromPositions(e._editor.getPosition(),e._editor.getPosition().delta(0,n.value.length))}}))}}else this._currentChoice=void 0}else this._currentChoice=void 0},e.prototype.finish=function(){for(;this._inSnippet.get();)this.next()},e.prototype.cancel=function(e){void 0===e&&(e=!1),this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),Object(i.f)(this._session),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])},e.prototype.prev=function(){this._session&&this._session.prev(),this._updateState()},e.prototype.next=function(){this._session&&this._session.next(),this._updateState()},e.prototype.isInSnippet=function(){return Boolean(this._inSnippet.get())},e.InSnippetMode=new c.d("inSnippetMode",!1),e.HasNextTabstop=new c.d("hasNextTabstop",!1),e.HasPrevTabstop=new c.d("hasPrevTabstop",!1),e=W([j(1,d.a),j(2,c.c)],e)}();Object(r.h)(B);var H=r.c.bindToContribution(B.get);Object(r.g)(new H({id:"jumpToNextSnippetPlaceholder",precondition:c.a.and(B.InSnippetMode,B.HasNextTabstop),handler:function(e){return e.next()},kbOpts:{weight:130,kbExpr:u.a.editorTextFocus,primary:2}})),Object(r.g)(new H({id:"jumpToPrevSnippetPlaceholder",precondition:c.a.and(B.InSnippetMode,B.HasPrevTabstop),handler:function(e){return e.prev()},kbOpts:{weight:130,kbExpr:u.a.editorTextFocus,primary:1026}})),Object(r.g)(new H({id:"leaveSnippet",precondition:B.InSnippetMode,handler:function(e){return e.cancel(!0)},kbOpts:{weight:130,kbExpr:u.a.editorTextFocus,primary:9,secondary:[1033]}})),Object(r.g)(new H({id:"acceptSnippet",precondition:B.InSnippetMode,handler:function(e){return e.finish()}}))},C3c5:function(e,t,n){"use strict";t.e=h,n.d(t,"a",function(){return p}),n.d(t,"c",function(){return f}),n.d(t,"d",function(){return m}),n.d(t,"b",function(){return _});var i,o=n("AKCZ"),r=n("JVO/"),s=n("7g0X"),a=n("ItKl"),u=n("Kp7x"),l=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),c=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}};function h(e){return void 0!==e.command}var p=Object(r.c)("menuService"),f=new(function(){function e(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new u.a,this.onDidChangeMenu=this._onDidChangeMenu.event}return e.prototype.addCommand=function(e){var t=this;return this._commands.set(e.id,e),this._onDidChangeMenu.fire(0),{dispose:function(){t._commands.delete(e.id)&&t._onDidChangeMenu.fire(0)}}},e.prototype.getCommand=function(e){return this._commands.get(e)},e.prototype.getCommands=function(){var e=new Map;return this._commands.forEach(function(t,n){return e.set(n,t)}),e},e.prototype.appendMenuItem=function(e,t){var n=this,i=this._menuItems.get(e);return i?i.push(t):(i=[t],this._menuItems.set(e,i)),this._onDidChangeMenu.fire(e),{dispose:function(){var o=i.indexOf(t);o>=0&&(i.splice(o,1),n._onDidChangeMenu.fire(e))}}},e.prototype.getMenuItems=function(e){var t=(this._menuItems.get(e)||[]).slice(0);return 0===e&&this._appendImplicitItems(t),t},e.prototype._appendImplicitItems=function(e){for(var t=new Set,n=0,i=e.filter(function(e){return h(e)});n=0;o--){var r=e.charCodeAt(o),s=t.get(r);if(0===s){if(2===i)return this._createWord(e,i,s,o+1,this._findEndOfWord(e,t,i,o+1));i=1}else if(2===s){if(1===i)return this._createWord(e,i,s,o+1,this._findEndOfWord(e,t,i,o+1));i=2}else if(1===s&&0!==i)return this._createWord(e,i,s,o+1,this._findEndOfWord(e,t,i,o+1))}return 0!==i?this._createWord(e,i,1,0,this._findEndOfWord(e,t,i,0)):null},e._findEndOfWord=function(e,t,n,i){for(var o=e.length,r=i;r=0;o--){var r=e.charCodeAt(o),s=t.get(r);if(1===s)return o+1;if(1===n&&2===s)return o+1;if(2===n&&0===s)return o+1}return 0},e.moveWordLeft=function(t,n,i,o){var r=i.lineNumber,s=i.column,u=!1;1===s&&r>1&&(u=!0,r-=1,s=n.getLineMaxColumn(r));var l=e._findPreviousWordOnLine(t,n,new a.a(r,s));if(0===o){if(l&&!u)if(n.getLineLastNonWhitespaceColumn(r)1?new a.a(n-1,e.getLineMaxColumn(n-1)):t;for(var r=e.getLineContent(n),s=t.column-1;s>1;s--){var u=r.charCodeAt(s-2),l=r.charCodeAt(s-1);if(95!==u&&95===l)return new a.a(n,s);if(o.y(u)&&o.z(l))return new a.a(n,s);if(o.z(u)&&o.z(l)&&s+1=l.start+1&&(l=e._findNextWordOnLine(t,n,new a.a(r,l.end+1))),s=l?l.start+1:n.getLineMaxColumn(r);return new a.a(r,s)},e._moveWordPartRight=function(e,t){var n=t.lineNumber,i=e.getLineMaxColumn(n);if(t.column===i)return n1?c=1:(l--,c=n.getLineMaxColumn(l)):(h&&c<=h.end+1&&(h=e._findPreviousWordOnLine(t,n,new a.a(l,h.start+1))),h?c=h.end+1:c>1?c=1:(l--,c=n.getLineMaxColumn(l))),new u.a(l,c,s.lineNumber,s.column)},e._deleteWordPartLeft=function(t,n){if(!n.isEmpty())return n;var i=n.getPosition(),o=e._moveWordPartLeft(t,i);return new u.a(i.lineNumber,i.column,o.lineNumber,o.column)},e._findFirstNonWhitespaceChar=function(e,t){for(var n=e.length,i=t;i=f.start+1&&(f=e._findNextWordOnLine(t,n,new a.a(l,f.end+1))),f?c=f.start+1:c255)return 255;return 0|e},t.b=o,t.c=function(e){for(var t=e.length,n=new Uint32Array(t),i=0;i4294967295?4294967295:0|e}},CX1u:function(e,t,n){"use strict";t.c=function(e,t){void 0===t&&(t={});var n=o(t);return n.textContent=e,n},t.b=function(e,t){void 0===t&&(t={});var n=o(t);return function e(t,n,o){var r;if(2===n.type)r=document.createTextNode(n.content||"");else if(3===n.type)r=document.createElement("b");else if(4===n.type)r=document.createElement("i");else if(5===n.type&&o){var s=document.createElement("a");s.href="#",o.disposeables.add(i.k(s,"click",function(e){o.callback(String(n.index),e)})),r=s}else 7===n.type?r=document.createElement("br"):1===n.type&&(r=t);r&&t!==r&&t.appendChild(r),r&&Array.isArray(n.children)&&n.children.forEach(function(t){e(r,t,o)})}(n,function(e){for(var t={type:1,children:[]},n=0,i=t,o=[],a=new r(e);!a.eos();){var u=a.next(),l="\\"===u&&0!==s(a.peek());if(l&&(u=a.next()),l||0===s(u)||u!==a.peek())if("\n"===u)2===i.type&&(i=o.pop()),i.children.push({type:7});else if(2!==i.type){var c={type:2,content:u};i.children.push(c),o.push(i),i=c}else i.content+=u;else{a.advance(),2===i.type&&(i=o.pop());var d=s(u);if(i.type===d||5===i.type&&6===d)i=o.pop();else{var h={type:d,children:[]};5===d&&(h.index=n,n++),i.children.push(h),o.push(i),i=h}}}return 2===i.type&&(i=o.pop()),o.length,t}(e),t.actionHandler),n},t.a=o;var i=n("7/Cv");function o(e){var t=e.inline?"span":"div",n=document.createElement(t);return e.className&&(n.className=e.className),n}var r=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 s(e){switch(e){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;default:return 0}}},Cfmk:function(e,t,n){"use strict";n.d(t,"a",function(){return c}),n.d(t,"c",function(){return o}),n.d(t,"b",function(){return d});var i,o,r=n("JVO/"),s=n("Kp7x"),a=n("tqet"),u=n("KIxu"),l=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),c=Object(r.c)("storageService");!function(e){e[e.NONE=0]="NONE",e[e.SHUTDOWN=1]="SHUTDOWN"}(o||(o={}));var d=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._serviceBrand=null,t._onDidChangeStorage=t._register(new s.a),t.onDidChangeStorage=t._onDidChangeStorage.event,t.onWillSaveState=s.b.None,t.globalCache=new Map,t.workspaceCache=new Map,t}return l(t,e),t.prototype.getCache=function(e){return 0===e?this.globalCache:this.workspaceCache},t.prototype.get=function(e,t,n){var i=this.getCache(t).get(e);return Object(u.k)(i)?n:i},t.prototype.getBoolean=function(e,t,n){var i=this.getCache(t).get(e);return Object(u.k)(i)?n:"true"===i},t.prototype.store=function(e,t,n){if(Object(u.k)(t))return this.remove(e,n);var i=String(t);return this.getCache(n).get(e)===i?Promise.resolve():(this.getCache(n).set(e,i),this._onDidChangeStorage.fire({scope:n,key:e}),Promise.resolve())},t.prototype.remove=function(e,t){return this.getCache(t).delete(e)?(this._onDidChangeStorage.fire({scope:t,key:e}),Promise.resolve()):Promise.resolve()},t}(a.a)},Crnc:function(e,t,n){"use strict";n.d(t,"a",function(){return a});var i=!1,o=null;function r(e){if(!e.parent||e.parent===e)return null;try{var t=e.location,n=e.parent.location;if(t.protocol!==n.protocol||t.hostname!==n.hostname||t.port!==n.port)return i=!0,null}catch(e){return i=!0,null}return e.parent}function s(e,t){for(var n,i=e.document.getElementsByTagName("iframe"),o=0,r=i.length;o=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},_=function(e){function t(n,i){var o=e.call(this)||this;return o.closeTimeout=3e3,o._messageWidget=o._register(new a.d),o._messageListeners=o._register(new a.b),o._editor=n,o._visible=t.MESSAGE_VISIBLE.bindTo(i),o._register(o._editor.onDidAttemptReadOnlyEdit(function(){return o._onDidAttemptReadOnlyEdit()})),o}return f(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 n,i=this;Object(u.a)(e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._messageWidget.value=new y(this._editor,t,e),this._messageListeners.add(this._editor.onDidBlurEditorText(function(){return i.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(function(){return i.closeMessage()})),this._messageListeners.add(this._editor.onDidDispose(function(){return i.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeModel(function(){return i.closeMessage()})),this._messageListeners.add(new s.e(function(){return i.closeMessage()},this.closeTimeout)),this._messageListeners.add(this._editor.onMouseMove(function(e){e.target.position&&(n?n.containsPosition(e.target.position)||i.closeMessage():n=new l.a(t.lineNumber-3,1,e.target.position.lineNumber+3,1))}))},t.prototype.closeMessage=function(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(y.fadeOut(this._messageWidget.value))},t.prototype._onDidAttemptReadOnlyEdit=function(){this._editor.hasModel()&&this.showMessage(r.a("editor.readonly","Cannot edit in read-only editor"),this._editor.getPosition())},t._id="editor.contrib.messageController",t.MESSAGE_VISIBLE=new d.d("messageVisible",!1),t=g([m(1,d.c)],t)}(a.a),v=c.c.bindToContribution(_.get);Object(c.g)(new v({id:"leaveEditorMessage",precondition:_.MESSAGE_VISIBLE,handler:function(e){return e.closeMessage()},kbOpts:{weight:130,primary:9}}));var y=function(){function e(e,t,n){var i=t.lineNumber,o=t.column;this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(i,i,0),this._position={lineNumber:i,column:o-1},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage");var r=document.createElement("div");r.classList.add("message"),r.textContent=n,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,n=function(){e.dispose(),clearTimeout(t),e.getDomNode().removeEventListener("animationend",n)};return t=setTimeout(n,110),e.getDomNode().addEventListener("animationend",n),e.getDomNode().classList.add("fadeOut"),{dispose:n}},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:[1]}},e}();Object(c.h)(_),Object(h.f)(function(e,t){var n=e.getColor(p._3);if(n){var i=e.type===h.b?2:1;t.addRule(".monaco-editor .monaco-editor-overlaymessage .anchor { border-top-color: "+n+"; }"),t.addRule(".monaco-editor .monaco-editor-overlaymessage .message { border: "+i+"px solid "+n+"; }")}var o=e.getColor(p._2);o&&t.addRule(".monaco-editor .monaco-editor-overlaymessage .message { background-color: "+o+"; }");var r=e.getColor(p._4);r&&t.addRule(".monaco-editor .monaco-editor-overlaymessage .message { color: "+r+"; }")})},D2uo:function(e,t,n){"use strict";var i,o;n.d(t,"d",function(){return i}),n.d(t,"c",function(){return o}),n.d(t,"e",function(){return r}),n.d(t,"b",function(){return s}),n.d(t,"a",function(){return a}),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(i||(i={})),function(e){e[e.Inline=1]="Inline"}(o||(o={}));var r=function(){function e(e){this.tabSize=0|e.tabSize,this.indentSize=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.indentSize===e.indentSize&&this.insertSpaces===e.insertSpaces&&this.defaultEOL===e.defaultEOL&&this.trimAutoWhitespace===e.trimAutoWhitespace},e.prototype.createChangeEvent=function(e){return{tabSize:this.tabSize!==e.tabSize,indentSize:this.indentSize!==e.indentSize,insertSpaces:this.insertSpaces!==e.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==e.trimAutoWhitespace}},e}(),s=function(){return function(e,t){this.range=e,this.matches=t}}(),a=function(){return function(e,t,n){this.reverseEdits=e,this.changes=t,this.trimAutoWhitespaceLineNumbers=n}}()},DBt1:function(e,t,n){"use strict";n.d(t,"a",function(){return o});var i=n("JVO/"),o=Object(i.c)("editorProgressService")},Dc0G:function(e,t,n){(function(e){var i=n("blYT"),o="object"==typeof t&&t&&!t.nodeType&&t,r=o&&"object"==typeof e&&e&&!e.nodeType&&e,s=r&&r.exports===o&&i.process,a=function(){try{var e=r&&r.require&&r.require("util").types;return e||s&&s.binding&&s.binding("util")}catch(e){}}();e.exports=a}).call(t,n("3IRH")(e))},"EG+O":function(e,t){},EMDP:function(e,t,n){"use strict";n.d(t,"a",function(){return l}),n.d(t,"b",function(){return c});var i,o,r=n("mrx5"),s=n("ZYUE"),a=n("JVO/"),u=n("WTFd"),l=Object(a.c)("contextService");!function(e){e.isIWorkspace=function(e){return e&&"object"==typeof e&&"string"==typeof e.id&&Array.isArray(e.folders)}}(i||(i={})),function(e){e.isIWorkspaceFolder=function(e){return e&&"object"==typeof e&&r.a.isUri(e.uri)&&"string"==typeof e.name&&"function"==typeof e.toResource}}(o||(o={}));!function(){function e(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=null),this._id=e,this._configuration=n,this._foldersMap=u.c.forPaths(),this.folders=t}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,"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.with({scheme:e.scheme,authority:e.authority,path:e.path}).toString())||null},e.prototype.updateFoldersMap=function(){this._foldersMap=u.c.forPaths();for(var e=0,t=this.folders;e0&&e.getLanguageId(a-1)===r;)a--;return new i(e,r,a,s+1,e.getStartOffset(a),e.getEndOffset(s))},t.b=function(e){return 0!=(7&e)};var i=function(){function e(e,t,n,i,o,r){this._actual=e,this.languageId=t,this._firstTokenIndex=n,this._lastTokenIndex=i,this.firstCharOffset=o,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}()},EfIu:function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"c",function(){return o}),n.d(t,"b",function(){return r}),n.d(t,"d",function(){return s}),n.d(t,"e",function(){return a}),n.d(t,"g",function(){return u}),n.d(t,"h",function(){return l}),n.d(t,"f",function(){return c});var i,o,r,s,a,u,l,c,d=n("hK2W");!function(e){e.noSelection=d.a("noSelection","No selection"),e.singleSelectionRange=d.a("singleSelectionRange","Line {0}, Column {1} ({2} selected)"),e.singleSelection=d.a("singleSelection","Line {0}, Column {1}"),e.multiSelectionRange=d.a("multiSelectionRange","{0} selections ({1} characters selected)"),e.multiSelection=d.a("multiSelection","{0} selections"),e.emergencyConfOn=d.a("emergencyConfOn","Now changing the setting `accessibilitySupport` to 'on'."),e.openingDocs=d.a("openingDocs","Now opening the Editor Accessibility documentation page."),e.readonlyDiffEditor=d.a("readonlyDiffEditor"," in a read-only pane of a diff editor."),e.editableDiffEditor=d.a("editableDiffEditor"," in a pane of a diff editor."),e.readonlyEditor=d.a("readonlyEditor"," in a read-only code editor"),e.editableEditor=d.a("editableEditor"," in a code editor"),e.changeConfigToOnMac=d.a("changeConfigToOnMac","To configure the editor to be optimized for usage with a Screen Reader press Command+E now."),e.changeConfigToOnWinLinux=d.a("changeConfigToOnWinLinux","To configure the editor to be optimized for usage with a Screen Reader press Control+E now."),e.auto_on=d.a("auto_on","The editor is configured to be optimized for usage with a Screen Reader."),e.auto_off=d.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."),e.tabFocusModeOnMsg=d.a("tabFocusModeOnMsg","Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}."),e.tabFocusModeOnMsgNoKb=d.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."),e.tabFocusModeOffMsg=d.a("tabFocusModeOffMsg","Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}."),e.tabFocusModeOffMsgNoKb=d.a("tabFocusModeOffMsgNoKb","Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding."),e.openDocMac=d.a("openDocMac","Press Command+H now to open a browser window with more information related to editor accessibility."),e.openDocWinLinux=d.a("openDocWinLinux","Press Control+H now to open a browser window with more information related to editor accessibility."),e.outroMsg=d.a("outroMsg","You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape."),e.showAccessibilityHelpAction=d.a("showAccessibilityHelpAction","Show Accessibility Help")}(i||(i={})),function(e){e.inspectTokensAction=d.a("inspectTokens","Developer: Inspect Tokens")}(o||(o={})),function(e){e.gotoLineLabelValidLineAndColumn=d.a("gotoLineLabelValidLineAndColumn","Go to line {0} and character {1}"),e.gotoLineLabelValidLine=d.a("gotoLineLabelValidLine","Go to line {0}"),e.gotoLineLabelEmptyWithLineLimit=d.a("gotoLineLabelEmptyWithLineLimit","Type a line number between 1 and {0} to navigate to"),e.gotoLineLabelEmptyWithLineAndColumnLimit=d.a("gotoLineLabelEmptyWithLineAndColumnLimit","Type a character between 1 and {0} to navigate to"),e.gotoLineAriaLabel=d.a("gotoLineAriaLabel","Current Line: {0}. Go to line {1}."),e.gotoLineActionInput=d.a("gotoLineActionInput","Type a line number, followed by an optional colon and a character number to navigate to"),e.gotoLineActionLabel=d.a("gotoLineActionLabel","Go to Line...")}(r||(r={})),function(e){e.ariaLabelEntryWithKey=d.a("ariaLabelEntryWithKey","{0}, {1}, commands"),e.ariaLabelEntry=d.a("ariaLabelEntry","{0}, commands"),e.quickCommandActionInput=d.a("quickCommandActionInput","Type the name of an action you want to execute"),e.quickCommandActionLabel=d.a("quickCommandActionLabel","Command Palette")}(s||(s={})),function(e){e.entryAriaLabel=d.a("entryAriaLabel","{0}, symbols"),e.quickOutlineActionInput=d.a("quickOutlineActionInput","Type the name of an identifier you wish to navigate to"),e.quickOutlineActionLabel=d.a("quickOutlineActionLabel","Go to Symbol..."),e._symbols_=d.a("symbols","symbols ({0})"),e._modules_=d.a("modules","modules ({0})"),e._class_=d.a("class","classes ({0})"),e._interface_=d.a("interface","interfaces ({0})"),e._method_=d.a("method","methods ({0})"),e._function_=d.a("function","functions ({0})"),e._property_=d.a("property","properties ({0})"),e._variable_=d.a("variable","variables ({0})"),e._variable2_=d.a("variable2","variables ({0})"),e._constructor_=d.a("_constructor","constructors ({0})"),e._call_=d.a("call","calls ({0})")}(a||(a={})),function(e){e.editorViewAccessibleLabel=d.a("editorViewAccessibleLabel","Editor content"),e.accessibilityHelpMessageIE=d.a("accessibilityHelpMessageIE","Press Ctrl+F1 for Accessibility Options."),e.accessibilityHelpMessage=d.a("accessibilityHelpMessage","Press Alt+F1 for Accessibility Options.")}(u||(u={})),function(e){e.toggleHighContrast=d.a("toggleHighContrast","Toggle High Contrast Theme")}(l||(l={})),function(e){e.bulkEditServiceSummary=d.a("bulkEditServiceSummary","Made {0} edits in {1} files")}(c||(c={}))},EfRI:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"DeleteWordPartLeft",function(){return d}),n.d(t,"DeleteWordPartRight",function(){return h}),n.d(t,"WordPartLeftCommand",function(){return p}),n.d(t,"CursorWordPartLeft",function(){return f}),n.d(t,"CursorWordPartLeftSelect",function(){return g}),n.d(t,"WordPartRightCommand",function(){return m}),n.d(t,"CursorWordPartRight",function(){return _}),n.d(t,"CursorWordPartRightSelect",function(){return v});var i,o=n("03Zz"),r=n("CIBl"),s=n("vTy2"),a=n("/9db"),u=n("I8T6"),l=n("ItKl"),c=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),d=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:a.a.writable,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:769},weight:100}})||this}return c(t,e),t.prototype._delete=function(e,t,n,i,o){var a=r.b.deleteWordPartLeft(e,t,n,i);return a||new s.a(1,1,1,1)},t}(u.DeleteWordCommand),h=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:a.a.writable,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:788},weight:100}})||this}return c(t,e),t.prototype._delete=function(e,t,n,i,o){var a=r.b.deleteWordPartRight(e,t,n,i);if(a)return a;var u=t.getLineCount(),l=t.getLineMaxColumn(u);return new s.a(u,l,u,l)},t}(u.DeleteWordCommand),p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return c(t,e),t.prototype._move=function(e,t,n,i){return r.b.moveWordPartLeft(e,t,n)},t}(u.MoveWordCommand),f=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:783},weight:100}})||this}return c(t,e),t}(p);l.a.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");var g=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:1807},weight:100}})||this}return c(t,e),t}(p);l.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,n,i){return r.b.moveWordPartRight(e,t,n)},t}(u.MoveWordCommand),_=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:785},weight:100}})||this}return c(t,e),t}(m),v=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:1809},weight:100}})||this}return c(t,e),t}(m);Object(o.g)(new d),Object(o.g)(new h),Object(o.g)(new f),Object(o.g)(new g),Object(o.g)(new _),Object(o.g)(new v)},Evjx:function(e,t,n){"use strict";n.d(t,"d",function(){return u}),n.d(t,"b",function(){return c}),n.d(t,"a",function(){return d}),n.d(t,"c",function(){return _});var i,o,r=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=function(){function e(){this.value="",this.pos=0}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,n=this.pos,i=0,o=this.value.charCodeAt(n);if("number"==typeof(t=e._table[o]))return this.pos+=1,{type:t,pos:n,len:1};if(e.isDigitCharacter(o)){t=8;do{i+=1,o=this.value.charCodeAt(n+i)}while(e.isDigitCharacter(o));return this.pos+=i,{type:t,pos:n,len:i}}if(e.isVariableCharacter(o)){t=9;do{o=this.value.charCodeAt(n+ ++i)}while(e.isVariableCharacter(o)||e.isDigitCharacter(o));return this.pos+=i,{type:t,pos:n,len:i}}t=10;do{i+=1,o=this.value.charCodeAt(n+i)}while(!isNaN(o)&&void 0===e._table[o]&&!e.isDigitCharacter(o)&&!e.isVariableCharacter(o));return this.pos+=i,{type:t,pos:n,len:i}},e._table=((o={})[36]=0,o[58]=1,o[44]=2,o[123]=3,o[125]=4,o[92]=5,o[47]=6,o[124]=7,o[43]=11,o[45]=12,o[63]=13,o),e}(),a=function(){function e(){this._children=[]}return e.prototype.appendChild=function(e){return e instanceof u&&this._children[this._children.length-1]instanceof u?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this},e.prototype.replace=function(e,t){var n=e.parent,i=n.children.indexOf(e),o=n.children.slice(0);o.splice.apply(o,[i,1].concat(t)),n._children=o,function e(t,n){for(var i=0,o=t;it.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 d?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}(l),d=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 u&&(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),h=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.regexp=new RegExp(""),t}return r(t,e),t.prototype.resolve=function(e){var t=this,n=!1,i=e.replace(this.regexp,function(){return n=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!n&&this._children.some(function(e){return e instanceof p&&Boolean(e.elseValue)})&&(i=this._replace([])),i},t.prototype._replace=function(e){for(var t="",n=0,i=this._children;n0;){var i=n.shift();if(!t(i))break;n.unshift.apply(n,i.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(n){return n instanceof c&&(t.push(n),e=!e||e.index0?o.set(e.index,e.children):r.push(e)),!0});for(var a=0,u=r;a0&&t),!o.has(0)&&n&&i.appendChild(new c(0)),i},e.prototype._accept=function(e,t){if(void 0===e||this._token.type===e){var n=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),n}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="",n=this._token.pos,i={type:14,pos:0,len:0};this._token.type!==e||5===i.type;)if(this._token.type===e&&(t+=this._scanner.value.substring(n,i.pos),n=this._token.pos),i=this._token,this._token=this._scanner.next(),14===this._token.type)return!1;return t+=this._scanner.value.substring(n,this._token.pos),this._token=this._scanner.next(),t},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 u(t)),!0)},e.prototype._parseTabstopOrVariableName=function(e){var t,n=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 f(t)),!0):this._backTo(n)},e.prototype._parseComplexPlaceholder=function(e){var t,n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(n);var i=new c(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(i),!0;if(!this._parse(i))return e.appendChild(new u("${"+t+":")),i.children.forEach(e.appendChild,e),!0}else{if(!(i.index>0&&this._accept(7)))return this._accept(6)?this._parseTransform(i)?(e.appendChild(i),!0):(this._backTo(n),!1):this._accept(4)?(e.appendChild(i),!0):this._backTo(n);for(var o=new d;;){if(this._parseChoiceElement(o)){if(this._accept(2))continue;if(this._accept(7)&&(i.appendChild(o),this._accept(4)))return e.appendChild(i),!0}return this._backTo(n),!1}}},e.prototype._parseChoiceElement=function(e){for(var t=this._token,n=[];2!==this._token.type&&7!==this._token.type;){var i=void 0;if(!(i=(i=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||i:this._accept(void 0,!0)))return this._backTo(t),!1;n.push(i)}return 0===n.length?(this._backTo(t),!1):(e.appendChild(new u(n.join(""))),!0)},e.prototype._parseComplexVariable=function(e){var t,n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(n);var i=new f(t);if(!this._accept(1))return this._accept(6)?this._parseTransform(i)?(e.appendChild(i),!0):(this._backTo(n),!1):this._accept(4)?(e.appendChild(i),!0):this._backTo(n);for(;;){if(this._accept(4))return e.appendChild(i),!0;if(!this._parse(i))return e.appendChild(new u("${"+t+":")),i.children.forEach(e.appendChild,e),!0}},e.prototype._parseTransform=function(e){for(var t=new h,n="",i="";!this._accept(6);){var o=void 0;if(o=this._accept(5,!0))n+=o=this._accept(6,!0)||o;else{if(14===this._token.type)return!1;n+=this._accept(void 0,!0)}}for(;!this._accept(6);){o=void 0;if(o=this._accept(5,!0))o=this._accept(5,!0)||this._accept(6,!0)||o,t.appendChild(new u(o));else if(!this._parseFormatString(t)&&!this._parseAnything(t))return!1}for(;!this._accept(4);){if(14===this._token.type)return!1;i+=this._accept(void 0,!0)}try{t.regexp=new RegExp(n,i)}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 n=!1;this._accept(3)&&(n=!0);var i=this._accept(8,!0);if(!i)return this._backTo(t),!1;if(!n)return e.appendChild(new p(Number(i))),!0;if(this._accept(4))return e.appendChild(new p(Number(i))),!0;if(!this._accept(1))return this._backTo(t),!1;if(this._accept(6)){var o=this._accept(9,!0);return o&&this._accept(4)?(e.appendChild(new p(Number(i),o)),!0):(this._backTo(t),!1)}if(this._accept(11)){if(r=this._until(4))return e.appendChild(new p(Number(i),void 0,r,void 0)),!0}else if(this._accept(12)){if(s=this._until(4))return e.appendChild(new p(Number(i),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 p(Number(i),void 0,r,s)),!0}else{var s;if(s=this._until(4))return e.appendChild(new p(Number(i),void 0,void 0,s)),!0}return this._backTo(t),!1},e.prototype._parseAnything=function(e){return 14!==this._token.type&&(e.appendChild(new u(this._scanner.tokenText(this._token))),this._accept(void 0),!0)},e}()},F5mM:function(e,t){},Fllr:function(e,t,n){"use strict";var i=n("zxiH"),o=n("Kp7x"),r=n("tqet"),s=n("aL7J"),a=n("vTy2"),u=n("+jct"),l=n("+oh4"),c=n("Eeyw"),d=function(){function e(t){if(t.autoClosingPairs?this._autoClosingPairs=t.autoClosingPairs.map(function(e){return new l.b(e)}):t.brackets?this._autoClosingPairs=t.brackets.map(function(e){return new l.b({open:e[0],close:e[1]})}):this._autoClosingPairs=[],t.__electricCharacterSupport&&t.__electricCharacterSupport.docComment){var n=t.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new l.b({open:n.open,close:n.close||""}))}this._autoCloseBefore="string"==typeof t.autoCloseBefore?t.autoCloseBefore:e.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED,this._surroundingPairs=t.surroundingPairs||this._autoClosingPairs}return e.prototype.getAutoClosingPairs=function(){return this._autoClosingPairs},e.prototype.getAutoCloseBeforeSet=function(){return this._autoCloseBefore},e.shouldAutoClosePair=function(e,t,n){if(0===t.getTokenCount())return!0;var i=t.findTokenIndexAtOffset(n-2),o=t.getStandardTokenType(i);return e.isOK(o)},e.prototype.getSurroundingPairs=function(){return this._surroundingPairs},e.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED=";:.,=}])> \n\t",e}(),h=n("iNUG"),p=function(){function e(e){this._richEditBrackets=e}return e.prototype.getElectricCharacters=function(){var e=[];if(this._richEditBrackets)for(var t=0,n=this._richEditBrackets.brackets.length;t0&&n.length>0)for(i=0,o=this._brackets.length;i0)for(i=0,o=this._brackets.length;i1){var o=void 0,r=-1;for(o=t-1;o>=1;o--){if(e.getLanguageIdAtPosition(o,0)!==i)return r;var s=e.getLineContent(o);if(!n.shouldIgnore(s)&&!/^\s+$/.test(s)&&""!==s)return o;r=o}}return-1},e.prototype.getInheritIndentForLine=function(e,t,n){void 0===n&&(n=!0);var i=this.getIndentRulesSupport(e.getLanguageIdentifier().id);if(!i)return null;if(t<=1)return{indentation:"",action:null};var o=this.getPrecedingValidLine(e,t,i);if(o<0)return null;if(o<1)return{indentation:"",action:null};var r=e.getLineContent(o);if(i.shouldIncrease(r)||i.shouldIndentNextLine(r))return{indentation:s.s(r),action:l.a.Indent,line:o};if(i.shouldDecrease(r))return{indentation:s.s(r),action:null,line:o};if(1===o)return{indentation:s.s(e.getLineContent(o)),action:null,line:o};var a=o-1,u=i.getIndentMetadata(e.getLineContent(a));if(!(3&u)&&4&u){for(var c=0,d=a-1;d>0;d--)if(!i.shouldIndentNextLine(e.getLineContent(d))){c=d;break}return{indentation:s.s(e.getLineContent(c+1)),action:null,line:c+1}}if(n)return{indentation:s.s(e.getLineContent(o)),action:null,line:o};for(d=o;d>0;d--){var h=e.getLineContent(d);if(i.shouldIncrease(h))return{indentation:s.s(h),action:l.a.Indent,line:d};if(i.shouldIndentNextLine(h)){c=0;for(var p=d-1;p>0;p--)if(!i.shouldIndentNextLine(e.getLineContent(d))){c=p;break}return{indentation:s.s(e.getLineContent(c+1)),action:null,line:c+1}}if(i.shouldDecrease(h))return{indentation:s.s(h),action:null,line:d}}return{indentation:s.s(e.getLineContent(1)),action:null,line:1}},e.prototype.getGoodIndentForLine=function(e,t,n,o){var r=this.getIndentRulesSupport(t);if(!r)return null;var a=this.getInheritIndentForLine(e,n),u=e.getLineContent(n);if(a){var c=a.line;if(void 0!==c){var d=this._getOnEnterSupport(t),h=null;try{d&&(h=d.onEnter("",e.getLineContent(c),""))}catch(e){Object(i.e)(e)}if(h){var p=s.s(e.getLineContent(c));return h.removeText&&(p=p.substring(0,p.length-h.removeText)),h.indentAction===l.a.Indent||h.indentAction===l.a.IndentOutdent?p=o.shiftIndent(p):h.indentAction===l.a.Outdent&&(p=o.unshiftIndent(p)),r.shouldDecrease(u)&&(p=o.unshiftIndent(p)),h.appendText&&(p+=h.appendText),s.s(p)}}return r.shouldDecrease(u)?a.action===l.a.Indent?a.indentation:o.unshiftIndent(a.indentation):a.action===l.a.Indent?o.shiftIndent(a.indentation):a.indentation}return null},e.prototype.getIndentForEnter=function(e,t,n,i){e.forceTokenization(t.startLineNumber);var o,r,a=e.getLineTokens(t.startLineNumber),u=Object(c.a)(a,t.startColumn-1),d=u.getLineContent(),h=!1;(u.firstCharOffset>0&&a.getLanguageId(0)!==u.languageId?(h=!0,o=d.substr(0,t.startColumn-1-u.firstCharOffset)):o=a.getLineContent().substring(0,t.startColumn-1),t.isEmpty())?r=d.substr(t.startColumn-1-u.firstCharOffset):r=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-u.firstCharOffset);var p=this.getIndentRulesSupport(u.languageId);if(!p)return null;var f=o,g=s.s(o);if(!i&&!h){var m=this.getInheritIndentForLine(e,t.startLineNumber);p.shouldDecrease(o)&&m&&(g=m.indentation,m.action!==l.a.Indent&&(g=n.unshiftIndent(g))),f=g+s.B(s.B(o," "),"\t")}var _={getLineTokens:function(t){return e.getLineTokens(t)},getLanguageIdentifier:function(){return e.getLanguageIdentifier()},getLanguageIdAtPosition:function(t,n){return e.getLanguageIdAtPosition(t,n)},getLineContent:function(n){return n===t.startLineNumber?f:e.getLineContent(n)}},v=s.s(a.getLineContent()),y=this.getInheritIndentForLine(_,t.startLineNumber+1);if(!y){var b=h?v:g;return{beforeEnter:b,afterEnter:b}}var C=h?v:y.indentation;return y.action===l.a.Indent&&(C=n.shiftIndent(C)),p.shouldDecrease(r)&&(C=n.unshiftIndent(C)),{beforeEnter:h?v:g,afterEnter:C}},e.prototype.getIndentActionForType=function(e,t,n,i){var o=this.getScopedLineTokens(e,t.startLineNumber,t.startColumn),r=this.getIndentRulesSupport(o.languageId);if(!r)return null;var s,a=o.getLineContent(),u=a.substr(0,t.startColumn-1-o.firstCharOffset);t.isEmpty()?s=a.substr(t.startColumn-1-o.firstCharOffset):s=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-o.firstCharOffset);if(!r.shouldDecrease(u+s)&&r.shouldDecrease(u+n+s)){var c=this.getInheritIndentForLine(e,t.startLineNumber,!1);if(!c)return null;var d=c.indentation;return c.action!==l.a.Indent&&(d=i.unshiftIndent(d)),d}return null},e.prototype.getIndentMetadata=function(e,t){var n=this.getIndentRulesSupport(e.getLanguageIdentifier().id);return n?t<1||t>e.getLineCount()?null:n.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,n){var i=this.getEnterAction(e,new a.a(t,n,t,n));return i?i.enterAction:null},e.prototype.getEnterAction=function(e,t){var n=this.getIndentationAtPosition(e,t.startLineNumber,t.startColumn),o=this.getScopedLineTokens(e,t.startLineNumber,t.startColumn),r=this._getOnEnterSupport(o.languageId);if(!r)return null;var s,a=o.getLineContent(),u=a.substr(0,t.startColumn-1-o.firstCharOffset);t.isEmpty()?s=a.substr(t.startColumn-1-o.firstCharOffset):s=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-o.firstCharOffset);var c=t.startLineNumber,d="";if(c>1&&0===o.firstCharOffset){var h=this.getScopedLineTokens(e,c-1);h.languageId===o.languageId&&(d=h.getLineContent())}var p=null;try{p=r.onEnter(d,u,s)}catch(e){Object(i.e)(e)}return p?(p.appendText||(p.indentAction===l.a.Indent||p.indentAction===l.a.IndentOutdent?p.appendText="\t":p.appendText=""),p.removeText&&(n=n.substring(0,n.length-p.removeText)),{enterAction:p,indentation:n}):null},e.prototype.getIndentationAtPosition=function(e,t,n){var i=e.getLineContent(t),o=s.s(i);return o.length>n-1&&(o=o.substring(0,n-1)),o},e.prototype.getScopedLineTokens=function(e,t,n){e.forceTokenization(t);var i=e.getLineTokens(t),o=void 0===n?e.getLineMaxColumn(t)-1:n-1;return Object(c.a)(i,o)},e.prototype.getBracketsSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.brackets||null},e}())},G7Ib:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("03Zz"),o=n("0Td8");Object(i.h)(o.f),Object(i.f)(o.e),Object(i.f)(o.g),Object(i.f)(o.h),Object(i.f)(o.d),Object(i.f)(o.a),Object(i.f)(o.c),Object(i.g)(new o.b)},G8ar:function(e,t,n){var i=n("cdq7"),o=n("8++/"),r=n("i6nN");e.exports=function(e,t,n){return t==t?r(e,t,n):i(e,o,n)}},G8r4:function(e,t,n){"use strict";n.d(t,"a",function(){return o});var i=n("Kp7x"),o=new(function(){function e(){this._zoomLevel=0,this._onDidChangeZoomLevel=new i.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}())},GV5w:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"GotoLineEntry",function(){return g}),n.d(t,"GotoLineAction",function(){return m});var i,o=n("wtJh"),r=(n.n(o),n("aL7J")),s=n("Al6Q"),a=n("P1SM"),u=n("03Zz"),l=n("artP"),c=n("vTy2"),d=n("/9db"),h=n("zwZj"),p=n("EfIu"),f=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),g=function(e){function t(t,n,i){var o=e.call(this)||this;return o.editor=n,o.decorator=i,o.parseResult=o.parseInput(t),o}return f(t,e),t.prototype.parseInput=function(e){var t,n,i=e.split(",").map(function(e){return parseInt(e,10)}).filter(function(e){return!isNaN(e)});if(t=0===i.length?new l.a(-1,-1):1===i.length?new l.a(i[0],1):new l.a(i[0],i[1]),Object(a.a)(this.editor))n=this.editor.getModel();else{var o=this.editor.getModel();n=o?o.modified:null}var s=!!n&&n.validatePosition(t).equals(t);return{position:t,isValid:s,label:s?t.column&&t.column>1?r.r(p.b.gotoLineLabelValidLineAndColumn,t.lineNumber,t.column):r.r(p.b.gotoLineLabelValidLine,t.lineNumber):t.lineNumber<1||t.lineNumber>(n?n.getLineCount():0)?r.r(p.b.gotoLineLabelEmptyWithLineLimit,n?n.getLineCount():0):r.r(p.b.gotoLineLabelEmptyWithLineAndColumnLimit,n?n.getLineMaxColumn(t.lineNumber):0)}},t.prototype.getLabel=function(){return this.parseResult.label},t.prototype.getAriaLabel=function(){var e=this.editor.getPosition(),t=e?e.lineNumber:0;return r.r(p.b.gotoLineAriaLabel,t,this.parseResult.label)},t.prototype.run=function(e,t){return 1===e?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 c.a(this.parseResult.position.lineNumber,this.parseResult.position.column,this.parseResult.position.lineNumber,this.parseResult.position.column)},t}(s.a),m=function(e){function t(){return e.call(this,p.b.gotoLineActionInput,{id:"editor.action.gotoLine",label:p.b.gotoLineActionLabel,alias:"Go to Line...",precondition:void 0,kbOpts:{kbExpr:d.a.focus,primary:2085,mac:{primary:293},weight:100}})||this}return f(t,e),t.prototype.run=function(e,t){var n=this;this._show(this.getController(t),{getModel:function(e){return new s.c([new g(e,t,n.getController(t))])},getAutoFocus:function(e){return{autoFocusFirstEntry:e.length>0}}})},t}(h.a);Object(u.f)(m)},GYOr:function(e,t,n){"use strict";n.d(t,"g",function(){return s}),t.f=function(e,t,n){void 0===n&&(n=!1);if("string"!=typeof e||"string"!=typeof t)return null;var i=y.get(e);i||(i=new RegExp(o.j(e),"i"),y.set(e,i));var r=i.exec(t);if(r)return[{start:r.index,end:r.index+r[0].length}];return n?v(e,t):_(e,t)},t.b=function(e,t,n,i,o,r){var s=D(e,t,0,i,o,0,!0);if(s)return s;for(var a=0,u=0,l=r,c=0;c=0)u+=1,a+=Math.pow(2,d),l=d+1;else if(0!==a)break}return[u,a,r]},t.c=function(e){if(void 0===e)return[];for(var t=e[1].toString(2),n=[],i=e[2];i=3)for(var l=Math.min(7,e.length-1),c=n+1;cu[0])&&(u=h))}}return u}(e,t,n,i,o,r,!0,s)};var i=n("WTFd"),o=n("aL7J");function r(){for(var e=[],t=0;t0?[{start:0,end:t.length}]:[]}.bind(void 0,!0);function a(e){return 97<=e&&e<=122}function u(e){return 65<=e&&e<=90}function l(e){return 48<=e&&e<=57}function c(e){return 32===e||9===e||10===e||13===e}var d=new Set;function h(e){return a(e)||u(e)||l(e)}function p(e,t){return 0===t.length?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function f(e,t){for(var n=t;n0&&!h(e.charCodeAt(n-1)))return n}return e.length}function g(e,t,n,i){if(n===e.length)return[];if(i===t.length)return null;if(e[n]!==t[i].toLowerCase())return null;var o=null,r=i+1;for(o=g(e,t,n+1,i+1);!o&&(r=f(t,r))60)return null;var n=function(e){for(var t=0,n=0,i=0,o=0,r=0,s=0;s.2&&t<.8&&i>.6&&o<.2}(n)){if(!function(e){var t=e.upperPercent;return 0===e.lowerPercent&&t>.6}(n))return null;t=t.toLowerCase()}var i=null,o=0;for(e=e.toLowerCase();o/?".split("").forEach(function(e){return d.add(e.charCodeAt(0))});var _=r(s,m,function(e,t){var n=t.toLowerCase().indexOf(e.toLowerCase());return-1===n?null:[{start:n,end:n+e.length}]}),v=r(s,m,function(e,t){return function e(t,n,i,o){if(i===t.length)return[];if(o===n.length)return null;if(t[i]===n[o]){var r=null;return(r=e(t,n,i+1,o+1))?p({start:o,end:o+1},r):null}return e(t,n,i,o+1)}(e.toLowerCase(),t.toLowerCase(),0,0)}),y=new i.a(1e4);var b=128;function C(){for(var e=[],t=[0],n=1;n<=b;n++)t.push(-n);for(n=0;n<=b;n++){var i=t.slice(0);i[0]=-n,e.push(i)}return e}var w,S=C(),L=C(),O=C(),E=!1;function N(e,t,n,i,o){function r(e,t,n){for(void 0===n&&(n=" ");e.length=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:case 36:return!0;default:return!1}}function I(e,t,n){return t[e]!==n[e]}function D(e,t,n,i,o,r,s){var a=e.length>b?b:e.length,u=i.length>b?b:i.length;if(!(n>=a||r>=u||a>u)&&function(e,t,n,i,o,r){for(;t1?1:p),g=S[l-1][c]+-1,m=S[l][c-1]+-1;m>=g?m>f?(S[l][c]=m,O[l][c]=4):m===f?(S[l][c]=m,O[l][c]=6):(S[l][c]=f,O[l][c]=2):g>f?(S[l][c]=g,O[l][c]=1):g===f?(S[l][c]=g,O[l][c]=3):(S[l][c]=f,O[l][c]=2)}if(E&&function(e,t,n,i){e=e.substr(t),n=n.substr(i),console.log(N(S,e,e.length,n,n.length)),console.log(N(O,e,e.length,n,n.length)),console.log(N(L,e,e.length,n,n.length))}(e,n,i,r),T=0,R=-100,A=r,P=s,function e(t,n,i,o,r){if(T>=10||i<-25)return;var s=0;for(;t>0&&n>0;){var a=L[t][n],u=O[t][n];if(4===u)n-=1,r?i-=5:0!==o&&(i-=1),r=!1,s=0;else{if(!(2&u))return;if(4&u&&e(t,n-1,0!==o?i-1:i,o,r),i+=a,t-=1,n-=1,r=!0,o+=Math.pow(2,n+A),1===a){if(s+=1,0===t&&!P)return}else i+=1+s*(a-1),s=0}}i-=n>=3?9:3*n;T+=1;i>R&&(R=i,M=o)}(l-1,c-1,a===u?1:0,0,!1),0!==T)return[R,M,r]}}function k(e,t,n,i,o,r,s){return t[n]!==r[s]?-1:s===n-i?e[n]===o[s]?7:5:!I(s,o,r)||0!==s&&I(s-1,o,r)?!x(r,s)||0!==s&&x(r,s-1)?x(r,s-1)||function(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 32:case 9:return!0;default:return!1}}(r,s-1)?5:1:5:e[n]===o[s]?7:5}!function(e){e.Default=Object.freeze([-100,0,0]),e.isDefault=function(e){return!e||-100===e[0]&&0===e[1]&&0===e[2]}}(w||(w={}));var T=0,M=0,R=0,A=0,P=!1;function F(e,t){if(!(t+1>=e.length)){var n=e[t],i=e[t+1];if(n!==i)return e.slice(0,t)+i+n+e.slice(t+2)}}},GZKt:function(e,t){},GfE5:function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return r});var i=n("CQAd"),o=function(){function e(t){var n=Object(i.d)(t);this._defaultValue=n,this._asciiMap=e._createAsciiMap(n),this._map=new Map}return e._createAsciiMap=function(e){for(var t=new Uint8Array(256),n=0;n<256;n++)t[n]=e;return t},e.prototype.set=function(e,t){var n=Object(i.d)(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)},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 o(0)}return e.prototype.add=function(e){this._actual.set(e,1)},e.prototype.has=function(e){return 1===this._actual.get(e)},e}()},GsV8:function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return r});var i=n("JVO/"),o=Object(i.c)("openerService"),r=Object.freeze({_serviceBrand:void 0,registerOpener:function(){return{dispose:function(){}}},registerValidator:function(){return{dispose:function(){}}},open:function(){return Promise.resolve(!1)}})},Gu5N:function(e,t){},Gu7T:function(e,t,n){"use strict";t.__esModule=!0;var i,o=n("c/Tr"),r=(i=o)&&i.__esModule?i:{default:i};t.default=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);tc&&(d=c,h=e.model.getLineMaxColumn(d)),r.d.fromModelState(new r.f(new l.a(s.lineNumber,1,d,h),0,new u.a(d,h),0))}var p=t.modelState.selectionStart.getStartPosition().lineNumber;if(s.lineNumberp){c=e.viewModel.getLineCount();var f=a.lineNumber+1,g=1;return f>c&&(f=c,g=e.viewModel.getLineMaxColumn(f)),r.d.fromViewState(t.viewState.move(t.modelState.hasSelection(),f,g,0))}var m=t.modelState.selectionStart.getEndPosition();return r.d.fromModelState(t.modelState.move(t.modelState.hasSelection(),m.lineNumber,m.column,0))},e.word=function(e,t,n,i){var o=e.model.validatePosition(i);return r.d.fromModelState(a.a.word(e.config,e.model,t.modelState,n,o))},e.cancelSelection=function(e,t){if(!t.modelState.hasSelection())return new r.d(t.modelState,t.viewState);var n=t.viewState.position.lineNumber,i=t.viewState.position.column;return r.d.fromViewState(new r.f(new l.a(n,i,n,i),0,new u.a(n,i),0))},e.moveTo=function(e,t,n,i,o){var s=e.model.validatePosition(i),a=o?e.validateViewPosition(new u.a(o.lineNumber,o.column),s):e.convertModelPositionToViewPosition(s);return r.d.fromViewState(t.viewState.move(n,a.lineNumber,a.column,0))},e.move=function(e,t,n){var i=n.select,o=n.value;switch(n.direction){case 0:return 4===n.unit?this._moveHalfLineLeft(e,t,i):this._moveLeft(e,t,i,o);case 1:return 4===n.unit?this._moveHalfLineRight(e,t,i):this._moveRight(e,t,i,o);case 2:return 2===n.unit?this._moveUpByViewLines(e,t,i,o):this._moveUpByModelLines(e,t,i,o);case 3:return 2===n.unit?this._moveDownByViewLines(e,t,i,o):this._moveDownByModelLines(e,t,i,o);case 4:return this._moveToViewMinColumn(e,t,i);case 5:return this._moveToViewFirstNonWhitespaceColumn(e,t,i);case 6:return this._moveToViewCenterColumn(e,t,i);case 7:return this._moveToViewMaxColumn(e,t,i);case 8:return this._moveToViewLastNonWhitespaceColumn(e,t,i);case 9:var r=t[0],s=e.getCompletelyVisibleModelRange(),a=this._firstLineNumberInRange(e.model,s,o),u=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,r,i,a,u)];case 11:r=t[0],s=e.getCompletelyVisibleModelRange(),a=this._lastLineNumberInRange(e.model,s,o),u=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,r,i,a,u)];case 10:r=t[0],s=e.getCompletelyVisibleModelRange(),a=Math.round((s.startLineNumber+s.endLineNumber)/2),u=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,r,i,a,u)];case 12:for(var l=e.getCompletelyVisibleViewRange(),c=[],d=0,h=t.length;dn.endLineNumber-1&&(o=n.endLineNumber-1),oo,d=i>r,h=ir)continue;if(yi)continue;if(v1&&o--,e.columnSelect(t,n,i.fromViewLineNumber,i.fromViewVisualColumn,i.toViewLineNumber,o)},e.columnSelectRight=function(e,t,n){for(var i=0,o=Math.min(n.fromViewLineNumber,n.toViewLineNumber),r=Math.max(n.fromViewLineNumber,n.toViewLineNumber),s=o;s<=r;s++){var l=t.getLineMaxColumn(s),c=a.a.visibleColumnFromColumn2(e,t,new u.a(s,l));i=Math.max(i,c)}var d=n.toViewVisualColumn;return d1)for(var r=n.modelState?n.modelState.position:null,s=n.viewState?n.viewState.position:null,a=0,u=o.length;ao&&(i=o);var r=new l.a(i,1,i,e.context.model.getLineMaxColumn(i)),s=0;if(n.at)switch(n.at){case y.RawAtArgument.Top:s=3;break;case y.RawAtArgument.Center:s=1;break;case y.RawAtArgument.Bottom:s=4}var a=e.context.convertModelRangeToViewRange(r);e.revealRange(!1,a,s,0)},t}(N))),e.SelectAll=Object(r.g)(new(function(e){function t(){return e.call(this,{id:"selectAll",precondition:void 0})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,3,[h.b.selectAll(e.context,e.getPrimaryCursor())])},t}(N))),e.SetSelection=Object(r.g)(new(function(e){function t(){return e.call(this,{id:"setSelection",precondition:void 0})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,3,[a.d.fromModelSelection(t.selection)])},t}(N)))}(C||(C={})),S=w||(w={}),L=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return O(t,e),t.prototype.runEditorCommand=function(e,t,n){var i=t._getCursors();i&&this.runCoreEditingCommand(t,i,n||{})},t}(r.c),S.CoreEditingCommand=L,S.LineBreakInsert=Object(r.g)(new(function(e){function t(){return e.call(this,{id:"lineBreakInsert",precondition:g.a.writable,kbOpts:{weight:E,kbExpr:g.a.textInputFocus,primary:0,mac:{primary:301}}})||this}return O(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,p.a.lineBreakInsert(t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection})))},t}(L))),S.Outdent=Object(r.g)(new(function(e){function t(){return e.call(this,{id:"outdent",precondition:g.a.writable,kbOpts:{weight:E,kbExpr:m.a.and(g.a.editorTextFocus,g.a.tabDoesNotMoveFocus),primary:1026}})||this}return O(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,p.a.outdent(t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection}))),e.pushUndoStop()},t}(L))),S.Tab=Object(r.g)(new(function(e){function t(){return e.call(this,{id:"tab",precondition:g.a.writable,kbOpts:{weight:E,kbExpr:m.a.and(g.a.editorTextFocus,g.a.tabDoesNotMoveFocus),primary:2}})||this}return O(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,p.a.tab(t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection}))),e.pushUndoStop()},t}(L))),S.DeleteLeft=Object(r.g)(new(function(e){function t(){return e.call(this,{id:"deleteLeft",precondition:g.a.writable,kbOpts:{weight:E,kbExpr:g.a.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})||this}return O(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){var i=d.a.deleteLeft(t.getPrevEditOperationType(),t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection})),o=i[0],r=i[1];o&&e.pushUndoStop(),e.executeCommands(this.id,r),t.setPrevEditOperationType(2)},t}(L))),S.DeleteRight=Object(r.g)(new(function(e){function t(){return e.call(this,{id:"deleteRight",precondition:g.a.writable,kbOpts:{weight:E,kbExpr:g.a.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})||this}return O(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){var i=d.a.deleteRight(t.getPrevEditOperationType(),t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection})),o=i[0],r=i[1];o&&e.pushUndoStop(),e.executeCommands(this.id,r),t.setPrevEditOperationType(3)},t}(L)));var I=function(e){function t(t){var n=e.call(this,t)||this;return n._editorHandler=t.editorHandler,n._inputHandler=t.inputHandler,n}return O(t,e),t.prototype.runCommand=function(e,t){var n=e.get(s.a).getFocusedCodeEditor();if(n&&n.hasTextFocus())return this._runEditorHandler(e,n,t);var i=document.activeElement;if(!(i&&["input","textarea"].indexOf(i.tagName.toLowerCase())>=0)){var o=e.get(s.a).getActiveCodeEditor();return o?(o.focus(),this._runEditorHandler(e,o,t)):void 0}document.execCommand(this._inputHandler)},t.prototype._runEditorHandler=function(e,t,n){var i=this._editorHandler;"string"==typeof i?t.trigger("keyboard",i,n):((n=n||{}).source="keyboard",i.runEditorCommand(e,t,n))},t}(r.a),D=function(e){function t(t,n,i){var o=e.call(this,{id:t,precondition:void 0,description:i})||this;return o._handlerId=n,o}return O(t,e),t.prototype.runCommand=function(e,t){var n=e.get(s.a).getFocusedCodeEditor();n&&n.trigger("keyboard",this._handlerId,t)},t}(r.a);function k(e,t){x(new D("default:"+e,e)),x(new D(e,e,t))}x(new I({editorHandler:C.SelectAll,inputHandler:"selectAll",id:"editor.action.selectAll",precondition:g.a.textInputFocus,kbOpts:{weight:E,kbExpr:null,primary:2079},menubarOpts:{menuId:22,group:"1_basic",title:i.a({key:"miSelectAll",comment:["&& denotes a mnemonic"]},"&&Select All"),order:1}})),x(new I({editorHandler:f.b.Undo,inputHandler:"undo",id:f.b.Undo,precondition:g.a.writable,kbOpts:{weight:E,kbExpr:g.a.textInputFocus,primary:2104},menubarOpts:{menuId:14,group:"1_do",title:i.a({key:"miUndo",comment:["&& denotes a mnemonic"]},"&&Undo"),order:1}})),x(new D("default:"+f.b.Undo,f.b.Undo)),x(new I({editorHandler:f.b.Redo,inputHandler:"redo",id:f.b.Redo,precondition:g.a.writable,kbOpts:{weight:E,kbExpr:g.a.textInputFocus,primary:2103,secondary:[3128],mac:{primary:3128}},menubarOpts:{menuId:14,group:"1_do",title:i.a({key:"miRedo",comment:["&& denotes a mnemonic"]},"&&Redo"),order:2}})),x(new D("default:"+f.b.Redo,f.b.Redo)),k(f.b.Type,{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),k(f.b.ReplacePreviousChar),k(f.b.CompositionStart),k(f.b.CompositionEnd),k(f.b.Paste),k(f.b.Cut)},Hv4S:function(e,t){},Hxdr:function(e,t){e.exports=function(e,t){for(var n=-1,i=null==e?0:e.length,o=Array(i);++n=n)break;var o=e.charCodeAt(t);if(110===o||114===o||87===o)return!0}}return!1}(this.searchString):this.searchString.indexOf("\n")>=0;var t=null;try{t=i.k(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0})}catch(e){return null}if(!t)return null;var n=!this.isRegex&&!e;return n&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(n=this.matchCase),new l(t,this.wordSeparators?Object(o.a)(this.wordSeparators):null,n?this.searchString:null)},e}();var l=function(){return function(e,t,n){this.regex=e,this.wordSeparators=t,this.simpleSearch=n}}();function c(e,t,n){if(!n)return new a.b(e,null);for(var i=[],o=0,r=t.length;o>0);t[o]>=e?i=o-1:t[o+1]>=e?(n=o,i=o):n=o+1}return n+1},e}(),h=function(){function e(){}return e.findMatches=function(e,t,n,i,o){var r=t.parseSearchRequest();return r?r.regex.multiline?this._doFindMatchesMultiline(e,n,new f(r.wordSeparators,r.regex),i,o):this._doFindMatchesLineByLine(e,n,r,i,o):[]},e._getMultilineMatchRange=function(e,t,n,i,o,r){var a,u,l=0;if(a=i?t+o+(l=i.findLineFeedCountBeforeOffset(o)):t+o,i){var c=i.findLineFeedCountBeforeOffset(o+r.length)-l;u=a+r.length+c}else u=a+r.length;var d=e.getPositionAt(a),h=e.getPositionAt(u);return new s.a(d.lineNumber,d.column,h.lineNumber,h.column)},e._doFindMatchesMultiline=function(e,t,n,i,o){var r,s=e.getOffsetAt(t.getStartPosition()),a=e.getValueInRange(t,1),u="\r\n"===e.getEOL()?new d(a):null,l=[],h=0;for(n.reset(0);r=n.next(a);)if(l[h++]=c(this._getMultilineMatchRange(e,s,a,u,r.index,r[0]),r,i),h>=o)return l;return l},e._doFindMatchesLineByLine=function(e,t,n,i,o){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(n,a,t.startLineNumber,t.startColumn-1,s,r,i,o),r}var u=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);s=this._findMatchesInLine(n,u,t.startLineNumber,t.startColumn-1,s,r,i,o);for(var l=t.startLineNumber+1;l=l))return o;return o}var v,y=new f(e.wordSeparators,e.regex);y.reset(0);do{if((v=y.next(t))&&(r[o++]=c(new s.a(n,v.index+1+i,n,v.index+1+v[0].length+i),v,u),o>=l))return o}while(v);return o},e.findNextMatch=function(e,t,n,i){var o=t.parseSearchRequest();if(!o)return null;var r=new f(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindNextMatchMultiline(e,n,r,i):this._doFindNextMatchLineByLine(e,n,r,i)},e._doFindNextMatchMultiline=function(e,t,n,i){var o=new r.a(t.lineNumber,1),a=e.getOffsetAt(o),u=e.getLineCount(),l=e.getValueInRange(new s.a(o.lineNumber,o.column,u,e.getLineMaxColumn(u)),1),h="\r\n"===e.getEOL()?new d(l):null;n.reset(t.column-1);var p=n.next(l);return p?c(this._getMultilineMatchRange(e,a,l,h,p.index,p[0]),p,i):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new r.a(1,1),n,i):null},e._doFindNextMatchLineByLine=function(e,t,n,i){var o=e.getLineCount(),r=t.lineNumber,s=e.getLineContent(r),a=this._findFirstMatchInLine(n,s,r,t.column,i);if(a)return a;for(var u=1;u<=o;u++){var l=(r+u-1)%o,c=e.getLineContent(l+1),d=this._findFirstMatchInLine(n,c,l+1,1,i);if(d)return d}return null},e._findFirstMatchInLine=function(e,t,n,i,o){e.reset(i-1);var r=e.next(t);return r?c(new s.a(n,r.index+1,n,r.index+1+r[0].length),r,o):null},e.findPreviousMatch=function(e,t,n,i){var o=t.parseSearchRequest();if(!o)return null;var r=new f(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindPreviousMatchMultiline(e,n,r,i):this._doFindPreviousMatchLineByLine(e,n,r,i)},e._doFindPreviousMatchMultiline=function(e,t,n,i){var o=this._doFindMatchesMultiline(e,new s.a(1,1,t.lineNumber,t.column),n,i,9990);if(o.length>0)return o[o.length-1];var a=e.getLineCount();return t.lineNumber!==a||t.column!==e.getLineMaxColumn(a)?this._doFindPreviousMatchMultiline(e,new r.a(a,e.getLineMaxColumn(a)),n,i):null},e._doFindPreviousMatchLineByLine=function(e,t,n,i){var o=e.getLineCount(),r=t.lineNumber,s=e.getLineContent(r).substring(0,t.column-1),a=this._findLastMatchInLine(n,s,r,i);if(a)return a;for(var u=1;u<=o;u++){var l=(o+r-u-1)%o,c=e.getLineContent(l+1),d=this._findLastMatchInLine(n,c,l+1,i);if(d)return d}return null},e._findLastMatchInLine=function(e,t,n,i){var o,r=null;for(e.reset(0);o=e.next(t);)r=c(new s.a(n,o.index+1,n,o.index+1+o[0].length),o,i);return r},e}();function p(e,t,n,i,o){return function(e,t,n,i,o){if(0===i)return!0;var r=t.charCodeAt(i-1);if(0!==e.get(r))return!0;if(13===r||10===r)return!0;if(o>0){var s=t.charCodeAt(i);if(0!==e.get(s))return!0}return!1}(e,t,0,i,o)&&function(e,t,n,i,o){if(i+o===n)return!0;var r=t.charCodeAt(i+o);if(0!==e.get(r))return!0;if(13===r||10===r)return!0;if(o>0){var s=t.charCodeAt(i+o-1);if(0!==e.get(s))return!0}return!1}(e,t,n,i,o)}var f=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,n=e.length;do{if(this._prevMatchStartIndex+this._prevMatchLength===n)return null;if(!(t=this._searchRegex.exec(e)))return null;var i=t.index,o=t[0].length;if(i===this._prevMatchStartIndex&&o===this._prevMatchLength){if(0===o){this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=i,this._prevMatchLength=o,!this._wordSeparators||p(this._wordSeparators,e,n,i,o))return t}while(t);return null},e}()},IG52:function(e,t,n){"use strict";n.d(t,"c",function(){return g}),n.d(t,"d",function(){return m}),n.d(t,"b",function(){return _}),n.d(t,"a",function(){return y});var i,o=n("LC7R"),r=(n.n(o),n("ZfGv")),s=n("hK2W"),a=n("tqet"),u=n("AKCZ"),l=n("7/Cv"),c=n("KIxu"),d=n("Bug4"),h=n("gzF+"),p=n("Kp7x"),f=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),g=function(e){function t(t,n,i){var o=e.call(this)||this;return o.options=i,o._context=t||o,o._action=n,n instanceof u.a&&o._register(n.onDidChange(function(e){o.element&&o.handleActionChangeEvent(e)})),o}return f(t,e),t.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(t.prototype,"actionRunner",{get:function(){return this._actionRunner},set:function(e){this._actionRunner=e},enumerable:!0,configurable:!0}),t.prototype.getAction=function(){return this._action},t.prototype.isEnabled=function(){return this._action.enabled},t.prototype.setActionContext=function(e){this._context=e},t.prototype.render=function(e){var t=this;this.element=e,d.b.addTarget(e);var n=this.options&&this.options.draggable;n&&(e.draggable=!0),this._register(l.h(this.element,d.a.Tap,function(e){return t.onClick(e)})),this._register(l.h(this.element,l.d.MOUSE_DOWN,function(e){n||l.c.stop(e,!0),t._action.enabled&&0===e.button&&t.element&&l.f(t.element,"active")})),this._register(l.h(this.element,l.d.CLICK,function(e){l.c.stop(e,!0),t.options&&t.options.isMenu?t.onClick(e):r.h(function(){return t.onClick(e)})})),this._register(l.h(this.element,l.d.DBLCLICK,function(e){l.c.stop(e,!0)})),[l.d.MOUSE_UP,l.d.MOUSE_OUT].forEach(function(e){t._register(l.h(t.element,e,function(e){l.c.stop(e),l.I(t.element,"active")}))})},t.prototype.onClick=function(e){var t;l.c.stop(e,!0),c.k(this._context)?t=e:(t=this._context,c.h(t)&&(t.event=e)),this._actionRunner.run(this._action,t)},t.prototype.focus=function(){this.element&&(this.element.focus(),l.f(this.element,"focused"))},t.prototype.blur=function(){this.element&&(this.element.blur(),l.I(this.element,"focused"))},t.prototype.updateEnabled=function(){},t.prototype.updateLabel=function(){},t.prototype.updateTooltip=function(){},t.prototype.updateClass=function(){},t.prototype.updateChecked=function(){},t.prototype.dispose=function(){this.element&&(l.K(this.element),this.element=void 0),e.prototype.dispose.call(this)},t}(a.a),m=function(e){function t(n){var i=e.call(this,t.ID,n,n?"separator text":"separator")||this;return i.checked=!1,i.radio=!1,i.enabled=!1,i}return f(t,e),t.ID="vs.actions.separator",t}(u.a),_=function(e){function t(t,n,i){void 0===i&&(i={});var o=e.call(this,t,n,i)||this;return o.options=i,o.options.icon=void 0!==i.icon&&i.icon,o.options.label=void 0===i.label||i.label,o.cssClass="",o}return f(t,e),t.prototype.render=function(t){e.prototype.render.call(this,t),this.element&&(this.label=l.m(this.element,l.a("a.action-label"))),this._action.id===m.ID?this.label.setAttribute("role","presentation"):this.options.isMenu?this.label.setAttribute("role","menuitem"):this.label.setAttribute("role","button"),this.options.label&&this.options.keybinding&&this.element&&(l.m(this.element,l.a("span.keybinding")).textContent=this.options.keybinding),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()},t.prototype.focus=function(){e.prototype.focus.call(this),this.label.focus()},t.prototype.updateLabel=function(){this.options.label&&(this.label.textContent=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.label.title=e)},t.prototype.updateClass=function(){this.cssClass&&l.J(this.label,this.cssClass),this.options.icon?(this.cssClass=this.getAction().class,l.f(this.label,"icon"),this.cssClass&&l.g(this.label,this.cssClass),this.updateEnabled()):l.I(this.label,"icon")},t.prototype.updateEnabled=function(){this.getAction().enabled?(this.label.removeAttribute("aria-disabled"),this.element&&l.I(this.element,"disabled"),l.I(this.label,"disabled"),this.label.tabIndex=0):(this.label.setAttribute("aria-disabled","true"),this.element&&l.f(this.element,"disabled"),l.f(this.label,"disabled"),l.L(this.label))},t.prototype.updateChecked=function(){this.getAction().checked?l.f(this.label,"checked"):l.I(this.label,"checked")},t}(g),v={orientation:0,context:null,triggerKeys:{keys:[3,10],keyDown:!1}},y=function(e){function t(t,n){void 0===n&&(n=v);var i,o,r=e.call(this)||this;switch(r._onDidBlur=r._register(new p.a),r.onDidBlur=r._onDidBlur.event,r._onDidCancel=r._register(new p.a),r.onDidCancel=r._onDidCancel.event,r._onDidRun=r._register(new p.a),r.onDidRun=r._onDidRun.event,r._onDidBeforeRun=r._register(new p.a),r.onDidBeforeRun=r._onDidBeforeRun.event,r.options=n,r._context=n.context,r.options.triggerKeys||(r.options.triggerKeys=v.triggerKeys),r.options.actionRunner?r._actionRunner=r.options.actionRunner:(r._actionRunner=new u.b,r._register(r._actionRunner)),r._register(r._actionRunner.onDidRun(function(e){return r._onDidRun.fire(e)})),r._register(r._actionRunner.onDidBeforeRun(function(e){return r._onDidBeforeRun.fire(e)})),r.viewItems=[],r.focusedItem=void 0,r.domNode=document.createElement("div"),r.domNode.className="monaco-action-bar",!1!==n.animated&&l.f(r.domNode,"animated"),r.options.orientation){case 0:i=15,o=17;break;case 1:i=17,o=15,r.domNode.className+=" reverse";break;case 2:i=16,o=18,r.domNode.className+=" vertical";break;case 3:i=18,o=16,r.domNode.className+=" vertical reverse"}return r._register(l.h(r.domNode,l.d.KEY_DOWN,function(e){var t=new h.a(e),n=!0;t.equals(i)?r.focusPrevious():t.equals(o)?r.focusNext():t.equals(9)?r.cancel():r.isTriggerKeyEvent(t)?r.options.triggerKeys&&r.options.triggerKeys.keyDown&&r.doTrigger(t):n=!1,n&&(t.preventDefault(),t.stopPropagation())})),r._register(l.h(r.domNode,l.d.KEY_UP,function(e){var t=new h.a(e);r.isTriggerKeyEvent(t)?(r.options.triggerKeys&&!r.options.triggerKeys.keyDown&&r.doTrigger(t),t.preventDefault(),t.stopPropagation()):(t.equals(2)||t.equals(1026))&&r.updateFocusedItem()})),r.focusTracker=r._register(l.S(r.domNode)),r._register(r.focusTracker.onDidBlur(function(){document.activeElement!==r.domNode&&l.E(document.activeElement,r.domNode)||(r._onDidBlur.fire(),r.focusedItem=void 0)})),r._register(r.focusTracker.onDidFocus(function(){return r.updateFocusedItem()})),r.actionsList=document.createElement("ul"),r.actionsList.className="actions-container",r.actionsList.setAttribute("role","toolbar"),r.options.ariaLabel&&r.actionsList.setAttribute("aria-label",r.options.ariaLabel),r.domNode.appendChild(r.actionsList),t.appendChild(r.domNode),r}return f(t,e),t.prototype.isTriggerKeyEvent=function(e){var t=!1;return this.options.triggerKeys&&this.options.triggerKeys.keys.forEach(function(n){t=t||e.equals(n)}),t},t.prototype.updateFocusedItem=function(){for(var e=0;e=n.actionsList.children.length?(n.actionsList.appendChild(r),n.viewItems.push(i)):(n.actionsList.insertBefore(r,n.actionsList.children[o]),n.viewItems.splice(o,0,i),o++)})},t.prototype.clear=function(){this.viewItems=Object(a.f)(this.viewItems),l.p(this.actionsList)},t.prototype.isEmpty=function(){return 0===this.viewItems.length},t.prototype.focus=function(e){var t=!1,n=void 0;void 0===e?t=!0:"number"==typeof e?n=e:"boolean"==typeof e&&(t=e),t&&void 0===this.focusedItem?(this.focusedItem=this.viewItems.length-1,this.focusNext()):(void 0!==n&&(this.focusedItem=n),this.updateFocus())},t.prototype.focusNext=function(){void 0===this.focusedItem&&(this.focusedItem=this.viewItems.length-1);var e,t=this.focusedItem;do{this.focusedItem=(this.focusedItem+1)%this.viewItems.length,e=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&!e.isEnabled());this.focusedItem!==t||e.isEnabled()||(this.focusedItem=void 0),this.updateFocus()},t.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.viewItems.length-1),e=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&!e.isEnabled());this.focusedItem!==t||e.isEnabled()||(this.focusedItem=void 0),this.updateFocus(!0)},t.prototype.updateFocus=function(e){void 0===this.focusedItem&&this.actionsList.focus();for(var t=0;t=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},g=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},m=function(e){function t(t,n,i,o,r,s,a,u,l,c){var d=e.call(this,t,i.getRawConfiguration(),{},o,r,s,a,u,l,c)||this;return d._parentEditor=i,d._overwriteOptions=n,e.prototype.updateOptions.call(d,d._overwriteOptions),d._register(i.onDidChangeConfiguration(function(e){return d._onParentConfigurationChanged(e)})),d}return p(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){o.g(this._overwriteOptions,t,!0),e.prototype.updateOptions.call(this,this._overwriteOptions)},t=f([g(3,l.a),g(4,r.a),g(5,a.b),g(6,u.c),g(7,d.c),g(8,c.a),g(9,h.b)],t)}(s.a)},ItKl:function(e,t,n){"use strict";n.d(t,"b",function(){return l}),n.d(t,"a",function(){return c});var i=n("tqet"),o=n("KIxu"),r=n("JVO/"),s=n("Kp7x"),a=n("EMhq"),u=n("WTFd"),l=Object(r.c)("commandService"),c=new(function(){function e(){this._commands=new Map,this._onDidRegisterCommand=new s.a,this.onDidRegisterCommand=this._onDidRegisterCommand.event}return e.prototype.registerCommand=function(e,t){var n=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=[],s=0,u=e.description.args;s1)&&l.fire(e),u=0},n)})},onLastListenerRemove:function(){r.dispose()}});return l.event},e.stopwatch=function(e){var i=(new Date).getTime();return n(t(e),function(e){return(new Date).getTime()-i})},e.latch=u,e.buffer=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=[]);var i=n.slice(),o=e(function(e){i?i.push(e):s.fire(e)}),r=function(){i&&i.forEach(function(e){return s.fire(e)}),i=null},s=new h({onFirstListenerAdd:function(){o||(o=e(function(e){return s.fire(e)}))},onFirstListenerDidAdd:function(){i&&(t?setTimeout(r):r())},onLastListenerRemove:function(){o&&o.dispose(),o=null}});return s.event};var l=function(){function e(e){this.event=e}return e.prototype.map=function(t){return new e(n(this.event,t))},e.prototype.forEach=function(t){return new e(i(this.event,t))},e.prototype.filter=function(t){return new e(o(this.event,t))},e.prototype.reduce=function(t,n){return new e(r(this.event,t,n))},e.prototype.latch=function(){return new e(u(this.event))},e.prototype.on=function(e,t,n){return this.event(e,t,n)},e.prototype.once=function(e,n,i){return t(this.event)(e,n,i)},e}();e.chain=function(e){return new l(e)},e.fromNodeEventEmitter=function(e,t,n){void 0===n&&(n=function(e){return e});var i=function(){for(var e=[],t=0;t0?new d(this._options&&this._options.leakWarningThreshold):void 0}return Object.defineProperty(e.prototype,"event",{get:function(){var t=this;return this._event||(this._event=function(n,i,o){t._listeners||(t._listeners=new u.a);var r=t._listeners.isEmpty();r&&t._options&&t._options.onFirstListenerAdd&&t._options.onFirstListenerAdd(t);var s,l,c=t._listeners.push(i?[n,i]:n);return r&&t._options&&t._options.onFirstListenerDidAdd&&t._options.onFirstListenerDidAdd(t),t._options&&t._options.onListenerDidAdd&&t._options.onListenerDidAdd(t,n,i),t._leakageMon&&(s=t._leakageMon.check(t._listeners.size)),l={dispose:function(){(s&&s(),l.dispose=e._noop,t._disposed)||(c(),t._options&&t._options.onLastListenerRemove&&(t._listeners&&!t._listeners.isEmpty()||t._options.onLastListenerRemove(t)))}},o instanceof a.b?o.add(l):Array.isArray(o)&&o.push(l),l}),this._event},enumerable:!0,configurable:!0}),e.prototype.fire=function(e){if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new u.a);for(var t=this._listeners.iterator(),n=t.next();!n.done;n=t.next())this._deliveryQueue.push([n.value,e]);for(;this._deliveryQueue.size>0;){var i=this._deliveryQueue.shift(),o=i[0],s=i[1];try{"function"==typeof o?o.call(void 0,s):o[0].call(o[1],s)}catch(n){Object(r.e)(n)}}}},e.prototype.dispose=function(){this._listeners&&this._listeners.clear(),this._deliveryQueue&&this._deliveryQueue.clear(),this._leakageMon&&this._leakageMon.dispose(),this._disposed=!0},e._noop=function(){},e}(),p=function(e){function t(t){var n=e.call(this,t)||this;return n._isPaused=0,n._eventQueue=new u.a,n._mergeFn=t&&t.merge,n}return l(t,e),t.prototype.pause=function(){this._isPaused++},t.prototype.resume=function(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){var t=this._eventQueue.toArray();this._eventQueue.clear(),e.prototype.fire.call(this,this._mergeFn(t))}else for(;!this._isPaused&&0!==this._eventQueue.size;)e.prototype.fire.call(this,this._eventQueue.shift())},t.prototype.fire=function(t){this._listeners&&(0!==this._isPaused?this._eventQueue.push(t):e.prototype.fire.call(this,t))},t}(h),f=function(){function e(){var e=this;this.hasListeners=!1,this.events=[],this.emitter=new h({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,n={event:e,listener:null};this.events.push(n),this.hasListeners&&this.hook(n);return Object(a.h)(Object(s.a)(function(){t.hasListeners&&t.unhook(n);var e=t.events.indexOf(n);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&&e.listener.dispose(),e.listener=null},e.prototype.dispose=function(){this.emitter.dispose()},e}(),g=function(){function e(){this.buffers=[]}return e.prototype.wrapEvent=function(e){var t=this;return function(n,i,o){return e(function(e){var o=t.buffers[t.buffers.length-1];o?o.push(function(){return n.call(i,e)}):n.call(i,e)},void 0,o)}},e.prototype.bufferEvents=function(e){var t=[];this.buffers.push(t);var n=e();return this.buffers.pop(),t.forEach(function(e){return e()}),n},e}(),m=function(){function e(){var e=this;this.listening=!1,this.inputEvent=o.None,this.inputEventListener=a.a.None,this.emitter=new h({onFirstListenerDidAdd:function(){e.listening=!0,e.inputEventListener=e.inputEvent(e.emitter.fire,e.emitter)},onLastListenerRemove:function(){e.listening=!1,e.inputEventListener.dispose()}}),this.event=this.emitter.event}return Object.defineProperty(e.prototype,"input",{set:function(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.inputEventListener.dispose(),this.emitter.dispose()},e}()},Kx4b:function(e,t,n){"use strict";n.d(t,"a",function(){return a});var i=n("uNfg"),o=n("ZfGv"),r=n("ItKl"),s=n("RWr8"),a=new(function(){function e(){this._coreKeybindings=[],this._extensionKeybindings=[],this._cachedMergedKeybindings=null}return e.bindToCurrentPlatform=function(e){if(1===o.a){if(e&&e.win)return e.win}else if(2===o.a){if(e&&e.mac)return e.mac}else if(e&&e.linux)return e.linux;return e},e.prototype.registerKeybindingRule=function(t){var n=e.bindToCurrentPlatform(t);n&&n.primary&&((a=Object(i.f)(n.primary,o.a))&&this._registerDefaultKeybinding(a,t.id,void 0,t.weight,0,t.when));if(n&&Array.isArray(n.secondary))for(var r=0,s=n.secondary.length;r=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,n){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 ",n)},e.prototype._registerDefaultKeybinding=function(e,t,n,i,r,s){1===o.a&&this._assertNoCtrlAlt(e.parts[0],t),this._coreKeybindings.push({keybinding:e,command:t,commandArgs:n,when:s,weight1:i,weight2:r}),this._cachedMergedKeybindings=null},e.prototype.getDefaultKeybindings=function(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=[].concat(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(u)),this._cachedMergedKeybindings.slice(0)},e}());function u(e,t){return e.weight1!==t.weight1?e.weight1-t.weight1:e.commandt.command?1:e.weight2-t.weight2}s.a.add("platform.keybindingsRegistry",a)},L5KM:function(e,t,n){"use strict";n.d(t,"a",function(){return l}),t._36=d,n.d(t,"T",function(){return f}),n.d(t,"R",function(){return g}),n.d(t,"S",function(){return m}),n.d(t,"e",function(){return _}),n.d(t,"b",function(){return v}),n.d(t,"_46",function(){return y}),n.d(t,"_45",function(){return b}),n.d(t,"_48",function(){return C}),n.d(t,"W",function(){return w}),n.d(t,"Y",function(){return S}),n.d(t,"X",function(){return L}),n.d(t,"V",function(){return O}),n.d(t,"U",function(){return E}),n.d(t,"_2",function(){return N}),n.d(t,"_4",function(){return x}),n.d(t,"_3",function(){return I}),n.d(t,"_5",function(){return D}),n.d(t,"_7",function(){return k}),n.d(t,"_6",function(){return T}),n.d(t,"Z",function(){return M}),n.d(t,"_1",function(){return R}),n.d(t,"_0",function(){return A}),n.d(t,"_14",function(){return W}),n.d(t,"_15",function(){return j}),n.d(t,"_8",function(){return V}),n.d(t,"_9",function(){return B}),n.d(t,"_20",function(){return H}),n.d(t,"_21",function(){return z}),n.d(t,"_19",function(){return U}),n.d(t,"_17",function(){return K}),n.d(t,"_18",function(){return q}),n.d(t,"_10",function(){return G}),n.d(t,"_16",function(){return Z}),n.d(t,"_11",function(){return Y}),n.d(t,"_13",function(){return X}),n.d(t,"_12",function(){return J}),n.d(t,"_47",function(){return Q}),n.d(t,"_34",function(){return $}),n.d(t,"_33",function(){return ee}),n.d(t,"c",function(){return te}),n.d(t,"d",function(){return ne}),n.d(t,"_37",function(){return ie}),n.d(t,"_39",function(){return oe}),n.d(t,"_40",function(){return re}),n.d(t,"_38",function(){return se}),n.d(t,"_35",function(){return ae}),n.d(t,"_23",function(){return ue}),n.d(t,"_24",function(){return le}),n.d(t,"_22",function(){return ce}),n.d(t,"_27",function(){return de}),n.d(t,"_25",function(){return he}),n.d(t,"_26",function(){return pe}),n.d(t,"_28",function(){return fe}),n.d(t,"q",function(){return ge}),n.d(t,"p",function(){return me}),n.d(t,"M",function(){return _e}),n.d(t,"L",function(){return ve}),n.d(t,"G",function(){return ye}),n.d(t,"F",function(){return be}),n.d(t,"z",function(){return Ce}),n.d(t,"y",function(){return we}),n.d(t,"o",function(){return Se}),n.d(t,"x",function(){return Le}),n.d(t,"N",function(){return Oe}),n.d(t,"P",function(){return Ee}),n.d(t,"O",function(){return Ne}),n.d(t,"Q",function(){return xe}),n.d(t,"H",function(){return Ie}),n.d(t,"I",function(){return De}),n.d(t,"E",function(){return ke}),n.d(t,"J",function(){return Te}),n.d(t,"K",function(){return Me}),n.d(t,"r",function(){return Re}),n.d(t,"t",function(){return Ae}),n.d(t,"v",function(){return Pe}),n.d(t,"s",function(){return Fe}),n.d(t,"u",function(){return We}),n.d(t,"w",function(){return je}),n.d(t,"C",function(){return Ve}),n.d(t,"A",function(){return Be}),n.d(t,"B",function(){return He}),n.d(t,"D",function(){return ze}),n.d(t,"n",function(){return Ue}),n.d(t,"g",function(){return Ke}),n.d(t,"h",function(){return qe}),n.d(t,"j",function(){return Ge}),n.d(t,"l",function(){return Ze}),n.d(t,"k",function(){return Ye}),n.d(t,"m",function(){return Xe}),n.d(t,"i",function(){return Je}),n.d(t,"_43",function(){return Qe}),n.d(t,"_44",function(){return $e}),n.d(t,"_41",function(){return et}),n.d(t,"_42",function(){return tt}),n.d(t,"_31",function(){return nt}),n.d(t,"_32",function(){return it}),n.d(t,"_29",function(){return ot}),t.f=rt,t._30=function(){for(var e=[],t=0;te.length)return!1;for(var o=0;o=65&&r<=90&&r+32===s||s>=65&&s<=90&&s+32===r))return!1}return!0},e.prototype._createOperationsForBlockComment=function(t,n,i,o,r){var s,a=t.startLineNumber,u=t.startColumn,l=t.endLineNumber,d=t.endColumn,h=o.getLineContent(a),p=o.getLineContent(l),f=h.lastIndexOf(n,u-1+n.length),g=p.indexOf(i,d-1-i.length);if(-1!==f&&-1!==g)if(a===l){h.substring(f+n.length,g).indexOf(i)>=0&&(f=-1,g=-1)}else{var m=h.substring(f+n.length),_=p.substring(0,g);(m.indexOf(i)>=0||_.indexOf(i)>=0)&&(f=-1,g=-1)}-1!==f&&-1!==g?(f+n.length0&&32===p.charCodeAt(g-1)&&(i=" "+i,g-=1),s=e._createRemoveBlockCommentOperations(new c.a(a,f+n.length+1,l,g+1),n,i)):(s=e._createAddBlockCommentOperations(t,n,i),this._usedEndToken=1===s.length?i:null);for(var v=0,y=s;va?r-1:r}},e}(),m=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),_=function(e){function t(t,n){var i=e.call(this,n)||this;return i._type=t,i}return m(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getModel(),i=[],o=t.getSelections(),r=n.getOptions(),s=0,a=o;s0&&"#"===n.charAt(n.length-1)?n.substring(0,n.length-1):n)]=t,this._onDidChangeSchema.fire(e)},e.prototype.notifySchemaChanged=function(e){this._onDidChangeSchema.fire(e)},e}());i.a.add(r.JSONContribution,s)},M1c9:function(e,t){e.exports=function(e,t,n){var i=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var r=Array(o);++i'),O=encodeURIComponent(''),N=encodeURIComponent(''),I=encodeURIComponent(''),k=encodeURIComponent(''),M=encodeURIComponent('');function A(e,t){return"."+i.className(e).split(" ").join(".")+' { background: url("data:image/svg+xml,'+i.getSVGData(e,t)+'") center center no-repeat; height: 16px; width: 16px; }'}!function(e){e.getSVGData=function(e,t){switch(e){case w.a.Ignore:var n=t.type===d.d?g.a.fromHex("#75BEFF"):g.a.fromHex("#007ACC");return t.type===d.d?k+encodeURIComponent(n.toString())+T:M+encodeURIComponent(n.toString())+R;case w.a.Info:var i=t.type===d.d?g.a.fromHex("#007ACC"):g.a.fromHex("#75BEFF");return t.type===d.d?k+encodeURIComponent(i.toString())+T:M+encodeURIComponent(i.toString())+R;case w.a.Warning:var o=t.type===d.d?g.a.fromHex("#DDB100"):g.a.fromHex("#fc0");return t.type===d.d?N+encodeURIComponent(o.toString())+x:I+encodeURIComponent(o.toString())+D;case w.a.Error:var r=t.type===d.d?g.a.fromHex("#A1260D"):g.a.fromHex("#F48771");return t.type===d.d?S+encodeURIComponent(r.toString())+L:O+encodeURIComponent(r.toString())+E}return""},e.className=function(e){switch(e){case w.a.Ignore:return"severity-icon severity-ignore";case w.a.Info:return"severity-icon severity-info";case w.a.Warning:return"severity-icon severity-warning";case w.a.Error:return"severity-icon severity-error"}return""}}(i||(i={})),Object(d.f)(function(e,t){t.addRule(A(w.a.Error,e)),t.addRule(A(w.a.Warning,e)),t.addRule(A(w.a.Info,e)),t.addRule(A(w.a.Ignore,e))});var P,F=this&&this.__extends||(P=function(e,t){return(P=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}P(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),W=function(){function e(e,t,n){var i=this;this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=[],this._editor=t;var o=document.createElement("div");o.className="descriptioncontainer",o.setAttribute("aria-live","assertive"),o.setAttribute("role","alert"),this._messageBlock=document.createElement("div"),p.f(this._messageBlock,"message"),o.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),o.appendChild(this._relatedBlock),this._disposables.push(p.k(this._relatedBlock,"click",function(e){e.preventDefault();var t=i._relatedDiagnostics.get(e.target);t&&n(t)})),this._scrollable=new m.b(o,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:3,verticalScrollbarSize:3}),e.appendChild(this._scrollable.getDomNode()),this._disposables.push(this._scrollable.onScroll(function(e){o.style.left="-"+e.scrollLeft+"px",o.style.top="-"+e.scrollTop+"px"})),this._disposables.push(this._scrollable)}return e.prototype.dispose=function(){Object(s.f)(this._disposables)},e.prototype.update=function(e){var t=e.source,n=e.message,i=e.relatedInformation,o=e.code,r=n.split(/\r\n|\r|\n/g);this._lines=r.length,this._longestLineLength=0;for(var s=0,a=r;s1?o.a("problems","{0} of {1} problems",n,r):o.a("change","{0} of {1} problem",n,r);this.setTitle(Object(b.b)(d.uri),h)}this._icon.className=i.className(u.c.toSeverity(this._severity)),this.editor.revealPositionInCenter(c,0)},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._doLayoutBody=function(t,n){e.prototype._doLayoutBody.call(this,t,n),this._heightInPixel=t,this._message.layout(t,n),this._container.style.height=t+"px"},t.prototype._onWidth=function(e){this._message.layout(this._heightInPixel,e)},t.prototype._relayout=function(){e.prototype._relayout.call(this,this.computeRequiredHeight())},t.prototype.computeRequiredHeight=function(){return 3+this._message.getHeightInLines()},t}(y.c),V=Object(f._30)(f.q,f.p),B=Object(f._30)(f.M,f.L),H=Object(f._30)(f.G,f.F),z=Object(f._36)("editorMarkerNavigationError.background",{dark:V,light:V,hc:V},o.a("editorMarkerNavigationError","Editor marker navigation widget error color.")),U=Object(f._36)("editorMarkerNavigationWarning.background",{dark:B,light:B,hc:B},o.a("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),K=Object(f._36)("editorMarkerNavigationInfo.background",{dark:H,light:H,hc:H},o.a("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),q=Object(f._36)("editorMarkerNavigation.background",{dark:"#2D2D30",light:g.a.white,hc:"#0C141F"},o.a("editorMarkerNavigationBackground","Editor marker navigation widget background."));Object(d.f)(function(e,t){var n=e.getColor(f._46);n&&t.addRule(".monaco-editor .marker-widget a { color: "+n+"; }")});var G=n("aL7J"),Z=n("vORD"),Y=n("zxiH"),X=n("C3c5"),J=n("AKCZ"),Q=n("NqM+");n.d(t,"MarkerController",function(){return re}),n.d(t,"NextMarkerAction",function(){return ae});var $=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ee=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},te=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ne=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},ie=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=0?this._markers[this._nextIdx]:void 0;this._markers=e||[],this._markers.sort(se.compareMarker),this._nextIdx=t?Math.max(-1,Object(v.c)(this._markers,t,se.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,n=this._editor.getPosition(),i=0;i0?this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length:i=!0),n!==this._nextIdx){var o=this._markers[this._nextIdx];this._onCurrentMarkerChanged.fire(o)}return i},e.prototype.canNavigate=function(){return this._markers.length>0},e.prototype.findMarkerAtPosition=function(e){for(var t=0,n=this._markers;t=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},b=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},C=function(e){function t(t,n,i){var o=e.call(this)||this;return o._editor=t,o._codeEditorService=n,o._configurationService=i,o._localToDispose=o._register(new l.b),o._decorationsIds=[],o._colorDatas=new Map,o._colorDecoratorIds=[],o._decorationsTypes=new Set,o._register(t.onDidChangeModel(function(e){o._isEnabled=o.isEnabled(),o.onModelChanged()})),o._register(t.onDidChangeModelLanguage(function(e){return o.onModelChanged()})),o._register(f.c.onDidChange(function(e){return o.onModelChanged()})),o._register(t.onDidChangeConfiguration(function(e){var t=o._isEnabled;o._isEnabled=o.isEnabled(),t!==o._isEnabled&&(o._isEnabled?o.onModelChanged():o.removeAllDecorations())})),o._timeoutTimer=null,o._computePromise=null,o._isEnabled=o.isEnabled(),o.onModelChanged(),o}return v(t,e),t.prototype.isEnabled=function(){var e=this._editor.getModel();if(!e)return!1;var t=e.getLanguageIdentifier(),n=this._configurationService.getValue(t.language);if(n){var i=n.colorDecorators;if(i&&void 0!==i.enable&&!i.enable)return i.enable}return this._editor.getConfiguration().contribInfo.colorDecorators},t.prototype.getId=function(){return t.ID},t.get=function(e){return e.getContribution(this.ID)},t.prototype.dispose=function(){this.stop(),this.removeAllDecorations(),e.prototype.dispose.call(this)},t.prototype.onModelChanged=function(){var e=this;if(this.stop(),this._isEnabled){var n=this._editor.getModel();n&&f.c.has(n)&&(this._localToDispose.add(this._editor.onDidChangeModelContent(function(n){e._timeoutTimer||(e._timeoutTimer=new i.e,e._timeoutTimer.cancelAndSet(function(){e._timeoutTimer=null,e.beginCompute()},t.RECOMPUTE_TIME))})),this.beginCompute())}},t.prototype.beginCompute=function(){var e=this;this._computePromise=Object(i.f)(function(t){var n=e._editor.getModel();return n?Object(g.b)(n,t):Promise.resolve([])}),this._computePromise.then(function(t){e.updateDecorations(t),e.updateColorDecorators(t),e._computePromise=null},r.e)},t.prototype.stop=function(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()},t.prototype.updateDecorations=function(e){var t=this,n=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,n),this._colorDatas=new Map,this._decorationsIds.forEach(function(n,i){return t._colorDatas.set(n,e[i])})},t.prototype.updateColorDecorators=function(e){for(var t=this,n=[],i={},r=0;rthis.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.lineNumber0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=e._maxRounds){t();break}if(!o){t();break}var l=i.findNextBracket(o);if(!l){t();break}if(Date.now()-u>e._maxDuration){setTimeout(function(){return e._bracketsRightYield(t,n+1,i,o,s)});break}var c=l.close;if(l.isOpen){var d=a.has(c)?a.get(c):0;a.set(c,d+1)}else{d=a.has(c)?a.get(c):0;if(d-=1,a.set(c,Math.max(0,d)),d<0){var h=s.get(c);h||(h=new r.a,s.set(c,h)),h.push(l.range)}}o=l.range.getEndPosition()}},e._bracketsLeftYield=function(t,n,i,r,s,a){for(var u=new Map,l=Date.now();;){if(n>=e._maxRounds&&0===s.size){t();break}if(!r){t();break}var c=i.findPrevBracket(r);if(!c){t();break}if(Date.now()-l>e._maxDuration){setTimeout(function(){return e._bracketsLeftYield(t,n+1,i,r,s,a)});break}var d=c.close;if(c.isOpen){m=u.has(d)?u.get(d):0;if(m-=1,u.set(d,Math.max(0,m)),m<0){var h=s.get(d);if(h){var p=h.shift();0===h.size&&s.delete(d);var f=o.a.fromPositions(c.range.getEndPosition(),p.getStartPosition()),g=o.a.fromPositions(c.range.getStartPosition(),p.getEndPosition());a.push({range:f}),a.push({range:g}),e._addBracketLeading(i,g,a)}}}else{var m=u.has(d)?u.get(d):0;u.set(d,m+1)}r=c.range.getStartPosition()}},e._addBracketLeading=function(e,t,n){if(t.startLineNumber!==t.endLineNumber){var r=t.startLineNumber,s=e.getLineFirstNonWhitespaceColumn(r);0!==s&&s!==t.startColumn&&(n.push({range:o.a.fromPositions(new i.a(r,s),t.getEndPosition())}),n.push({range:o.a.fromPositions(new i.a(r,1),t.getEndPosition())}));var a=r-1;if(a>0){var u=e.getLineFirstNonWhitespaceColumn(a);u===t.startColumn&&u!==e.getLineLastNonWhitespaceColumn(a)&&(n.push({range:o.a.fromPositions(new i.a(a,u),t.getEndPosition())}),n.push({range:o.a.fromPositions(new i.a(a,1),t.getEndPosition())}))}}},e._maxDuration=30,e._maxRounds=2,e}()},NkRn:function(e,t,n){var i=n("TQ3y").Symbol;e.exports=i},"NqM+":function(e,t,n){"use strict";n.d(t,"a",function(){return o});var i=n("JVO/"),o=Object(i.c)("keybindingService")},Nr0y:function(e,t,n){"use strict";var i,o=n("hK2W"),r=n("aL7J");!function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(i||(i={})),function(e){var t="error",n="warning",i="warn",s="info",a=Object.create(null);a[e.Error]=o.a("sev.error","Error"),a[e.Warning]=o.a("sev.warning","Warning"),a[e.Info]=o.a("sev.info","Info"),e.fromValue=function(o){return o?r.n(t,o)?e.Error:r.n(n,o)||r.n(i,o)?e.Warning:r.n(s,o)?e.Info:e.Ignore:e.Ignore}}(i||(i={})),t.a=i},Ny4g:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o,r,s,a,u,l,c,d,h,p,f,g,m,_,v,y,b,C,w,S,L,O,E,N,x,I,D,k,T,M=n("iXRW"),R=(n("tZcU"),n("80kS")),A=n("Kp7x"),P=n("uNfg"),F=n("mrx5"),W=n("artP"),j=n("vTy2"),V=n("iHM7"),B=n("c6Qy");!function(e){e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated"}(i||(i={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(o||(o={})),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"}(r||(r={})),function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(s||(s={})),function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"}(a||(a={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(u||(u={})),function(e){e[e.Inline=1]="Inline"}(l||(l={})),function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(c||(c={})),function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(d||(d={})),function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(h||(h={})),function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(p||(p={})),function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"}(f||(f={})),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"}(g||(g={})),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"}(m||(m={})),function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"}(_||(_={})),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"}(v||(v={})),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"}(y||(y={})),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"}(b||(b={})),function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(C||(C={})),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"}(w||(w={})),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"}(S||(S={})),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(L||(L={})),function(e){e[e.Method=0]="Method",e[e.Function=1]="Function",e[e.Constructor=2]="Constructor",e[e.Field=3]="Field",e[e.Variable=4]="Variable",e[e.Class=5]="Class",e[e.Struct=6]="Struct",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Event=10]="Event",e[e.Operator=11]="Operator",e[e.Unit=12]="Unit",e[e.Value=13]="Value",e[e.Constant=14]="Constant",e[e.Enum=15]="Enum",e[e.EnumMember=16]="EnumMember",e[e.Keyword=17]="Keyword",e[e.Text=18]="Text",e[e.Color=19]="Color",e[e.File=20]="File",e[e.Reference=21]="Reference",e[e.Customcolor=22]="Customcolor",e[e.Folder=23]="Folder",e[e.TypeParameter=24]="TypeParameter",e[e.Snippet=25]="Snippet"}(O||(O={})),function(e){e[e.Deprecated=1]="Deprecated"}(E||(E={})),function(e){e[e.KeepWhitespace=1]="KeepWhitespace",e[e.InsertAsSnippet=4]="InsertAsSnippet"}(N||(N={})),function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(x||(x={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(I||(I={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(D||(D={})),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"}(k||(k={})),function(e){e[e.Deprecated=1]="Deprecated"}(T||(T={}));var H=function(){function e(){}return e.chord=function(e,t){return Object(P.a)(e,t)},e.CtrlCmd=2048,e.Shift=1024,e.Alt=512,e.WinCtrl=256,e}();function z(){return{editor:void 0,languages:void 0,CancellationTokenSource:R.b,Emitter:A.a,KeyCode:r,KeyMod:H,Position:W.a,Range:j.a,Selection:V.a,SelectionDirection:s,MarkerSeverity:o,MarkerTag:i,Uri:F.a,Token:B.a}}n("gvGx");var U,K=n("vORD"),q=n("7/Cv"),G=n("tqet"),Z=n("EMhq"),Y=n("+vUW"),X=n("lapT"),J=n("ZYUE"),Q=n("aL7J"),$=n("ItKl"),ee=this&&this.__extends||(U=function(e,t){return(U=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}U(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),te=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},ne=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ie=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function a(e){try{u(i.throw(e))}catch(e){r(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},oe=this&&this.__generator||function(e,t){var n,i,o,r,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,i=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(o=(o=s.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=this.ranges.length&&(this.nextIdx=0)):(this.nextIdx-=1,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));var n=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{var i=n.range.getStartPosition();this._editor.setPosition(i),this._editor.revealPositionInCenter(i,t)}finally{this.ignoreSelectionChange=!1}}},t.prototype.canNavigate=function(){return this.ranges&&this.ranges.length>0},t.prototype.next=function(e){void 0===e&&(e=0),this._move(!0,e)},t.prototype.previous=function(e){void 0===e&&(e=0),this._move(!1,e)},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.ranges=[],this.disposed=!0},t}(G.a),de=n("5lao"),he=n("33h2"),pe=n("D2uo"),fe=n("PCC9"),ge=n("jUH2"),me=n("606G"),_e=n("B/Xy"),ve=n("odeJ"),ye=n("zxiH"),be=n("ZfGv"),Ce=n("KIxu"),we=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Se="$initialize",Le=!1;function Oe(e){be.f&&(Le||(Le=!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 Ee=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 n=this,i=String(++this._lastSentReq);return new Promise(function(o,r){n._pendingReplies[i]={resolve:o,reject:r},n._send({vsWorker:n._workerId,req:i,method:e,args:t})})},e.prototype.handleMessage=function(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))},e.prototype._handleMessage=function(e){var t=this;if(e.seq){var n=e;if(!this._pendingReplies[n.seq])return void console.warn("Got reply to unknown seq");var i=this._pendingReplies[n.seq];if(delete this._pendingReplies[n.seq],n.err){var o=n.err;return n.err.$isError&&((o=new Error).name=n.err.name,o.message=n.err.message,o.stack=n.err.stack),void i.reject(o)}i.resolve(n.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(ye.g)(e.detail)),t._send({vsWorker:t._workerId,seq:s,res:void 0,err:Object(ye.g)(e)})})}},e.prototype._send=function(e){var t=[];if(e.req)for(var n=e,i=0;i1&&f>1;){if(d.charCodeAt(p-2)!==h.charCodeAt(f-2))break;p--,f--}(p>1||f>1)&&this._pushTrimWhitespaceCharChange(o,r+1,1,p,s+1,1,f);for(var g=Fe._getLastNonBlankColumn(d,1),m=Fe._getLastNonBlankColumn(h,1),_=d.length+1,v=h.length+1;g<_&&mt&&(t=a),s>n&&(n=s),u>n&&(n=u)}t++,n++;var l=new qe.a(n,t,0);for(i=0,o=e.length;i=this._maxCharCode?0:this._states.get(e,t)},e}(),Ze=null;var Ye=null;var Xe=function(){function e(){}return e._createLink=function(e,t,n,i,o){var r=o-1;do{var s=t.charCodeAt(r);if(2!==e.get(s))break;r--}while(r>i);if(i>0){var a=t.charCodeAt(i-1),u=t.charCodeAt(r);(40===a&&41===u||91===a&&93===u||123===a&&125===u)&&r--}return{range:{startLineNumber:n,startColumn:i+1,endLineNumber:n,endColumn:r+2},url:t.substring(i,r+1)}},e.computeLinks=function(t,n){void 0===n&&(null===Ze&&(Ze=new Ge([[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]])),n=Ze);for(var i=function(){if(null===Ye){Ye=new Ke.a(0);for(var e=0;e<" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".length;e++)Ye.set(" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".charCodeAt(e),1);for(e=0;e<".,;".length;e++)Ye.set(".,;".charCodeAt(e),2)}return Ye}(),o=[],r=1,s=t.getLineCount();r<=s;r++){for(var a=t.getLineContent(r),u=a.length,l=0,c=0,d=0,h=1,p=!1,f=!1,g=!1;l=0?((i+=n?1:-1)<0?i=e.length-1:i%=e.length,e[i]):null},e.INSTANCE=new e,e}(),Qe=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),$e=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Qe(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 n=Object(Ue.d)(e.column,Object(Ue.c)(t),this._lines[e.lineNumber-1],0);return n?new j.a(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null},t.prototype.getWordUntilPosition=function(e,t){var n=this.getWordAtPosition(e,t);return n?{word:this._lines[e.lineNumber-1].substring(n.startColumn-1,e.column-1),startColumn:n.startColumn,endColumn:e.column}:{word:"",startColumn:e.column,endColumn:e.column}},t.prototype.createWordIterator=function(e){var t,n,i=this,o=0,r=0,s=[],a=function(){if(r=i._lines.length?Me.c:(n=i._lines[o],s=i._wordenize(n,e),r=0,o+=1,a())};return{next:a}},t.prototype.getLineWords=function(e,t){for(var n=this._lines[e-1],i=[],o=0,r=this._wordenize(n,t);othis._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,i=!0;else{var o=this._lines[t-1].length+1;n<1?(n=1,i=!0):n>o&&(n=o,i=!0)}return i?{lineNumber:t,column:n}:e},t}(ze),et=function(){function e(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}return e.prototype.dispose=function(){this._models=Object.create(null)},e.prototype._getModel=function(e){return this._models[e]},e.prototype._getModels=function(){var e=this,t=[];return Object.keys(this._models).forEach(function(n){return t.push(e._models[n])}),t},e.prototype.acceptNewModel=function(e){this._models[e.url]=new $e(F.a.parse(e.url),e.lines,e.EOL,e.versionId)},e.prototype.acceptModelChanged=function(e,t){this._models[e]&&this._models[e].onEvents(t)},e.prototype.acceptRemovedModel=function(e){this._models[e]&&delete this._models[e]},e.prototype.computeDiff=function(e,t,n){var i=this._getModel(e),o=this._getModel(t);if(!i||!o)return Promise.resolve(null);var r=i.getLinesContent(),s=o.getLinesContent(),a=new Be(r,s,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0}).computeDiff(),u=!(a.length>0)&&this._modelsAreIdentical(i,o);return Promise.resolve({identical:u,changes:a})},e.prototype._modelsAreIdentical=function(e,t){var n=e.getLineCount();if(n!==t.getLineCount())return!1;for(var i=1;i<=n;i++){if(e.getLineContent(i)!==t.getLineContent(i))return!1}return!0},e.prototype.computeMoreMinimalEdits=function(t,n){var i=this._getModel(t);if(!i)return Promise.resolve(n);for(var o=[],r=void 0,s=0,a=n=Object(ke.o)(n,function(e,t){return e.range&&t.range?j.a.compareRangesUsingStarts(e.range,t.range):(e.range?0:1)-(t.range?0:1)});se._diffLimit)o.push({range:l,text:c});else for(var p=Object(Te.b)(h,c,!1),f=i.offsetAt(j.a.lift(l).getStartPosition()),g=0,m=p;g=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},lt=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ct=6e4,dt=3e5;function ht(e,t){var n=e.getModel(t);return!!n&&!n.isTooLargeForSyncing()}var pt=function(e){function t(t,n,i){var o=e.call(this)||this;return o._modelService=t,o._workerManager=o._register(new gt(o._modelService)),o._logService=i,o._register(fe.q.register("*",{provideLinks:function(e,t){return ht(o._modelService,e.uri)?o._workerManager.withWorker().then(function(t){return t.computeLinks(e.uri)}).then(function(e){return e&&{links:e}}):Promise.resolve({links:[]})}})),o._register(fe.d.register("*",new ft(o._workerManager,n,o._modelService))),o}return at(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.canComputeDiff=function(e,t){return ht(this._modelService,e)&&ht(this._modelService,t)},t.prototype.computeDiff=function(e,t,n){return this._workerManager.withWorker().then(function(i){return i.computeDiff(e,t,n)})},t.prototype.computeMoreMinimalEdits=function(e,t){var n=this;if(Object(ke.n)(t)){if(!ht(this._modelService,e))return Promise.resolve(t);var i=st.a.create(!0),o=this._workerManager.withWorker().then(function(n){return n.computeMoreMinimalEdits(e,t)});return o.finally(function(){return n._logService.trace("FORMAT#computeMoreMinimalEdits",e.toString(!0),i.elapsed())}),o}return Promise.resolve(void 0)},t.prototype.canNavigateValueSet=function(e){return ht(this._modelService,e)},t.prototype.navigateValueSet=function(e,t,n){return this._workerManager.withWorker().then(function(i){return i.navigateValueSet(e,t,n)})},t.prototype.canComputeWordRanges=function(e){return ht(this._modelService,e)},t.prototype.computeWordRanges=function(e,t){return this._workerManager.withWorker().then(function(n){return n.computeWordRanges(e,t)})},t=ut([lt(0,tt.a),lt(1,it),lt(2,rt.a)],t)}(G.a),ft=function(){function e(e,t,n){this._debugDisplayName="wordbasedCompletions",this._workerManager=e,this._configurationService=t,this._modelService=n}return e.prototype.provideCompletionItems=function(e,t){if(this._configurationService.getValue(e.uri,t,"editor").wordBasedSuggestions&&ht(this._modelService,e.uri))return this._workerManager.withWorker().then(function(n){return n.textualSuggest(e.uri,t)})},e}(),gt=function(e){function t(t){var n=e.call(this)||this;return n._modelService=t,n._editorWorkerClient=null,n._lastWorkerUsedTime=(new Date).getTime(),n._register(new ve.c).cancelAndSet(function(){return n._checkStopIdleWorker()},Math.round(dt/2)),n._register(n._modelService.onModelRemoved(function(e){return n._checkStopEmptyWorker()})),n}return at(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>dt&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null))},t.prototype.withWorker=function(){return this._lastWorkerUsedTime=(new Date).getTime(),this._editorWorkerClient||(this._editorWorkerClient=new yt(this._modelService,"editorWorkerService")),Promise.resolve(this._editorWorkerClient)},t}(G.a),mt=function(e){function t(t,n,i){var o=e.call(this)||this;if(o._syncedModels=Object.create(null),o._syncedModelsLastUsedTime=Object.create(null),o._proxy=t,o._modelService=n,!i){var r=new ve.c;r.cancelAndSet(function(){return o._checkStopModelSync()},Math.round(ct/2)),o._register(r)}return o}return at(t,e),t.prototype.dispose=function(){for(var t in this._syncedModels)Object(G.f)(this._syncedModels[t]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),e.prototype.dispose.call(this)},t.prototype.ensureSyncedResources=function(e){for(var t=0,n=e;tct&&t.push(n)}for(var i=0,o=t;i'"_]/g,"-")}function kt(e,t){return new Error(e.languageId+": "+t)}function Tt(e,t,n,i,o){var r=null;return t.replace(/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,function(t,s,a,u,l,c,d,h,p){return xt(a)?xt(u)?!xt(l)&&l0;){var i=e.tokenizer[n];if(i)return i;var o=n.lastIndexOf(".");n=o<0?null:n.substr(0,o)}return null}var Rt=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 At(e,t);var n=At.getStackElementId(e);n.length>0&&(n+="|"),n+=t;var i=this._entries[n];return i||(i=new At(e,t),this._entries[n]=i,i)},e._INSTANCE=new e(5),e}(),At=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 Rt.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 Rt.create(this.parent,e)},e}(),Pt=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}(),Ft=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 Wt(e,t);if(null!==e&&e.depth>=this._maxCacheDepth)return new Wt(e,t);var n=At.getStackElementId(e),i=this._entries[n];return i||(i=new Wt(e,null),this._entries[n]=i,i)},e._INSTANCE=new e(5),e}(),Wt=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:Ft.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}(),jt=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 B.a(e,t,this._language)))},e.prototype.nestedModeTokenize=function(e,t,n){var i=t.modeId,o=t.state,r=fe.y.get(i);if(!r)return this.enterMode(n,i),this.emit(n,""),o;var s=r.tokenize(e,o,n);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 B.b(this._tokens,e)},e}(),Vt=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 n=this._theme.match(this._currentLanguageId,t);this._lastTokenMetadata!==n&&(this._lastTokenMetadata=n,this._tokens.push(e),this._tokens.push(n))},e._merge=function(e,t,n){var i=null!==e?e.length:0,o=t.length,r=null!==n?n.length:0;if(0===i&&0===o&&0===r)return new Uint32Array(0);if(0===i&&0===o)return n;if(0===o&&0===r)return e;var s=new Uint32Array(i+o+r);null!==e&&s.set(e);for(var a=0;a0&&i.nestedModeTokenize(s,t.embeddedModeData,n);var a=e.substring(o);return this._myTokenize(a,t,n+o,i)},e.prototype._safeRuleName=function(e){return e?e.name:"(unknown)"},e.prototype._myTokenize=function(e,t,n,i){i.enterMode(n,this._modeId);for(var o,r,s=e.length,a=t.embeddedModeData,u=t.stack,l=0,c=null,d=!0;d||l=s)break;d=!1;var w=this._lexer.tokenizer[g];if(!w&&!(w=Mt(this._lexer,g)))throw kt(this._lexer,"tokenizer state is not defined: "+g);for(var S=e.substr(l),L=0,O=w;L=this._lexer.maxStack)throw kt(this._lexer,"maximum tokenizer stack size reached: ["+u.state+","+u.parent.state+",...]");u=u.push(g)}else if("@pop"===v.next){if(u.depth<=1)throw kt(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(y));u=u.pop()}else if("@popall"===v.next)u=u.popall();else{var x;if("@"===(x=Tt(this._lexer,v.next,_,m,g))[0]&&(x=x.substr(1)),!Mt(this._lexer,x))throw kt(this._lexer,"trying to set a next state '"+x+"' that is undefined in rule: "+this._safeRuleName(y));u=u.push(x)}}v.log&&"string"==typeof v.log&&(o=this._lexer,r=this._lexer.languageId+": "+Tt(this._lexer,v.log,_,m,g),console.log(o.languageId+": "+r))}if(null===N)throw kt(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(y));if(Array.isArray(N)){if(c&&c.groups.length>0)throw kt(this._lexer,"groups cannot be nested: "+this._safeRuleName(y));if(m.length!==N.length+1)throw kt(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(y));for(var I=0,D=1;D=0&&a()})})},e.colorizeLine=function(e,t,n,i,o){void 0===o&&(o=4);var r=Lt.d.isBasicASCII(e,t),s=Lt.d.containsRTL(e,r,n);return Object(St.e)(new St.c(!1,!0,e,!1,r,s,0,i,[],o,0,-1,"none",!1,!1,null)).html},e.colorizeModelLine=function(e,t,n){void 0===n&&(n=4);var i=e.getLineContent(t);e.forceTokenization(t);var o=e.getLineTokens(t).inflate();return this.colorizeLine(i,e.mightContainNonBasicASCII(),e.mightContainRTL(),o,n)},e}();function Ut(e,t,n){return new Promise(function(i,o){var r=function(){var s=function(e,t,n){for(var i=[],o=n.getInitialState(),r=0,s=e.length;r"),o=u.endState}return i.join("")}(e,t,n);if(n instanceof Bt){var a=n.getLoadStatus();if(!1===a.loaded)return void a.promise.then(r,o)}i(s)};r()})}function Kt(e,t){var n=[],i=new Uint32Array(2);i[0]=0,i[1]=16793600;for(var o=0,r=e.length;o")}return n.join("")}var qt=n("gzF+"),Gt=n("Nr0y"),Zt=n("P1SM"),Yt=n("TeKV"),Xt=n("0WPX"),Jt=n("Gzpe"),Qt=n("WTFd"),$t=n("rHGw"),en=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),tn=function(){function e(e,t,n){void 0===e&&(e={}),void 0===t&&(t=[]),void 0===n&&(n=[]),this._contents=e,this._keys=t,this._overrides=n,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.isEmpty=function(){return 0===this._keys.length&&0===Object.keys(this._contents).length&&0===this._overrides.length},e.prototype.getValue=function(e){return e?Object(Jt.d)(this.contents,e):this.contents},e.prototype.override=function(t){var n=this.getContentsForOverrideIdentifer(t);if(!n||"object"!=typeof n||!Object.keys(n).length)return this;for(var i={},o=0,r=ke.e(Object.keys(this.contents).concat(Object.keys(n)));o5e3&&n._leaveChordMode():n._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){return this._doDispatch(this.resolveKeyboardEvent(e),t)},t.prototype._doDispatch=function(e,t){var n=this,i=!1;if(e.isChord())return console.warn("Unexpected keyboard event mapped to a chord"),!1;var o=e.getDispatchParts()[0];if(null===o)return i;var r=this._contextKeyService.getContext(t),s=this._currentChord?this._currentChord.keypress:null,a=e.getLabel(),u=this._getResolver().resolve(r,s,o);return u&&u.enterChord?(i=!0,this._enterChordMode(o,a),i):(this._currentChord&&(u&&u.commandId||(this._notificationService.status(rn.a("missing.chord","The key combination ({0}, {1}) is not a command.",this._currentChord.label,a),{hideAfter:1e4}),i=!0)),this._leaveChordMode(),u&&u.commandId&&(u.bubble||(i=!0),void 0===u.commandArgs?this._commandService.executeCommand(u.commandId).then(void 0,function(e){return n._notificationService.warn(e)}):this._commandService.executeCommand(u.commandId,u.commandArgs).then(void 0,function(e){return n._notificationService.warn(e)}),this._telemetryService.publicLog2("workbenchActionExecuted",{id:u.commandId,from:"keybinding"})),i)},t.prototype.mightProducePrintableCharacter=function(e){return!e.ctrlKey&&!e.metaKey&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30)},t}(G.a),un=n("7g0X"),ln=function(){function e(t,n){this._defaultKeybindings=t,this._defaultBoundCommands=new Map;for(var i=0,o=t.length;i=0;c--)this._isTargetedForRemoval(e[c],a,u,s,l)&&e.splice(c,1);else n.push(r)}return e.concat(n)},e.prototype._addKeyPress=function(t,n){var i=this._map.get(t);if(void 0===i)return this._map.set(t,[n]),void this._addToLookupMap(n);for(var o=i.length-1;o>=0;o--){var r=i[o];if(r.command!==n.command){var s=r.keypressParts.length>1,a=n.keypressParts.length>1;s&&a&&r.keypressParts[1]!==n.keypressParts[1]||e.whenIsEntirelyIncluded(r.when,n.when)&&this._removeFromLookupMap(r)}}i.push(n),this._addToLookupMap(n)},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){if(e.command){var t=this._lookupMap.get(e.command);if(void 0!==t)for(var n=0,i=t.length;n1&&null!==u.keypressParts[1]?{enterChord:!0,commandId:null,commandArgs:null,bubble:!1}:{enterChord:!1,commandId:u.command,commandArgs:u.commandArgs,bubble:u.bubble}:null},e.prototype._findCommand=function(t,n){for(var i=n.length-1;i>=0;i--){var o=n[i];if(e.contextMatchesRules(t,o.when))return o}return null},e.contextMatchesRules=function(e,t){return!t||t.evaluate(e)},e}(),cn=n("Kx4b"),dn=function(){return function(e,t,n,i,o){this.resolvedKeybinding=e,this.keypressParts=e?function(e){for(var t=[],n=0,i=e.length;n1},t.prototype.getParts=function(){var e=this;return this._parts.map(function(t){return e._getPart(t)})},t.prototype._getPart=function(e){return new P.d(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getLabel(e),this._getAriaLabel(e))},t.prototype.getDispatchParts=function(){var e=this;return this._parts.map(function(t){return e._getDispatchPart(t)})},t}(P.c),gn=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),mn=function(e){function t(t,n){return e.call(this,n,t.parts)||this}return gn(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 P.b.toString(e)},t.prototype._getLabel=function(e){return e.isDuplicateModifierCase()?"":this._keyCodeToUILabel(e.keyCode)},t.prototype._getAriaLabel=function(e){return e.isDuplicateModifierCase()?"":P.b.toString(e.keyCode)},t.prototype._getDispatchPart=function(e){return t.getDispatchStr(e)},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+=P.b.toString(e.keyCode)},t}(fn),_n=n("fAkY"),vn=n("EMDP"),yn=n("EfIu"),bn=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Cn=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},wn=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Sn=function(){function e(e){this.model=e,this._onDispose=new A.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 Ln=function(){function e(){}return e.prototype.setEditor=function(e){this.editor=e},e.prototype.createModelReference=function(e){var t,n,i,o=this,r=null;return this.editor&&(t=this.editor,n=function(t){return o.findModel(t,e)},i=function(t){return o.findModel(t.getOriginalEditor(),e)||o.findModel(t.getModifiedEditor(),e)},r=Object(Zt.a)(t)?n(t):i(t)),r?Promise.resolve(new G.c(new Sn(r))):Promise.reject(new Error("Model not found"))},e.prototype.findModel=function(e,t){var n=e.getModel();return n&&n.uri.toString()!==t.toString()?null:n},e}(),On=function(){function e(){}return e.prototype.showWhile=function(e,t){return Promise.resolve(void 0)},e}(),En=function(){return function(){}}(),Nn=function(){function e(){}return e.prototype.info=function(e){return this.notify({severity:Gt.a.Info,message:e})},e.prototype.warn=function(e){return this.notify({severity:Gt.a.Warning,message:e})},e.prototype.error=function(e){return this.notify({severity:Gt.a.Error,message:e})},e.prototype.notify=function(t){switch(t.severity){case Gt.a.Error:console.error(t.message);break;case Gt.a.Warning:console.warn(t.message);break;default:console.log(t.message)}return e.NO_OP},e.prototype.status=function(e,t){return G.a.None},e.NO_OP=new _n.b,e}(),xn=function(){function e(e){this._onWillExecuteCommand=new A.a,this._onDidExecuteCommand=new A.a,this._instantiationService=e,this._dynamicCommands=Object.create(null)}return e.prototype.addCommand=function(e){var t=this,n=e.id;return this._dynamicCommands[n]=e,Object(G.h)(function(){delete t._dynamicCommands[n]})},e.prototype.executeCommand=function(e){for(var t=[],n=1;n0){var v=e[r-1];m=0===v.originalEndLineNumber?v.originalStartLineNumber+1:v.originalEndLineNumber+1,_=0===v.modifiedEndLineNumber?v.modifiedStartLineNumber+1:v.modifiedEndLineNumber+1}var y=f-3+1,b=g-3+1;if(yS)N+=E=S-N,x+=E;if(x>L)N+=E=L-x,x+=E;h[p++]=new ti(C,N,w,x),i[o++]=new ni(h)}var I=i[0].entries,D=[],k=0;for(r=1,s=i.length;rd)&&(d=_),0!==v&&(0===h||vp)&&(p=y)}var b=document.createElement("div");b.className="diff-review-row";var C=document.createElement("div");C.className="diff-review-cell diff-review-summary";var w=d-c+1,S=p-h+1;C.appendChild(document.createTextNode(a+1+"/"+this._diffs.length+": @@ -"+c+","+w+" +"+h+","+S+" @@")),b.setAttribute("data-line",String(h));var L=function(e){return 0===e?rn.a("no_lines","no lines"):1===e?rn.a("one_line","1 line"):rn.a("more_lines","{0} lines",e)},O=L(w),E=L(S);b.setAttribute("aria-label",rn.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}",a+1,this._diffs.length,c,O,h,E)),b.appendChild(C),b.setAttribute("role","listitem"),l.appendChild(b);var N=h;for(f=0,g=u.length;f0&&o[o.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]o.modifiedStartLineNumber?rn.a("diff.clipboard.copyDeletedLinesContent.label","Copy deleted lines"):rn.a("diff.clipboard.copyDeletedLinesContent.single.label","Copy deleted line"),void 0,!0,function(){return fi(a,void 0,void 0,function(){return gi(this,function(e){switch(e.label){case 0:return[4,this._clipboardService.writeText(o.originalContent.join(l)+l)];case 1:return e.sent(),[2]}})})}));var d=0,h=void 0;return o.originalEndLineNumber>o.modifiedStartLineNumber&&(h=new Yn.a("diff.clipboard.copyDeletedLineContent",rn.a("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",o.originalStartLineNumber),void 0,!0,function(){return fi(a,void 0,void 0,function(){return gi(this,function(e){switch(e.label){case 0:return[4,this._clipboardService.writeText(o.originalContent[d])];case 1:return e.sent(),[2]}})})}),c.push(h)),i.getConfiguration().readOnly||c.push(new Yn.a("diff.inline.revertChange",rn.a("diff.inline.revertChange.label","Revert this change"),void 0,!0,function(){return fi(a,void 0,void 0,function(){var e;return gi(this,function(t){return 0===o.modifiedEndLineNumber?(e=i.getModel().getLineMaxColumn(o.modifiedStartLineNumber),i.executeEdits("diffEditor",[{range:new j.a(o.modifiedStartLineNumber,e,o.modifiedStartLineNumber,e),text:l+o.originalContent.join(l)}])):(e=i.getModel().getLineMaxColumn(o.modifiedEndLineNumber),i.executeEdits("diffEditor",[{range:new j.a(o.modifiedStartLineNumber,1,o.modifiedEndLineNumber,e),text:o.originalContent.join(l)}])),[2]})})})),a._register(q.k(a._diffActions,"mousedown",function(e){var t=q.x(a._diffActions),n=t.top,i=t.height,r=Math.floor(u/3);e.preventDefault(),a._contextMenuService.showContextMenu({getAnchor:function(){return{x:e.posx,y:n+i+r}},getActions:function(){return h&&(h.label=rn.a("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",o.originalStartLineNumber+d)),c},autoSelectFirstItem:!0})})),a._register(i.onMouseMove(function(e){8===e.target.type||5===e.target.type?e.target.detail.viewZoneId===a._viewZoneId?(a.visibility=!0,d=a._updateLightBulbPosition(a._marginDomNode,e.event.browserEvent.y,u)):a.visibility=!1:a.visibility=!1})),a}return pi(t,e),Object.defineProperty(t.prototype,"visibility",{get:function(){return this._visibility},set:function(e){this._visibility!==e&&(this._visibility=e,this._diffActions.style.visibility=e?"visible":"hidden")},enumerable:!0,configurable:!0}),t.prototype._updateLightBulbPosition=function(e,t,n){var i=t-q.x(e).top,o=Math.floor(i/n),r=o*n;return this._diffActions.style.top=r+"px",o},t}(G.a),_i=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),vi=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},yi=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},bi=function(){function e(e,t){this._contextMenuService=e,this._clipboardService=t,this._zones=[],this.inlineDiffMargins=[],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 n=0,i=t._zones.length;n0?o/n: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._diffComputationResult&&this._updateDecorations(),this._measureDomElement(!0)},t.prototype._getLineChangeAtOrBeforeLineNumber=function(e,t){var n=this._diffComputationResult?this._diffComputationResult.changes:[];if(0===n.length||e=a?i=r+1:(i=r,o=r)}return n[i]},t.prototype._getEquivalentLineForOriginalLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,function(e){return e.originalStartLineNumber});if(!t)return e;var n=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),i=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),o=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-n;return s<=o?i+Math.min(s,r):i+r-o+s},t.prototype._getEquivalentLineForModifiedLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,function(e){return e.modifiedStartLineNumber});if(!t)return e;var n=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),i=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),o=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-i;return s<=r?n+Math.min(s,o):n+o-r+s},t.prototype.getDiffLineInformationForOriginal=function(e){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForOriginalLineNumber(e)}:null},t.prototype.getDiffLineInformationForModified=function(e){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForModifiedLineNumber(e)}:null},t.ONE_OVERVIEW_WIDTH=15,t.ENTIRE_DIFF_OVERVIEW_WIDTH=30,t.UPDATE_DIFF_DECORATIONS_DELAY=200,t=vi([yi(3,me.a),yi(4,un.c),yi(5,nt.a),yi(6,K.a),yi(7,$n.c),yi(8,_n.a),yi(9,hi.a)],t)}(G.a),Si=function(e){function t(t){var n=e.call(this)||this;return n._dataSource=t,n._insertColor=null,n._removeColor=null,n}return _i(t,e),t.prototype.applyColors=function(e){var t=(e.getColor(Qn.j)||Qn.g).transparent(2),n=(e.getColor(Qn.l)||Qn.h).transparent(2),i=!t.equals(this._insertColor)||!n.equals(this._removeColor);return this._insertColor=t,this._removeColor=n,i},t.prototype.getEditorsDiffDecorations=function(e,t,n,i,o,r,s){o=o.sort(function(e,t){return e.afterLineNumber-t.afterLineNumber}),i=i.sort(function(e,t){return e.afterLineNumber-t.afterLineNumber});var a=this._getViewZones(e,i,o,r,s,n),u=this._getOriginalEditorDecorations(e,t,n,r,s),l=this._getModifiedEditorDecorations(e,t,n,r,s);return{original:{decorations:u.decorations,overviewZones:u.overviewZones,zones:a.original},modified:{decorations:l.decorations,overviewZones:l.overviewZones,zones:a.modified}}},t}(G.a),Li=function(){function e(e){this._source=e,this._index=-1,this.current=null,this.advance()}return e.prototype.advance=function(){this._index++,this._index0){var n=e[e.length-1];if(n.afterLineNumber===t.afterLineNumber&&null===n.domNode)return void(n.heightInLines+=t.heightInLines)}e.push(t)},d=new Li(this.modifiedForeignVZ),h=new Li(this.originalForeignVZ),p=0,f=this.lineChanges.length;p<=f;p++){var g=p0?-1:0),s=g.modifiedStartLineNumber+(g.modifiedEndLineNumber>0?-1:0),o=g.originalEndLineNumber>0?g.originalEndLineNumber-g.originalStartLineNumber+1:0,i=g.modifiedEndLineNumber>0?g.modifiedEndLineNumber-g.modifiedStartLineNumber+1:0,a=Math.max(g.originalStartLineNumber,g.originalEndLineNumber),u=Math.max(g.modifiedStartLineNumber,g.modifiedEndLineNumber)):(a=r+=1e7+o,u=s+=1e7+i);for(var m,_=[],v=[];d.current&&d.current.afterLineNumber<=u;){var y=void 0;y=d.current.afterLineNumber<=s?r-s+d.current.afterLineNumber:a;var b=null;g&&g.modifiedStartLineNumber<=d.current.afterLineNumber&&d.current.afterLineNumber<=g.modifiedEndLineNumber&&(b=this._createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion()),_.push({afterLineNumber:y,heightInLines:d.current.heightInLines,domNode:null,marginDomNode:b}),d.advance()}for(;h.current&&h.current.afterLineNumber<=a;){y=void 0;y=h.current.afterLineNumber<=r?s-r+h.current.afterLineNumber:u,v.push({afterLineNumber:y,heightInLines:h.current.heightInLines,domNode:null}),h.advance()}if(null!==g&&Ti(g))(m=this._produceOriginalFromDiff(g,o,i))&&_.push(m);if(null!==g&&Mi(g))(m=this._produceModifiedFromDiff(g,o,i))&&v.push(m);var C=0,w=0;for(_=_.sort(l),v=v.sort(l);C<_.length&&w=L.heightInLines?(S.heightInLines-=L.heightInLines,w++):(L.heightInLines-=S.heightInLines,C++)}for(;C<_.length;)c(t,_[C]),C++;for(;w2*t.MINIMUM_EDITOR_WIDTH?(in-t.MINIMUM_EDITOR_WIDTH&&(i=n-t.MINIMUM_EDITOR_WIDTH)):i=o,this._sashPosition!==i&&(this._sashPosition=i,this._sash.layout()),this._sashPosition},t.prototype.onSashDragStart=function(){this._startSashPosition=this._sashPosition},t.prototype.onSashDrag=function(e){var t=this._dataSource.getWidth()-wi.ENTIRE_DIFF_OVERVIEW_WIDTH,n=this.layout((this._startSashPosition+(e.currentX-e.startX))/t);this._sashRatio=n/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,n,i,o){return new Ii(e,t,n).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,n,i,o){for(var r=String(this._removeColor),s={decorations:[],overviewZones:[]},a=i.getModel(),u=0,l=e.length;ut?{afterLineNumber:Math.max(e.originalStartLineNumber,e.originalEndLineNumber),heightInLines:n-t,domNode:null}:null},t.prototype._produceModifiedFromDiff=function(e,t,n){return t>n?{afterLineNumber:Math.max(e.modifiedStartLineNumber,e.modifiedEndLineNumber),heightInLines:t-n,domNode:null}:null},t}(Oi),Di=function(e){function t(t,n){var i=e.call(this,t)||this;return i.decorationsLeft=t.getOriginalEditor().getLayoutInfo().decorationsLeft,i._register(t.getOriginalEditor().onDidLayoutChange(function(e){i.decorationsLeft!==e.decorationsLeft&&(i.decorationsLeft=e.decorationsLeft,t.relayoutEditors())})),i}return _i(t,e),t.prototype.setEnableSplitViewResizing=function(e){},t.prototype._getViewZones=function(e,t,n,i,o,r){return new ki(e,t,n,i,o,r).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,n,i,o){for(var r=String(this._removeColor),s={decorations:[],overviewZones:[]},a=0,u=e.length;a'])}h+=this.modifiedEditorConfiguration.viewInfo.scrollBeyondLastColumn;var m=document.createElement("div");m.className="view-lines line-delete",m.innerHTML=a.build(),Kn.a.applyFontInfoSlow(m,this.modifiedEditorConfiguration.fontInfo);var _=document.createElement("div");return _.className="inline-deleted-margin-view-zone",_.innerHTML=u.join(""),Kn.a.applyFontInfoSlow(_,this.modifiedEditorConfiguration.fontInfo),{shouldNotShrink:!0,afterLineNumber:0===e.modifiedEndLineNumber?e.modifiedStartLineNumber:e.modifiedStartLineNumber-1,heightInLines:t,minWidthInPx:h*d,domNode:m,marginDomNode:_,diff:{originalStartLineNumber:e.originalStartLineNumber,originalEndLineNumber:e.originalEndLineNumber,modifiedStartLineNumber:e.modifiedStartLineNumber,modifiedEndLineNumber:e.modifiedEndLineNumber,originalContent:p}}},t.prototype._renderOriginalLine=function(e,t,n,i,o,r,s){var a=t.getLineTokens(o),u=a.getLineContent(),l=ci.a.filter(r,o,1,u.length+1);s.appendASCIIString('
    ');var c=Lt.d.isBasicASCII(u,t.mightContainNonBasicASCII()),d=Lt.d.containsRTL(u,c,t.mightContainRTL()),h=Object(St.d)(new St.c(n.fontInfo.isMonospace&&!n.viewInfo.disableMonospaceOptimizations,n.fontInfo.canUseHalfwidthRightwardsArrow,u,!1,c,d,0,a,l,i,n.fontInfo.spaceWidth,n.viewInfo.stopRenderingLineAfter,n.viewInfo.renderWhitespace,n.viewInfo.renderControlCharacters,n.viewInfo.fontLigatures,null),s);s.appendASCIIString("
    ");var p=h.characterMapping.getAbsoluteOffsets();return p.length>0?p[p.length-1]:0},t}(Oi);function Ti(e){return e.modifiedEndLineNumber>0}function Mi(e){return e.originalEndLineNumber>0}Object($n.f)(function(e,t){var n=e.getColor(Qn.j);n&&(t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { background-color: "+n+"; }"),t.addRule(".monaco-diff-editor .line-insert, .monaco-diff-editor .char-insert { background-color: "+n+"; }"),t.addRule(".monaco-editor .inline-added-margin-view-zone { background-color: "+n+"; }"));var i=e.getColor(Qn.l);i&&(t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { background-color: "+i+"; }"),t.addRule(".monaco-diff-editor .line-delete, .monaco-diff-editor .char-delete { background-color: "+i+"; }"),t.addRule(".monaco-editor .inline-deleted-margin-view-zone { background-color: "+i+"; }"));var o=e.getColor(Qn.k);o&&t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+o+"; }");var r=e.getColor(Qn.m);r&&t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+r+"; }");var s=e.getColor(Qn._37);s&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px "+s+"; }");var a=e.getColor(Qn.i);a&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid "+a+"; }")});var Ri=n("lthF"),Ai=n("sKqm"),Pi=n("C3c5"),Fi=n("NqM+"),Wi=n("xJaW"),ji=n("44YW"),Vi=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Bi=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},Hi=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},zi=0,Ui=!1;var Ki=function(e){function t(t,n,i,o,r,s,a,u,l,c){var d=this;return(n=n||{}).ariaLabel=n.ariaLabel||yn.g.editorViewAccessibleLabel,n.ariaLabel=n.ariaLabel+";"+(Vn.j?yn.g.accessibilityHelpMessageIE:yn.g.accessibilityHelpMessage),(d=e.call(this,t,n,{},i,o,r,s,u,l,c)||this)._standaloneKeybindingService=a instanceof In?a:null,Ui||(Ui=!0,Bn.b(document.body)),d}return Vi(t,e),t.prototype.addCommand=function(e,t,n){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;var i="DYNAMIC_"+ ++zi,o=un.a.deserialize(n);return this._standaloneKeybindingService.addDynamicKeybinding(i,e,t,o),i},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"),G.a.None;var n=e.id,i=e.label,o=un.a.and(un.a.equals("editorId",this.getId()),un.a.deserialize(e.precondition)),r=e.keybindings,s=un.a.and(o,un.a.deserialize(e.keybindingContext)),a=e.contextMenuGroupId||null,u=e.contextMenuOrder||0,l=function(){return Promise.resolve(e.run(t))},c=new G.b,d=this.getId()+":"+n;if(c.add($.a.registerCommand(d,l)),a){var h={command:{id:d,title:i},when:o,group:a,order:u};c.add(Pi.c.appendMenuItem(7,h))}if(Array.isArray(r))for(var p=0,f=r;p=0}}(e);to.push(n),n.userConfigured?io.push(n):no.push(n),t&&!n.userConfigured&&to.forEach(function(e){e.mime===n.mime||e.userConfigured||(n.extension&&e.extension===n.extension&&console.warn("Overwriting extension <<"+n.extension+">> to now point to mime <<"+n.mime+">>"),n.filename&&e.filename===n.filename&&console.warn("Overwriting filename <<"+n.filename+">> to now point to mime <<"+n.mime+">>"),n.filepattern&&e.filepattern===n.filepattern&&console.warn("Overwriting filepattern <<"+n.filepattern+">> to now point to mime <<"+n.mime+">>"),n.firstline&&e.firstline===n.firstline&&console.warn("Overwriting firstline <<"+n.firstline+">> to now point to mime <<"+n.mime+">>"))})}function ro(e,t){var n;if(e)switch(e.scheme){case X.b.file:n=e.fsPath;break;case X.b.data:n=J.a.parseMetaData(e).get(J.a.META_DATA_LABEL);break;default:n=e.path}if(!n)return[eo];n=n.toLowerCase();var i=Object(Ji.basename)(n),o=so(n,i,io);if(o)return[o,$i];var r=so(n,i,no);if(r)return[r,$i];if(t){var s=function(e){Object(Q.L)(e)&&(e=e.substr(1));if(e.length>0)for(var t=to.length-1;t>=0;t--){var n=to[t];if(n.firstline){var i=e.match(n.firstline);if(i&&i.length>0)return n.mime}}return null}(t);if(s)return[s,$i]}return[eo]}function so(e,t,n){for(var i=null,o=null,r=null,s=n.length-1;s>=0;s--){var a=n[s];if(t===a.filenameLowercase){i=a;break}if(a.filepattern&&(!o||a.filepattern.length>o.filepattern.length)){var u=a.filepatternOnPath?e:t;Object(Qi.a)(a.filepatternLowercase,u)&&(o=a)}a.extension&&(!r||a.extension.length>r.extension.length)&&Object(Q.m)(t,a.extensionLowercase)&&(r=a)}return i?i.mime:o?o.mime:r?r.mime:null}var ao=n("9XyG"),uo=n("RWr8"),lo=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),co=Object.prototype.hasOwnProperty,ho=function(e){function t(t,n){void 0===t&&(t=!0),void 0===n&&(n=!1);var i=e.call(this)||this;return i._onDidChange=i._register(new A.a),i.onDidChange=i._onDidChange.event,i._warnOnOverwrite=n,i._nextLanguageId2=1,i._languageIdToLanguage=[],i._languageToLanguageId=Object.create(null),i._languages={},i._mimeTypesMap={},i._nameMap={},i._lowercaseNameMap={},t&&(i._initializeFromRegistry(),i._register(ao.a.onDidChangeLanguages(function(e){return i._initializeFromRegistry()}))),i}return lo(t,e),t.prototype._initializeFromRegistry=function(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={};var e=ao.a.getLanguages();this._registerLanguages(e)},t.prototype._registerLanguages=function(e){for(var t=this,n=0,i=e;n0&&((n=e.mimetypes).push.apply(n,t.mimetypes),o=t.mimetypes[0]),o||(o="text/x-"+i,e.mimetypes.push(o)),Array.isArray(t.extensions))for(var r=0,s=t.extensions;r0){var p=t.firstLine;"^"!==p.charAt(0)&&(p="^"+p);try{var f=new RegExp(p);Q.E(f)||oo({id:i,mime:o,firstline:f},this._warnOnOverwrite)}catch(e){Object(ye.e)(e)}}e.aliases.push(i);var g=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(g=0===t.aliases.length?[null]:t.aliases),null!==g)for(var m=0,_=g;m<_.length;m++){var v=_[m];v&&0!==v.length&&e.aliases.push(v)}var y=null!==g&&g.length>0;if(y&&null===g[0]);else{var b=(y?g[0]:null)||i;!y&&e.name||(e.name=b)}t.configuration&&e.configurationFiles.push(t.configuration)},t.prototype.isRegisteredMode=function(e){return!!co.call(this._mimeTypesMap,e)||co.call(this._languages,e)},t.prototype.getModeIdForLanguageNameLowercase=function(e){return co.call(this._lowercaseNameMap,e)?this._lowercaseNameMap[e].language:null},t.prototype.extractModeIds=function(e){var t=this;return e?e.split(",").map(function(e){return e.trim()}).map(function(e){return co.call(t._mimeTypesMap,e)?t._mimeTypesMap[e].language:e}).filter(function(e){return co.call(t._languages,e)}):[]},t.prototype.getLanguageIdentifier=function(e){if(e===ge.b||0===e)return ge.a;var t;if("string"==typeof e)t=e;else if(!(t=this._languageIdToLanguage[e]))return null;return co.call(this._languages,t)?this._languages[t].identifier:null},t.prototype.getModeIdsFromFilepathOrFirstLine=function(e,t){if(!e&&!t)return[];var n=ro(e,t);return this.extractModeIds(n.join(","))},t}(G.a),po=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),fo=function(e){function t(t,n){var i=e.call(this)||this;return i._onDidChange=i._register(new A.a),i.onDidChange=i._onDidChange.event,i._selector=n,i.languageIdentifier=i._selector(),i._register(t(function(){return i._evaluate()})),i}return po(t,e),t.prototype._evaluate=function(){var e=this._selector();e.id!==this.languageIdentifier.id&&(this.languageIdentifier=e,this._onDidChange.fire(this.languageIdentifier))},t}(G.a),go=function(){function e(e){var t=this;void 0===e&&(e=!1),this._onDidCreateMode=new A.a,this.onDidCreateMode=this._onDidCreateMode.event,this._onLanguagesMaybeChanged=new A.a,this.onLanguagesMaybeChanged=this._onLanguagesMaybeChanged.event,this._instantiatedModes={},this._registry=new ho(!0,e),this._registry.onDidChange(function(){return t._onLanguagesMaybeChanged.fire()})}return e.prototype.isRegisteredMode=function(e){return this._registry.isRegisteredMode(e)},e.prototype.getModeIdForLanguageName=function(e){return this._registry.getModeIdForLanguageNameLowercase(e)},e.prototype.getModeIdByFilepathOrFirstLine=function(e,t){var n=this._registry.getModeIdsFromFilepathOrFirstLine(e,t);return n.length>0?n[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.create=function(e){var t=this;return new fo(this.onLanguagesMaybeChanged,function(){var n=t.getModeId(e);return t._createModeAndGetLanguageIdentifier(n)})},e.prototype.createByFilepathOrFirstLine=function(e,t){var n=this;return new fo(this.onLanguagesMaybeChanged,function(){var i=n.getModeIdByFilepathOrFirstLine(e,t);return n._createModeAndGetLanguageIdentifier(i)})},e.prototype._createModeAndGetLanguageIdentifier=function(e){var t=this.getLanguageIdentifier(e||"plaintext")||ge.a;return this._getOrCreateMode(t.language),t},e.prototype.triggerMode=function(e){var t=this.getModeId(e);this._getOrCreateMode(t||"plaintext")},e.prototype._getOrCreateMode=function(e){if(!this._instantiatedModes.hasOwnProperty(e)){var t=this.getLanguageIdentifier(e)||ge.a;this._instantiatedModes[e]=new Xi(t),this._onDidCreateMode.fire(this._instantiatedModes[e])}return this._instantiatedModes[e]},e}(),mo=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),_o=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},vo=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}};function yo(e){return e.toString()}var bo=function(){function e(e,t,n){this._modelEventListeners=new G.b,this.model=e,this._languageSelection=null,this._languageSelectionListener=null,this._modelEventListeners.add(e.onWillDispose(function(){return t(e)})),this._modelEventListeners.add(e.onDidChangeLanguage(function(t){return n(e,t)}))}return e.prototype._disposeLanguageSelection=function(){this._languageSelectionListener&&(this._languageSelectionListener.dispose(),this._languageSelectionListener=null),this._languageSelection&&(this._languageSelection.dispose(),this._languageSelection=null)},e.prototype.dispose=function(){this._modelEventListeners.dispose(),this._disposeLanguageSelection()},e.prototype.setLanguage=function(e){var t=this;this._disposeLanguageSelection(),this._languageSelection=e,this._languageSelectionListener=this._languageSelection.onDidChange(function(){return t.model.setMode(e.languageIdentifier)}),this.model.setMode(e.languageIdentifier)},e}(),Co=be.c||be.d?1:2,wo=function(e){function t(t,n){var i=e.call(this)||this;return i._onModelAdded=i._register(new A.a),i.onModelAdded=i._onModelAdded.event,i._onModelRemoved=i._register(new A.a),i.onModelRemoved=i._onModelRemoved.event,i._onModelModeChanged=i._register(new A.a),i.onModelModeChanged=i._onModelModeChanged.event,i._configurationService=t,i._resourcePropertiesService=n,i._models={},i._modelCreationOptionsByLanguageAndResource=Object.create(null),i._configurationServiceSubscription=i._configurationService.onDidChangeConfiguration(function(e){return i._updateModelOptions()}),i._updateModelOptions(),i}return mo(t,e),t._readModelOptions=function(e,t){var n=M.c.tabSize;if(e.editor&&void 0!==e.editor.tabSize){var i=parseInt(e.editor.tabSize,10);isNaN(i)||(n=i),n<1&&(n=1)}var o=n;if(e.editor&&void 0!==e.editor.indentSize&&"tabSize"!==e.editor.indentSize){var r=parseInt(e.editor.indentSize,10);isNaN(r)||(o=r),o<1&&(o=1)}var s=M.c.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(s="false"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));var a=Co,u=e.eol;"\r\n"===u?a=2:"\n"===u&&(a=1);var l=M.c.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(l="false"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));var c=M.c.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(c="false"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));var d=M.c.largeFileOptimizations;return e.editor&&void 0!==e.editor.largeFileOptimizations&&(d="false"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations)),{isForSimpleWidget:t,tabSize:n,indentSize:o,insertSpaces:s,detectIndentation:c,defaultEOL:a,trimAutoWhitespace:l,largeFileOptimizations:d}},t.prototype.getCreationOptions=function(e,n,i){var o=this._modelCreationOptionsByLanguageAndResource[e+n];if(!o){var r=this._configurationService.getValue("editor",{overrideIdentifier:e,resource:n}),s=this._resourcePropertiesService.getEOL(n,e);o=t._readModelOptions({editor:r,eol:s},i),this._modelCreationOptionsByLanguageAndResource[e+n]=o}return o},t.prototype._updateModelOptions=function(){var e=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);for(var n=Object.keys(this._models),i=0,o=n.length;i=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},No=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},xo=function(e){function t(t,n){void 0===n&&(n=q.s());var i=e.call(this)||this;return i._decorationOptionProviders=new Map,i._styleSheet=n,i._themeService=t,i}return Oo(t,e),t.prototype.registerDecorationType=function(e,t,n){var i=this._decorationOptionProviders.get(e);if(!i){var o={styleSheet:this._styleSheet,key:e,parentTypeKey:n,options:t||Object.create(null)};i=n?new Io(this._themeService,o):new Do(this._themeService,o),this._decorationOptionProviders.set(e,i)}i.refCount++},t.prototype.removeDecorationType=function(e){var t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach(function(t){return t.removeDecorations(e)})))},t.prototype.resolveDecorationOptions=function(e,t){var n=this._decorationOptionProviders.get(e);if(!n)throw new Error("Unknown decoration type key: "+e);return n.getOptions(this,t)},t=Eo([No(0,$n.c)],t)}(Lo),Io=function(){function e(e,t){this._parentTypeKey=t.parentTypeKey,this.refCount=0,this._beforeContentRules=new To(3,t,e),this._afterContentRules=new To(4,t,e)}return e.prototype.getOptions=function(e,t){var n=e.resolveDecorationOptions(this._parentTypeKey,!0);return this._beforeContentRules&&(n.beforeContentClassName=this._beforeContentRules.className),this._afterContentRules&&(n.afterContentClassName=this._afterContentRules.className),n},e.prototype.dispose=function(){this._beforeContentRules&&(this._beforeContentRules.dispose(),this._beforeContentRules=null),this._afterContentRules&&(this._afterContentRules.dispose(),this._afterContentRules=null)},e}(),Do=function(){function e(e,t){var n=this;this._disposables=new G.b,this.refCount=0;var i=function(i){var o=new To(i,t,e);if(n._disposables.add(o),o.hasContent)return o.className};this.className=i(0);var o,r=(o=new To(1,t,e),n._disposables.add(o),o.hasContent?{className:o.className,hasLetterSpacing:o.hasLetterSpacing}:null);r&&(this.inlineClassName=r.className,this.inlineClassNameAffectsLetterSpacing=r.hasLetterSpacing),this.beforeContentClassName=i(3),this.afterContentClassName=i(4),this.glyphMarginClassName=i(2);var s=t.options;this.isWholeLine=Boolean(s.isWholeLine),this.stickiness=s.rangeBehavior;var a=s.light&&s.light.overviewRulerColor||s.overviewRulerColor,u=s.dark&&s.dark.overviewRulerColor||s.overviewRulerColor;void 0===a&&void 0===u||(this.overviewRuler={color:a||u,darkColor:u||a,position:s.overviewRulerLane||pe.d.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.dispose()},e}(),ko={color:"color:{0} !important;",opacity:"opacity:{0};",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:{0} center center no-repeat;",gutterIconSize:"background-size:{0};",contentText:"content:'{0}';",contentIconPath:"content:{0};",margin:"margin:{0};",width:"width:{0};",height:"height:{0};"},To=function(){function e(e,t,n){var i=this;this._theme=n.getTheme(),this._ruleType=e,this._providerArgs=t,this._usesThemeColors=!1,this._hasContent=!1,this._hasLetterSpacing=!1;var o=Mo.getClassName(this._providerArgs.key,e);this._providerArgs.parentTypeKey&&(o=o+" "+Mo.getClassName(this._providerArgs.parentTypeKey,e)),this._className=o,this._unThemedSelector=Mo.getSelector(this._providerArgs.key,this._providerArgs.parentTypeKey,e),this._buildCSS(),this._usesThemeColors?this._themeListener=n.onThemeChange(function(e){i._theme=n.getTheme(),i._removeCSS(),i._buildCSS()}):this._themeListener=null}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,n,i=this._providerArgs.options;switch(this._ruleType){case 0:e=this.getCSSTextForModelDecorationClassName(i),t=this.getCSSTextForModelDecorationClassName(i.light),n=this.getCSSTextForModelDecorationClassName(i.dark);break;case 1:e=this.getCSSTextForModelDecorationInlineClassName(i),t=this.getCSSTextForModelDecorationInlineClassName(i.light),n=this.getCSSTextForModelDecorationInlineClassName(i.dark);break;case 2:e=this.getCSSTextForModelDecorationGlyphMarginClassName(i),t=this.getCSSTextForModelDecorationGlyphMarginClassName(i.light),n=this.getCSSTextForModelDecorationGlyphMarginClassName(i.dark);break;case 3:e=this.getCSSTextForModelDecorationContentClassName(i.before),t=this.getCSSTextForModelDecorationContentClassName(i.light&&i.light.before),n=this.getCSSTextForModelDecorationContentClassName(i.dark&&i.dark.before);break;case 4:e=this.getCSSTextForModelDecorationContentClassName(i.after),t=this.getCSSTextForModelDecorationContentClassName(i.light&&i.light.after),n=this.getCSSTextForModelDecorationContentClassName(i.dark&&i.dark.after);break;default:throw new Error("Unknown rule type: "+this._ruleType)}var o=this._providerArgs.styleSheet.sheet,r=!1;e.length>0&&(o.insertRule(this._unThemedSelector+" {"+e+"}",0),r=!0),t.length>0&&(o.insertRule(".vs"+this._unThemedSelector+" {"+t+"}",0),r=!0),n.length>0&&(o.insertRule(".vs-dark"+this._unThemedSelector+", .hc-black"+this._unThemedSelector+" {"+n+"}",0),r=!0),this._hasContent=r},e.prototype._removeCSS=function(){q.H(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&&t.push(Q.r(ko.contentIconPath,q.n(F.a.revive(e.contentIconPath)))),"string"==typeof e.contentText){var n=e.contentText.match(/^.*$/m)[0].replace(/['\\]/g,"\\$&");t.push(Q.r(ko.contentText,n))}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&&(t.push(Q.r(ko.gutterIconPath,q.n(F.a.revive(e.gutterIconPath)))),void 0!==e.gutterIconSize&&t.push(Q.r(ko.gutterIconSize,e.gutterIconSize))),t.join("")},e.prototype.collectBorderSettingsCSSText=function(e,t){return!!this.collectCSSText(e,["border","borderColor","borderRadius","borderSpacing","borderStyle","borderWidth"],t)&&(t.push(Q.r("box-sizing: border-box;")),!0)},e.prototype.collectCSSText=function(e,t,n){for(var i=n.length,o=0,r=t;ot)return 1;return 0}(e.token,t.token);return 0!==n?n:e.index-t.index});for(var n=0,i="000000",o="ffffff";e.length>=1&&""===e[0].token;){var r=e.shift();-1!==r.fontStyle&&(n=r.fontStyle),null!==r.foreground&&(i=r.foreground),null!==r.background&&(o=r.background)}for(var s=new Vo,a=0,u=t;a>>0,this._cache.set(t,n)}return(n|e<<0)>>>0},e}(),Ho=/\b(comment|string|regex|regexp)\b/;var zo,Uo,Ko,qo=function(){function e(e,t,n){this._fontStyle=e,this._foreground=t,this._background=n,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,n){-1!==e&&(this._fontStyle=e),0!==t&&(this._foreground=t),0!==n&&(this._background=n),this.metadata=(this._fontStyle<<11|this._foreground<<14|this._background<<23)>>>0},e}(),Go=function(){function e(e){this._mainRule=e,this._children=new Map}return e.prototype.match=function(e){if(""===e)return this._mainRule;var t,n,i=e.indexOf(".");-1===i?(t=e,n=""):(t=e.substring(0,i),n=e.substring(i+1));var o=this._children.get(t);return void 0!==o?o.match(n):this._mainRule},e.prototype.insert=function(t,n,i,o){if(""!==t){var r,s,a=t.indexOf(".");-1===a?(r=t,s=""):(r=t.substring(0,a),s=t.substring(a+1));var u=this._children.get(r);void 0===u&&(u=new e(this._mainRule.clone()),this._children.set(r,u)),u.insert(s,n,i,o)}else this._mainRule.acceptOverwrite(n,i,o)},e}();var Zo={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:(zo={},zo[Qn.o]="#FFFFFE",zo[Qn.x]="#000000",zo[Qn.E]="#E5EBF1",zo[Jn.h]="#D3D3D3",zo[Jn.a]="#939393",zo[Qn.J]="#ADD6FF4D",zo)},Yo={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:(Uo={},Uo[Qn.o]="#1E1E1E",Uo[Qn.x]="#D4D4D4",Uo[Qn.E]="#3A3D41",Uo[Jn.h]="#404040",Uo[Jn.a]="#707070",Uo[Qn.J]="#ADD6FF26",Uo)},Xo={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:(Ko={},Ko[Qn.o]="#000000",Ko[Qn.x]="#FFFFFF",Ko[Jn.h]="#FFFFFF",Ko[Jn.a]="#FFFFFF",Ko)},Jo="vs",Qo="vs-dark",$o="hc-black",er=uo.a.as(Qn.a.ColorContribution),tr=uo.a.as($n.a.ThemingContribution),nr=function(){function e(e,t){this.themeData=t;var n=t.base;e.length>0?(this.id=n+" "+e,this.themeName=e):(this.id=n,this.themeName=n),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=new Map;for(var t in this.themeData.colors)e.set(t,Po.a.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){var n=or(this.themeData.base);for(var t in n.colors)e.has(t)||e.set(t,Po.a.fromHex(n.colors[t]))}this.colors=e}return this.colors},e.prototype.getColor=function(e,t){var n=this.getColors().get(e);return n||(!1!==t?this.getDefault(e):void 0)},e.prototype.getDefault=function(e){var t=this.defaultColors[e];return t||(t=er.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 Jo:return"light";case $o: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 n=or(this.themeData.base);e=n.rules,n.encodedTokensColors&&(t=n.encodedTokensColors)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=Bo.createFromRawTokenTheme(e,t)}return this._tokenTheme},enumerable:!0,configurable:!0}),e}();function ir(e){return e===Jo||e===Qo||e===$o}function or(e){switch(e){case Jo:return Zo;case Qo:return Yo;case $o:return Xo}}function rr(e){var t=or(e);return new nr(e,t)}var sr=function(){function e(){this.environment=Object.create(null),this._onThemeChange=new A.a,this._onIconThemeChange=new A.a,this._knownThemes=new Map,this._knownThemes.set(Jo,rr(Jo)),this._knownThemes.set(Qo,rr(Qo)),this._knownThemes.set($o,rr($o)),this._styleElement=q.s(),this._styleElement.className="monaco-colors",this.setTheme(Jo)}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(!ir(t.base)&&!ir(e))throw new Error("Illegal theme base!");this._knownThemes.set(e,new nr(e,t)),ir(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,n=this;if(t=this._knownThemes.has(e)?this._knownThemes.get(e):this._knownThemes.get(Jo),this._theme===t)return t.id;this._theme=t;var i=[],o={},r={addRule:function(e){o[e]||(i.push(e),o[e]=!0)}};tr.getThemingParticipants().forEach(function(e){return e(t,r,n.environment)});var s=t.tokenTheme.getColorMap();return r.addRule(function(e){for(var t=[],n=1,i=e.length;n=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},lr=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},cr="data-keybinding-context",dr=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}(),hr=function(e){function t(){return e.call(this,-1,null)||this}return ar(t,e),t.prototype.setValue=function(e,t){return!1},t.prototype.removeValue=function(e){return!1},t.prototype.getValue=function(e){},t.INSTANCE=new t,t}(dr),pr=function(e){function t(t,n,i){var o=e.call(this,t,null)||this;return o._configurationService=n,o._values=new Map,o._listener=o._configurationService.onDidChangeConfiguration(function(e){if(6===e.source){var t=Object(Qt.d)(o._values);o._values.clear(),i.fire(new mr(t))}else{for(var n=[],r=0,s=e.affectedKeys;r1){var i=n.shift();i&&(o.focusItemByElement(i.container),n.push(i)),o.mnemonics.set(t,n)}}})),be.c&&o._register(Object(q.h)(r,q.d.KEY_DOWN,function(e){var t=new qt.a(e);t.equals(14)||t.equals(11)?(o.focusedItem=o.viewItems.length-1,o.focusNext(),q.c.stop(e,!0)):(t.equals(13)||t.equals(12))&&(o.focusedItem=0,o.focusPrevious(),q.c.stop(e,!0))})),o._register(Object(q.h)(o.domNode,q.d.MOUSE_OUT,function(e){var t=e.relatedTarget;Object(q.E)(t,o.domNode)||(o.focusedItem=void 0,o.scrollTopHold=o.menuElement.scrollTop,o.updateFocus(),e.stopPropagation())})),o._register(Object(q.h)(o.domNode,q.d.MOUSE_UP,function(e){q.c.stop(e,!0)})),o._register(Object(q.h)(o.actionsList,q.d.MOUSE_OVER,function(e){var t=e.target;if(t&&Object(q.E)(t,o.actionsList)&&t!==o.actionsList){for(;t.parentElement!==o.actionsList&&null!==t.parentElement;)t=t.parentElement;if(Object(q.C)(t,"action-item")){var n=o.focusedItem;o.scrollTopHold=o.menuElement.scrollTop,o.setFocusedItem(t),n!==o.focusedItem&&o.updateFocus()}}}));var s={parent:o};return o.mnemonics=new Map,o.push(n,{icon:!0,label:!0,isMenu:!0}),o.scrollableElement=o._register(new Zn.a(r,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0})),o.scrollableElement.getDomNode().style.position=null,r.style.maxHeight=Math.max(10,window.innerHeight-t.getBoundingClientRect().top-30)+"px",o.menuDisposables.add(o.scrollableElement.onScroll(function(){o._onScroll.fire()},o)),o._register(Object(q.h)(o.menuElement,q.d.SCROLL,function(e){void 0!==o.scrollTopHold&&(o.menuElement.scrollTop=o.scrollTopHold,o.scrollTopHold=void 0),o.scrollableElement.scanDomNode()})),t.appendChild(o.scrollableElement.getDomNode()),o.scrollableElement.scanDomNode(),o.viewItems.filter(function(e){return!(e instanceof xr)}).forEach(function(e,t,n){e.updatePositionInSet(t+1,n.length)}),o}return Cr(t,e),t.prototype.style=function(e){var t=this.getContainer(),n=e.foregroundColor?""+e.foregroundColor:null,i=e.backgroundColor?""+e.backgroundColor:null,o=e.borderColor?"2px solid "+e.borderColor:null,r=e.shadowColor?"0 2px 4px "+e.shadowColor:null;t.style.border=o,this.domNode.style.color=n,this.domNode.style.backgroundColor=i,t.style.boxShadow=r,this.viewItems&&this.viewItems.forEach(function(t){(t instanceof Er||t instanceof xr)&&t.style(e)})},t.prototype.getContainer=function(){return this.scrollableElement.getDomNode()},Object.defineProperty(t.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollOffset",{get:function(){return this.menuElement.scrollTop},enumerable:!0,configurable:!0}),t.prototype.focusItemByElement=function(e){var t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()},t.prototype.setFocusedItem=function(e){for(var t=0;t

    U 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 z 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 literal 0 HcmV?d00001 diff --git a/apps/emqx_coap/docs/rfc7228.pdf b/apps/emqx_coap/docs/rfc7228.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c9dc1b59fa26ceccf588b86789f0a3f50233e6b7 GIT binary patch literal 53076 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

    ^^B>cOQI&ZqEH^1~Wf9?TdakhJL#JlhF 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

    S-NSodduv^QKN4zep< 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%0A_+H|K@;JU^(u?bM=2bIN7{ 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 AIRF3v literal 0 HcmV?d00001 diff --git a/apps/emqx_coap/include/emqx_coap.hrl b/apps/emqx_coap/include/emqx_coap.hrl new file mode 100644 index 000000000..8204dc98c --- /dev/null +++ b/apps/emqx_coap/include/emqx_coap.hrl @@ -0,0 +1,20 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-define(APP, emqx_coap). + +-record(coap_mqtt_auth, {clientid, username, password}). + diff --git a/apps/emqx_coap/intergration_test/README.md b/apps/emqx_coap/intergration_test/README.md new file mode 100644 index 000000000..eb3507923 --- /dev/null +++ b/apps/emqx_coap/intergration_test/README.md @@ -0,0 +1,8 @@ +Integration test for emq-coap +====== + +execute following command +``` +make +``` + diff --git a/apps/emqx_coap/intergration_test/check_result.py b/apps/emqx_coap/intergration_test/check_result.py new file mode 100644 index 000000000..f9baaefae --- /dev/null +++ b/apps/emqx_coap/intergration_test/check_result.py @@ -0,0 +1,52 @@ +import sys + + +def have_string(filename, text): + data = open(filename, "rb").read() + if data.find(text) > 0: + return True + else: + return False + + +def mark(case_number, result, description): + if result: + f = open(case_number+"_PASS.txt", "wb") + f.close() + print("\n\n"+case_number+" PASS\n\n") + else: + f = open(case_number+"_FAIL.txt", "wb") + f.write(description) + f.close() + print("\n\n"+case_number+" FAIL\n\n") + +def parse_condition(condition): + if condition.find("==") > 0: + r = condition.split("==") + return r[0], r[1], True + elif condition.find("!=") > 0: + r = condition.split("!=") + return r[0], r[1], False + else: + print("\ncondition syntax error\n\n\n") + sys.exit("condition syntax error") + + +def main(): + case_number = sys.argv[1] + description = "" + conclustion = True + for condition in sys.argv[2:]: + filename, text, result = parse_condition(condition) + if have_string(filename, text) == result: + pass + else: + conclustion = False + description = description + "\n" + condition + " failed\n" + + mark(case_number, conclustion, description) + + +if __name__ == "__main__": + main() + diff --git a/apps/emqx_coap/priv/emqx_coap.schema b/apps/emqx_coap/priv/emqx_coap.schema new file mode 100644 index 000000000..465979964 --- /dev/null +++ b/apps/emqx_coap/priv/emqx_coap.schema @@ -0,0 +1,93 @@ +%%-*- mode: erlang -*- +%% emqx_coap config mapping +{mapping, "coap.bind.udp.$number", "emqx_coap.bind_udp", [ + {datatype, ip}, + {default, "0.0.0.0:5683"} +]}. + +{mapping, "coap.enable_stats", "emqx_coap.enable_stats", [ + {datatype, flag} +]}. + +{mapping, "coap.bind.dtls.$number", "emqx_coap.bind_dtls", [ + {datatype, ip}, + {default, "0.0.0.0:5684"} +]}. + +{mapping, "coap.dtls.keyfile", "emqx_coap.dtls_opts", [ + {datatype, string} +]}. + +{mapping, "coap.dtls.certfile", "emqx_coap.dtls_opts", [ + {datatype, string} +]}. + +{mapping, "coap.dtls.verify", "emqx_coap.dtls_opts", [ + {default, verify_none}, + {datatype, {enum, [verify_none, verify_peer]}} +]}. + +{mapping, "coap.dtls.cacertfile", "emqx_coap.dtls_opts", [ + {datatype, string} +]}. + +{mapping, "coap.dtls.fail_if_no_peer_cert", "emqx_coap.dtls_opts", [ + {datatype, {enum, [true, false]}} +]}. + +{mapping, "coap.dtls.ciphers", "emqx_coap.dtls_opts", [ + {datatype, string} +]}. + +{translation, "emqx_coap.bind_udp", fun(Conf) -> + Options = cuttlefish_variable:filter_by_prefix("coap.bind.udp", Conf), + lists:map(fun({_, Bind}) -> + {Ip, Port} = cuttlefish_datatypes:from_string(Bind, ip), + Opts = case inet:parse_address(Ip) of + {ok, {_,_,_,_} = Address} -> + [inet, {ip, Address}]; + {ok, {_,_,_,_,_,_,_,_} = Address} -> + [inet6, {ip, Address}] + end, + {Port, Opts} + end, Options) +end}. + +{translation, "emqx_coap.bind_dtls", fun(Conf) -> + Options = cuttlefish_variable:filter_by_prefix("coap.bind.dtls", Conf), + lists:map(fun({_, Bind}) -> + {Ip, Port} = cuttlefish_datatypes:from_string(Bind, ip), + Opts = case inet:parse_address(Ip) of + {ok, {_,_,_,_} = Address} -> + [inet, {ip, Address}]; + {ok, {_,_,_,_,_,_,_,_} = Address} -> + [inet6, {ip, Address}] + end, + {Port, Opts} + end, Options) +end}. + +{translation, "emqx_coap.dtls_opts", fun(Conf) -> + Filter = fun(Opts) -> [{K, V} || {K, V} <- Opts, V =/= undefined] end, + + %% Ciphers + SplitFun = fun(undefined) -> undefined; (S) -> string:tokens(S, ",") end, + Ciphers = + case cuttlefish:conf_get("coap.dtls.ciphers", Conf, undefined) of + undefined -> + lists:foldl( + fun(TlsVer, Ciphers) -> + Ciphers ++ ssl:cipher_suites(all, TlsVer) + end, [], ['dtlsv1', 'dtlsv1.2']); + C -> + SplitFun(C) + end, + + Filter([{verify, cuttlefish:conf_get("coap.dtls.verify", Conf, undefined)}, + {keyfile, cuttlefish:conf_get("coap.dtls.keyfile", Conf, undefined)}, + {certfile, cuttlefish:conf_get("coap.dtls.certfile", Conf, undefined)}, + {cacertfile, cuttlefish:conf_get("coap.dtls.cacertfile", Conf, undefined)}, + {fail_if_no_peer_cert, cuttlefish:conf_get("coap.dtls.fail_if_no_peer_cert", Conf, undefined)}, + {ciphers, Ciphers}]) +end}. + diff --git a/apps/emqx_coap/rebar.config b/apps/emqx_coap/rebar.config new file mode 100644 index 000000000..655e3b14f --- /dev/null +++ b/apps/emqx_coap/rebar.config @@ -0,0 +1,4 @@ +{deps, + [ + {gen_coap, {git, "https://github.com/emqx/gen_coap", {tag, "v0.3.0"}}} + ]}. \ No newline at end of file diff --git a/apps/emqx_coap/src/emqx_coap.app.src b/apps/emqx_coap/src/emqx_coap.app.src new file mode 100644 index 000000000..5c75085a6 --- /dev/null +++ b/apps/emqx_coap/src/emqx_coap.app.src @@ -0,0 +1,14 @@ +{application, emqx_coap, + [{description, "EMQ X CoAP Gateway"}, + {vsn, "git"}, + {modules, []}, + {registered, []}, + {applications, [kernel,stdlib,gen_coap,emqx_libs]}, + {mod, {emqx_coap_app, []}}, + {env, []}, + {licenses, ["Apache-2.0"]}, + {maintainers, ["EMQ X Team "]}, + {links, [{"Homepage", "https://emqx.io/"}, + {"Github", "https://github.com/emqx/emqx-coap"} + ]} + ]}. diff --git a/apps/emqx_coap/src/emqx_coap.app.src.script b/apps/emqx_coap/src/emqx_coap.app.src.script new file mode 100644 index 000000000..0e14ff23f --- /dev/null +++ b/apps/emqx_coap/src/emqx_coap.app.src.script @@ -0,0 +1,24 @@ +%%-*- mode: erlang -*- +%% .app.src.script + +RemoveLeadingV = + fun(Tag) -> + case re:run(Tag, "^[v|e]?[0-9]\.[0-9]\.([0-9]|(rc|beta|alpha)\.[0-9])", [{capture, none}]) of + nomatch -> + re:replace(Tag, "/", "-", [{return ,list}]); + _ -> + %% if it is a version number prefixed by 'v' or 'e', then remove it + re:replace(Tag, "[v|e]", "", [{return ,list}]) + end + end, + +case os:getenv("EMQX_DEPS_DEFAULT_VSN") of + false -> CONFIG; % env var not defined + [] -> CONFIG; % env var set to empty string + Tag -> + [begin + AppConf0 = lists:keystore(vsn, 1, AppConf, {vsn, RemoveLeadingV(Tag)}), + {application, App, AppConf0} + end || Conf = {application, App, AppConf} <- CONFIG] +end. + diff --git a/apps/emqx_coap/src/emqx_coap_app.erl b/apps/emqx_coap/src/emqx_coap_app.erl new file mode 100644 index 000000000..eaabd356b --- /dev/null +++ b/apps/emqx_coap/src/emqx_coap_app.erl @@ -0,0 +1,40 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_coap_app). + +-behaviour(application). + +-emqx_plugin(protocol). + +-include("emqx_coap.hrl"). + +-export([ start/2 + , stop/1 + ]). + +start(_Type, _Args) -> + {ok, Sup} = emqx_coap_sup:start_link(), + coap_server_registry:add_handler([<<"mqtt">>], emqx_coap_resource, undefined), + coap_server_registry:add_handler([<<"ps">>], emqx_coap_ps_resource, undefined), + emqx_coap_ps_topics:start_link(), + emqx_coap_server:start(application:get_all_env(?APP)), + {ok,Sup}. + +stop(_State) -> + coap_server_registry:remove_handler([<<"mqtt">>], emqx_coap_resource, undefined), + coap_server_registry:remove_handler([<<"ps">>], emqx_coap_ps_resource, undefined), + emqx_coap_server:stop(application:get_all_env(?APP)). diff --git a/apps/emqx_coap/src/emqx_coap_mqtt_adapter.erl b/apps/emqx_coap/src/emqx_coap_mqtt_adapter.erl new file mode 100644 index 000000000..6580f8677 --- /dev/null +++ b/apps/emqx_coap/src/emqx_coap_mqtt_adapter.erl @@ -0,0 +1,357 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_coap_mqtt_adapter). + +-behaviour(gen_server). + +-include("emqx_coap.hrl"). + +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("emqx_libs/include/emqx_mqtt.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). +-include_lib("emqx_libs/include/emqx_mqtt.hrl"). + +-logger_header("[CoAP-Adpter]"). + +%% API. +-export([ subscribe/2 + , unsubscribe/2 + , publish/3 + ]). + +-export([ client_pid/4 + , stop/1 + ]). + +-export([call/2]). + +%% gen_server. +-export([ init/1 + , handle_call/3 + , handle_cast/2 + , handle_info/2 + , terminate/2 + , code_change/3 + ]). + +-record(state, {peername, clientid, username, password, sub_topics = [], connected_at}). + +-define(ALIVE_INTERVAL, 20000). + +-define(CONN_STATS, [recv_pkt, recv_msg, send_pkt, send_msg]). + +-define(SUBOPTS, #{rh => 0, rap => 0, nl => 0, qos => ?QOS_0, is_new => false}). + +%%-------------------------------------------------------------------- +%% API +%%-------------------------------------------------------------------- + +client_pid(undefined, _Username, _Password, _Channel) -> + {error, bad_request}; +client_pid(ClientId, Username, Password, Channel) -> + % check authority + case start(ClientId, Username, Password, Channel) of + {ok, Pid1} -> {ok, Pid1}; + {error, {already_started, Pid2}} -> {ok, Pid2}; + {error, auth_failure} -> {error, auth_failure}; + Other -> {error, Other} + end. + +start(ClientId, Username, Password, Channel) -> + % DO NOT use start_link, since multiple coap_reponsder may have relation with one mqtt adapter, + % one coap_responder crashes should not make mqtt adapter crash too + % And coap_responder is not a system process, it is dangerous to link mqtt adapter to coap_responder + gen_server:start({via, emqx_coap_registry, {ClientId, Username, Password}}, ?MODULE, {ClientId, Username, Password, Channel}, []). + +stop(Pid) -> + gen_server:stop(Pid). + +subscribe(Pid, Topic) -> + gen_server:call(Pid, {subscribe, Topic, self()}). + +unsubscribe(Pid, Topic) -> + gen_server:call(Pid, {unsubscribe, Topic, self()}). + +publish(Pid, Topic, Payload) -> + gen_server:call(Pid, {publish, Topic, Payload}). + +%% For emqx_management plugin +call(Pid, Msg) -> + Pid ! Msg, ok. + +%%-------------------------------------------------------------------- +%% gen_server Callbacks +%%-------------------------------------------------------------------- + +init({ClientId, Username, Password, Channel}) -> + ?LOG(debug, "try to start adapter ClientId=~p, Username=~p, Password=~p, Channel=~p", + [ClientId, Username, Password, Channel]), + State0 = #state{peername = Channel, + clientid = ClientId, + username = Username, + password = Password}, + _ = run_hooks('client.connect', [conninfo(State0)], undefined), + case emqx_access_control:authenticate(clientinfo(State0)) of + {ok, _AuthResult} -> + _ = run_hooks('client.connack', [conninfo(State0), success], undefined), + + State = State0#state{connected_at = erlang:system_time(millisecond)}, + + %% TODO: Evict same clientid on other node?? + + run_hooks('client.connected', [clientinfo(State), conninfo(State)]), + + erlang:send_after(?ALIVE_INTERVAL, self(), check_alive), + emqx_cm:register_channel(ClientId, info(State), stats(State)), + {ok, State}; + {error, Reason} -> + ?LOG(debug, "authentication faild: ~p", [Reason]), + _ = run_hooks('client.connack', [conninfo(State0), not_authorized], undefined), + {stop, {shutdown, Reason}} + end. + +handle_call({subscribe, Topic, CoapPid}, _From, State=#state{sub_topics = TopicList}) -> + NewTopics = proplists:delete(Topic, TopicList), + IsWild = emqx_topic:wildcard(Topic), + chann_subscribe(Topic, State), + {reply, ok, State#state{sub_topics = [{Topic, {IsWild, CoapPid}}|NewTopics]}, hibernate}; + +handle_call({unsubscribe, Topic, _CoapPid}, _From, State=#state{sub_topics = TopicList}) -> + NewTopics = proplists:delete(Topic, TopicList), + chann_unsubscribe(Topic, State), + {reply, ok, State#state{sub_topics = NewTopics}, hibernate}; + +handle_call({publish, Topic, Payload}, _From, State) -> + chann_publish(Topic, Payload, State), + {reply, ok, State}; + +handle_call(info, _From, State) -> + {reply, info(State), State}; + +handle_call(stats, _From, State) -> + {reply, stats(State), State, hibernate}; + +handle_call(kick, _From, State) -> + {stop, {shutdown, kick}, ok, State}; + +handle_call({set_rate_limit, _Rl}, _From, State) -> + ?LOG(error, "set_rate_limit is not support", []), + {reply, ok, State}; + +handle_call(get_rate_limit, _From, State) -> + ?LOG(error, "get_rate_limit is not support", []), + {reply, ok, State}; + +handle_call(Request, _From, State) -> + ?LOG(error, "adapter unexpected call ~p", [Request]), + {reply, ignored, State, hibernate}. + +handle_cast(Msg, State) -> + ?LOG(error, "broker_api unexpected cast ~p", [Msg]), + {noreply, State, hibernate}. + +handle_info({deliver, _Topic, #message{topic = Topic, payload = Payload}}, State = #state{sub_topics = Subscribers}) -> + deliver([{Topic, Payload}], Subscribers), + {noreply, State, hibernate}; + +handle_info(check_alive, State = #state{sub_topics = []}) -> + {stop, {shutdown, check_alive}, State}; +handle_info(check_alive, State) -> + erlang:send_after(?ALIVE_INTERVAL, self(), check_alive), + {noreply, State, hibernate}; + +handle_info({shutdown, Error}, State) -> + {stop, {shutdown, Error}, State}; + +handle_info({shutdown, conflict, {ClientId, NewPid}}, State) -> + ?LOG(warning, "clientid '~s' conflict with ~p", [ClientId, NewPid]), + {stop, {shutdown, conflict}, State}; + +handle_info(kick, State) -> + ?LOG(info, "Kicked", []), + {stop, {shutdown, kick}, State}; + +handle_info(Info, State) -> + ?LOG(error, "adapter unexpected info ~p", [Info]), + {noreply, State, hibernate}. + +terminate(Reason, State = #state{clientid = ClientId, sub_topics = SubTopics}) -> + ?LOG(debug, "unsubscribe ~p while exiting for ~p", [SubTopics, Reason]), + [chann_unsubscribe(Topic, State) || {Topic, _} <- SubTopics], + emqx_cm:unregister_channel(ClientId), + + ConnInfo0 = conninfo(State), + ConnInfo = ConnInfo0#{disconnected_at => erlang:system_time(millisecond)}, + run_hooks('client.disconnected', [clientinfo(State), Reason, ConnInfo]). + +code_change(_OldVsn, State, _Extra) -> + {ok, State}. + +%%-------------------------------------------------------------------- +%% Channel adapter functions + +chann_subscribe(Topic, State = #state{clientid = ClientId}) -> + ?LOG(debug, "subscribe Topic=~p", [Topic]), + emqx_broker:subscribe(Topic, ClientId, ?SUBOPTS), + emqx_hooks:run('session.subscribed', [clientinfo(State), Topic, ?SUBOPTS]). + +chann_unsubscribe(Topic, State) -> + ?LOG(debug, "unsubscribe Topic=~p", [Topic]), + Opts = #{rh => 0, rap => 0, nl => 0, qos => 0}, + emqx_broker:unsubscribe(Topic), + emqx_hooks:run('session.unsubscribed', [clientinfo(State), Topic, Opts]). + +chann_publish(Topic, Payload, #state{clientid = ClientId}) -> + ?LOG(debug, "publish Topic=~p, Payload=~p", [Topic, Payload]), + emqx_broker:publish( + emqx_message:set_flag(retain, false, + emqx_message:make(ClientId, ?QOS_0, Topic, Payload))). + +%%-------------------------------------------------------------------- +%% Deliver + +deliver([], _) -> ok; +deliver([Pub | More], Subscribers) -> + ok = do_deliver(Pub, Subscribers), + deliver(More, Subscribers). + +do_deliver({Topic, Payload}, Subscribers) -> + %% handle PUBLISH packet from broker + ?LOG(debug, "deliver message from broker Topic=~p, Payload=~p", [Topic, Payload]), + deliver_to_coap(Topic, Payload, Subscribers), + ok; + +do_deliver(Pkt, _Subscribers) -> + ?LOG(warning, "unknown packet type to deliver, pkt=~p,", [Pkt]), + ok. + +deliver_to_coap(_TopicName, _Payload, []) -> + ok; +deliver_to_coap(TopicName, Payload, [{TopicFilter, {IsWild, CoapPid}}|T]) -> + Matched = case IsWild of + true -> emqx_topic:match(TopicName, TopicFilter); + false -> TopicName =:= TopicFilter + end, + %?LOG(debug, "deliver_to_coap Matched=~p, CoapPid=~p, TopicName=~p, Payload=~p, T=~p", [Matched, CoapPid, TopicName, Payload, T]), + Matched andalso (CoapPid ! {dispatch, TopicName, Payload}), + deliver_to_coap(TopicName, Payload, T). + +%%-------------------------------------------------------------------- +%% Helper funcs + +-compile({inline, [run_hooks/2, run_hooks/3]}). +run_hooks(Name, Args) -> + ok = emqx_metrics:inc(Name), emqx_hooks:run(Name, Args). + +run_hooks(Name, Args, Acc) -> + ok = emqx_metrics:inc(Name), emqx_hooks:run_fold(Name, Args, Acc). + +%%-------------------------------------------------------------------- +%% Info & Stats + +info(State) -> + ChannInfo = chann_info(State), + ChannInfo#{sockinfo => sockinfo(State)}. + +%% copies from emqx_connection:info/1 +sockinfo(#state{peername = Peername}) -> + #{socktype => udp, + peername => Peername, + sockname => {{127,0,0,1}, 5683}, %% FIXME: Sock? + sockstate => running, + active_n => 1 + }. + +%% copies from emqx_channel:info/1 +chann_info(State) -> + #{conninfo => conninfo(State), + conn_state => connected, + clientinfo => clientinfo(State), + session => maps:from_list(session_info(State)), + will_msg => undefined + }. + +conninfo(#state{peername = Peername, + clientid = ClientId, + connected_at = ConnectedAt}) -> + #{socktype => udp, + sockname => {{127,0,0,1}, 5683}, + peername => Peername, + peercert => nossl, %% TODO: dtls + conn_mod => ?MODULE, + proto_name => <<"CoAP">>, + proto_ver => 1, + clean_start => true, + clientid => ClientId, + username => undefined, + conn_props => undefined, + connected => true, + connected_at => ConnectedAt, + keepalive => 0, + receive_maximum => 0, + expiry_interval => 0 + }. + +%% copies from emqx_session:info/1 +session_info(#state{sub_topics = SubTopics, connected_at = ConnectedAt}) -> + Subs = lists:foldl( + fun({Topic, _}, Acc) -> + Acc#{Topic => ?SUBOPTS} + end, #{}, SubTopics), + [{subscriptions, Subs}, + {upgrade_qos, false}, + {retry_interval, 0}, + {await_rel_timeout, 0}, + {created_at, ConnectedAt} + ]. + +%% The stats keys copied from emqx_connection:stats/1 +stats(#state{sub_topics = SubTopics}) -> + SockStats = [{recv_oct,0}, {recv_cnt,0}, {send_oct,0}, {send_cnt,0}, {send_pend,0}], + ConnStats = emqx_pd:get_counters(?CONN_STATS), + ChanStats = [{subscriptions_cnt, length(SubTopics)}, + {subscriptions_max, length(SubTopics)}, + {inflight_cnt, 0}, + {inflight_max, 0}, + {mqueue_len, 0}, + {mqueue_max, 0}, + {mqueue_dropped, 0}, + {next_pkt_id, 0}, + {awaiting_rel_cnt, 0}, + {awaiting_rel_max, 0} + ], + ProcStats = emqx_misc:proc_stats(), + lists:append([SockStats, ConnStats, ChanStats, ProcStats]). + +clientinfo(#state{peername = {PeerHost, _}, + clientid = ClientId, + username = Username, + password = Password}) -> + #{zone => undefined, + protocol => coap, + peerhost => PeerHost, + sockport => 5683, %% FIXME: + clientid => ClientId, + username => Username, + password => Password, + peercert => nossl, + is_bridge => false, + is_superuser => false, + mountpoint => undefined, + ws_cookie => undefined + }. + diff --git a/apps/emqx_coap/src/emqx_coap_ps_resource.erl b/apps/emqx_coap/src/emqx_coap_ps_resource.erl new file mode 100644 index 000000000..781477ac2 --- /dev/null +++ b/apps/emqx_coap/src/emqx_coap_ps_resource.erl @@ -0,0 +1,318 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_coap_ps_resource). + +-behaviour(coap_resource). + +-include("emqx_coap.hrl"). +-include_lib("gen_coap/include/coap.hrl"). +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("emqx_libs/include/emqx_mqtt.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). + +-logger_header("[CoAP-PS-RES]"). + +-export([ coap_discover/2 + , coap_get/5 + , coap_post/4 + , coap_put/4 + , coap_delete/3 + , coap_observe/5 + , coap_unobserve/1 + , handle_info/2 + , coap_ack/2 + ]). + +-ifdef(TEST). +-export([topic/1]). +-endif. + +-define(PS_PREFIX, [<<"ps">>]). + +%%-------------------------------------------------------------------- +%% Resource Callbacks +%%-------------------------------------------------------------------- +coap_discover(_Prefix, _Args) -> + [{absolute, [<<"ps">>], []}]. + +coap_get(ChId, ?PS_PREFIX, TopicPath, Query, Content=#coap_content{format = Format}) when TopicPath =/= [] -> + Topic = topic(TopicPath), + ?LOG(debug, "coap_get() Topic=~p, Query=~p~n", [Topic, Query]), + #coap_mqtt_auth{clientid = Clientid, username = Usr, password = Passwd} = get_auth(Query), + case emqx_coap_mqtt_adapter:client_pid(Clientid, Usr, Passwd, ChId) of + {ok, Pid} -> + put(mqtt_client_pid, Pid), + case Format of + <<"application/link-format">> -> + Content; + _Other -> + %% READ the topic info + read_last_publish_message(emqx_topic:wildcard(Topic), Topic, Content) + end; + {error, auth_failure} -> + put(mqtt_client_pid, undefined), + {error, uauthorized}; + {error, bad_request} -> + put(mqtt_client_pid, undefined), + {error, bad_request}; + {error, _Other} -> + put(mqtt_client_pid, undefined), + {error, internal_server_error} + end; +coap_get(ChId, Prefix, TopicPath, Query, _Content) -> + ?LOG(error, "ignore bad get request ChId=~p, Prefix=~p, TopicPath=~p, Query=~p", [ChId, Prefix, TopicPath, Query]), + {error, bad_request}. + +coap_post(_ChId, ?PS_PREFIX, TopicPath, #coap_content{format = Format, payload = Payload, max_age = MaxAge}) when TopicPath =/= [] -> + Topic = topic(TopicPath), + ?LOG(debug, "coap_post() Topic=~p, MaxAge=~p, Format=~p~n", [Topic, MaxAge, Format]), + case Format of + %% We treat ct of "application/link-format" as CREATE message + <<"application/link-format">> -> + handle_received_create(Topic, MaxAge, Payload); + %% We treat ct of other values as PUBLISH message + Other -> + ?LOG(debug, "coap_post() receive payload format=~p, will process as PUBLISH~n", [Format]), + handle_received_publish(Topic, MaxAge, Other, Payload) + end; + +coap_post(_ChId, _Prefix, _TopicPath, _Content) -> + {error, method_not_allowed}. + +coap_put(_ChId, ?PS_PREFIX, TopicPath, #coap_content{max_age = MaxAge, format = Format, payload = Payload}) when TopicPath =/= [] -> + Topic = topic(TopicPath), + ?LOG(debug, "put message, Topic=~p, Payload=~p~n", [Topic, Payload]), + handle_received_publish(Topic, MaxAge, Format, Payload); + +coap_put(_ChId, Prefix, TopicPath, Content) -> + ?LOG(error, "put has error, Prefix=~p, TopicPath=~p, Content=~p", [Prefix, TopicPath, Content]), + {error, bad_request}. + +coap_delete(_ChId, ?PS_PREFIX, TopicPath) -> + delete_topic_info(topic(TopicPath)); + +coap_delete(_ChId, _Prefix, _TopicPath) -> + {error, method_not_allowed}. + +coap_observe(ChId, ?PS_PREFIX, TopicPath, Ack, Content) when TopicPath =/= [] -> + Topic = topic(TopicPath), + ?LOG(debug, "observe Topic=~p, Ack=~p,Content=~p", [Topic, Ack, Content]), + Pid = get(mqtt_client_pid), + emqx_coap_mqtt_adapter:subscribe(Pid, Topic), + Code = case emqx_coap_ps_topics:is_topic_timeout(Topic) of + true -> + nocontent; + false-> + content + end, + {ok, {state, ChId, ?PS_PREFIX, [Topic]}, Code, Content}; + +coap_observe(ChId, Prefix, TopicPath, Ack, _Content) -> + ?LOG(error, "unknown observe request ChId=~p, Prefix=~p, TopicPath=~p, Ack=~p", [ChId, Prefix, TopicPath, Ack]), + {error, bad_request}. + +coap_unobserve({state, _ChId, ?PS_PREFIX, TopicPath}) when TopicPath =/= [] -> + Topic = topic(TopicPath), + ?LOG(debug, "unobserve ~p", [Topic]), + Pid = get(mqtt_client_pid), + emqx_coap_mqtt_adapter:unsubscribe(Pid, Topic), + ok; +coap_unobserve({state, ChId, Prefix, TopicPath}) -> + ?LOG(error, "ignore unknown unobserve request ChId=~p, Prefix=~p, TopicPath=~p", [ChId, Prefix, TopicPath]), + ok. + +handle_info({dispatch, Topic, Payload}, State) -> + ?LOG(debug, "dispatch Topic=~p, Payload=~p", [Topic, Payload]), + {ok, Ret} = emqx_coap_ps_topics:reset_topic_info(Topic, Payload), + ?LOG(debug, "Updated publish info of topic=~p, the Ret is ~p", [Topic, Ret]), + {notify, [], #coap_content{format = <<"application/octet-stream">>, payload = Payload}, State}; +handle_info(Message, State) -> + ?LOG(error, "Unknown Message ~p", [Message]), + {noreply, State}. + +coap_ack(_Ref, State) -> {ok, State}. + + +%%-------------------------------------------------------------------- +%% Internal Functions +%%-------------------------------------------------------------------- +get_auth(Query) -> + get_auth(Query, #coap_mqtt_auth{}). + +get_auth([], Auth=#coap_mqtt_auth{}) -> + Auth; +get_auth([<<$c, $=, Rest/binary>>|T], Auth=#coap_mqtt_auth{}) -> + get_auth(T, Auth#coap_mqtt_auth{clientid = Rest}); +get_auth([<<$u, $=, Rest/binary>>|T], Auth=#coap_mqtt_auth{}) -> + get_auth(T, Auth#coap_mqtt_auth{username = Rest}); +get_auth([<<$p, $=, Rest/binary>>|T], Auth=#coap_mqtt_auth{}) -> + get_auth(T, Auth#coap_mqtt_auth{password = Rest}); +get_auth([Param|T], Auth=#coap_mqtt_auth{}) -> + ?LOG(error, "ignore unknown parameter ~p", [Param]), + get_auth(T, Auth). + +add_topic_info(publish, Topic, MaxAge, Format, Payload) when is_binary(Topic), Topic =/= <<>> -> + case emqx_coap_ps_topics:lookup_topic_info(Topic) of + [{_, StoredMaxAge, StoredCT, _, _}] -> + ?LOG(debug, "publish topic=~p already exists, need reset the topic info", [Topic]), + %% check whether the ct value stored matches the ct option in this POST message + case Format =:= StoredCT of + true -> + {ok, Ret} = + case StoredMaxAge =:= MaxAge of + true -> + emqx_coap_ps_topics:reset_topic_info(Topic, Payload); + false -> + emqx_coap_ps_topics:reset_topic_info(Topic, MaxAge, Payload) + end, + {changed, Ret}; + false -> + ?LOG(debug, "ct values of topic=~p do not match, stored ct=~p, new ct=~p, ignore the PUBLISH", [Topic, StoredCT, Format]), + {changed, false} + end; + [] -> + ?LOG(debug, "publish topic=~p will be created", [Topic]), + {ok, Ret} = emqx_coap_ps_topics:add_topic_info(Topic, MaxAge, Format, Payload), + {created, Ret} + end; + +add_topic_info(create, Topic, MaxAge, Format, _Payload) when is_binary(Topic), Topic =/= <<>> -> + case emqx_coap_ps_topics:is_topic_existed(Topic) of + true -> + %% Whether we should support CREATE to an existed topic is TBD!! + ?LOG(debug, "create topic=~p already exists, need reset the topic info", [Topic]), + {ok, Ret} = emqx_coap_ps_topics:reset_topic_info(Topic, MaxAge, Format, <<>>); + false -> + ?LOG(debug, "create topic=~p will be created", [Topic]), + {ok, Ret} = emqx_coap_ps_topics:add_topic_info(Topic, MaxAge, Format, <<>>) + end, + {created, Ret}; + +add_topic_info(_, Topic, _MaxAge, _Format, _Payload) -> + ?LOG(debug, "create topic=~p info failed", [Topic]), + {badarg, false}. + +concatenate_location_path(List = [TopicPart1, TopicPart2, TopicPart3]) when is_binary(TopicPart1), is_binary(TopicPart2), is_binary(TopicPart3) -> + list_to_binary(lists:foldl( fun (Element, AccIn) when Element =/= <<>> -> + AccIn ++ "/" ++ binary_to_list(Element); + (_Element, AccIn) -> + AccIn + end, [], List)). + +format_string_to_int(<<"application/octet-stream">>) -> + <<"42">>; +format_string_to_int(<<"application/exi">>) -> + <<"47">>; +format_string_to_int(<<"application/json">>) -> + <<"50">>. + +handle_received_publish(Topic, MaxAge, Format, Payload) -> + case add_topic_info(publish, Topic, MaxAge, format_string_to_int(Format), Payload) of + {Ret ,true} -> + Pid = get(mqtt_client_pid), + emqx_coap_mqtt_adapter:publish(Pid, topic(Topic), Payload), + Content = case Ret of + changed -> + #coap_content{}; + created -> + LocPath = concatenate_location_path([<<"ps">>, Topic, <<>>]), + #coap_content{location_path = [LocPath]} + end, + {ok, Ret, Content}; + {_, false} -> + ?LOG(debug, "add_topic_info failed, will return bad_request", []), + {error, bad_request} + end. + +handle_received_create(TopicPrefix, MaxAge, Payload) -> + case core_link:decode(Payload) of + [{rootless, [Topic], [{ct, CT}]}] when is_binary(Topic), Topic =/= <<>> -> + TrueTopic = http_uri:decode(Topic), + ?LOG(debug, "decoded link-format payload, the Topic=~p, CT=~p~n", [TrueTopic, CT]), + LocPath = concatenate_location_path([<<"ps">>, TopicPrefix, TrueTopic]), + FullTopic = binary:part(LocPath, 4, byte_size(LocPath)-4), + ?LOG(debug, "the location path is ~p, the full topic is ~p~n", [LocPath, FullTopic]), + case add_topic_info(create, FullTopic, MaxAge, CT, <<>>) of + {_, true} -> + ?LOG(debug, "create topic info successfully, will return LocPath=~p", [LocPath]), + {ok, created, #coap_content{location_path = [LocPath]}}; + {_, false} -> + ?LOG(debug, "create topic info failed, will return bad_request", []), + {error, bad_request} + end; + Other -> + ?LOG(debug, "post with bad payload of link-format ~p, will return bad_request", [Other]), + {error, bad_request} + end. + +%% When topic is timeout, server should return nocontent here, +%% but gen_coap only receive return value of #coap_content from coap_get, so temporarily we can't give the Code 2.07 {ok, nocontent} out.TBC!!! +return_resource(Topic, Payload, MaxAge, TimeStamp, Content) -> + TimeElapsed = trunc((erlang:system_time(millisecond) - TimeStamp) / 1000), + case TimeElapsed < MaxAge of + true -> + LeftTime = (MaxAge - TimeElapsed), + ?LOG(debug, "topic=~p has max age left time is ~p", [Topic, LeftTime]), + Content#coap_content{max_age = LeftTime, payload = Payload}; + false -> + ?LOG(debug, "topic=~p has been timeout, will return empty content", [Topic]), + #coap_content{} + end. + +read_last_publish_message(false, Topic, Content=#coap_content{format = QueryFormat}) when is_binary(QueryFormat)-> + ?LOG(debug, "the QueryFormat=~p", [QueryFormat]), + case emqx_coap_ps_topics:lookup_topic_info(Topic) of + [] -> + {error, not_found}; + [{_, MaxAge, CT, Payload, TimeStamp}] -> + case CT =:= format_string_to_int(QueryFormat) of + true -> + return_resource(Topic, Payload, MaxAge, TimeStamp, Content); + false -> + ?LOG(debug, "format value does not match, the queried format=~p, the stored format=~p", [QueryFormat, CT]), + {error, bad_request} + end + end; + +read_last_publish_message(false, Topic, Content) -> + case emqx_coap_ps_topics:lookup_topic_info(Topic) of + [] -> + {error, not_found}; + [{_, MaxAge, _, Payload, TimeStamp}] -> + return_resource(Topic, Payload, MaxAge, TimeStamp, Content) + end; + +read_last_publish_message(true, Topic, _Content) -> + ?LOG(debug, "the topic=~p is illegal wildcard topic", [Topic]), + {error, bad_request}. + +delete_topic_info(Topic) -> + case emqx_coap_ps_topics:lookup_topic_info(Topic) of + [] -> + {error, not_found}; + [{_, _, _, _, _}] -> + emqx_coap_ps_topics:delete_sub_topics(Topic) + end. + +topic(Topic) when is_binary(Topic) -> Topic; +topic([]) -> <<>>; +topic([Path | TopicPath]) -> + case topic(TopicPath) of + <<>> -> Path; + RemTopic -> + <> + end. diff --git a/apps/emqx_coap/src/emqx_coap_ps_topics.erl b/apps/emqx_coap/src/emqx_coap_ps_topics.erl new file mode 100644 index 000000000..ebe9c3b28 --- /dev/null +++ b/apps/emqx_coap/src/emqx_coap_ps_topics.erl @@ -0,0 +1,185 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_coap_ps_topics). + +-behaviour(gen_server). + +-include("emqx_coap.hrl"). +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("emqx_libs/include/emqx_mqtt.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). + +-logger_header("[CoAP-PS-TOPICS]"). + +-export([ start_link/0 + , stop/1 + ]). + +-export([ add_topic_info/4 + , delete_topic_info/1 + , delete_sub_topics/1 + , is_topic_existed/1 + , is_topic_timeout/1 + , reset_topic_info/2 + , reset_topic_info/3 + , reset_topic_info/4 + , lookup_topic_info/1 + , lookup_topic_payload/1 + ]). + +%% gen_server. +-export([ init/1 + , handle_call/3 + , handle_cast/2 + , handle_info/2 + , terminate/2 + , code_change/3 + ]). + +-record(state, {}). + +-define(COAP_TOPIC_TABLE, coap_topic). + +%%-------------------------------------------------------------------- +%% API +%%-------------------------------------------------------------------- + +start_link() -> + gen_server:start_link({local, ?MODULE}, ?MODULE, [], []). + +stop(Pid) -> + gen_server:stop(Pid). + +add_topic_info(Topic, MaxAge, CT, Payload) when is_binary(Topic), is_integer(MaxAge), is_binary(CT), is_binary(Payload) -> + gen_server:call(?MODULE, {add_topic, {Topic, MaxAge, CT, Payload}}). + +delete_topic_info(Topic) when is_binary(Topic) -> + gen_server:call(?MODULE, {remove_topic, Topic}). + +delete_sub_topics(Topic) when is_binary(Topic) -> + gen_server:cast(?MODULE, {remove_sub_topics, Topic}). + +reset_topic_info(Topic, Payload) -> + gen_server:call(?MODULE, {reset_topic, {Topic, Payload}}). + +reset_topic_info(Topic, MaxAge, Payload) -> + gen_server:call(?MODULE, {reset_topic, {Topic, MaxAge, Payload}}). + +reset_topic_info(Topic, MaxAge, CT, Payload) -> + gen_server:call(?MODULE, {reset_topic, {Topic, MaxAge, CT, Payload}}). + +is_topic_existed(Topic) -> + ets:member(?COAP_TOPIC_TABLE, Topic). + +is_topic_timeout(Topic) when is_binary(Topic) -> + [{Topic, MaxAge, _, _, TimeStamp}] = ets:lookup(?COAP_TOPIC_TABLE, Topic), + %% MaxAge: x seconds + MaxAge < ((erlang:system_time(millisecond) - TimeStamp) / 1000). + +lookup_topic_info(Topic) -> + ets:lookup(?COAP_TOPIC_TABLE, Topic). + +lookup_topic_payload(Topic) -> + try ets:lookup_element(?COAP_TOPIC_TABLE, Topic, 4) + catch + error:badarg -> undefined + end. + +%%-------------------------------------------------------------------- +%% gen_server callbacks +%%-------------------------------------------------------------------- + +init([]) -> + ets:new(?COAP_TOPIC_TABLE, [set, named_table, protected]), + ?LOG(debug, "Create the coap_topic table", []), + {ok, #state{}}. + +handle_call({add_topic, {Topic, MaxAge, CT, Payload}}, _From, State) -> + Ret = create_table_element(Topic, MaxAge, CT, Payload), + {reply, {ok, Ret}, State, hibernate}; + +handle_call({reset_topic, {Topic, Payload}}, _From, State) -> + Ret = update_table_element(Topic, Payload), + {reply, {ok, Ret}, State, hibernate}; + +handle_call({reset_topic, {Topic, MaxAge, Payload}}, _From, State) -> + Ret = update_table_element(Topic, MaxAge, Payload), + {reply, {ok, Ret}, State, hibernate}; + +handle_call({reset_topic, {Topic, MaxAge, CT, Payload}}, _From, State) -> + Ret = update_table_element(Topic, MaxAge, CT, Payload), + {reply, {ok, Ret}, State, hibernate}; + +handle_call({remove_topic, {Topic, _Content}}, _From, State) -> + ets:delete(?COAP_TOPIC_TABLE, Topic), + ?LOG(debug, "Remove topic ~p in the coap_topic table", [Topic]), + {reply, ok, State, hibernate}; + +handle_call(Request, _From, State) -> + ?LOG(error, "adapter unexpected call ~p", [Request]), + {reply, ignored, State, hibernate}. + +handle_cast({remove_sub_topics, TopicPrefix}, State) -> + DeletedTopicNum = ets:foldl(fun ({Topic, _, _, _, _}, AccIn) -> + case binary:match(Topic, TopicPrefix) =/= nomatch of + true -> + ?LOG(debug, "Remove topic ~p in the coap_topic table", [Topic]), + ets:delete(?COAP_TOPIC_TABLE, Topic), + AccIn + 1; + false -> + AccIn + end + end, 0, ?COAP_TOPIC_TABLE), + ?LOG(debug, "Remove number of ~p topics with prefix=~p in the coap_topic table", [DeletedTopicNum, TopicPrefix]), + {noreply, State, hibernate}; + +handle_cast(Msg, State) -> + ?LOG(error, "broker_api unexpected cast ~p", [Msg]), + {noreply, State, hibernate}. + +handle_info(Info, State) -> + ?LOG(error, "adapter unexpected info ~p", [Info]), + {noreply, State, hibernate}. + +terminate(Reason, #state{}) -> + ets:delete(?COAP_TOPIC_TABLE), + ?LOG(error, "the ~p terminate for reason ~p", [?MODULE, Reason]), + ok. + +code_change(_OldVsn, State, _Extra) -> + {ok, State}. + + +%%-------------------------------------------------------------------- +%% Internal Functions +%%-------------------------------------------------------------------- +create_table_element(Topic, MaxAge, CT, Payload) -> + TopicInfo = {Topic, MaxAge, CT, Payload, erlang:system_time(millisecond)}, + ?LOG(debug, "Insert ~p in the coap_topic table", [TopicInfo]), + ets:insert_new(?COAP_TOPIC_TABLE, TopicInfo). + +update_table_element(Topic, Payload) -> + ?LOG(debug, "Update the topic=~p only with Payload", [Topic]), + ets:update_element(?COAP_TOPIC_TABLE, Topic, [{4, Payload}, {5, erlang:system_time(millisecond)}]). + +update_table_element(Topic, MaxAge, Payload) -> + ?LOG(debug, "Update the topic=~p info of MaxAge=~p and Payload", [Topic, MaxAge]), + ets:update_element(?COAP_TOPIC_TABLE, Topic, [{2, MaxAge}, {4, Payload}, {5, erlang:system_time(millisecond)}]). + +update_table_element(Topic, MaxAge, CT, <<>>) -> + ?LOG(debug, "Update the topic=~p info of MaxAge=~p, CT=~p, payload=<<>>", [Topic, MaxAge, CT]), + ets:update_element(?COAP_TOPIC_TABLE, Topic, [{2, MaxAge}, {3, CT}, {5, erlang:system_time(millisecond)}]). diff --git a/apps/emqx_coap/src/emqx_coap_registry.erl b/apps/emqx_coap/src/emqx_coap_registry.erl new file mode 100644 index 000000000..428dcf2a5 --- /dev/null +++ b/apps/emqx_coap/src/emqx_coap_registry.erl @@ -0,0 +1,154 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_coap_registry). + +-author("Feng Lee "). + +-include("emqx_coap.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). + +-logger_header("[CoAP-Registry]"). + +-behaviour(gen_server). + +%% API. +-export([ start_link/0 + , register_name/2 + , unregister_name/1 + , whereis_name/1 + , send/2 + , stop/0 + ]). + +%% gen_server. +-export([ init/1 + , handle_call/3 + , handle_cast/2 + , handle_info/2 + , terminate/2 + , code_change/3 + ]). + +-record(state, {}). + +-define(RESPONSE_TAB, coap_response_process). +-define(RESPONSE_REF_TAB, coap_response_process_ref). + +%% ------------------------------------------------------------------ +%% API Function Definitions +%% ------------------------------------------------------------------ + + +start_link() -> + gen_server:start_link({local, ?MODULE}, ?MODULE, [], []). + +register_name(Name, Pid) -> + gen_server:call(?MODULE, {register_name, Name, Pid}). + +unregister_name(Name) -> + gen_server:call(?MODULE, {unregister_name, Name}). + +whereis_name(Name) -> + case ets:lookup(?RESPONSE_TAB, Name) of + [] -> undefined; + [{Name, Pid, _MRef}] -> Pid + end. + +send(Name, Msg) -> + case whereis_name(Name) of + undefined -> + exit({badarg, {Name, Msg}}); + Pid when is_pid(Pid) -> + Pid ! Msg, + Pid + end. + +stop() -> + gen_server:stop(?MODULE). + + +%% ------------------------------------------------------------------ +%% gen_server Function Definitions +%% ------------------------------------------------------------------ + +init([]) -> + ets:new(?RESPONSE_TAB, [set, named_table, protected]), + ets:new(?RESPONSE_REF_TAB, [set, named_table, protected]), + {ok, #state{}}. + +handle_call({register_name, Name, Pid}, _From, State) -> + case ets:member(?RESPONSE_TAB, Name) of + false -> + MRef = monitor_client(Pid), + ets:insert(?RESPONSE_TAB, {Name, Pid, MRef}), + ets:insert(?RESPONSE_REF_TAB, {MRef, Name, Pid}), + {reply, yes, State}; + true -> {reply, no, State} + end; + +handle_call({unregister_name, Name}, _From, State) -> + case ets:lookup(?RESPONSE_TAB, Name) of + [] -> + ok; + [{Name, _Pid, MRef}] -> + erase_monitor(MRef), + ets:delete(?RESPONSE_TAB, Name), + ets:delete(?RESPONSE_REF_TAB, MRef) + end, + {reply, ok, State}; + +handle_call(_Request, _From, State) -> + {reply, ignored, State}. + +handle_cast(_Msg, State) -> + {noreply, State}. + + +handle_info({'DOWN', MRef, process, DownPid, _Reason}, State) -> + case ets:lookup(?RESPONSE_REF_TAB, MRef) of + [{MRef, Name, _Pid}] -> + ets:delete(?RESPONSE_TAB, Name), + ets:delete(?RESPONSE_REF_TAB, MRef), + erase_monitor(MRef); + [] -> + ?LOG(error, "MRef of client ~p not found", [DownPid]) + end, + {noreply, State}; + + +handle_info(_Info, State) -> + {noreply, State}. + +terminate(_Reason, _State) -> + ets:delete(?RESPONSE_TAB), + ets:delete(?RESPONSE_REF_TAB), + ok. + +code_change(_OldVsn, State, _Extra) -> + {ok, State}. + + + +%%-------------------------------------------------------------------- +%% Internal functions +%%-------------------------------------------------------------------- + +monitor_client(Pid) -> + erlang:monitor(process, Pid). + +erase_monitor(MRef) -> + catch erlang:demonitor(MRef, [flush]). diff --git a/apps/emqx_coap/src/emqx_coap_resource.erl b/apps/emqx_coap/src/emqx_coap_resource.erl new file mode 100644 index 000000000..fab7f2c20 --- /dev/null +++ b/apps/emqx_coap/src/emqx_coap_resource.erl @@ -0,0 +1,136 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_coap_resource). + +-behaviour(coap_resource). + +-include("emqx_coap.hrl"). +-include_lib("emqx_libs/include/emqx.hrl"). +-include_lib("emqx_libs/include/logger.hrl"). +-include_lib("emqx_libs/include/emqx_mqtt.hrl"). +-include_lib("gen_coap/include/coap.hrl"). + +-logger_header("[CoAP-RES]"). + +-export([ coap_discover/2 + , coap_get/5 + , coap_post/4 + , coap_put/4 + , coap_delete/3 + , coap_observe/5 + , coap_unobserve/1 + , handle_info/2 + , coap_ack/2 + ]). + +-ifdef(TEST). +-export([topic/1]). +-endif. + +-define(MQTT_PREFIX, [<<"mqtt">>]). + +% resource operations +coap_discover(_Prefix, _Args) -> + [{absolute, [<<"mqtt">>], []}]. + +coap_get(ChId, ?MQTT_PREFIX, Path, Query, _Content) -> + ?LOG(debug, "coap_get() Path=~p, Query=~p~n", [Path, Query]), + #coap_mqtt_auth{clientid = Clientid, username = Usr, password = Passwd} = get_auth(Query), + case emqx_coap_mqtt_adapter:client_pid(Clientid, Usr, Passwd, ChId) of + {ok, Pid} -> + put(mqtt_client_pid, Pid), + #coap_content{}; + {error, auth_failure} -> + put(mqtt_client_pid, undefined), + {error, unauthorized}; + {error, bad_request} -> + put(mqtt_client_pid, undefined), + {error, bad_request}; + {error, _Other} -> + put(mqtt_client_pid, undefined), + {error, internal_server_error} + end; +coap_get(ChId, Prefix, Path, Query, _Content) -> + ?LOG(error, "ignore bad get request ChId=~p, Prefix=~p, Path=~p, Query=~p", [ChId, Prefix, Path, Query]), + {error, bad_request}. + +coap_post(_ChId, _Prefix, _Topic, _Content) -> + {error, method_not_allowed}. + +coap_put(_ChId, ?MQTT_PREFIX, Topic, #coap_content{payload = Payload}) when Topic =/= [] -> + ?LOG(debug, "put message, Topic=~p, Payload=~p~n", [Topic, Payload]), + Pid = get(mqtt_client_pid), + emqx_coap_mqtt_adapter:publish(Pid, topic(Topic), Payload), + ok; +coap_put(_ChId, Prefix, Topic, Content) -> + ?LOG(error, "put has error, Prefix=~p, Topic=~p, Content=~p", [Prefix, Topic, Content]), + {error, bad_request}. + +coap_delete(_ChId, _Prefix, _Topic) -> + {error, method_not_allowed}. + +coap_observe(ChId, ?MQTT_PREFIX, Topic, Ack, Content) when Topic =/= [] -> + TrueTopic = topic(Topic), + ?LOG(debug, "observe Topic=~p, Ack=~p", [TrueTopic, Ack]), + Pid = get(mqtt_client_pid), + emqx_coap_mqtt_adapter:subscribe(Pid, TrueTopic), + {ok, {state, ChId, ?MQTT_PREFIX, [TrueTopic]}, content, Content}; +coap_observe(ChId, Prefix, Topic, Ack, _Content) -> + ?LOG(error, "unknown observe request ChId=~p, Prefix=~p, Topic=~p, Ack=~p", [ChId, Prefix, Topic, Ack]), + {error, bad_request}. + +coap_unobserve({state, _ChId, ?MQTT_PREFIX, Topic}) when Topic =/= [] -> + ?LOG(debug, "unobserve ~p", [Topic]), + Pid = get(mqtt_client_pid), + emqx_coap_mqtt_adapter:unsubscribe(Pid, topic(Topic)), + ok; +coap_unobserve({state, ChId, Prefix, Topic}) -> + ?LOG(error, "ignore unknown unobserve request ChId=~p, Prefix=~p, Topic=~p", [ChId, Prefix, Topic]), + ok. + +handle_info({dispatch, Topic, Payload}, State) -> + ?LOG(debug, "dispatch Topic=~p, Payload=~p", [Topic, Payload]), + {notify, [], #coap_content{format = <<"application/octet-stream">>, payload = Payload}, State}; +handle_info(Message, State) -> + emqx_coap_mqtt_adapter:handle_info(Message, State). + +coap_ack(_Ref, State) -> {ok, State}. + +get_auth(Query) -> + get_auth(Query, #coap_mqtt_auth{}). + +get_auth([], Auth=#coap_mqtt_auth{}) -> + Auth; +get_auth([<<$c, $=, Rest/binary>>|T], Auth=#coap_mqtt_auth{}) -> + get_auth(T, Auth#coap_mqtt_auth{clientid = Rest}); +get_auth([<<$u, $=, Rest/binary>>|T], Auth=#coap_mqtt_auth{}) -> + get_auth(T, Auth#coap_mqtt_auth{username = Rest}); +get_auth([<<$p, $=, Rest/binary>>|T], Auth=#coap_mqtt_auth{}) -> + get_auth(T, Auth#coap_mqtt_auth{password = Rest}); +get_auth([Param|T], Auth=#coap_mqtt_auth{}) -> + ?LOG(error, "ignore unknown parameter ~p", [Param]), + get_auth(T, Auth). + +topic(Topic) when is_binary(Topic) -> Topic; +topic([]) -> <<>>; +topic([Path | TopicPath]) -> + case topic(TopicPath) of + <<>> -> Path; + RemTopic -> + <> + end. + diff --git a/apps/emqx_coap/src/emqx_coap_server.erl b/apps/emqx_coap/src/emqx_coap_server.erl new file mode 100644 index 000000000..d3ed1a96e --- /dev/null +++ b/apps/emqx_coap/src/emqx_coap_server.erl @@ -0,0 +1,100 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_coap_server). + +-include("emqx_coap.hrl"). + +-export([ start/1 + , stop/1 + ]). + +%%-------------------------------------------------------------------- +%% APIs +%%-------------------------------------------------------------------- + +start(Envs) -> + {ok, _} = application:ensure_all_started(gen_coap), + start_listeners(Envs). + +stop(Envs) -> + stop_listeners(Envs). + +%%-------------------------------------------------------------------- +%% Internal funcs +%%-------------------------------------------------------------------- + +start_listeners(Envs) -> + lists:foreach(fun start_listener/1, listeners_confs(Envs)). + +stop_listeners(Envs) -> + lists:foreach(fun stop_listener/1, listeners_confs(Envs)). + +start_listener({Proto, ListenOn, Opts}) -> + case start_listener(Proto, ListenOn, Opts) of + {ok, _Pid} -> + io:format("Start coap:~s listener on ~s successfully.~n", + [Proto, format(ListenOn)]); + {error, Reason} -> + io:format(standard_error, "Failed to start coap:~s listener on ~s - ~0p~n!", + [Proto, format(ListenOn), Reason]), + error(Reason) + end. + +start_listener(udp, ListenOn, Opts) -> + coap_server:start_udp('coap:udp', ListenOn, Opts); +start_listener(dtls, ListenOn, Opts) -> + coap_server:start_dtls('coap:dtls', ListenOn, Opts). + +stop_listener({Proto, ListenOn, _Opts}) -> + Ret = stop_listener(Proto, ListenOn), + case Ret of + ok -> io:format("Stop coap:~s listener on ~s successfully.~n", + [Proto, format(ListenOn)]); + {error, Reason} -> + io:format(standard_error, "Failed to stop coap:~s listener on ~s - ~p~n.", + [Proto, format(ListenOn), Reason]) + end, + Ret. + +stop_listener(udp, ListenOn) -> + coap_server:stop_udp('coap:udp', ListenOn); +stop_listener(dtls, ListenOn) -> + coap_server:stop_dtls('coap:dtls', ListenOn). + +%% XXX: It is a temporary func to convert conf format for esockd +listeners_confs(Envs) -> + listeners_confs(udp, Envs) ++ listeners_confs(dtls, Envs). + +listeners_confs(udp, Envs) -> + Udps = proplists:get_value(bind_udp, Envs, []), + [{udp, Port, [{udp_options, InetOpts}]} || {Port, InetOpts} <- Udps]; + +listeners_confs(dtls, Envs) -> + case proplists:get_value(dtls_opts, Envs, []) of + [] -> []; + DtlsOpts -> + BindDtls = proplists:get_value(bind_dtls, Envs, []), + [{dtls, Port, [{dtls_options, InetOpts ++ DtlsOpts}]} || {Port, InetOpts} <- BindDtls] + end. + +format(Port) when is_integer(Port) -> + io_lib:format("0.0.0.0:~w", [Port]); +format({Addr, Port}) when is_list(Addr) -> + io_lib:format("~s:~w", [Addr, Port]); +format({Addr, Port}) when is_tuple(Addr) -> + io_lib:format("~s:~w", [inet:ntoa(Addr), Port]). + diff --git a/apps/emqx_coap/src/emqx_coap_sup.erl b/apps/emqx_coap/src/emqx_coap_sup.erl new file mode 100644 index 000000000..a3a0fdc53 --- /dev/null +++ b/apps/emqx_coap/src/emqx_coap_sup.erl @@ -0,0 +1,42 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_coap_sup). + +-behaviour(supervisor). + +-export([ start_link/0 + , init/1 + ]). + +start_link() -> + supervisor:start_link({local, ?MODULE}, ?MODULE, []). + +init(_Args) -> + Registry = #{id => emqx_coap_registry, + start => {emqx_coap_registry, start_link, []}, + restart => permanent, + shutdown => 5000, + type => worker, + modules => [emqx_coap_registry]}, + PsTopics = #{id => emqx_coap_ps_topics, + start => {emqx_coap_ps_topics, start_link, []}, + restart => permanent, + shutdown => 5000, + type => worker, + modules => [emqx_coap_ps_topics]}, + {ok, {{one_for_all, 10, 3600}, [Registry, PsTopics]}}. + diff --git a/apps/emqx_coap/src/emqx_coap_timer.erl b/apps/emqx_coap/src/emqx_coap_timer.erl new file mode 100644 index 000000000..3924ba239 --- /dev/null +++ b/apps/emqx_coap/src/emqx_coap_timer.erl @@ -0,0 +1,59 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_coap_timer). + +-include("emqx_coap.hrl"). + +-export([ cancel_timer/1 + , start_timer/2 + , restart_timer/1 + , kick_timer/1 + , is_timeout/1 + , get_timer_length/1 + ]). + +-record(timer_state, {interval, kickme, tref, message}). + +-define(LOG(Level, Format, Args), + emqx_logger:Level("CoAP-Timer: " ++ Format, Args)). + +cancel_timer(#timer_state{tref = TRef}) when is_reference(TRef) -> + catch erlang:cancel_timer(TRef), + ok; +cancel_timer(_) -> + ok. + +kick_timer(State=#timer_state{kickme = false}) -> + State#timer_state{kickme = true}; +kick_timer(State=#timer_state{kickme = true}) -> + State. + +start_timer(Sec, Msg) -> + ?LOG(debug, "emqx_coap_timer:start_timer ~p", [Sec]), + TRef = erlang:send_after(timer:seconds(Sec), self(), Msg), + #timer_state{interval = Sec, kickme = false, tref = TRef, message = Msg}. + +restart_timer(State=#timer_state{interval = Sec, message = Msg}) -> + ?LOG(debug, "emqx_coap_timer:restart_timer ~p", [Sec]), + TRef = erlang:send_after(timer:seconds(Sec), self(), Msg), + State#timer_state{kickme = false, tref = TRef}. + +is_timeout(#timer_state{kickme = Bool}) -> + not Bool. + +get_timer_length(#timer_state{interval = Interval}) -> + Interval. diff --git a/apps/emqx_coap/test/emqx_coap_SUITE.erl b/apps/emqx_coap/test/emqx_coap_SUITE.erl new file mode 100644 index 000000000..33f74c39a --- /dev/null +++ b/apps/emqx_coap/test/emqx_coap_SUITE.erl @@ -0,0 +1,240 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_coap_SUITE). + +-compile(export_all). +-compile(nowarn_export_all). + +-include_lib("gen_coap/include/coap.hrl"). +-include_lib("eunit/include/eunit.hrl"). +-include_lib("emqx_libs/include/emqx.hrl"). + +-define(LOGT(Format, Args), ct:pal(Format, Args)). + +all() -> emqx_ct:all(?MODULE). + +init_per_suite(Config) -> + emqx_ct_helpers:start_apps([emqx_coap], fun set_sepecial_cfg/1), + Config. + +set_sepecial_cfg(emqx_coap) -> + Opts = application:get_env(emqx_coap, dtls_opts,[]), + Opts2 = [{keyfile, emqx_ct_helpers:deps_path(emqx, "etc/certs/key.pem")}, + {certfile, emqx_ct_helpers:deps_path(emqx, "etc/certs/cert.pem")}], + application:set_env(emqx_coap, dtls_opts, emqx_misc:merge_opts(Opts, Opts2)), + application:set_env(emqx_coap, enable_stats, true); +set_sepecial_cfg(_) -> + ok. + +end_per_suite(Config) -> + emqx_ct_helpers:stop_apps([emqx_coap]), + Config. + +%%-------------------------------------------------------------------- +%% Test Cases +%%-------------------------------------------------------------------- + +t_publish(_Config) -> + Topic = <<"abc">>, Payload = <<"123">>, + TopicStr = binary_to_list(Topic), + URI = "coap://127.0.0.1/mqtt/"++TopicStr++"?c=client1&u=tom&p=secret", + + %% Sub topic first + emqx:subscribe(Topic), + + Reply = er_coap_client:request(put, URI, #coap_content{format = <<"application/octet-stream">>, payload = Payload}), + {ok, changed, _} = Reply, + + receive + {deliver, Topic, Msg} -> + ?assertEqual(Topic, Msg#message.topic), + ?assertEqual(Payload, Msg#message.payload) + after + 500 -> + ?assert(false) + end. + +t_observe(_Config) -> + Topic = <<"abc">>, TopicStr = binary_to_list(Topic), + Payload = <<"123">>, + Uri = "coap://127.0.0.1/mqtt/"++TopicStr++"?c=client1&u=tom&p=secret", + {ok, Pid, N, Code, Content} = er_coap_observer:observe(Uri), + ?LOGT("observer Pid=~p, N=~p, Code=~p, Content=~p", [Pid, N, Code, Content]), + + [SubPid] = emqx:subscribers(Topic), + ?assert(is_pid(SubPid)), + + %% Publish a message + emqx:publish(emqx_message:make(Topic, Payload)), + + Notif = receive_notification(), + ?LOGT("observer get Notif=~p", [Notif]), + {coap_notify, _, _, {ok,content}, #coap_content{payload = PayloadRecv}} = Notif, + ?_assertEqual(Payload, PayloadRecv), + + er_coap_observer:stop(Pid), + timer:sleep(100), + + [] = emqx:subscribers(Topic). + +t_observe_wildcard(_Config) -> + Topic = <<"+/b">>, TopicStr = http_uri:encode(binary_to_list(Topic)), + Payload = <<"123">>, + Uri = "coap://127.0.0.1/mqtt/"++TopicStr++"?c=client1&u=tom&p=secret", + {ok, Pid, N, Code, Content} = er_coap_observer:observe(Uri), + ?LOGT("observer Uri=~p, Pid=~p, N=~p, Code=~p, Content=~p", [Uri, Pid, N, Code, Content]), + + [SubPid] = emqx:subscribers(Topic), + ?assert(is_pid(SubPid)), + + %% Publish a message + emqx:publish(emqx_message:make(Topic, Payload)), + + Notif = receive_notification(), + ?LOGT("observer get Notif=~p", [Notif]), + {coap_notify, _, _, {ok,content}, #coap_content{payload = PayloadRecv}} = Notif, + ?_assertEqual(Payload, PayloadRecv), + + er_coap_observer:stop(Pid), + timer:sleep(100), + + [] = emqx:subscribers(Topic). + +t_observe_pub(_Config) -> + Topic = <<"+/b">>, TopicStr = http_uri:encode(binary_to_list(Topic)), + Uri = "coap://127.0.0.1/mqtt/"++TopicStr++"?c=client1&u=tom&p=secret", + {ok, Pid, N, Code, Content} = er_coap_observer:observe(Uri), + ?LOGT("observer Pid=~p, N=~p, Code=~p, Content=~p", [Pid, N, Code, Content]), + + [SubPid] = emqx:subscribers(Topic), + ?assert(is_pid(SubPid)), + + Topic2 = <<"a/b">>, Payload2 = <<"UFO">>, + TopicStr2 = http_uri:encode(binary_to_list(Topic2)), + URI2 = "coap://127.0.0.1/mqtt/"++TopicStr2++"?c=client1&u=tom&p=secret", + + Reply2 = er_coap_client:request(put, URI2, #coap_content{format = <<"application/octet-stream">>, payload = Payload2}), + {ok,changed, _} = Reply2, + + Notif2 = receive_notification(), + ?LOGT("observer get Notif2=~p", [Notif2]), + {coap_notify, _, _, {ok,content}, #coap_content{payload = PayloadRecv2}} = Notif2, + ?_assertEqual(Payload2, PayloadRecv2), + + Topic3 = <<"j/b">>, Payload3 = <<"ET629">>, + TopicStr3 = http_uri:encode(binary_to_list(Topic3)), + URI3 = "coap://127.0.0.1/mqtt/"++TopicStr3++"?c=client2&u=mike&p=guess", + Reply3 = er_coap_client:request(put, URI3, #coap_content{format = <<"application/octet-stream">>, payload = Payload3}), + {ok,changed, _} = Reply3, + + Notif3 = receive_notification(), + ?LOGT("observer get Notif3=~p", [Notif3]), + {coap_notify, _, _, {ok,content}, #coap_content{payload = PayloadRecv3}} = Notif3, + ?_assertEqual(Payload3, PayloadRecv3), + + er_coap_observer:stop(Pid). + +t_one_clientid_sub_2_topics(_Config) -> + Topic1 = <<"abc">>, TopicStr1 = binary_to_list(Topic1), + Payload1 = <<"123">>, + Uri1 = "coap://127.0.0.1/mqtt/"++TopicStr1++"?c=client1&u=tom&p=secret", + {ok, Pid1, N1, Code1, Content1} = er_coap_observer:observe(Uri1), + ?LOGT("observer 1 Pid=~p, N=~p, Code=~p, Content=~p", [Pid1, N1, Code1, Content1]), + + [SubPid] = emqx:subscribers(Topic1), + ?assert(is_pid(SubPid)), + + Topic2 = <<"x/y">>, TopicStr2 = http_uri:encode(binary_to_list(Topic2)), + Payload2 = <<"456">>, + Uri2 = "coap://127.0.0.1/mqtt/"++TopicStr2++"?c=client1&u=tom&p=secret", + {ok, Pid2, N2, Code2, Content2} = er_coap_observer:observe(Uri2), + ?LOGT("observer 2 Pid=~p, N=~p, Code=~p, Content=~p", [Pid2, N2, Code2, Content2]), + + [SubPid] = emqx:subscribers(Topic2), + ?assert(is_pid(SubPid)), + + emqx:publish(emqx_message:make(Topic1, Payload1)), + + Notif1 = receive_notification(), + ?LOGT("observer 1 get Notif=~p", [Notif1]), + {coap_notify, _, _, {ok,content}, #coap_content{payload = PayloadRecv1}} = Notif1, + ?_assertEqual(Payload1, PayloadRecv1), + + emqx:publish(emqx_message:make(Topic2, Payload2)), + + Notif2 = receive_notification(), + ?LOGT("observer 2 get Notif=~p", [Notif2]), + {coap_notify, _, _, {ok,content}, #coap_content{payload = PayloadRecv2}} = Notif2, + ?_assertEqual(Payload2, PayloadRecv2), + + er_coap_observer:stop(Pid1), + er_coap_observer:stop(Pid2). + +t_invalid_parameter(_Config) -> + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %% "cid=client2" is invaid + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + Topic3 = <<"a/b">>, Payload3 = <<"ET629">>, + TopicStr3 = http_uri:encode(binary_to_list(Topic3)), + URI3 = "coap://127.0.0.1/mqtt/"++TopicStr3++"?cid=client2&u=tom&p=simple", + Reply3 = er_coap_client:request(put, URI3, #coap_content{format = <<"application/octet-stream">>, payload = Payload3}), + ?assertMatch({error,bad_request}, Reply3), + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %% "what=hello" is invaid + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + URI4 = "coap://127.0.0.1/mqtt/"++TopicStr3++"?what=hello", + Reply4 = er_coap_client:request(put, URI4, #coap_content{format = <<"application/octet-stream">>, payload = Payload3}), + ?assertMatch({error, bad_request}, Reply4). + +t_invalid_topic(_Config) -> + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %% "a/b" is a valid topic string + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + Topic3 = <<"a/b">>, Payload3 = <<"ET629">>, + TopicStr3 = binary_to_list(Topic3), + URI3 = "coap://127.0.0.1/mqtt/"++TopicStr3++"?c=client2&u=tom&p=simple", + Reply3 = er_coap_client:request(put, URI3, #coap_content{format = <<"application/octet-stream">>, payload = Payload3}), + ?assertMatch({ok,changed,_Content}, Reply3), + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %% "+?#" is invaid topic string + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + URI4 = "coap://127.0.0.1/mqtt/"++"+?#"++"?what=hello", + Reply4 = er_coap_client:request(put, URI4, #coap_content{format = <<"application/octet-stream">>, payload = Payload3}), + ?assertMatch({error,bad_request}, Reply4). + +t_stats(_) -> + ok. + +t_auth_failure(_) -> + ok. + +t_qos_supprot(_) -> + ok. + +%%-------------------------------------------------------------------- +%% Helpers + +receive_notification() -> + receive + {coap_notify, Pid, N2, Code2, Content2} -> + {coap_notify, Pid, N2, Code2, Content2} + after 2000 -> + receive_notification_timeout + end. + diff --git a/apps/emqx_coap/test/emqx_coap_ps_SUITE.erl b/apps/emqx_coap/test/emqx_coap_ps_SUITE.erl new file mode 100644 index 000000000..930a027d8 --- /dev/null +++ b/apps/emqx_coap/test/emqx_coap_ps_SUITE.erl @@ -0,0 +1,677 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_coap_ps_SUITE). + +-compile(export_all). +-compile(nowarn_export_all). + +-include_lib("gen_coap/include/coap.hrl"). +-include_lib("eunit/include/eunit.hrl"). +-include_lib("emqx_libs/include/emqx.hrl"). + +-define(LOGT(Format, Args), ct:pal(Format, Args)). + +all() -> emqx_ct:all(?MODULE). + +init_per_suite(Config) -> + emqx_ct_helpers:start_apps([emqx_coap], fun set_sepecial_cfg/1), + Config. + +set_sepecial_cfg(emqx_coap) -> + application:set_env(emqx_coap, enable_stats, true); +set_sepecial_cfg(_) -> + ok. + +end_per_suite(Config) -> + emqx_ct_helpers:stop_apps([emqx_coap]), + Config. + +%%-------------------------------------------------------------------- +%% Test Cases +%%-------------------------------------------------------------------- + +t_update_max_age(_Config) -> + TopicInPayload = <<"topic1">>, + Payload = <<";ct=42">>, + Payload1 = <<";ct=50">>, + URI = "coap://127.0.0.1/ps/"++"?c=client1&u=tom&p=secret", + URI2 = "coap://127.0.0.1/ps/topic1"++"?c=client1&u=tom&p=secret", + Reply = er_coap_client:request(post, URI, #coap_content{format = <<"application/link-format">>, payload = Payload}), + ?LOGT("Reply =~p", [Reply]), + {ok,created, #coap_content{location_path = LocPath}} = Reply, + ?assertEqual([<<"/ps/topic1">>] ,LocPath), + TopicInfo = [{TopicInPayload, MaxAge1, CT1, _ResPayload, _TimeStamp}] = emqx_coap_ps_topics:lookup_topic_info(TopicInPayload), + ?LOGT("lookup topic info=~p", [TopicInfo]), + ?assertEqual(60, MaxAge1), + ?assertEqual(<<"42">>, CT1), + + timer:sleep(50), + + %% post to create the same topic but with different max age and ct value in payload + Reply1 = er_coap_client:request(post, URI, #coap_content{max_age = 70, format = <<"application/link-format">>, payload = Payload1}), + {ok,created, #coap_content{location_path = LocPath}} = Reply1, + ?assertEqual([<<"/ps/topic1">>] ,LocPath), + [{TopicInPayload, MaxAge2, CT2, _ResPayload, _TimeStamp1}] = emqx_coap_ps_topics:lookup_topic_info(TopicInPayload), + ?assertEqual(70, MaxAge2), + ?assertEqual(<<"50">>, CT2), + + {ok, deleted, #coap_content{}} = er_coap_client:request(delete, URI2). + +t_create_subtopic(_Config) -> + TopicInPayload = <<"topic1">>, + TopicInPayloadStr = "topic1", + Payload = <<";ct=42">>, + URI = "coap://127.0.0.1/ps/"++"?c=client1&u=tom&p=secret", + RealURI = "coap://127.0.0.1/ps/topic1"++"?c=client1&u=tom&p=secret", + + Reply = er_coap_client:request(post, URI, #coap_content{format = <<"application/link-format">>, payload = Payload}), + ?LOGT("Reply =~p", [Reply]), + {ok,created, #coap_content{location_path = LocPath}} = Reply, + ?assertEqual([<<"/ps/topic1">>] ,LocPath), + TopicInfo = [{TopicInPayload, MaxAge1, CT1, _ResPayload, _TimeStamp}] = emqx_coap_ps_topics:lookup_topic_info(TopicInPayload), + ?LOGT("lookup topic info=~p", [TopicInfo]), + ?assertEqual(60, MaxAge1), + ?assertEqual(<<"42">>, CT1), + + timer:sleep(50), + + %% post to create the a sub topic + SubPayload = <<";ct=42">>, + SubTopicInPayloadStr = "subtopic", + SubURI = "coap://127.0.0.1/ps/"++TopicInPayloadStr++"?c=client1&u=tom&p=secret", + SubRealURI = "coap://127.0.0.1/ps/"++TopicInPayloadStr++"/"++SubTopicInPayloadStr++"?c=client1&u=tom&p=secret", + FullTopic = list_to_binary(TopicInPayloadStr++"/"++SubTopicInPayloadStr), + Reply1 = er_coap_client:request(post, SubURI, #coap_content{format = <<"application/link-format">>, payload = SubPayload}), + ?LOGT("Reply =~p", [Reply1]), + {ok,created, #coap_content{location_path = LocPath1}} = Reply1, + ?assertEqual([<<"/ps/topic1/subtopic">>] ,LocPath1), + [{FullTopic, MaxAge2, CT2, _ResPayload, _}] = emqx_coap_ps_topics:lookup_topic_info(FullTopic), + ?assertEqual(60, MaxAge2), + ?assertEqual(<<"42">>, CT2), + + {ok, deleted, #coap_content{}} = er_coap_client:request(delete, SubRealURI), + {ok, deleted, #coap_content{}} = er_coap_client:request(delete, RealURI). + +t_over_max_age(_Config) -> + TopicInPayload = <<"topic1">>, + Payload = <<";ct=42">>, + URI = "coap://127.0.0.1/ps/"++"?c=client1&u=tom&p=secret", + Reply = er_coap_client:request(post, URI, #coap_content{max_age = 2, format = <<"application/link-format">>, payload = Payload}), + ?LOGT("Reply =~p", [Reply]), + {ok,created, #coap_content{location_path = LocPath}} = Reply, + ?assertEqual([<<"/ps/topic1">>] ,LocPath), + TopicInfo = [{TopicInPayload, MaxAge1, CT1, _ResPayload, _TimeStamp}] = emqx_coap_ps_topics:lookup_topic_info(TopicInPayload), + ?LOGT("lookup topic info=~p", [TopicInfo]), + ?assertEqual(2, MaxAge1), + ?assertEqual(<<"42">>, CT1), + + timer:sleep(3000), + ?assertEqual(true, emqx_coap_ps_topics:is_topic_timeout(TopicInPayload)). + +t_refreash_max_age(_Config) -> + TopicInPayload = <<"topic1">>, + Payload = <<";ct=42">>, + Payload1 = <<";ct=50">>, + URI = "coap://127.0.0.1/ps/"++"?c=client1&u=tom&p=secret", + RealURI = "coap://127.0.0.1/ps/topic1"++"?c=client1&u=tom&p=secret", + Reply = er_coap_client:request(post, URI, #coap_content{max_age = 5, format = <<"application/link-format">>, payload = Payload}), + ?LOGT("Reply =~p", [Reply]), + {ok,created, #coap_content{location_path = LocPath}} = Reply, + ?assertEqual([<<"/ps/topic1">>] ,LocPath), + TopicInfo = [{TopicInPayload, MaxAge1, CT1, _ResPayload, TimeStamp}] = emqx_coap_ps_topics:lookup_topic_info(TopicInPayload), + ?LOGT("lookup topic info=~p", [TopicInfo]), + ?LOGT("TimeStamp=~p", [TimeStamp]), + ?assertEqual(5, MaxAge1), + ?assertEqual(<<"42">>, CT1), + + timer:sleep(3000), + + %% post to create the same topic, the max age timer will be restarted with the new max age value + Reply1 = er_coap_client:request(post, URI, #coap_content{max_age = 5, format = <<"application/link-format">>, payload = Payload1}), + {ok,created, #coap_content{location_path = LocPath}} = Reply1, + ?assertEqual([<<"/ps/topic1">>] ,LocPath), + [{TopicInPayload, MaxAge2, CT2, _ResPayload, TimeStamp1}] = emqx_coap_ps_topics:lookup_topic_info(TopicInPayload), + ?LOGT("TimeStamp1=~p", [TimeStamp1]), + ?assertEqual(5, MaxAge2), + ?assertEqual(<<"50">>, CT2), + + timer:sleep(3000), + ?assertEqual(false, emqx_coap_ps_topics:is_topic_timeout(TopicInPayload)), + + {ok, deleted, #coap_content{}} = er_coap_client:request(delete, RealURI). + +t_case01_publish_post(_Config) -> + timer:sleep(100), + MainTopic = <<"maintopic">>, + TopicInPayload = <<"topic1">>, + Payload = <<";ct=42">>, + MainTopicStr = binary_to_list(MainTopic), + + %% post to create topic maintopic/topic1 + URI1 = "coap://127.0.0.1/ps/"++MainTopicStr++"?c=client1&u=tom&p=secret", + FullTopic = list_to_binary(MainTopicStr++"/"++binary_to_list(TopicInPayload)), + Reply1 = er_coap_client:request(post, URI1, #coap_content{format = <<"application/link-format">>, payload = Payload}), + ?LOGT("Reply =~p", [Reply1]), + {ok,created, #coap_content{location_path = LocPath1}} = Reply1, + ?assertEqual([<<"/ps/maintopic/topic1">>] ,LocPath1), + [{FullTopic, MaxAge, CT2, <<>>, _TimeStamp}] = emqx_coap_ps_topics:lookup_topic_info(FullTopic), + ?assertEqual(60, MaxAge), + ?assertEqual(<<"42">>, CT2), + + %% post to publish message to topic maintopic/topic1 + FullTopicStr = http_uri:encode(binary_to_list(FullTopic)), + URI2 = "coap://127.0.0.1/ps/"++FullTopicStr++"?c=client1&u=tom&p=secret", + PubPayload = <<"PUBLISH">>, + + %% Sub topic first + emqx:subscribe(FullTopic), + + Reply2 = er_coap_client:request(post, URI2, #coap_content{format = <<"application/octet-stream">>, payload = PubPayload}), + ?LOGT("Reply =~p", [Reply2]), + {ok,changed, _} = Reply2, + TopicInfo = [{FullTopic, MaxAge, CT2, PubPayload, _TimeStamp1}] = emqx_coap_ps_topics:lookup_topic_info(FullTopic), + ?LOGT("the topic info =~p", [TopicInfo]), + + assert_recv(FullTopic, PubPayload), + {ok, deleted, #coap_content{}} = er_coap_client:request(delete, URI2). + +t_case02_publish_post(_Config) -> + Topic = <<"topic1">>, + TopicStr = binary_to_list(Topic), + Payload = <<"payload">>, + + %% Sub topic first + emqx:subscribe(Topic), + + %% post to publish a new topic "topic1", and the topic is created + URI = "coap://127.0.0.1/ps/"++TopicStr++"?c=client1&u=tom&p=secret", + Reply = er_coap_client:request(post, URI, #coap_content{format = <<"application/octet-stream">>, payload = Payload}), + ?LOGT("Reply =~p", [Reply]), + {ok,created, #coap_content{location_path = LocPath}} = Reply, + ?assertEqual([<<"/ps/topic1">>] ,LocPath), + [{Topic, MaxAge, CT, Payload, _TimeStamp}] = emqx_coap_ps_topics:lookup_topic_info(Topic), + ?assertEqual(60, MaxAge), + ?assertEqual(<<"42">>, CT), + + assert_recv(Topic, Payload), + + %% post to publish a new message to the same topic "topic1" with different payload + NewPayload = <<"newpayload">>, + Reply1 = er_coap_client:request(post, URI, #coap_content{format = <<"application/octet-stream">>, payload = NewPayload}), + ?LOGT("Reply =~p", [Reply1]), + {ok,changed, _} = Reply1, + [{Topic, MaxAge, CT, NewPayload, _TimeStamp1}] = emqx_coap_ps_topics:lookup_topic_info(Topic), + + assert_recv(Topic, NewPayload), + {ok, deleted, #coap_content{}} = er_coap_client:request(delete, URI). + +t_case03_publish_post(_Config) -> + Topic = <<"topic1">>, + TopicStr = binary_to_list(Topic), + Payload = <<"payload">>, + + %% Sub topic first + emqx:subscribe(Topic), + + %% post to publish a new topic "topic1", and the topic is created + URI = "coap://127.0.0.1/ps/"++TopicStr++"?c=client1&u=tom&p=secret", + Reply = er_coap_client:request(post, URI, #coap_content{format = <<"application/octet-stream">>, payload = Payload}), + ?LOGT("Reply =~p", [Reply]), + {ok,created, #coap_content{location_path = LocPath}} = Reply, + ?assertEqual([<<"/ps/topic1">>] ,LocPath), + [{Topic, MaxAge, CT, Payload, _TimeStamp}] = emqx_coap_ps_topics:lookup_topic_info(Topic), + ?assertEqual(60, MaxAge), + ?assertEqual(<<"42">>, CT), + + assert_recv(Topic, Payload), + + %% post to publish a new message to the same topic "topic1", but the ct is not same as created + NewPayload = <<"newpayload">>, + Reply1 = er_coap_client:request(post, URI, #coap_content{format = <<"application/exi">>, payload = NewPayload}), + ?LOGT("Reply =~p", [Reply1]), + ?assertEqual({error,bad_request}, Reply1), + + {ok, deleted, #coap_content{}} = er_coap_client:request(delete, URI). + +t_case04_publish_post(_Config) -> + Topic = <<"topic1">>, + TopicStr = binary_to_list(Topic), + Payload = <<"payload">>, + + %% post to publish a new topic "topic1", and the topic is created + URI = "coap://127.0.0.1/ps/"++TopicStr++"?c=client1&u=tom&p=secret", + Reply = er_coap_client:request(post, URI, #coap_content{max_age = 5, format = <<"application/octet-stream">>, payload = Payload}), + ?LOGT("Reply =~p", [Reply]), + {ok,created, #coap_content{location_path = LocPath}} = Reply, + ?assertEqual([<<"/ps/topic1">>] ,LocPath), + [{Topic, MaxAge, CT, Payload, _TimeStamp}] = emqx_coap_ps_topics:lookup_topic_info(Topic), + ?assertEqual(5, MaxAge), + ?assertEqual(<<"42">>, CT), + + %% after max age timeout, the topic still exists but the status is timeout + timer:sleep(6000), + ?assertEqual(true, emqx_coap_ps_topics:is_topic_timeout(Topic)), + + {ok, deleted, #coap_content{}} = er_coap_client:request(delete, URI). + +t_case01_publish_put(_Config) -> + MainTopic = <<"maintopic">>, + TopicInPayload = <<"topic1">>, + Payload = <<";ct=42">>, + MainTopicStr = binary_to_list(MainTopic), + + %% post to create topic maintopic/topic1 + URI1 = "coap://127.0.0.1/ps/"++MainTopicStr++"?c=client1&u=tom&p=secret", + FullTopic = list_to_binary(MainTopicStr++"/"++binary_to_list(TopicInPayload)), + Reply1 = er_coap_client:request(post, URI1, #coap_content{format = <<"application/link-format">>, payload = Payload}), + ?LOGT("Reply =~p", [Reply1]), + {ok,created, #coap_content{location_path = LocPath1}} = Reply1, + ?assertEqual([<<"/ps/maintopic/topic1">>] ,LocPath1), + [{FullTopic, MaxAge, CT2, <<>>, _TimeStamp}] = emqx_coap_ps_topics:lookup_topic_info(FullTopic), + ?assertEqual(60, MaxAge), + ?assertEqual(<<"42">>, CT2), + + %% put to publish message to topic maintopic/topic1 + FullTopicStr = http_uri:encode(binary_to_list(FullTopic)), + URI2 = "coap://127.0.0.1/ps/"++FullTopicStr++"?c=client1&u=tom&p=secret", + PubPayload = <<"PUBLISH">>, + + %% Sub topic first + emqx:subscribe(FullTopic), + + Reply2 = er_coap_client:request(put, URI2, #coap_content{format = <<"application/octet-stream">>, payload = PubPayload}), + ?LOGT("Reply =~p", [Reply2]), + {ok,changed, _} = Reply2, + [{FullTopic, MaxAge, CT2, PubPayload, _TimeStamp1}] = emqx_coap_ps_topics:lookup_topic_info(FullTopic), + + assert_recv(FullTopic, PubPayload), + + {ok, deleted, #coap_content{}} = er_coap_client:request(delete, URI2). + +t_case02_publish_put(_Config) -> + Topic = <<"topic1">>, + TopicStr = binary_to_list(Topic), + Payload = <<"payload">>, + + %% Sub topic first + emqx:subscribe(Topic), + + %% put to publish a new topic "topic1", and the topic is created + URI = "coap://127.0.0.1/ps/"++TopicStr++"?c=client1&u=tom&p=secret", + Reply = er_coap_client:request(put, URI, #coap_content{format = <<"application/octet-stream">>, payload = Payload}), + ?LOGT("Reply =~p", [Reply]), + {ok,created, #coap_content{location_path = LocPath}} = Reply, + ?assertEqual([<<"/ps/topic1">>] ,LocPath), + [{Topic, MaxAge, CT, Payload, _TimeStamp}] = emqx_coap_ps_topics:lookup_topic_info(Topic), + ?assertEqual(60, MaxAge), + ?assertEqual(<<"42">>, CT), + + assert_recv(Topic, Payload), + + %% put to publish a new message to the same topic "topic1" with different payload + NewPayload = <<"newpayload">>, + Reply1 = er_coap_client:request(put, URI, #coap_content{format = <<"application/octet-stream">>, payload = NewPayload}), + ?LOGT("Reply =~p", [Reply1]), + {ok,changed, _} = Reply1, + [{Topic, MaxAge, CT, NewPayload, _TimeStamp1}] = emqx_coap_ps_topics:lookup_topic_info(Topic), + + assert_recv(Topic, NewPayload), + + {ok, deleted, #coap_content{}} = er_coap_client:request(delete, URI). + +t_case03_publish_put(_Config) -> + Topic = <<"topic1">>, + TopicStr = binary_to_list(Topic), + Payload = <<"payload">>, + + %% Sub topic first + emqx:subscribe(Topic), + + %% put to publish a new topic "topic1", and the topic is created + URI = "coap://127.0.0.1/ps/"++TopicStr++"?c=client1&u=tom&p=secret", + Reply = er_coap_client:request(put, URI, #coap_content{format = <<"application/octet-stream">>, payload = Payload}), + ?LOGT("Reply =~p", [Reply]), + {ok,created, #coap_content{location_path = LocPath}} = Reply, + ?assertEqual([<<"/ps/topic1">>] ,LocPath), + [{Topic, MaxAge, CT, Payload, _TimeStamp}] = emqx_coap_ps_topics:lookup_topic_info(Topic), + ?assertEqual(60, MaxAge), + ?assertEqual(<<"42">>, CT), + + assert_recv(Topic, Payload), + + %% put to publish a new message to the same topic "topic1", but the ct is not same as created + NewPayload = <<"newpayload">>, + Reply1 = er_coap_client:request(put, URI, #coap_content{format = <<"application/exi">>, payload = NewPayload}), + ?LOGT("Reply =~p", [Reply1]), + ?assertEqual({error,bad_request}, Reply1), + + {ok, deleted, #coap_content{}} = er_coap_client:request(delete, URI). + +t_case04_publish_put(_Config) -> + Topic = <<"topic1">>, + TopicStr = binary_to_list(Topic), + Payload = <<"payload">>, + + %% put to publish a new topic "topic1", and the topic is created + URI = "coap://127.0.0.1/ps/"++TopicStr++"?c=client1&u=tom&p=secret", + Reply = er_coap_client:request(put, URI, #coap_content{max_age = 5, format = <<"application/octet-stream">>, payload = Payload}), + ?LOGT("Reply =~p", [Reply]), + {ok,created, #coap_content{location_path = LocPath}} = Reply, + ?assertEqual([<<"/ps/topic1">>] ,LocPath), + [{Topic, MaxAge, CT, Payload, _TimeStamp}] = emqx_coap_ps_topics:lookup_topic_info(Topic), + ?assertEqual(5, MaxAge), + ?assertEqual(<<"42">>, CT), + + %% after max age timeout, no publish message to the same topic, the topic info will be deleted + %%%%%%%%%%%%%%%%%%%%%%%%%% + % but there is one thing to do is we don't count in the publish message received from emqx(from other node).TBD!!!!!!!!!!!!! + %%%%%%%%%%%%%%%%%%%%%%%%%% + timer:sleep(6000), + ?assertEqual(true, emqx_coap_ps_topics:is_topic_timeout(Topic)), + + {ok, deleted, #coap_content{}} = er_coap_client:request(delete, URI). + +t_case01_subscribe(_Config) -> + Topic = <<"topic1">>, + Payload1 = <<";ct=42">>, + timer:sleep(100), + + %% First post to create a topic "topic1" + Uri = "coap://127.0.0.1/ps/"++"?c=client1&u=tom&p=secret", + Reply = er_coap_client:request(post, Uri, #coap_content{format = <<"application/link-format">>, payload = Payload1}), + ?LOGT("Reply =~p", [Reply]), + {ok,created, #coap_content{location_path = [LocPath]}} = Reply, + ?assertEqual(<<"/ps/topic1">> ,LocPath), + TopicInfo = [{Topic, MaxAge1, CT1, _ResPayload, _TimeStamp}] = emqx_coap_ps_topics:lookup_topic_info(Topic), + ?LOGT("lookup topic info=~p", [TopicInfo]), + ?assertEqual(60, MaxAge1), + ?assertEqual(<<"42">>, CT1), + + %% Subscribe the topic + Uri1 = "coap://127.0.0.1"++binary_to_list(LocPath)++"?c=client1&u=tom&p=secret", + {ok, Pid, N, Code, Content} = er_coap_observer:observe(Uri1), + ?LOGT("observer Pid=~p, N=~p, Code=~p, Content=~p", [Pid, N, Code, Content]), + + [SubPid] = emqx:subscribers(Topic), + ?assert(is_pid(SubPid)), + + %% Publish a message + Payload = <<"123">>, + emqx:publish(emqx_message:make(Topic, Payload)), + + Notif = receive_notification(), + ?LOGT("observer get Notif=~p", [Notif]), + {coap_notify, _, _, {ok,content}, #coap_content{payload = PayloadRecv}} = Notif, + + ?_assertEqual(Payload, PayloadRecv), + + %% GET to read the publish message of the topic + Reply1 = er_coap_client:request(get, Uri1), + ?LOGT("Reply=~p", [Reply1]), + {ok,content, #coap_content{max_age = MaxAgeLeft,payload = <<"123">>}} = Reply1, + ?_assertEqual(true, MaxAgeLeft<60), + + er_coap_observer:stop(Pid), + {ok, deleted, #coap_content{}} = er_coap_client:request(delete, Uri1). + +t_case02_subscribe(_Config) -> + Topic = <<"a/b">>, + TopicStr = binary_to_list(Topic), + PercentEncodedTopic = http_uri:encode(TopicStr), + Payload = <<"payload">>, + + %% post to publish a new topic "a/b", and the topic is created + URI = "coap://127.0.0.1/ps/"++PercentEncodedTopic++"?c=client1&u=tom&p=secret", + Reply = er_coap_client:request(post, URI, #coap_content{max_age = 5, format = <<"application/octet-stream">>, payload = Payload}), + ?LOGT("Reply =~p", [Reply]), + {ok,created, #coap_content{location_path = LocPath}} = Reply, + ?assertEqual([<<"/ps/a/b">>] ,LocPath), + [{Topic, MaxAge, CT, Payload, _TimeStamp}] = emqx_coap_ps_topics:lookup_topic_info(Topic), + ?assertEqual(5, MaxAge), + ?assertEqual(<<"42">>, CT), + + %% Wait for the max age of the timer expires + timer:sleep(6000), + ?assertEqual(true, emqx_coap_ps_topics:is_topic_timeout(Topic)), + + %% Subscribe to the timeout topic "a/b", still successfully,got {ok, nocontent} Method + Uri = "coap://127.0.0.1/ps/"++PercentEncodedTopic++"?c=client1&u=tom&p=secret", + Reply1 = {ok, Pid, _N, nocontent, _} = er_coap_observer:observe(Uri), + ?LOGT("Subscribe Reply=~p", [Reply1]), + + [SubPid] = emqx:subscribers(Topic), + ?assert(is_pid(SubPid)), + + %% put to publish to topic "a/b" + Reply2 = er_coap_client:request(put, URI, #coap_content{format = <<"application/octet-stream">>, payload = Payload}), + {ok,changed, #coap_content{}} = Reply2, + [{Topic, MaxAge1, CT, Payload, TimeStamp}] = emqx_coap_ps_topics:lookup_topic_info(Topic), + ?assertEqual(60, MaxAge1), + ?assertEqual(<<"42">>, CT), + ?assertEqual(false, TimeStamp =:= timeout), + + %% Publish a message + emqx:publish(emqx_message:make(Topic, Payload)), + + Notif = receive_notification(), + ?LOGT("observer get Notif=~p", [Notif]), + {coap_notify, _, _, {ok,content}, #coap_content{payload = Payload}} = Notif, + + er_coap_observer:stop(Pid), + {ok, deleted, #coap_content{}} = er_coap_client:request(delete, URI). + +t_case03_subscribe(_Config) -> + %% Subscribe to the unexisted topic "a/b", got not_found + Topic = <<"a/b">>, + TopicStr = binary_to_list(Topic), + PercentEncodedTopic = http_uri:encode(TopicStr), + Uri = "coap://127.0.0.1/ps/"++PercentEncodedTopic++"?c=client1&u=tom&p=secret", + {error, not_found} = er_coap_observer:observe(Uri), + + [] = emqx:subscribers(Topic). + +t_case04_subscribe(_Config) -> + %% Subscribe to the wildcad topic "+/b", got bad_request + Topic = <<"+/b">>, + TopicStr = binary_to_list(Topic), + PercentEncodedTopic = http_uri:encode(TopicStr), + Uri = "coap://127.0.0.1/ps/"++PercentEncodedTopic++"?c=client1&u=tom&p=secret", + {error, bad_request} = er_coap_observer:observe(Uri), + + [] = emqx:subscribers(Topic). + +t_case01_read(_Config) -> + Topic = <<"topic1">>, + TopicStr = binary_to_list(Topic), + Payload = <<"PubPayload">>, + timer:sleep(100), + + %% First post to create a topic "topic1" + Uri = "coap://127.0.0.1/ps/"++TopicStr++"?c=client1&u=tom&p=secret", + Reply = er_coap_client:request(post, Uri, #coap_content{format = <<"application/octet-stream">>, payload = Payload}), + ?LOGT("Reply =~p", [Reply]), + {ok,created, #coap_content{location_path = [LocPath]}} = Reply, + ?assertEqual(<<"/ps/topic1">> ,LocPath), + TopicInfo = [{Topic, MaxAge1, CT1, _ResPayload, _TimeStamp}] = emqx_coap_ps_topics:lookup_topic_info(Topic), + ?LOGT("lookup topic info=~p", [TopicInfo]), + ?assertEqual(60, MaxAge1), + ?assertEqual(<<"42">>, CT1), + + %% GET to read the publish message of the topic + Reply1 = er_coap_client:request(get, Uri), + ?LOGT("Reply=~p", [Reply1]), + {ok,content, #coap_content{max_age = MaxAgeLeft,payload = Payload}} = Reply1, + ?_assertEqual(true, MaxAgeLeft<60), + + {ok, deleted, #coap_content{}} = er_coap_client:request(delete, Uri). + +t_case02_read(_Config) -> + Topic = <<"topic1">>, + TopicStr = binary_to_list(Topic), + Payload = <<"PubPayload">>, + timer:sleep(100), + + %% First post to publish a topic "topic1" + Uri = "coap://127.0.0.1/ps/"++TopicStr++"?c=client1&u=tom&p=secret", + Reply = er_coap_client:request(post, Uri, #coap_content{format = <<"application/octet-stream">>, payload = Payload}), + ?LOGT("Reply =~p", [Reply]), + {ok,created, #coap_content{location_path = [LocPath]}} = Reply, + ?assertEqual(<<"/ps/topic1">> ,LocPath), + TopicInfo = [{Topic, MaxAge1, CT1, _ResPayload, _TimeStamp}] = emqx_coap_ps_topics:lookup_topic_info(Topic), + ?LOGT("lookup topic info=~p", [TopicInfo]), + ?assertEqual(60, MaxAge1), + ?assertEqual(<<"42">>, CT1), + + %% GET to read the publish message of unmatched format, got bad_request + Reply1 = er_coap_client:request(get, Uri, #coap_content{format = <<"application/json">>}), + ?LOGT("Reply=~p", [Reply1]), + {error, bad_request} = Reply1, + + {ok, deleted, #coap_content{}} = er_coap_client:request(delete, Uri). + +t_case03_read(_Config) -> + Topic = <<"topic1">>, + TopicStr = binary_to_list(Topic), + Uri = "coap://127.0.0.1/ps/"++TopicStr++"?c=client1&u=tom&p=secret", + timer:sleep(100), + + %% GET to read the nexisted topic "topic1", got not_found + Reply = er_coap_client:request(get, Uri), + ?LOGT("Reply=~p", [Reply]), + {error, not_found} = Reply. + +t_case04_read(_Config) -> + Topic = <<"topic1">>, + TopicStr = binary_to_list(Topic), + Payload = <<"PubPayload">>, + timer:sleep(100), + + %% First post to publish a topic "topic1" + Uri = "coap://127.0.0.1/ps/"++TopicStr++"?c=client1&u=tom&p=secret", + Reply = er_coap_client:request(post, Uri, #coap_content{format = <<"application/octet-stream">>, payload = Payload}), + ?LOGT("Reply =~p", [Reply]), + {ok,created, #coap_content{location_path = [LocPath]}} = Reply, + ?assertEqual(<<"/ps/topic1">> ,LocPath), + TopicInfo = [{Topic, MaxAge1, CT1, _ResPayload, _TimeStamp}] = emqx_coap_ps_topics:lookup_topic_info(Topic), + ?LOGT("lookup topic info=~p", [TopicInfo]), + ?assertEqual(60, MaxAge1), + ?assertEqual(<<"42">>, CT1), + + %% GET to read the publish message of wildcard topic, got bad_request + WildTopic = binary_to_list(<<"+/topic1">>), + Uri1 = "coap://127.0.0.1/ps/"++WildTopic++"?c=client1&u=tom&p=secret", + Reply1 = er_coap_client:request(get, Uri1, #coap_content{format = <<"application/json">>}), + ?LOGT("Reply=~p", [Reply1]), + {error, bad_request} = Reply1, + + {ok, deleted, #coap_content{}} = er_coap_client:request(delete, Uri). + +t_case05_read(_Config) -> + Topic = <<"a/b">>, + TopicStr = binary_to_list(Topic), + PercentEncodedTopic = http_uri:encode(TopicStr), + Payload = <<"payload">>, + + %% post to publish a new topic "a/b", and the topic is created + URI = "coap://127.0.0.1/ps/"++PercentEncodedTopic++"?c=client1&u=tom&p=secret", + Reply = er_coap_client:request(post, URI, #coap_content{max_age = 5, format = <<"application/octet-stream">>, payload = Payload}), + ?LOGT("Reply =~p", [Reply]), + {ok,created, #coap_content{location_path = LocPath}} = Reply, + ?assertEqual([<<"/ps/a/b">>] ,LocPath), + [{Topic, MaxAge, CT, Payload, _TimeStamp}] = emqx_coap_ps_topics:lookup_topic_info(Topic), + ?assertEqual(5, MaxAge), + ?assertEqual(<<"42">>, CT), + + %% Wait for the max age of the timer expires + timer:sleep(6000), + ?assertEqual(true, emqx_coap_ps_topics:is_topic_timeout(Topic)), + + %% GET to read the expired publish message, supposed to get {ok, nocontent}, but now got {ok, content} + Reply1 = er_coap_client:request(get, URI), + ?LOGT("Reply=~p", [Reply1]), + {ok, content, #coap_content{payload = <<>>}}= Reply1, + + {ok, deleted, #coap_content{}} = er_coap_client:request(delete, URI). + +t_case01_delete(_Config) -> + TopicInPayload = <<"a/b">>, + TopicStr = binary_to_list(TopicInPayload), + PercentEncodedTopic = http_uri:encode(TopicStr), + Payload = list_to_binary("<"++PercentEncodedTopic++">;ct=42"), + URI = "coap://127.0.0.1/ps/"++"?c=client1&u=tom&p=secret", + + %% Client post to CREATE topic "a/b" + Reply = er_coap_client:request(post, URI, #coap_content{format = <<"application/link-format">>, payload = Payload}), + ?LOGT("Reply =~p", [Reply]), + {ok,created, #coap_content{location_path = LocPath}} = Reply, + ?assertEqual([<<"/ps/a/b">>] ,LocPath), + + %% Client post to CREATE topic "a/b/c" + TopicInPayload1 = <<"a/b/c">>, + PercentEncodedTopic1 = http_uri:encode(binary_to_list(TopicInPayload1)), + Payload1 = list_to_binary("<"++PercentEncodedTopic1++">;ct=42"), + Reply1 = er_coap_client:request(post, URI, #coap_content{format = <<"application/link-format">>, payload = Payload1}), + ?LOGT("Reply =~p", [Reply1]), + {ok,created, #coap_content{location_path = LocPath1}} = Reply1, + ?assertEqual([<<"/ps/a/b/c">>] ,LocPath1), + + timer:sleep(50), + + %% DELETE the topic "a/b" + UriD = "coap://127.0.0.1/ps/"++PercentEncodedTopic++"?c=client1&u=tom&p=secret", + ReplyD = er_coap_client:request(delete, UriD), + ?LOGT("Reply=~p", [Reply1]), + {ok, deleted, #coap_content{}}= ReplyD, + + ?assertEqual(false, emqx_coap_ps_topics:is_topic_existed(TopicInPayload)), + ?assertEqual(false, emqx_coap_ps_topics:is_topic_existed(TopicInPayload1)). + +t_case02_delete(_Config) -> + TopicInPayload = <<"a/b">>, + TopicStr = binary_to_list(TopicInPayload), + PercentEncodedTopic = http_uri:encode(TopicStr), + + %% DELETE the unexisted topic "a/b" + Uri1 = "coap://127.0.0.1/ps/"++PercentEncodedTopic++"?c=client1&u=tom&p=secret", + Reply1 = er_coap_client:request(delete, Uri1), + ?LOGT("Reply=~p", [Reply1]), + {error, not_found} = Reply1. + +t_case13_emit_stats_test(_Config) -> + ok. + +%%-------------------------------------------------------------------- +%% Internal functions + +receive_notification() -> + receive + {coap_notify, Pid, N2, Code2, Content2} -> + {coap_notify, Pid, N2, Code2, Content2} + after 2000 -> + receive_notification_timeout + end. + +assert_recv(Topic, Payload) -> + receive + {deliver, _, Msg} -> + ?assertEqual(Topic, Msg#message.topic), + ?assertEqual(Payload, Msg#message.payload) + after + 500 -> + ?assert(false) + end. + diff --git a/apps/emqx_dashboard/README.md b/apps/emqx_dashboard/README.md new file mode 100644 index 000000000..e9e50a7c9 --- /dev/null +++ b/apps/emqx_dashboard/README.md @@ -0,0 +1,88 @@ + +emqx-dashboard +============== + +Dashboard for the EMQ X Broker. + +REST API +-------- + +The prefix of REST API is '/api/v4/'. + +Method | Path | Description +-------|---------------------------------------|------------------------------------ +GET | /nodes/ | A list of nodes in the cluster +GET | /nodes/:node | Lookup a node in the cluster +GET | /brokers/ | A list of brokers in the cluster +GET | /brokers/:node | Get broker info of a node +GET | /metrics/ | A list of metrics of all nodes in the cluster +GET | /nodes/:node/metrics/ | A list of metrics of a node +GET | /stats/ | A list of stats of all nodes in the cluster +GET | /nodes/:node/stats/ | A list of stats of a node +GET | /nodes/:node/clients/ | A list of clients on a node +GET | /listeners/ | A list of listeners in the cluster +GET | /nodes/:node/listeners | A list of listeners on the node +GET | /nodes/:node/sessions/ | A list of sessions on a node +GET | /subscriptions/:clientid | A list of subscriptions of a client +GET | /nodes/:node/subscriptions/:clientid | A list of subscriptions of a client on the node +GET | /nodes/:node/subscriptions/ | A list of subscriptions on a node +PUT | /clients/:clientid/clean_acl_cache | Clean ACL cache of a client +GET | /configs/ | Get all configs +GET | /nodes/:node/configs/ | Get all configs of a node +GET | /nodes/:node/plugin_configs/:plugin | Get configurations of a plugin on the node +DELETE | /clients/:clientid | Kick out a client +GET | /alarms/:node | List alarms of a node +GET | /alarms/ | List all alarms +GET | /plugins/ | List all plugins in the cluster +GET | /nodes/:node/plugins/ | List all plugins on a node +GET | /routes/ | List routes +POST | /nodes/:node/plugins/:plugin/load | Load a plugin +GET | /clients/:clientid | Lookup a client in the cluster +GET | nodes/:node/clients/:clientid | Lookup a client on node +GET | nodes/:node/sessions/:clientid | Lookup a session in the cluster +GET | nodes/:node/sessions/:clientid | Lookup a session on the node +POST | /mqtt/publish | Publish a MQTT message +POST | /mqtt/subscribe | Subscribe a topic +POST | /nodes/:node/plugins/:plugin/unload | Unload a plugin +POST | /mqtt/unsubscribe | Unsubscribe a topic +PUT | /configs/:app | Update config of an application in the cluster +PUT | /nodes/:node/configs/:app | Update config of an application on a node +PUT | /nodes/:node/plugin_configs/:plugin | Update configurations of a plugin on the node + +Build +----- + +make && make ct + +Configurtion +------------ + +``` +dashboard.listener = 18083 + +dashboard.listener.acceptors = 2 + +dashboard.listener.max_clients = 512 +``` + +Load Plugin +----------- + +``` +./bin/emqx_ctl plugins load emqx_dashboard +``` + +Login +----- + +URL: http://host:18083 + +Username: admin + +Password: public + +License +------- + +Apache License Version 2.0 + diff --git a/apps/emqx_dashboard/include/emqx_dashboard.hrl b/apps/emqx_dashboard/include/emqx_dashboard.hrl new file mode 100644 index 000000000..73b64de77 --- /dev/null +++ b/apps/emqx_dashboard/include/emqx_dashboard.hrl @@ -0,0 +1,21 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-record(mqtt_admin, {username, password, tags}). + +-type(mqtt_admin() :: #mqtt_admin{}). + +-define(EMPTY_KEY(Key), ((Key == undefined) orelse (Key == <<>>))). diff --git a/apps/emqx_dashboard/priv/emqx_dashboard.schema b/apps/emqx_dashboard/priv/emqx_dashboard.schema new file mode 100644 index 000000000..fcc8f3489 --- /dev/null +++ b/apps/emqx_dashboard/priv/emqx_dashboard.schema @@ -0,0 +1,151 @@ +%%-*- mode: erlang -*- +%% emqx_dashboard config mapping + +{mapping, "dashboard.default_user.login", "emqx_dashboard.default_user_username", [ + {datatype, string} +]}. + +{mapping, "dashboard.default_user.password", "emqx_dashboard.default_user_passwd", [ + {datatype, string} +]}. + +{mapping, "dashboard.listener.http", "emqx_dashboard.listeners", [ + {datatype, integer} +]}. + +{mapping, "dashboard.listener.http.acceptors", "emqx_dashboard.listeners", [ + {default, 4}, + {datatype, integer} +]}. + +{mapping, "dashboard.listener.http.max_clients", "emqx_dashboard.listeners", [ + {default, 512}, + {datatype, integer} +]}. + +{mapping, "dashboard.listener.http.access.$id", "emqx_dashboard.listeners", [ + {datatype, string} +]}. + +{mapping, "dashboard.listener.http.inet6", "emqx_dashboard.listeners", [ + {default, false}, + {datatype, {enum, [true, false]}} +]}. + +{mapping, "dashboard.listener.http.ipv6_v6only", "emqx_dashboard.listeners", [ + {default, false}, + {datatype, {enum, [true, false]}} +]}. + +{mapping, "dashboard.listener.https", "emqx_dashboard.listeners", [ + {datatype, integer} +]}. + +{mapping, "dashboard.listener.https.acceptors", "emqx_dashboard.listeners", [ + {default, 8}, + {datatype, integer} +]}. + +{mapping, "dashboard.listener.https.max_clients", "emqx_dashboard.listeners", [ + {default, 64}, + {datatype, integer} +]}. + +{mapping, "dashboard.listener.https.inet6", "emqx_dashboard.listeners", [ + {default, false}, + {datatype, {enum, [true, false]}} +]}. + +{mapping, "dashboard.listener.https.ipv6_v6only", "emqx_dashboard.listeners", [ + {default, false}, + {datatype, {enum, [true, false]}} +]}. + +{mapping, "dashboard.listener.https.tls_versions", "emqx_dashboard.listeners", [ + {datatype, string} +]}. + +{mapping, "dashboard.listener.https.dhfile", "emqx_dashboard.listeners", [ + {datatype, string} +]}. + +{mapping, "dashboard.listener.https.keyfile", "emqx_dashboard.listeners", [ + {datatype, string} +]}. + +{mapping, "dashboard.listener.https.certfile", "emqx_dashboard.listeners", [ + {datatype, string} +]}. + +{mapping, "dashboard.listener.https.cacertfile", "emqx_dashboard.listeners", [ + {datatype, string} +]}. + +{mapping, "dashboard.listener.https.verify", "emqx_dashboard.listeners", [ + {datatype, string} +]}. + +{mapping, "dashboard.listener.https.fail_if_no_peer_cert", "emqx_dashboard.listeners", [ + {datatype, {enum, [true, false]}} +]}. + +{mapping, "dashboard.listener.https.ciphers", "emqx_dashboard.listeners", [ + {datatype, string} +]}. + +{mapping, "dashboard.listener.https.secure_renegotiate", "emqx_dashboard.listeners", [ + {datatype, flag} +]}. + +{mapping, "dashboard.listener.https.reuse_sessions", "emqx_dashboard.listeners", [ + {default, on}, + {datatype, flag} +]}. + +{mapping, "dashboard.listener.https.honor_cipher_order", "emqx_dashboard.listeners", [ + {datatype, flag} +]}. + +{translation, "emqx_dashboard.listeners", fun(Conf) -> + Filter = fun(Opts) -> [{K, V} || {K, V} <- Opts, V =/= undefined] end, + LisOpts = fun(Prefix) -> + Filter([{num_acceptors, cuttlefish:conf_get(Prefix ++ ".acceptors", Conf)}, + {max_connections, cuttlefish:conf_get(Prefix ++ ".max_clients", Conf)}, + {inet6, cuttlefish:conf_get(Prefix ++ ".inet6", Conf)}, + {ipv6_v6only, cuttlefish:conf_get(Prefix ++ ".ipv6_v6only", Conf)}]) + end, + + SplitFun = fun(undefined) -> undefined; (S) -> string:tokens(S, ",") end, + + SslOpts = fun(Prefix) -> + Versions = case SplitFun(cuttlefish:conf_get(Prefix ++ ".tls_versions", Conf, undefined)) of + undefined -> undefined; + L -> [list_to_atom(V) || V <- L] + end, + Filter([{versions, Versions}, + {ciphers, SplitFun(cuttlefish:conf_get(Prefix ++ ".ciphers", Conf, undefined))}, + {dhfile, cuttlefish:conf_get(Prefix ++ ".dhfile", Conf, undefined)}, + {keyfile, cuttlefish:conf_get(Prefix ++ ".keyfile", Conf, undefined)}, + {certfile, cuttlefish:conf_get(Prefix ++ ".certfile", Conf, undefined)}, + {cacertfile, cuttlefish:conf_get(Prefix ++ ".cacertfile", Conf, undefined)}, + {verify, cuttlefish:conf_get(Prefix ++ ".verify", Conf, undefined)}, + {fail_if_no_peer_cert, cuttlefish:conf_get(Prefix ++ ".fail_if_no_peer_cert", Conf, undefined)}, + {secure_renegotiate, cuttlefish:conf_get(Prefix ++ ".secure_renegotiate", Conf, undefined)}, + {reuse_sessions, cuttlefish:conf_get(Prefix ++ ".reuse_sessions", Conf, undefined)}, + {honor_cipher_order, cuttlefish:conf_get(Prefix ++ ".honor_cipher_order", Conf, undefined)}]) + end, + lists:append( + lists:map( + fun(Proto) -> + Prefix = "dashboard.listener." ++ atom_to_list(Proto), + case cuttlefish:conf_get(Prefix, Conf, undefined) of + undefined -> []; + Port -> + [{Proto, Port, case Proto of + http -> LisOpts(Prefix); + https -> LisOpts(Prefix) ++ SslOpts(Prefix) + end}] + end + end, [http, https])) +end}. + diff --git a/apps/emqx_dashboard/priv/www/index.html b/apps/emqx_dashboard/priv/www/index.html new file mode 100644 index 000000000..4f43f0708 --- /dev/null +++ b/apps/emqx_dashboard/priv/www/index.html @@ -0,0 +1,3 @@ +Dashboard

    \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/css/app.1495f134b9420661c25a03fc6be1c155.css b/apps/emqx_dashboard/priv/www/static/css/app.1495f134b9420661c25a03fc6be1c155.css new file mode 100644 index 000000000..ab753d5bb --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/css/app.1495f134b9420661c25a03fc6be1c155.css @@ -0,0 +1 @@ +.login-view{width:100%;height:100%;background-color:#181818}.login-view .el-card{width:420px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.login-view .el-card .el-card__header{font-size:16px}.login-view .error input{border:2px solid #e0b4b4}.login-view .login-footer{margin-top:40px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}.home-view{box-sizing:border-box;min-height:100%}.home-view .home-content{margin:0 32px 0 232px;padding:60px 0 20px}.left-bar{position:fixed;top:0;bottom:0;width:200px;z-index:1002;overflow-y:auto;overflow-x:hidden;padding-top:140px;padding-bottom:45px;background-color:#242327;box-shadow:0 0 15px #0b0b0b}.left-bar .iconfont{margin-right:8px;font-size:18px}.left-bar .bar-title{position:fixed;top:0;z-index:1003;width:200px;border-bottom:1px solid #2b2c30;color:#fff!important;background-color:#242327;text-align:center;padding:24px 0}.left-bar .bar-title h3{font-size:18px;margin:0;color:#fff}.left-bar .bar-title img{width:60px;height:60px;margin-bottom:8px}.left-bar .bar-footer{position:fixed;bottom:0;width:180px;z-index:1003;padding-left:20px;height:47px;line-height:47px;background:inherit;border-top:1px solid #2b2c30;color:#fff!important}.left-bar .bar-footer span{font-size:16px;font-weight:bolder;margin-right:12px;vertical-align:middle}.left-bar .bar-footer a{font-weight:700}.left-bar .bar-footer a img{width:20px;height:20px;border:none;vertical-align:middle}.left-bar .el-menu{width:200px;min-height:100%;border-right:none!important}.left-bar .el-submenu__title{padding-left:27px!important;height:40px;line-height:40px}.left-bar .el-submenu .el-menu-item{width:157px!important;min-width:0;margin-left:11px}.left-bar .el-menu-item{height:36px!important;line-height:36px!important;background-color:#8f8e8e;color:#929299!important;border-radius:4px;width:185px;margin-left:7px;margin-bottom:4px;margin-top:4px;transition:border-color .3s,background-color .3s,color .3s,box-shadow .3s}.left-bar .el-menu-item:hover{color:#fff!important;background-color:#393a3e!important}.left-bar .el-menu-item:hover i{color:#fff!important}.left-bar .el-menu-item.is-active{color:#fff!important;background-color:#00b173!important;box-shadow:0 0 5px 0 #02d48a}.left-bar .el-menu-item.is-active i{color:#fff!important}.left-bar .last-item{margin-bottom:72px}.left-bar .menu-dot .el-badge__content.is-fixed.is-dot{top:17px;right:0}.left-bar .submenu-dot .el-badge__content.is-fixed.is-dot{right:3px;top:14px}.topbar{height:60px;line-height:60px;padding-left:110px;position:fixed;top:0;left:0;right:0;z-index:4}.topbar .top-area{background-color:#242327;height:100%;padding:0 32px;text-align:right}.topbar .top-area .topbar-right .help-link{display:inline;line-height:32px}.topbar .top-area .topbar-right .help-link .link{display:inline-block;color:#82858f;padding:0 20px;border-right:1px solid #2b2c30;position:relative;top:3px}.topbar .top-area .topbar-right .help-link .link .icon-bangzhu{font-size:20px}.topbar .top-area .topbar-right .help-link a.active{color:#34c388}.topbar .top-area .topbar-right .el-button{border-radius:40px;border-width:2px;margin-left:20px;font-size:14px;font-weight:400;line-height:15px;background:transparent}.topbar .top-area .topbar-right .el-button.enterprise-btn{color:#34c388;border-color:#34c388}.topbar .top-area .topbar-right .el-button.enterprise-btn .icon-arrow{position:relative;top:1px}.topbar .top-area .topbar-right .el-button.github-btn{color:#adafb4;border-color:#adafb4}.topbar .top-area .topbar-right .el-button .iconfont{margin-left:5px}.topbar .top-area .topbar-right .el-button--medium{padding:9px 20px}.overview-view *{padding:0;margin:0;box-sizing:border-box}.overview-view .el-select .el-input__inner{padding-left:10px}.overview-view .card-box{position:relative;margin-top:74px}.overview-view .card-box .card-title{position:absolute;height:24px;line-height:24px;width:100%;top:-34px;left:0;font-size:16px}.overview-view .card-box .el-table{margin-top:0}.overview-view .card-box .el-table .caret-wrapper{left:-8px}.overview-view .card-box .el-table--medium td,.overview-view .card-box .stats-table.el-table--medium th{padding:4px 0}@media screen and (max-width:1280px){.overview-view .card-box .el-col-6{width:50%!important;margin-top:10px!important}}@media screen and (max-width:740px){.overview-view .card-box .el-col-6{width:100%!important;margin-top:10px!important}}.overview-view .card-box .broker-card.el-row{overflow-x:auto}.overview-view .card-box .broker-card .el-col .card-item{height:90px;min-width:250px;line-height:90px;padding:18px 20px 0;border-radius:4px}.overview-view .card-box .broker-card .el-col .card-item .icon{float:left;width:54px;height:54px;line-height:50px;text-align:center;border:2px solid;border-radius:50%}.overview-view .card-box .broker-card .el-col .card-item .icon i{font-size:26px}.overview-view .card-box .broker-card .el-col .card-item .desc{line-height:normal;float:right;text-align:right;height:70px}.overview-view .card-box .broker-card .el-col .card-item .desc h3{font-size:14px;font-weight:700}.overview-view .card-box .broker-card .el-col .card-item .desc p{margin-top:12px;max-width:150px}.overview-view span{line-height:10px}.overview-view .box-card,.overview-view .el-row{margin-top:20px}.overview-view .iconfont{position:relative}.data-view .el-table{margin-top:24px}.data-view .el-row{margin-top:20px}.data-view .el-input{width:240px}.data-view .search-btn{margin-left:8px}.data-view .el-breadcrumb{margin-top:10px;margin-bottom:20px}.data-view .el-pagination .el-select .el-input .el-input__inner{height:22px}.data-view .el-select .el-input .el-select__caret{line-height:12px}.data-view .search-card{margin-top:24px;border:none}.data-view .search-card .el-card__body{padding:5px 12px}.data-view .search-card .el-input,.data-view .search-card .el-select{width:100%}.data-view .search-card .el-input--medium .el-input__inner{height:32px!important}.data-view .search-card .col-share{position:absolute;bottom:-13px}.data-view .search-card .col-oper{float:right;position:relative;top:1px;margin-bottom:10px}.data-view .search-card .col-oper .show-more{margin:0 10px;font-size:12px}.data-view .search-card .form-item-row{margin-top:0}.data-view .search-card .form-item-row .el-select.comparator .el-input--medium .el-input__inner,.data-view .search-card .form-item-row .el-select.match .el-input--medium .el-input__inner{border-radius:4px 0 0 4px}.data-view .search-card .form-item-row .el-input__inner{border-radius:0 4px 4px 0}.data-view .search-card .el-select .el-input .el-select__caret{line-height:36px}.data-view .custom-pagination{margin-top:10px}.data-view .custom-pagination a{transition:all .3s ease;color:#fff;margin-right:10px;background:#42d885;display:inline-block;border-radius:4px;padding:5px 8px}.data-view .custom-pagination a:hover{color:#fff}.data-view .custom-pagination a.disabled{transition:all .3s ease;color:#606266;background:transparent;cursor:not-allowed}.clients-view .client-oper{float:right;margin-top:-32px;color:#adafb4}.clients-view .client-oper .connect-btn{border:1px solid;background:transparent;margin-left:20px;min-width:80px;font-size:14px;font-weight:400}.clients-view .client-oper .connect-btn.disconnected{border-color:#ff6d6d;color:#ff6d6d}.clients-view .client-oper .connect-btn.connected{border-color:#adafb4;color:#adafb4}.clients-view .client-oper .connect-btn:hover{background:transparent!important}.clients-view .el-card.tabs-card{border-radius:0 0 4px 4px}.clients-view .el-card .el-card__body{padding:10px 36px}.clients-view .card-subtitle{font-size:16px;margin:24px 0}.clients-basic .clients-basic-form .form-item-desc{color:#5f6067;margin-left:20px;font-size:14px}.clients-basic .clients-basic-form .el-form-item__content{color:#f8f8f8}.clients-basic .clients-basic-form .el-form-item{margin-bottom:12px}.clients-basic .view-more{margin:24px 0;font-size:14px}.clients-subscriptions .oper-btn-group{text-align:right;margin:24px 0}.clients-subscriptions .client-sub-table{margin-bottom:24px}.clients-subscriptions .el-select--public{width:100%}.clients-subscriptions .el-select--public .el-input__inner{height:32px!important;line-height:32px!important}.rules-view .el-table{margin-top:24px}.rules-view .status-wrapper{padding:0;list-style-type:none}.rules-view .status-wrapper .status-item{padding:2px 6px}.rules-view .status-wrapper .status-item>span{margin-right:12px}.rules-view span[type=info]{padding-right:20px}.rules-view span[type=info]>span{margin-left:6px;color:#333;font-weight:600;border-bottom:1px dashed #d8d8d8}.rules-view span[type=info]>span:hover{font-weight:800}.rule-actions .status-wrapper .status-item,.rule-actions .status-wrapper .title{margin-bottom:10px}.rule-actions .status-wrapper .key{width:120px;display:inline-block}.rule-actions .action-item{margin:2px auto}.rule-actions .action-card{font-size:14px;margin-bottom:24px}.rule-actions .action-card .action-body,.rule-actions .action-card .action-footer{padding:20px}.rule-actions .action-card .filed-item{margin-bottom:16px}.rule-actions .action-card .filed-item:last-child{margin-bottom:0}.rule-actions .action-card .filed-item .title{margin-right:10px}.rule-actions .action-card .action-oper{text-align:right;position:relative}.rule-actions .action-card .action-oper .delete-btn{margin-bottom:40px}.rule-actions .action-card .action-oper .fallbacks{position:absolute;right:0;bottom:0}.rule-actions .action-card .action-oper .fallbacks .el-button [class*=el-icon-]+span{margin-left:0}.rule-actions .action-card:last-child{margin-bottom:0}.rule-actions .el-table__expanded-cell{padding:6px;font-size:12px}.action-dialog .action-tips{padding:20px auto;font-size:13px}.action-dialog .resource-item .el-form-item__label{width:100%;text-align:left;padding-right:0}.action-dialog .el-form-item__content{clear:both}.action-dialog .el-select{width:100%}.resource-dialog .el-form{padding:20px}.resource-dialog .el-input--medium .el-input__inner{height:35px;line-height:35px}.resource-dialog .block__title{padding-left:10px;margin-left:10px;border-left:4px solid #34c388;margin-bottom:20px}.resource-dialog .el-select{width:100%}.resource-dialog .divide{margin:25px auto;border-bottom:1px solid #d8d8d8;clear:both}.resource-dialog .el-form-item__content{clear:both}.rule-create .page-title .el-breadcrumb{text-transform:none}.rule-create .el-card{margin-top:24px;min-height:150px;padding:20px;overflow:visible}.rule-create .el-card .config-null{text-align:center;margin:20px auto}.rule-create .toggle-btn{cursor:pointer;margin-top:4px;width:auto}.rule-create .show-guess{line-height:1.4}.rule-create .show-guess p{font-size:13px;margin-bottom:4px}.rule-create .show-guess p .notice{color:#ff6d6d}.rule-create .form-block--wrapper{margin-bottom:50px;padding-bottom:24px}.rule-create .form-block--wrapper .form-block__title{margin-bottom:30px;padding-left:10px;border-left:4px solid #34c388}.rule-create .form-block--wrapper .form-block__title .form-block__title-tips{font-size:12px;display:inline-block;margin-left:4px}.rule-create .form-block--wrapper .form-block__body{padding-left:20px}.rule-create .sql-tips{padding:20px 0;border-radius:4px;font-size:15px;max-height:480px}.rule-create .sql-tips .title{padding:0 20px 12px}.rule-create .sql-tips .el-scrollbar__wrap{overflow-x:hidden}.rule-create .sql-tips .doc-wrapper{max-height:400px;padding:0 20px}.rule-create .sql-tips p{font-size:13px;margin-bottom:4px}.rule-create .sql-tips li{font-size:13px;margin:8px 12px}.rule-create .sql-tips code,.rule-create .sql-tips span{font-size:12px;margin-bottom:12px}.rule-create .code{line-height:1.4;padding:6px;border-radius:4px;margin-bottom:12px}.rule-create .code.text{line-height:1.8}.rule-create .test-btn{margin-top:12px}.code-sql{line-height:18px!important;margin-bottom:44px}.code-sql.rawsql .el-form-item__content{height:420px}.code-sql.payload .el-form-item__content{height:200px}.code-sql .el-form-item__content{line-height:18px!important}.code-sql .payload-type{width:100%;text-align:right;padding:2px 4px;margin-bottom:12px}.code-sql .payload-type .el-radio__label{font-size:13px}.code-sql.is-error .code-sql__editor,.code-sql.is-error .monaco-container{border-color:#ff6d6d}#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.monaco-view{height:100%;position:relative}.monaco-editor .accessibilityHelpWidget{padding:10px;vertical-align:middle;overflow:scroll}.monaco-aria-container{position:absolute;left:-999em}.monaco-editor .bracket-match{box-sizing:border-box}.monaco-menu .monaco-action-bar.vertical .action-label.hover{background-color:#eee}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:1px 4px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;border:8px solid transparent;z-index:1000;position:absolute}.monaco-editor .lightbulb-glyph{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:16px;width:20px;padding-left:2px}.monaco-editor .lightbulb-glyph:hover{cursor:pointer}.monaco-editor.vs .lightbulb-glyph{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS42NzA4IDguNjU4MDZDMTEuMzMxOSA4Ljk5MTYgMTEuMDcxNiA5LjM2Mjc4IDEwLjg4ODYgOS43NzE3MkMxMC43MTA1IDEwLjE3OTIgMTAuNjIxIDEwLjYyMTkgMTAuNjIxIDExLjEwMDlWMTIuNzAxMkMxMC42MjEgMTIuODgwNyAxMC41ODcyIDEzLjA1MDMgMTAuNTE4OSAxMy4yMDkxQzEwLjQ1MTMgMTMuMzY2MSAxMC4zNTg2IDEzLjUwMzggMTAuMjQwNyAxMy42MjEzQzEwLjEyMjggMTMuNzM4OCA5Ljk4NDY0IDEzLjgzMTEgOS44MjcyMyAxMy44OTg0QzkuNjY4MDYgMTMuOTY2MyA5LjQ5ODA2IDE0IDkuMzE4MjMgMTRINy43MTIwNUM3LjUzMjIzIDE0IDcuMzYyMjMgMTMuOTY2MyA3LjIwMzA2IDEzLjg5ODRDNy4wNDU2NCAxMy44MzExIDYuOTA3NTMgMTMuNzM4OCA2Ljc4OTYxIDEzLjYyMTNDNi42NzE2OCAxMy41MDM4IDYuNTc4OTUgMTMuMzY2MSA2LjUxMTQxIDEzLjIwOTFDNi40NDMxMSAxMy4wNTAzIDYuNDA5MjcgMTIuODgwNyA2LjQwOTI3IDEyLjcwMTJWMTEuMTAwOUM2LjQwOTI3IDEwLjYyMiA2LjMxNzcyIDEwLjE3OTUgNi4xMzU1MyA5Ljc3MjA5QzUuOTU2ODMgOS4zNjMzNiA1LjY5ODMyIDguOTkxNTYgNS4zNTk1MyA4LjY1ODA2QzQuOTI0NjggOC4yMjkwMyA0LjU4ODk2IDcuNzUwMDMgNC4zNTM2MSA3LjIyMTM0QzQuMTE3NTYgNi42OTEwNyA0IDYuMTE2NzIgNCA1LjQ5OTUzQzQgNS4wODY2NCA0LjA1MzQyIDQuNjg4MDIgNC4xNjA0OCA0LjMwMzk3QzQuMjY3MjggMy45MjA4OSA0LjQxOTA3IDMuNTYyODYgNC42MTU5NSAzLjIzMDE4QzQuODEyNTcgMi44OTM3NyA1LjA0Nzc3IDIuNTg5MTEgNS4zMjE0NiAyLjMxNjQxQzUuNTk1MDMgMi4wNDM4MyA1Ljg5ODU4IDEuODA5NTMgNi4yMzE5NSAxLjYxMzY0QzYuNTY5NzkgMS40MTc2NCA2LjkzMTQ2IDEuMjY2MiA3LjMxNTc4IDEuMTU5ODNDNy43MDEwNiAxLjA1MzIgOC4xMDA5NCAxIDguNTE1MTQgMUM4LjkyOTM0IDEgOS4zMjkyMyAxLjA1MzIgOS43MTQ1MSAxLjE1OTgzQzEwLjA5ODggMS4yNjYyIDEwLjQ1OCAxLjQxNzM5IDEwLjc5MTggMS42MTM1MUMxMS4xMjk0IDEuODA5MzggMTEuNDM1MSAyLjA0MzcgMTEuNzA4OCAyLjMxNjQxQzExLjk4MjUgMi41ODkxIDEyLjIxNzcgMi44OTM3NiAxMi40MTQzIDMuMjMwMTZDMTIuNjExMiAzLjU2Mjg1IDEyLjc2MyAzLjkyMDg4IDEyLjg2OTggNC4zMDM5N0MxMi45NzY5IDQuNjg4MDIgMTMuMDMwMyA1LjA4NjY0IDEzLjAzMDMgNS40OTk1M0MxMy4wMzAzIDYuMTE2NzIgMTIuOTEyNyA2LjY5MTA3IDEyLjY3NjcgNy4yMjEzNEMxMi40NDEzIDcuNzUwMDMgMTIuMTA1NiA4LjIyOTAzIDExLjY3MDggOC42NTgwNlpNOS42MjE2MiAxMC41SDcuNDA4NjdWMTIuNzAxMkM3LjQwODY3IDEyLjc4MjMgNy40MzcyIDEyLjg1MTIgNy40OTg4OCAxMi45MTI3QzcuNTYwNTggMTIuOTc0MSA3LjYzMDA3IDEzLjAwMjggNy43MTIwNSAxMy4wMDI4SDkuMzE4MjNDOS40MDAyMiAxMy4wMDI4IDkuNDY5NzEgMTIuOTc0MSA5LjUzMTQgMTIuOTEyN0M5LjU5MzA5IDEyLjg1MTIgOS42MjE2MiAxMi43ODIzIDkuNjIxNjIgMTIuNzAxMlYxMC41WiIgZmlsbD0iI0ZGQ0MwMCIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjY3MDggOC42NTgwNkMxMS4zMzE5IDguOTkxNiAxMS4wNzE2IDkuMzYyNzggMTAuODg4NiA5Ljc3MTcyQzEwLjcxMDUgMTAuMTc5MiAxMC42MjEgMTAuNjIxOSAxMC42MjEgMTEuMTAwOVYxMi43MDEyQzEwLjYyMSAxMi44ODA3IDEwLjU4NzIgMTMuMDUwMyAxMC41MTg5IDEzLjIwOTFDMTAuNDUxMyAxMy4zNjYxIDEwLjM1ODYgMTMuNTAzOCAxMC4yNDA3IDEzLjYyMTNDMTAuMTIyOCAxMy43Mzg4IDkuOTg0NjQgMTMuODMxMSA5LjgyNzIzIDEzLjg5ODRDOS42NjgwNiAxMy45NjYzIDkuNDk4MDYgMTQgOS4zMTgyMyAxNEg3LjcxMjA1QzcuNTMyMjMgMTQgNy4zNjIyMyAxMy45NjYzIDcuMjAzMDYgMTMuODk4NEM3LjA0NTY0IDEzLjgzMTEgNi45MDc1MyAxMy43Mzg4IDYuNzg5NjEgMTMuNjIxM0M2LjY3MTY4IDEzLjUwMzggNi41Nzg5NSAxMy4zNjYxIDYuNTExNDEgMTMuMjA5MUM2LjQ0MzExIDEzLjA1MDMgNi40MDkyNyAxMi44ODA3IDYuNDA5MjcgMTIuNzAxMlYxMS4xMDA5QzYuNDA5MjcgMTAuNjIyIDYuMzE3NzIgMTAuMTc5NSA2LjEzNTUzIDkuNzcyMDlDNS45NTY4MyA5LjM2MzM2IDUuNjk4MzIgOC45OTE1NiA1LjM1OTUzIDguNjU4MDZDNC45MjQ2OCA4LjIyOTAzIDQuNTg4OTYgNy43NTAwMyA0LjM1MzYxIDcuMjIxMzRDNC4xMTc1NiA2LjY5MTA3IDQgNi4xMTY3MiA0IDUuNDk5NTNDNCA1LjA4NjY0IDQuMDUzNDIgNC42ODgwMiA0LjE2MDQ4IDQuMzAzOTdDNC4yNjcyOCAzLjkyMDg5IDQuNDE5MDcgMy41NjI4NiA0LjYxNTk1IDMuMjMwMThDNC44MTI1NyAyLjg5Mzc3IDUuMDQ3NzcgMi41ODkxMSA1LjMyMTQ2IDIuMzE2NDFDNS41OTUwMyAyLjA0MzgzIDUuODk4NTggMS44MDk1MyA2LjIzMTk1IDEuNjEzNjRDNi41Njk3OSAxLjQxNzY0IDYuOTMxNDYgMS4yNjYyIDcuMzE1NzggMS4xNTk4M0M3LjcwMTA2IDEuMDUzMiA4LjEwMDk0IDEgOC41MTUxNCAxQzguOTI5MzQgMSA5LjMyOTIzIDEuMDUzMiA5LjcxNDUxIDEuMTU5ODNDMTAuMDk4OCAxLjI2NjIgMTAuNDU4IDEuNDE3MzkgMTAuNzkxOCAxLjYxMzUxQzExLjEyOTQgMS44MDkzOCAxMS40MzUxIDIuMDQzNyAxMS43MDg4IDIuMzE2NDFDMTEuOTgyNSAyLjU4OTEgMTIuMjE3NyAyLjg5Mzc2IDEyLjQxNDMgMy4yMzAxNkMxMi42MTEyIDMuNTYyODUgMTIuNzYzIDMuOTIwODggMTIuODY5OCA0LjMwMzk3QzEyLjk3NjkgNC42ODgwMiAxMy4wMzAzIDUuMDg2NjQgMTMuMDMwMyA1LjQ5OTUzQzEzLjAzMDMgNi4xMTY3MiAxMi45MTI3IDYuNjkxMDcgMTIuNjc2NyA3LjIyMTM0QzEyLjQ0MTMgNy43NTAwMyAxMi4xMDU2IDguMjI5MDMgMTEuNjcwOCA4LjY1ODA2Wk05LjYyMTYyIDEwLjVINy40MDg2N1YxMi43MDEyQzcuNDA4NjcgMTIuNzgyMyA3LjQzNzIgMTIuODUxMiA3LjQ5ODg4IDEyLjkxMjdDNy41NjA1OCAxMi45NzQxIDcuNjMwMDcgMTMuMDAyOCA3LjcxMjA1IDEzLjAwMjhIOS4zMTgyM0M5LjQwMDIyIDEzLjAwMjggOS40Njk3MSAxMi45NzQxIDkuNTMxNCAxMi45MTI3QzkuNTkzMDkgMTIuODUxMiA5LjYyMTYyIDEyLjc4MjMgOS42MjE2MiAxMi43MDEyVjEwLjVaIiBmaWxsPSIjRERCMTAwIi8+Cjwvc3ZnPgo=") 50% no-repeat}.monaco-editor.vs .lightbulb-glyph.autofixable{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMiA5QzEwLjMzMDQgOSA5IDEwLjMzMDQgOSAxMkM5IDEzLjY2OTYgMTAuMzMwNCAxNSAxMiAxNUMxMy42Njk2IDE1IDE1IDEzLjY2OTYgMTUgMTJDMTUgMTAuMzMwNCAxMy42Njk2IDkgMTIgOVpNMTEuMjAyOCAxMi40NzEyTDEwLjcwNCAxNEwxMiAxMy4wMjRMMTMuMzA1NCAxNEwxMi43OTcyIDEyLjQ3MTJMMTQgMTEuNjM5NEgxMi41MzYxTDEyIDEwTDExLjQ3MzIgMTEuNjM5NEgxMEwxMS4yMDI4IDEyLjQ3MTJaIiBmaWxsPSIjMDA3QUNDIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTEuMTcwOCA4LjA4NDc0QzkuODUwODEgOC4zNTkxMSA4Ljc3Njg3IDkuMjc2ODQgOC4yODY5NiAxMC41SDYuNDA4NjdWMTIuNzAxMkM2LjQwODY3IDEyLjc4MjMgNi40MzcyIDEyLjg1MTIgNi40OTg4OCAxMi45MTI3QzYuNTYwNTggMTIuOTc0MSA2LjYzMDA3IDEzLjAwMjggNi43MTIwNSAxMy4wMDI4SDguMTI0ODdDOC4yMTM2NCAxMy4zNTEzIDguMzQ3NzMgMTMuNjgwOSA4LjUyMDU5IDEzLjk4NTFDOC40NTQ2MiAxMy45OTUxIDguMzg3MTUgMTQgOC4zMTgyMyAxNEg2LjcxMjA1QzYuNTMyMjMgMTQgNi4zNjIyMyAxMy45NjYzIDYuMjAzMDYgMTMuODk4NEM2LjA0NTY0IDEzLjgzMTEgNS45MDc1MyAxMy43Mzg4IDUuNzg5NjEgMTMuNjIxM0M1LjY3MTY4IDEzLjUwMzggNS41Nzg5NSAxMy4zNjYxIDUuNTExNDEgMTMuMjA5MUM1LjQ0MzExIDEzLjA1MDMgNS40MDkyNyAxMi44ODA3IDUuNDA5MjcgMTIuNzAxMlYxMS4xMDA5QzUuNDA5MjcgMTAuNjIyIDUuMzE3NzIgMTAuMTc5NSA1LjEzNTUzIDkuNzcyMDlDNC45NTY4MyA5LjM2MzM2IDQuNjk4MzIgOC45OTE1NiA0LjM1OTUzIDguNjU4MDZDMy45MjQ2OCA4LjIyOTAzIDMuNTg4OTYgNy43NTAwMyAzLjM1MzYxIDcuMjIxMzRDMy4xMTc1NiA2LjY5MTA3IDMgNi4xMTY3MiAzIDUuNDk5NTNDMyA1LjA4NjY0IDMuMDUzNDIgNC42ODgwMiAzLjE2MDQ4IDQuMzAzOTdDMy4yNjcyOCAzLjkyMDg5IDMuNDE5MDcgMy41NjI4NiAzLjYxNTk1IDMuMjMwMThDMy44MTI1NyAyLjg5Mzc3IDQuMDQ3NzcgMi41ODkxMSA0LjMyMTQ2IDIuMzE2NDFDNC41OTUwMyAyLjA0MzgzIDQuODk4NTggMS44MDk1MyA1LjIzMTk1IDEuNjEzNjRDNS41Njk3OSAxLjQxNzY0IDUuOTMxNDYgMS4yNjYyIDYuMzE1NzggMS4xNTk4M0M2LjcwMTA2IDEuMDUzMiA3LjEwMDk0IDEgNy41MTUxNCAxQzcuOTI5MzQgMSA4LjMyOTIzIDEuMDUzMiA4LjcxNDUxIDEuMTU5ODNDOS4wOTg4MyAxLjI2NjIgOS40NTgwMyAxLjQxNzM5IDkuNzkxODMgMS42MTM1MUMxMC4xMjk0IDEuODA5MzggMTAuNDM1MSAyLjA0MzcgMTAuNzA4OCAyLjMxNjQxQzEwLjk4MjUgMi41ODkxIDExLjIxNzcgMi44OTM3NiAxMS40MTQzIDMuMjMwMTZDMTEuNjExMiAzLjU2Mjg1IDExLjc2MyAzLjkyMDg4IDExLjg2OTggNC4zMDM5N0MxMS45NzY5IDQuNjg4MDIgMTIuMDMwMyA1LjA4NjY0IDEyLjAzMDMgNS40OTk1M0MxMi4wMzAzIDYuMTE2NzIgMTEuOTEyNyA2LjY5MTA3IDExLjY3NjcgNy4yMjEzNEMxMS41NDEyIDcuNTI1NjIgMTEuMzcyNSA3LjgxMzQ0IDExLjE3MDggOC4wODQ3NFoiIGZpbGw9IiMwMDdBQ0MiLz4KPC9zdmc+Cg==") 50% no-repeat}.monaco-editor.hc-black .lightbulb-glyph,.monaco-editor.vs-dark .lightbulb-glyph{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS42NzA4IDguNjU4MDZDMTEuMzMxOSA4Ljk5MTYgMTEuMDcxNiA5LjM2Mjc4IDEwLjg4ODYgOS43NzE3MkMxMC43MTA1IDEwLjE3OTIgMTAuNjIxIDEwLjYyMTkgMTAuNjIxIDExLjEwMDlWMTIuNzAxMkMxMC42MjEgMTIuODgwNyAxMC41ODcyIDEzLjA1MDMgMTAuNTE4OSAxMy4yMDkxQzEwLjQ1MTMgMTMuMzY2MSAxMC4zNTg2IDEzLjUwMzggMTAuMjQwNyAxMy42MjEzQzEwLjEyMjggMTMuNzM4OCA5Ljk4NDY0IDEzLjgzMTEgOS44MjcyMyAxMy44OTg0QzkuNjY4MDYgMTMuOTY2MyA5LjQ5ODA2IDE0IDkuMzE4MjMgMTRINy43MTIwNUM3LjUzMjIzIDE0IDcuMzYyMjMgMTMuOTY2MyA3LjIwMzA2IDEzLjg5ODRDNy4wNDU2NCAxMy44MzExIDYuOTA3NTMgMTMuNzM4OCA2Ljc4OTYxIDEzLjYyMTNDNi42NzE2OCAxMy41MDM4IDYuNTc4OTUgMTMuMzY2MSA2LjUxMTQxIDEzLjIwOTFDNi40NDMxMSAxMy4wNTAzIDYuNDA5MjcgMTIuODgwNyA2LjQwOTI3IDEyLjcwMTJWMTEuMTAwOUM2LjQwOTI3IDEwLjYyMiA2LjMxNzcyIDEwLjE3OTUgNi4xMzU1MyA5Ljc3MjA5QzUuOTU2ODMgOS4zNjMzNiA1LjY5ODMyIDguOTkxNTYgNS4zNTk1MyA4LjY1ODA2QzQuOTI0NjggOC4yMjkwMyA0LjU4ODk2IDcuNzUwMDMgNC4zNTM2MSA3LjIyMTM0QzQuMTE3NTYgNi42OTEwNyA0IDYuMTE2NzIgNCA1LjQ5OTUzQzQgNS4wODY2NCA0LjA1MzQyIDQuNjg4MDIgNC4xNjA0OCA0LjMwMzk3QzQuMjY3MjggMy45MjA4OSA0LjQxOTA3IDMuNTYyODYgNC42MTU5NSAzLjIzMDE4QzQuODEyNTcgMi44OTM3NyA1LjA0Nzc3IDIuNTg5MTEgNS4zMjE0NiAyLjMxNjQxQzUuNTk1MDMgMi4wNDM4MyA1Ljg5ODU4IDEuODA5NTMgNi4yMzE5NSAxLjYxMzY0QzYuNTY5NzkgMS40MTc2NCA2LjkzMTQ2IDEuMjY2MiA3LjMxNTc4IDEuMTU5ODNDNy43MDEwNiAxLjA1MzIgOC4xMDA5NCAxIDguNTE1MTQgMUM4LjkyOTM0IDEgOS4zMjkyMyAxLjA1MzIgOS43MTQ1MSAxLjE1OTgzQzEwLjA5ODggMS4yNjYyIDEwLjQ1OCAxLjQxNzM5IDEwLjc5MTggMS42MTM1MUMxMS4xMjk0IDEuODA5MzggMTEuNDM1MSAyLjA0MzcgMTEuNzA4OCAyLjMxNjQxQzExLjk4MjUgMi41ODkxIDEyLjIxNzcgMi44OTM3NiAxMi40MTQzIDMuMjMwMTZDMTIuNjExMiAzLjU2Mjg1IDEyLjc2MyAzLjkyMDg4IDEyLjg2OTggNC4zMDM5N0MxMi45NzY5IDQuNjg4MDIgMTMuMDMwMyA1LjA4NjY0IDEzLjAzMDMgNS40OTk1M0MxMy4wMzAzIDYuMTE2NzIgMTIuOTEyNyA2LjY5MTA3IDEyLjY3NjcgNy4yMjEzNEMxMi40NDEzIDcuNzUwMDMgMTIuMTA1NiA4LjIyOTAzIDExLjY3MDggOC42NTgwNlpNOS42MjE2MiAxMC41SDcuNDA4NjdWMTIuNzAxMkM3LjQwODY3IDEyLjc4MjMgNy40MzcyIDEyLjg1MTIgNy40OTg4OCAxMi45MTI3QzcuNTYwNTggMTIuOTc0MSA3LjYzMDA3IDEzLjAwMjggNy43MTIwNSAxMy4wMDI4SDkuMzE4MjNDOS40MDAyMiAxMy4wMDI4IDkuNDY5NzEgMTIuOTc0MSA5LjUzMTQgMTIuOTEyN0M5LjU5MzA5IDEyLjg1MTIgOS42MjE2MiAxMi43ODIzIDkuNjIxNjIgMTIuNzAxMlYxMC41WiIgZmlsbD0iI0ZGQ0MwMCIvPgo8L3N2Zz4K") 50% no-repeat}.monaco-editor.hc-black .lightbulb-glyph.autofixable,.monaco-editor.vs-dark .lightbulb-glyph.autofixable{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMiA5QzEwLjMzMDQgOSA5IDEwLjMzMDQgOSAxMkM5IDEzLjY2OTYgMTAuMzMwNCAxNSAxMiAxNUMxMy42Njk2IDE1IDE1IDEzLjY2OTYgMTUgMTJDMTUgMTAuMzMwNCAxMy42Njk2IDkgMTIgOVpNMTEuMjAyOCAxMi40NzEyTDEwLjcwNCAxNEwxMiAxMy4wMjRMMTMuMzA1NCAxNEwxMi43OTcyIDEyLjQ3MTJMMTQgMTEuNjM5NEgxMi41MzYxTDEyIDEwTDExLjQ3MzIgMTEuNjM5NEgxMEwxMS4yMDI4IDEyLjQ3MTJaIiBmaWxsPSIjNzVCRUZGIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTEuMTcwOCA4LjA4NDc0QzkuODUwODEgOC4zNTkxMSA4Ljc3Njg3IDkuMjc2ODQgOC4yODY5NiAxMC41SDYuNDA4NjdWMTIuNzAxMkM2LjQwODY3IDEyLjc4MjMgNi40MzcyIDEyLjg1MTIgNi40OTg4OCAxMi45MTI3QzYuNTYwNTggMTIuOTc0MSA2LjYzMDA3IDEzLjAwMjggNi43MTIwNSAxMy4wMDI4SDguMTI0ODdDOC4yMTM2NCAxMy4zNTEzIDguMzQ3NzMgMTMuNjgwOSA4LjUyMDU5IDEzLjk4NTFDOC40NTQ2MiAxMy45OTUxIDguMzg3MTUgMTQgOC4zMTgyMyAxNEg2LjcxMjA1QzYuNTMyMjMgMTQgNi4zNjIyMyAxMy45NjYzIDYuMjAzMDYgMTMuODk4NEM2LjA0NTY0IDEzLjgzMTEgNS45MDc1MyAxMy43Mzg4IDUuNzg5NjEgMTMuNjIxM0M1LjY3MTY4IDEzLjUwMzggNS41Nzg5NSAxMy4zNjYxIDUuNTExNDEgMTMuMjA5MUM1LjQ0MzExIDEzLjA1MDMgNS40MDkyNyAxMi44ODA3IDUuNDA5MjcgMTIuNzAxMlYxMS4xMDA5QzUuNDA5MjcgMTAuNjIyIDUuMzE3NzIgMTAuMTc5NSA1LjEzNTUzIDkuNzcyMDlDNC45NTY4MyA5LjM2MzM2IDQuNjk4MzIgOC45OTE1NiA0LjM1OTUzIDguNjU4MDZDMy45MjQ2OCA4LjIyOTAzIDMuNTg4OTYgNy43NTAwMyAzLjM1MzYxIDcuMjIxMzRDMy4xMTc1NiA2LjY5MTA3IDMgNi4xMTY3MiAzIDUuNDk5NTNDMyA1LjA4NjY0IDMuMDUzNDIgNC42ODgwMiAzLjE2MDQ4IDQuMzAzOTdDMy4yNjcyOCAzLjkyMDg5IDMuNDE5MDcgMy41NjI4NiAzLjYxNTk1IDMuMjMwMThDMy44MTI1NyAyLjg5Mzc3IDQuMDQ3NzcgMi41ODkxMSA0LjMyMTQ2IDIuMzE2NDFDNC41OTUwMyAyLjA0MzgzIDQuODk4NTggMS44MDk1MyA1LjIzMTk1IDEuNjEzNjRDNS41Njk3OSAxLjQxNzY0IDUuOTMxNDYgMS4yNjYyIDYuMzE1NzggMS4xNTk4M0M2LjcwMTA2IDEuMDUzMiA3LjEwMDk0IDEgNy41MTUxNCAxQzcuOTI5MzQgMSA4LjMyOTIzIDEuMDUzMiA4LjcxNDUxIDEuMTU5ODNDOS4wOTg4MyAxLjI2NjIgOS40NTgwMyAxLjQxNzM5IDkuNzkxODMgMS42MTM1MUMxMC4xMjk0IDEuODA5MzggMTAuNDM1MSAyLjA0MzcgMTAuNzA4OCAyLjMxNjQxQzEwLjk4MjUgMi41ODkxIDExLjIxNzcgMi44OTM3NiAxMS40MTQzIDMuMjMwMTZDMTEuNjExMiAzLjU2Mjg1IDExLjc2MyAzLjkyMDg4IDExLjg2OTggNC4zMDM5N0MxMS45NzY5IDQuNjg4MDIgMTIuMDMwMyA1LjA4NjY0IDEyLjAzMDMgNS40OTk1M0MxMi4wMzAzIDYuMTE2NzIgMTEuOTEyNyA2LjY5MTA3IDExLjY3NjcgNy4yMjEzNEMxMS41NDEyIDcuNTI1NjIgMTEuMzcyNSA3LjgxMzQ0IDExLjE3MDggOC4wODQ3NFoiIGZpbGw9IiM3NUJFRkYiLz4KPC9zdmc+Cg==") 50% no-repeat}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-block;text-overflow:ellipsis}.monaco-editor .codelens-decoration>a,.monaco-editor .codelens-decoration>span{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;vertical-align:sub}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{text-decoration:underline;cursor:pointer}.monaco-editor .codelens-decoration.invisible-cl{opacity:0}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.monaco-action-bar{text-align:right;overflow:hidden;white-space:nowrap}.monaco-action-bar .actions-container{display:-ms-flexbox;display:flex;margin:0 auto;padding:0;width:100%;-ms-flex-pack:end;justify-content:flex-end}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar.reverse .actions-container{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.monaco-action-bar .action-item{cursor:pointer;display:inline-block;transition:transform 50ms ease;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar.animated .action-item.active{transform:scale(1.272019649)}.monaco-action-bar .action-item .icon{display:inline-block}.monaco-action-bar .action-label{font-size:11px;margin-right:4px}.monaco-action-bar .action-label.octicon{font-size:15px;line-height:35px;text-align:center}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:hover{opacity:.4}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid #bbb;padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar.animated.vertical .action-item.active{transform:translate(5px)}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;-ms-flex:1;flex:1;max-width:170px;min-width:60px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.monaco-editor.vs .dnd-target{border-right:2px dotted #000;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #aeafad;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines{cursor:default}.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines{cursor:copy}.monaco-custom-checkbox{margin-left:2px;float:left;cursor:pointer;overflow:hidden;opacity:.7;width:20px;height:20px;border:1px solid transparent;padding:1px;-o-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-o-user-select:none;-ms-user-select:none;user-select:none}.monaco-custom-checkbox.checked,.monaco-custom-checkbox:hover{opacity:1}.hc-black .monaco-custom-checkbox,.hc-black .monaco-custom-checkbox:hover{background:none}.monaco-custom-checkbox.monaco-simple-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-custom-checkbox.monaco-simple-checkbox.checked{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNSAzLjc2MzQ1TDUuODA2ODcgMTEuOTM1MUw1LjA4NTg0IDExLjg5MjdMMSA3LjI5NjE0TDEuNzYzNDUgNi42MTc1Mkw1LjUwOTk3IDEwLjgzMjRMMTQuMzIxNCAzTDE1IDMuNzYzNDVaIiBmaWxsPSIjNDI0MjQyIi8+Cjwvc3ZnPgo=") 50% no-repeat;background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNSAzLjc2MzQ1TDUuODA2ODcgMTEuOTM1MUw1LjA4NTg0IDExLjg5MjdMMSA3LjI5NjE0TDEuNzYzNDUgNi42MTc1Mkw1LjUwOTk3IDEwLjgzMjRMMTQuMzIxNCAzTDE1IDMuNzYzNDVaIiBmaWxsPSIjQzVDNUM1Ii8+Cjwvc3ZnPgo=") 50% no-repeat}.vs .monaco-custom-checkbox.monaco-case-sensitive{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjQ5NSA5LjA1Mkw4LjM4NiAxMS40MDJIOS40NzdMNi4yMzcgM0g1LjIxN0wyIDExLjQwMkgzLjA5NUwzLjkzMyA5LjA1Mkg3LjQ5NVpNNS44MTEgNC40NTNMNS44NTUgNC41ODhMNy4xNzMgOC4xNjJINC4yNTVMNS41NjIgNC41ODhMNS42MDYgNC40NTNMNS42NDQgNC4yOTdMNS42NzYgNC4xNDVMNS42OTcgNC4wMTlINS43Mkw1Ljc0NCA0LjE0NUw1Ljc3MyA0LjI5N0w1LjgxMSA0LjQ1M1pNMTMuNzk1IDEwLjQ2NFYxMS40SDE0Ljc1NVY3LjQ5OEMxNC43NTUgNi43NzkgMTQuNTc1IDYuMjI2IDE0LjIxNiA1LjgzN0MxMy44NTcgNS40NDggMTMuMzI3IDUuMjU0IDEyLjYyOCA1LjI1NEMxMi40MjkgNS4yNTQgMTIuMjI3IDUuMjczIDEyLjAyMiA1LjMxQzExLjgxNyA1LjM0NyAxMS42MjIgNS4zOTQgMTEuNDM5IDUuNDUxQzExLjI1NiA1LjUwOCAxMS4wOTEgNS41NjkgMTAuOTQ0IDUuNjM2QzEwLjc5NyA1LjcwMyAxMC42ODMgNS43NjUgMTAuNjAxIDUuODI0VjYuODA4QzEwLjg2NyA2LjU3OCAxMS4xNjcgNi4zOTcgMTEuNTA1IDYuMjY4QzExLjg0MyA2LjEzOSAxMi4xOTQgNi4wNzUgMTIuNTU3IDYuMDc1QzEyLjc0NSA2LjA3NSAxMi45MTUgNi4xMDMgMTMuMDcgNi4xNkMxMy4yMjUgNi4yMTcgMTMuMzU3IDYuMzA2IDEzLjQ2NiA2LjQyN0MxMy41NzUgNi41NDggMTMuNjU5IDYuNzA2IDEzLjcxOCA2Ljg5OUMxMy43NzcgNy4wOTIgMTMuODA2IDcuMzI2IDEzLjgwNiA3LjU5OUwxMS45OTUgNy44NTFDMTEuNjUxIDcuODk4IDExLjM1NSA3Ljk3NyAxMS4xMDcgOC4wODhDMTAuODU5IDguMTk5IDEwLjY1NCA4LjMzOSAxMC40OTIgOC41MDdDMTAuMzMgOC42NzUgMTAuMjEgOC44NjggMTAuMTMyIDkuMDg3QzEwLjA1NCA5LjMwNiAxMC4wMTUgOS41NDYgMTAuMDE1IDkuODA4QzEwLjAxNSAxMC4wNTQgMTAuMDU3IDEwLjI4MyAxMC4xMzkgMTAuNDk2QzEwLjIyMSAxMC43MDkgMTAuMzQyIDEwLjg5MyAxMC41MDIgMTEuMDQ3QzEwLjY2MiAxMS4yMDEgMTAuODYyIDExLjMyMyAxMS4xIDExLjQxM0MxMS4zMzggMTEuNTAzIDExLjYxMyAxMS41NDggMTEuOTI2IDExLjU0OEMxMi4zMjggMTEuNTQ4IDEyLjY4NiAxMS40NTYgMTMuMDAxIDExLjI3QzEzLjMxNiAxMS4wODQgMTMuNTczIDEwLjgxNiAxMy43NzIgMTAuNDY0SDEzLjc5NVpNMTEuNjY3IDguNzIxQzExLjg0MyA4LjY1NyAxMi4wNjggOC42MDcgMTIuMzQxIDguNTcyTDEzLjgwNiA4LjM2N1Y4Ljk3NkMxMy44MDYgOS4yMjIgMTMuNzY1IDkuNDUxIDEzLjY4MyA5LjY2NEMxMy42MDEgOS44NzcgMTMuNDg2IDEwLjA2MyAxMy4zNCAxMC4yMjFDMTMuMTk0IDEwLjM3OSAxMy4wMTkgMTAuNTAzIDEyLjgxNiAxMC41OTNDMTIuNjEzIDEwLjY4MyAxMi4zOSAxMC43MjggMTIuMTQ4IDEwLjcyOEMxMS45NjEgMTAuNzI4IDExLjc5NSAxMC43MDMgMTEuNjUzIDEwLjY1MkMxMS41MTEgMTAuNjAxIDExLjM5MiAxMC41MyAxMS4yOTYgMTAuNDQxQzExLjIgMTAuMzUyIDExLjEyNyAxMC4yNDcgMTEuMDc2IDEwLjEyNUMxMS4wMjUgMTAuMDAzIDExIDkuODczIDExIDkuNzMyQzExIDkuNTY4IDExLjAxOCA5LjQyMSAxMS4wNTUgOS4yOTJDMTEuMDkyIDkuMTYzIDExLjE2IDkuMDUxIDExLjI1NyA4Ljk1OEMxMS4zNTQgOC44NjUgMTEuNDkxIDguNzg1IDExLjY2NyA4LjcyMVoiIGZpbGw9IiM0MjQyNDIiLz4KPC9zdmc+Cg==") 50% no-repeat}.vs-dark .monaco-custom-checkbox.monaco-case-sensitive{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjQ5NSA5LjA1Mkw4LjM4NiAxMS40MDJIOS40NzdMNi4yMzcgM0g1LjIxN0wyIDExLjQwMkgzLjA5NUwzLjkzMyA5LjA1Mkg3LjQ5NVpNNS44MTEgNC40NTNMNS44NTUgNC41ODhMNy4xNzMgOC4xNjJINC4yNTVMNS41NjIgNC41ODhMNS42MDYgNC40NTNMNS42NDQgNC4yOTdMNS42NzYgNC4xNDVMNS42OTcgNC4wMTlINS43Mkw1Ljc0NCA0LjE0NUw1Ljc3MyA0LjI5N0w1LjgxMSA0LjQ1M1pNMTMuNzk1IDEwLjQ2NFYxMS40SDE0Ljc1NVY3LjQ5OEMxNC43NTUgNi43NzkgMTQuNTc1IDYuMjI2IDE0LjIxNiA1LjgzN0MxMy44NTcgNS40NDggMTMuMzI3IDUuMjU0IDEyLjYyOCA1LjI1NEMxMi40MjkgNS4yNTQgMTIuMjI3IDUuMjczIDEyLjAyMiA1LjMxQzExLjgxNyA1LjM0NyAxMS42MjIgNS4zOTQgMTEuNDM5IDUuNDUxQzExLjI1NiA1LjUwOCAxMS4wOTEgNS41NjkgMTAuOTQ0IDUuNjM2QzEwLjc5NyA1LjcwMyAxMC42ODMgNS43NjUgMTAuNjAxIDUuODI0VjYuODA4QzEwLjg2NyA2LjU3OCAxMS4xNjcgNi4zOTcgMTEuNTA1IDYuMjY4QzExLjg0MyA2LjEzOSAxMi4xOTQgNi4wNzUgMTIuNTU3IDYuMDc1QzEyLjc0NSA2LjA3NSAxMi45MTUgNi4xMDMgMTMuMDcgNi4xNkMxMy4yMjUgNi4yMTcgMTMuMzU3IDYuMzA2IDEzLjQ2NiA2LjQyN0MxMy41NzUgNi41NDggMTMuNjU5IDYuNzA2IDEzLjcxOCA2Ljg5OUMxMy43NzcgNy4wOTIgMTMuODA2IDcuMzI2IDEzLjgwNiA3LjU5OUwxMS45OTUgNy44NTFDMTEuNjUxIDcuODk4IDExLjM1NSA3Ljk3NyAxMS4xMDcgOC4wODhDMTAuODU5IDguMTk5IDEwLjY1NCA4LjMzOSAxMC40OTIgOC41MDdDMTAuMzMgOC42NzUgMTAuMjEgOC44NjggMTAuMTMyIDkuMDg3QzEwLjA1NCA5LjMwNiAxMC4wMTUgOS41NDYgMTAuMDE1IDkuODA4QzEwLjAxNSAxMC4wNTQgMTAuMDU3IDEwLjI4MyAxMC4xMzkgMTAuNDk2QzEwLjIyMSAxMC43MDkgMTAuMzQyIDEwLjg5MyAxMC41MDIgMTEuMDQ3QzEwLjY2MiAxMS4yMDEgMTAuODYyIDExLjMyMyAxMS4xIDExLjQxM0MxMS4zMzggMTEuNTAzIDExLjYxMyAxMS41NDggMTEuOTI2IDExLjU0OEMxMi4zMjggMTEuNTQ4IDEyLjY4NiAxMS40NTYgMTMuMDAxIDExLjI3QzEzLjMxNiAxMS4wODQgMTMuNTczIDEwLjgxNiAxMy43NzIgMTAuNDY0SDEzLjc5NVpNMTEuNjY3IDguNzIxQzExLjg0MyA4LjY1NyAxMi4wNjggOC42MDcgMTIuMzQxIDguNTcyTDEzLjgwNiA4LjM2N1Y4Ljk3NkMxMy44MDYgOS4yMjIgMTMuNzY1IDkuNDUxIDEzLjY4MyA5LjY2NEMxMy42MDEgOS44NzcgMTMuNDg2IDEwLjA2MyAxMy4zNCAxMC4yMjFDMTMuMTk0IDEwLjM3OSAxMy4wMTkgMTAuNTAzIDEyLjgxNiAxMC41OTNDMTIuNjEzIDEwLjY4MyAxMi4zOSAxMC43MjggMTIuMTQ4IDEwLjcyOEMxMS45NjEgMTAuNzI4IDExLjc5NSAxMC43MDMgMTEuNjUzIDEwLjY1MkMxMS41MTEgMTAuNjAxIDExLjM5MiAxMC41MyAxMS4yOTYgMTAuNDQxQzExLjIgMTAuMzUyIDExLjEyNyAxMC4yNDcgMTEuMDc2IDEwLjEyNUMxMS4wMjUgMTAuMDAzIDExIDkuODczIDExIDkuNzMyQzExIDkuNTY4IDExLjAxOCA5LjQyMSAxMS4wNTUgOS4yOTJDMTEuMDkyIDkuMTYzIDExLjE2IDkuMDUxIDExLjI1NyA4Ljk1OEMxMS4zNTQgOC44NjUgMTEuNDkxIDguNzg1IDExLjY2NyA4LjcyMVoiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==") 50% no-repeat}.hc-black .monaco-custom-checkbox.monaco-case-sensitive,.hc-black .monaco-custom-checkbox.monaco-case-sensitive:hover{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjQ5NSA5LjA1Mkw4LjM4NiAxMS40MDJIOS40NzdMNi4yMzcgM0g1LjIxN0wyIDExLjQwMkgzLjA5NUwzLjkzMyA5LjA1Mkg3LjQ5NVpNNS44MTEgNC40NTNMNS44NTUgNC41ODhMNy4xNzMgOC4xNjJINC4yNTVMNS41NjIgNC41ODhMNS42MDYgNC40NTNMNS42NDQgNC4yOTdMNS42NzYgNC4xNDVMNS42OTcgNC4wMTlINS43Mkw1Ljc0NCA0LjE0NUw1Ljc3MyA0LjI5N0w1LjgxMSA0LjQ1M1pNMTMuNzk1IDEwLjQ2NFYxMS40SDE0Ljc1NVY3LjQ5OEMxNC43NTUgNi43NzkgMTQuNTc1IDYuMjI2IDE0LjIxNiA1LjgzN0MxMy44NTcgNS40NDggMTMuMzI3IDUuMjU0IDEyLjYyOCA1LjI1NEMxMi40MjkgNS4yNTQgMTIuMjI3IDUuMjczIDEyLjAyMiA1LjMxQzExLjgxNyA1LjM0NyAxMS42MjIgNS4zOTQgMTEuNDM5IDUuNDUxQzExLjI1NiA1LjUwOCAxMS4wOTEgNS41NjkgMTAuOTQ0IDUuNjM2QzEwLjc5NyA1LjcwMyAxMC42ODMgNS43NjUgMTAuNjAxIDUuODI0VjYuODA4QzEwLjg2NyA2LjU3OCAxMS4xNjcgNi4zOTcgMTEuNTA1IDYuMjY4QzExLjg0MyA2LjEzOSAxMi4xOTQgNi4wNzUgMTIuNTU3IDYuMDc1QzEyLjc0NSA2LjA3NSAxMi45MTUgNi4xMDMgMTMuMDcgNi4xNkMxMy4yMjUgNi4yMTcgMTMuMzU3IDYuMzA2IDEzLjQ2NiA2LjQyN0MxMy41NzUgNi41NDggMTMuNjU5IDYuNzA2IDEzLjcxOCA2Ljg5OUMxMy43NzcgNy4wOTIgMTMuODA2IDcuMzI2IDEzLjgwNiA3LjU5OUwxMS45OTUgNy44NTFDMTEuNjUxIDcuODk4IDExLjM1NSA3Ljk3NyAxMS4xMDcgOC4wODhDMTAuODU5IDguMTk5IDEwLjY1NCA4LjMzOSAxMC40OTIgOC41MDdDMTAuMzMgOC42NzUgMTAuMjEgOC44NjggMTAuMTMyIDkuMDg3QzEwLjA1NCA5LjMwNiAxMC4wMTUgOS41NDYgMTAuMDE1IDkuODA4QzEwLjAxNSAxMC4wNTQgMTAuMDU3IDEwLjI4MyAxMC4xMzkgMTAuNDk2QzEwLjIyMSAxMC43MDkgMTAuMzQyIDEwLjg5MyAxMC41MDIgMTEuMDQ3QzEwLjY2MiAxMS4yMDEgMTAuODYyIDExLjMyMyAxMS4xIDExLjQxM0MxMS4zMzggMTEuNTAzIDExLjYxMyAxMS41NDggMTEuOTI2IDExLjU0OEMxMi4zMjggMTEuNTQ4IDEyLjY4NiAxMS40NTYgMTMuMDAxIDExLjI3QzEzLjMxNiAxMS4wODQgMTMuNTczIDEwLjgxNiAxMy43NzIgMTAuNDY0SDEzLjc5NVpNMTEuNjY3IDguNzIxQzExLjg0MyA4LjY1NyAxMi4wNjggOC42MDcgMTIuMzQxIDguNTcyTDEzLjgwNiA4LjM2N1Y4Ljk3NkMxMy44MDYgOS4yMjIgMTMuNzY1IDkuNDUxIDEzLjY4MyA5LjY2NEMxMy42MDEgOS44NzcgMTMuNDg2IDEwLjA2MyAxMy4zNCAxMC4yMjFDMTMuMTk0IDEwLjM3OSAxMy4wMTkgMTAuNTAzIDEyLjgxNiAxMC41OTNDMTIuNjEzIDEwLjY4MyAxMi4zOSAxMC43MjggMTIuMTQ4IDEwLjcyOEMxMS45NjEgMTAuNzI4IDExLjc5NSAxMC43MDMgMTEuNjUzIDEwLjY1MkMxMS41MTEgMTAuNjAxIDExLjM5MiAxMC41MyAxMS4yOTYgMTAuNDQxQzExLjIgMTAuMzUyIDExLjEyNyAxMC4yNDcgMTEuMDc2IDEwLjEyNUMxMS4wMjUgMTAuMDAzIDExIDkuODczIDExIDkuNzMyQzExIDkuNTY4IDExLjAxOCA5LjQyMSAxMS4wNTUgOS4yOTJDMTEuMDkyIDkuMTYzIDExLjE2IDkuMDUxIDExLjI1NyA4Ljk1OEMxMS4zNTQgOC44NjUgMTEuNDkxIDguNzg1IDExLjY2NyA4LjcyMVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=") 50% no-repeat}.vs .monaco-custom-checkbox.monaco-preserve-case{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTguNTM0MzcgMTIuNDY3M0g3LjQzNjFMNi41Mzg1OSAxMC4wOTM2SDIuOTQ4NTRMMi4xMDQxOCAxMi40NjczSDFMNC4yNDc1NyA0SDUuMjc0OTlMOC41MzQzNyAxMi40NjczWk02LjIxMzgzIDkuMjAyMDJMNC44ODUyOCA1LjU5NDI2QzQuODQxOTggNS40NzYxNyA0Ljc5ODY4IDUuMjg3MjIgNC43NTUzOCA1LjAyNzQxSDQuNzMxNzZDNC42OTIzOSA1LjI2NzU0IDQuNjQ3MTMgNS40NTY0OSA0LjU5NTk1IDUuNTk0MjZMMy4yNzkyMSA5LjIwMjAySDYuMjEzODNaIiBmaWxsPSIjNDI0MjQyIi8+CjxwYXRoIGQ9Ik05Ljc4NjE3IDEyLjQ2NzNWNEgxMi4xOTUzQzEyLjkyNzUgNCAxMy41MDgxIDQuMTc5MTEgMTMuOTM3MiA0LjUzNzMzQzE0LjM2NjIgNC44OTU1NCAxNC41ODA4IDUuMzYyMDEgMTQuNTgwOCA1LjkzNjc0QzE0LjU4MDggNi40MTY5OCAxNC40NTA5IDYuODM0MjUgMTQuMTkxMSA3LjE4ODUzQzEzLjkzMTMgNy41NDI4MSAxMy41NzMgNy43OTQ3NCAxMy4xMTY0IDcuOTQ0MzNWNy45Njc5NUMxMy42ODcyIDguMDM0ODcgMTQuMTQzOCA4LjI1MTM3IDE0LjQ4NjMgOC42MTc0NkMxNC44Mjg4IDguOTc5NjEgMTUgOS40NTE5OSAxNSAxMC4wMzQ2QzE1IDEwLjc1ODkgMTQuNzQwMiAxMS4zNDU0IDE0LjIyMDYgMTEuNzk0MkMxMy43MDEgMTIuMjQyOSAxMy4wNDU2IDEyLjQ2NzMgMTIuMjU0MyAxMi40NjczSDkuNzg2MTdaTTEwLjc3ODIgNC44OTc1MVY3LjYzMTM4SDExLjc5MzhDMTIuMzM3IDcuNjMxMzggMTIuNzY0MSA3LjUwMTQ4IDEzLjA3NTEgNy4yNDE2N0MxMy4zODYxIDYuOTc3OTMgMTMuNTQxNSA2LjYwNzkgMTMuNTQxNSA2LjEzMTU5QzEzLjU0MTUgNS4zMDg4NyAxMy4wMDAzIDQuODk3NTEgMTEuOTE3OCA0Ljg5NzUxSDEwLjc3ODJaTTEwLjc3ODIgOC41MjI5OVYxMS41Njk4SDEyLjEyNDRDMTIuNzA3IDExLjU2OTggMTMuMTU3NyAxMS40MzIgMTMuNDc2NiAxMS4xNTY1QzEzLjc5OTQgMTAuODgwOSAxMy45NjA4IDEwLjUwMyAxMy45NjA4IDEwLjAyMjhDMTMuOTYwOCA5LjAyMjkyIDEzLjI3OTggOC41MjI5OSAxMS45MTc4IDguNTIyOTlIMTAuNzc4MloiIGZpbGw9IiM0MjQyNDIiLz4KPC9zdmc+Cg==") 50% no-repeat}.vs-dark .monaco-custom-checkbox.monaco-preserve-case{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTguNTM0MzcgMTIuNDY3M0g3LjQzNjFMNi41Mzg1OSAxMC4wOTM2SDIuOTQ4NTRMMi4xMDQxOCAxMi40NjczSDFMNC4yNDc1NyA0SDUuMjc0OTlMOC41MzQzNyAxMi40NjczWk02LjIxMzgzIDkuMjAyMDJMNC44ODUyOCA1LjU5NDI2QzQuODQxOTggNS40NzYxNyA0Ljc5ODY4IDUuMjg3MjIgNC43NTUzOCA1LjAyNzQxSDQuNzMxNzZDNC42OTIzOSA1LjI2NzU0IDQuNjQ3MTMgNS40NTY0OSA0LjU5NTk1IDUuNTk0MjZMMy4yNzkyMSA5LjIwMjAySDYuMjEzODNaIiBmaWxsPSIjQzVDNUM1Ii8+CjxwYXRoIGQ9Ik05Ljc4NjE3IDEyLjQ2NzNWNEgxMi4xOTUzQzEyLjkyNzUgNCAxMy41MDgxIDQuMTc5MTEgMTMuOTM3MiA0LjUzNzMzQzE0LjM2NjIgNC44OTU1NCAxNC41ODA4IDUuMzYyMDEgMTQuNTgwOCA1LjkzNjc0QzE0LjU4MDggNi40MTY5OCAxNC40NTA5IDYuODM0MjUgMTQuMTkxMSA3LjE4ODUzQzEzLjkzMTMgNy41NDI4MSAxMy41NzMgNy43OTQ3NCAxMy4xMTY0IDcuOTQ0MzNWNy45Njc5NUMxMy42ODcyIDguMDM0ODcgMTQuMTQzOCA4LjI1MTM3IDE0LjQ4NjMgOC42MTc0NkMxNC44Mjg4IDguOTc5NjEgMTUgOS40NTE5OSAxNSAxMC4wMzQ2QzE1IDEwLjc1ODkgMTQuNzQwMiAxMS4zNDU0IDE0LjIyMDYgMTEuNzk0MkMxMy43MDEgMTIuMjQyOSAxMy4wNDU2IDEyLjQ2NzMgMTIuMjU0MyAxMi40NjczSDkuNzg2MTdaTTEwLjc3ODIgNC44OTc1MVY3LjYzMTM4SDExLjc5MzhDMTIuMzM3IDcuNjMxMzggMTIuNzY0MSA3LjUwMTQ4IDEzLjA3NTEgNy4yNDE2N0MxMy4zODYxIDYuOTc3OTMgMTMuNTQxNSA2LjYwNzkgMTMuNTQxNSA2LjEzMTU5QzEzLjU0MTUgNS4zMDg4NyAxMy4wMDAzIDQuODk3NTEgMTEuOTE3OCA0Ljg5NzUxSDEwLjc3ODJaTTEwLjc3ODIgOC41MjI5OVYxMS41Njk4SDEyLjEyNDRDMTIuNzA3IDExLjU2OTggMTMuMTU3NyAxMS40MzIgMTMuNDc2NiAxMS4xNTY1QzEzLjc5OTQgMTAuODgwOSAxMy45NjA4IDEwLjUwMyAxMy45NjA4IDEwLjAyMjhDMTMuOTYwOCA5LjAyMjkyIDEzLjI3OTggOC41MjI5OSAxMS45MTc4IDguNTIyOTlIMTAuNzc4MloiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==") 50% no-repeat}.hc-black .monaco-custom-checkbox.monaco-preserve-case,.hc-black .monaco-custom-checkbox.monaco-preserve-case:hover{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTguNTM0MzcgMTIuNDY3M0g3LjQzNjFMNi41Mzg1OSAxMC4wOTM2SDIuOTQ4NTRMMi4xMDQxOCAxMi40NjczSDFMNC4yNDc1NyA0SDUuMjc0OTlMOC41MzQzNyAxMi40NjczWk02LjIxMzgzIDkuMjAyMDJMNC44ODUyOCA1LjU5NDI2QzQuODQxOTggNS40NzYxNyA0Ljc5ODY4IDUuMjg3MjIgNC43NTUzOCA1LjAyNzQxSDQuNzMxNzZDNC42OTIzOSA1LjI2NzU0IDQuNjQ3MTMgNS40NTY0OSA0LjU5NTk1IDUuNTk0MjZMMy4yNzkyMSA5LjIwMjAySDYuMjEzODNaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNOS43ODYxNyAxMi40NjczVjRIMTIuMTk1M0MxMi45Mjc1IDQgMTMuNTA4MSA0LjE3OTExIDEzLjkzNzIgNC41MzczM0MxNC4zNjYyIDQuODk1NTQgMTQuNTgwOCA1LjM2MjAxIDE0LjU4MDggNS45MzY3NEMxNC41ODA4IDYuNDE2OTggMTQuNDUwOSA2LjgzNDI1IDE0LjE5MTEgNy4xODg1M0MxMy45MzEzIDcuNTQyODEgMTMuNTczIDcuNzk0NzQgMTMuMTE2NCA3Ljk0NDMzVjcuOTY3OTVDMTMuNjg3MiA4LjAzNDg3IDE0LjE0MzggOC4yNTEzNyAxNC40ODYzIDguNjE3NDZDMTQuODI4OCA4Ljk3OTYxIDE1IDkuNDUxOTkgMTUgMTAuMDM0NkMxNSAxMC43NTg5IDE0Ljc0MDIgMTEuMzQ1NCAxNC4yMjA2IDExLjc5NDJDMTMuNzAxIDEyLjI0MjkgMTMuMDQ1NiAxMi40NjczIDEyLjI1NDMgMTIuNDY3M0g5Ljc4NjE3Wk0xMC43NzgyIDQuODk3NTFWNy42MzEzOEgxMS43OTM4QzEyLjMzNyA3LjYzMTM4IDEyLjc2NDEgNy41MDE0OCAxMy4wNzUxIDcuMjQxNjdDMTMuMzg2MSA2Ljk3NzkzIDEzLjU0MTUgNi42MDc5IDEzLjU0MTUgNi4xMzE1OUMxMy41NDE1IDUuMzA4ODcgMTMuMDAwMyA0Ljg5NzUxIDExLjkxNzggNC44OTc1MUgxMC43NzgyWk0xMC43NzgyIDguNTIyOTlWMTEuNTY5OEgxMi4xMjQ0QzEyLjcwNyAxMS41Njk4IDEzLjE1NzcgMTEuNDMyIDEzLjQ3NjYgMTEuMTU2NUMxMy43OTk0IDEwLjg4MDkgMTMuOTYwOCAxMC41MDMgMTMuOTYwOCAxMC4wMjI4QzEzLjk2MDggOS4wMjI5MiAxMy4yNzk4IDguNTIyOTkgMTEuOTE3OCA4LjUyMjk5SDEwLjc3ODJaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K") 50% no-repeat}.vs .monaco-custom-checkbox.monaco-whole-word{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDJIMTVWM0gxVjJaTTE0IDRIMTNWMTJIMTRWNFpNMTEuMjcyIDguMzg3QzExLjE5NCA4LjA4OCAxMS4wNzMgNy44MjUgMTAuOTEyIDcuNjAxQzEwLjc1MSA3LjM3NyAxMC41NDcgNy4yIDEwLjMwMyA3LjA3MUMxMC4wNTkgNi45NDIgOS43NjkgNi44NzggOS40MzcgNi44NzhDOS4yMzkgNi44NzggOS4wNTcgNi45MDIgOC44OSA2Ljk1MUM4LjcyNSA3IDguNTc0IDcuMDY4IDguNDM3IDcuMTU2QzguMzAxIDcuMjQ0IDguMTggNy4zNSA4LjA3MiA3LjQ3NEw3Ljg5MyA3LjczMlY0LjU3OEg3VjEySDcuODkzVjExLjQyNUw4LjAxOSAxMS42QzguMTA2IDExLjcwMiA4LjIwOCAxMS43OSA4LjMyMyAxMS44NjlDOC40NCAxMS45NDcgOC41NzIgMTIuMDA5IDguNzIxIDEyLjA1NUM4Ljg3IDEyLjEwMSA5LjAzNSAxMi4xMjMgOS4yMTkgMTIuMTIzQzkuNTcyIDEyLjEyMyA5Ljg4NSAxMi4wNTIgMTAuMTU2IDExLjkxMUMxMC40MjggMTEuNzY4IDEwLjY1NSAxMS41NzMgMTAuODM4IDExLjMyNUMxMS4wMjEgMTEuMDc1IDExLjE1OSAxMC43ODIgMTEuMjUyIDEwLjQ0NkMxMS4zNDUgMTAuMTA4IDExLjM5MiA5Ljc0MyAxMS4zOTIgOS4zNDlDMTEuMzkxIDkuMDA3IDExLjM1MiA4LjY4NiAxMS4yNzIgOC4zODdaTTkuNzkzIDcuNzhDOS45NDQgNy44NTEgMTAuMDc1IDcuOTU2IDEwLjE4MyA4LjA5NEMxMC4yOTIgOC4yMzQgMTAuMzc3IDguNDA3IDEwLjQzOCA4LjYxMUMxMC40ODkgOC43ODUgMTAuNTIgOC45ODIgMTAuNTI3IDkuMTk4TDEwLjUyIDkuMzIzQzEwLjUyIDkuNjUgMTAuNDg3IDkuOTQzIDEwLjQyIDEwLjE5MkMxMC4zNTMgMTAuNDM4IDEwLjI1OSAxMC42NDUgMTAuMTQyIDEwLjgwNkMxMC4wMjUgMTAuOTY4IDkuODgyIDExLjA5MSA5LjcyMSAxMS4xNzJDOS4zOTkgMTEuMzM0IDguOTYxIDExLjMzOCA4LjY1MiAxMS4xODdDOC40OTkgMTEuMTEyIDguMzY2IDExLjAxMiA4LjI1OSAxMC44OTFDOC4xNzQgMTAuNzk1IDguMTAzIDEwLjY3NSA4LjA0MSAxMC41MjRDOC4wNDEgMTAuNTI0IDcuODYyIDEwLjA3NyA3Ljg2MiA5LjU3N0M3Ljg2MiA5LjA3NyA4LjA0MSA4LjU3NSA4LjA0MSA4LjU3NUM4LjEwMyA4LjM5OCA4LjE3NyA4LjI1NyA4LjI2NSA4LjE0NUM4LjM3OSA4LjAwMiA4LjUyMSA3Ljg4NiA4LjY4OSA3LjhDOC44NTcgNy43MTQgOS4wNTQgNy42NzEgOS4yNzYgNy42NzFDOS40NjYgNy42NzEgOS42NCA3LjcwOCA5Ljc5MyA3Ljc4Wk0xNSAxM0gxVjE0SDE1VjEzWk0yLjgxMyAxMEwyLjA4NSAxMi4wMzFIMUwxLjAyNSAxMS45NTlMMy40NjYgNC44NzMwNUg0LjQwN0w2Ljg5MiAxMi4wMzFINS44MUw1LjAzMiAxMEgyLjgxM1pNMy45MzQgNi40MjIwNUgzLjkxMkwzLjAwNyA5LjE3NTA1SDQuODQ4TDMuOTM0IDYuNDIyMDVaIiBmaWxsPSIjNDI0MjQyIi8+Cjwvc3ZnPgo=") 50% no-repeat}.vs-dark .monaco-custom-checkbox.monaco-whole-word{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDJIMTVWM0gxVjJaTTE0IDRIMTNWMTJIMTRWNFpNMTEuMjcyIDguMzg3QzExLjE5NCA4LjA4OCAxMS4wNzMgNy44MjUgMTAuOTEyIDcuNjAxQzEwLjc1MSA3LjM3NyAxMC41NDcgNy4yIDEwLjMwMyA3LjA3MUMxMC4wNTkgNi45NDIgOS43NjkgNi44NzggOS40MzcgNi44NzhDOS4yMzkgNi44NzggOS4wNTcgNi45MDIgOC44OSA2Ljk1MUM4LjcyNSA3IDguNTc0IDcuMDY4IDguNDM3IDcuMTU2QzguMzAxIDcuMjQ0IDguMTggNy4zNSA4LjA3MiA3LjQ3NEw3Ljg5MyA3LjczMlY0LjU3OEg3VjEySDcuODkzVjExLjQyNUw4LjAxOSAxMS42QzguMTA2IDExLjcwMiA4LjIwOCAxMS43OSA4LjMyMyAxMS44NjlDOC40NCAxMS45NDcgOC41NzIgMTIuMDA5IDguNzIxIDEyLjA1NUM4Ljg3IDEyLjEwMSA5LjAzNSAxMi4xMjMgOS4yMTkgMTIuMTIzQzkuNTcyIDEyLjEyMyA5Ljg4NSAxMi4wNTIgMTAuMTU2IDExLjkxMUMxMC40MjggMTEuNzY4IDEwLjY1NSAxMS41NzMgMTAuODM4IDExLjMyNUMxMS4wMjEgMTEuMDc1IDExLjE1OSAxMC43ODIgMTEuMjUyIDEwLjQ0NkMxMS4zNDUgMTAuMTA4IDExLjM5MiA5Ljc0MyAxMS4zOTIgOS4zNDlDMTEuMzkxIDkuMDA3IDExLjM1MiA4LjY4NiAxMS4yNzIgOC4zODdaTTkuNzkzIDcuNzhDOS45NDQgNy44NTEgMTAuMDc1IDcuOTU2IDEwLjE4MyA4LjA5NEMxMC4yOTIgOC4yMzQgMTAuMzc3IDguNDA3IDEwLjQzOCA4LjYxMUMxMC40ODkgOC43ODUgMTAuNTIgOC45ODIgMTAuNTI3IDkuMTk4TDEwLjUyIDkuMzIzQzEwLjUyIDkuNjUgMTAuNDg3IDkuOTQzIDEwLjQyIDEwLjE5MkMxMC4zNTMgMTAuNDM4IDEwLjI1OSAxMC42NDUgMTAuMTQyIDEwLjgwNkMxMC4wMjUgMTAuOTY4IDkuODgyIDExLjA5MSA5LjcyMSAxMS4xNzJDOS4zOTkgMTEuMzM0IDguOTYxIDExLjMzOCA4LjY1MiAxMS4xODdDOC40OTkgMTEuMTEyIDguMzY2IDExLjAxMiA4LjI1OSAxMC44OTFDOC4xNzQgMTAuNzk1IDguMTAzIDEwLjY3NSA4LjA0MSAxMC41MjRDOC4wNDEgMTAuNTI0IDcuODYyIDEwLjA3NyA3Ljg2MiA5LjU3N0M3Ljg2MiA5LjA3NyA4LjA0MSA4LjU3NSA4LjA0MSA4LjU3NUM4LjEwMyA4LjM5OCA4LjE3NyA4LjI1NyA4LjI2NSA4LjE0NUM4LjM3OSA4LjAwMiA4LjUyMSA3Ljg4NiA4LjY4OSA3LjhDOC44NTcgNy43MTQgOS4wNTQgNy42NzEgOS4yNzYgNy42NzFDOS40NjYgNy42NzEgOS42NCA3LjcwOCA5Ljc5MyA3Ljc4Wk0xNSAxM0gxVjE0SDE1VjEzWk0yLjgxMyAxMEwyLjA4NSAxMi4wMzFIMUwxLjAyNSAxMS45NTlMMy40NjYgNC44NzMwNUg0LjQwN0w2Ljg5MiAxMi4wMzFINS44MUw1LjAzMiAxMEgyLjgxM1pNMy45MzQgNi40MjIwNUgzLjkxMkwzLjAwNyA5LjE3NTA1SDQuODQ4TDMuOTM0IDYuNDIyMDVaIiBmaWxsPSIjQzVDNUM1Ii8+Cjwvc3ZnPgo=") 50% no-repeat}.hc-black .monaco-custom-checkbox.monaco-whole-word,.hc-black .monaco-custom-checkbox.monaco-whole-word:hover{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDJIMTVWM0gxVjJaTTE0IDRIMTNWMTJIMTRWNFpNMTEuMjcyIDguMzg3QzExLjE5NCA4LjA4OCAxMS4wNzMgNy44MjUgMTAuOTEyIDcuNjAxQzEwLjc1MSA3LjM3NyAxMC41NDcgNy4yIDEwLjMwMyA3LjA3MUMxMC4wNTkgNi45NDIgOS43NjkgNi44NzggOS40MzcgNi44NzhDOS4yMzkgNi44NzggOS4wNTcgNi45MDIgOC44OSA2Ljk1MUM4LjcyNSA3IDguNTc0IDcuMDY4IDguNDM3IDcuMTU2QzguMzAxIDcuMjQ0IDguMTggNy4zNSA4LjA3MiA3LjQ3NEw3Ljg5MyA3LjczMlY0LjU3OEg3VjEySDcuODkzVjExLjQyNUw4LjAxOSAxMS42QzguMTA2IDExLjcwMiA4LjIwOCAxMS43OSA4LjMyMyAxMS44NjlDOC40NCAxMS45NDcgOC41NzIgMTIuMDA5IDguNzIxIDEyLjA1NUM4Ljg3IDEyLjEwMSA5LjAzNSAxMi4xMjMgOS4yMTkgMTIuMTIzQzkuNTcyIDEyLjEyMyA5Ljg4NSAxMi4wNTIgMTAuMTU2IDExLjkxMUMxMC40MjggMTEuNzY4IDEwLjY1NSAxMS41NzMgMTAuODM4IDExLjMyNUMxMS4wMjEgMTEuMDc1IDExLjE1OSAxMC43ODIgMTEuMjUyIDEwLjQ0NkMxMS4zNDUgMTAuMTA4IDExLjM5MiA5Ljc0MyAxMS4zOTIgOS4zNDlDMTEuMzkxIDkuMDA3IDExLjM1MiA4LjY4NiAxMS4yNzIgOC4zODdaTTkuNzkzIDcuNzhDOS45NDQgNy44NTEgMTAuMDc1IDcuOTU2IDEwLjE4MyA4LjA5NEMxMC4yOTIgOC4yMzQgMTAuMzc3IDguNDA3IDEwLjQzOCA4LjYxMUMxMC40ODkgOC43ODUgMTAuNTIgOC45ODIgMTAuNTI3IDkuMTk4TDEwLjUyIDkuMzIzQzEwLjUyIDkuNjUgMTAuNDg3IDkuOTQzIDEwLjQyIDEwLjE5MkMxMC4zNTMgMTAuNDM4IDEwLjI1OSAxMC42NDUgMTAuMTQyIDEwLjgwNkMxMC4wMjUgMTAuOTY4IDkuODgyIDExLjA5MSA5LjcyMSAxMS4xNzJDOS4zOTkgMTEuMzM0IDguOTYxIDExLjMzOCA4LjY1MiAxMS4xODdDOC40OTkgMTEuMTEyIDguMzY2IDExLjAxMiA4LjI1OSAxMC44OTFDOC4xNzQgMTAuNzk1IDguMTAzIDEwLjY3NSA4LjA0MSAxMC41MjRDOC4wNDEgMTAuNTI0IDcuODYyIDEwLjA3NyA3Ljg2MiA5LjU3N0M3Ljg2MiA5LjA3NyA4LjA0MSA4LjU3NSA4LjA0MSA4LjU3NUM4LjEwMyA4LjM5OCA4LjE3NyA4LjI1NyA4LjI2NSA4LjE0NUM4LjM3OSA4LjAwMiA4LjUyMSA3Ljg4NiA4LjY4OSA3LjhDOC44NTcgNy43MTQgOS4wNTQgNy42NzEgOS4yNzYgNy42NzFDOS40NjYgNy42NzEgOS42NCA3LjcwOCA5Ljc5MyA3Ljc4Wk0xNSAxM0gxVjE0SDE1VjEzWk0yLjgxMyAxMEwyLjA4NSAxMi4wMzFIMUwxLjAyNSAxMS45NTlMMy40NjYgNC44NzMwNUg0LjQwN0w2Ljg5MiAxMi4wMzFINS44MUw1LjAzMiAxMEgyLjgxM1pNMy45MzQgNi40MjIwNUgzLjkxMkwzLjAwNyA5LjE3NTA1SDQuODQ4TDMuOTM0IDYuNDIyMDVaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K") 50% no-repeat}.vs .monaco-custom-checkbox.monaco-regex{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC4wMTIyIDJIMTAuOTg3OVY1LjExMzQ2TDEzLjU0ODkgMy41NTYwOUwxNC4wMzQgNC40NDA5NUwxMS40NzAyIDZMMTQuMDM0IDcuNTU5MDVMMTMuNTQ4OSA4LjQ0MzkxTDEwLjk4NzkgNi44ODY1NFYxMEgxMC4wMTIyVjYuODg2NTRMNy40NTExNCA4LjQ0MzkxTDYuOTY2MDYgNy41NTkwNUw5LjUyOTkgNkw2Ljk2NjA2IDQuNDQwOTVMNy40NTExNCAzLjU1NjA5TDEwLjAxMjIgNS4xMTM0NlYyWk0yIDEwSDZWMTRIMlYxMFoiIGZpbGw9IiM0MjQyNDIiLz4KPC9zdmc+Cg==") 50% no-repeat}.vs-dark .monaco-custom-checkbox.monaco-regex{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC4wMTIyIDJIMTAuOTg3OVY1LjExMzQ2TDEzLjU0ODkgMy41NTYwOUwxNC4wMzQgNC40NDA5NUwxMS40NzAyIDZMMTQuMDM0IDcuNTU5MDVMMTMuNTQ4OSA4LjQ0MzkxTDEwLjk4NzkgNi44ODY1NFYxMEgxMC4wMTIyVjYuODg2NTRMNy40NTExNCA4LjQ0MzkxTDYuOTY2MDYgNy41NTkwNUw5LjUyOTkgNkw2Ljk2NjA2IDQuNDQwOTVMNy40NTExNCAzLjU1NjA5TDEwLjAxMjIgNS4xMTM0NlYyWk0yIDEwSDZWMTRIMlYxMFoiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==") 50% no-repeat}.hc-black .monaco-custom-checkbox.monaco-regex,.hc-black .monaco-custom-checkbox.monaco-regex:hover{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC4wMTIyIDJIMTAuOTg3OVY1LjExMzQ2TDEzLjU0ODkgMy41NTYwOUwxNC4wMzQgNC40NDA5NUwxMS40NzAyIDZMMTQuMDM0IDcuNTU5MDVMMTMuNTQ4OSA4LjQ0MzkxTDEwLjk4NzkgNi44ODY1NFYxMEgxMC4wMTIyVjYuODg2NTRMNy40NTExNCA4LjQ0MzkxTDYuOTY2MDYgNy41NTkwNUw5LjUyOTkgNkw2Ljk2NjA2IDQuNDQwOTVMNy40NTExNCAzLjU1NjA5TDEwLjAxMjIgNS4xMTM0NlYyWk0yIDEwSDZWMTRIMlYxMFoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=") 50% no-repeat}.monaco-checkbox .label{width:12px;height:12px;border:1px solid #000;background-color:transparent;display:inline-block}.monaco-checkbox .checkbox{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.monaco-checkbox .checkbox:checked+.label{background-color:#000}.monaco-editor .find-widget{position:absolute;z-index:10;top:-44px;height:33px;overflow:hidden;line-height:19px;transition:top .2s linear;padding:0 4px;box-sizing:border-box}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled{top:-74px}.monaco-editor .find-widget.replaceToggled>.replace-part{display:-ms-flexbox;display:flex;display:-webkit-flex}.monaco-editor .find-widget.replaceToggled.visible,.monaco-editor .find-widget.visible{top:0}.monaco-editor .find-widget.multipleline{top:unset;bottom:10px}.monaco-editor .find-widget.multipleline.replaceToggled.visible,.monaco-editor .find-widget.multipleline.visible{top:0;bottom:unset}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:4px 0 0 17px;font-size:12px;display:-ms-flexbox;display:flex;display:-webkit-flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.wrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.wrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.wrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.wrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.wrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions,.monaco-editor .find-widget>.replace-part .replace-actions{height:25px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:-ms-flexbox;display:flex;display:-webkit-flex;-ms-flex:1;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{margin:0 0 0 3px;padding:2px 0 0 2px;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button,.monaco-editor .find-widget .matchesCount{display:-ms-flexbox;display:flex;display:-webkit-flex;-ms-flex:initial;flex:initial}.monaco-editor .find-widget .button{min-width:20px;width:20px;height:20px;margin-left:3px;background-position:50%;background-repeat:no-repeat;cursor:pointer}.monaco-editor .find-widget .button:not(.disabled):hover{background-color:rgba(0,0,0,.1)}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:0;width:18px;height:100%;-o-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .previous{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy44NTM1IDYuMjkyODRMOC44NTM1NiAxLjI5Mjg1SDguMTQ2NDVMMy4xNDY0NSA2LjI5Mjg0TDMuODUzNTYgNi45OTk5NUw4IDIuODUzNTFWMTUuMDYwNkg5VjIuODUzNTFMMTMuMTQ2NCA2Ljk5OTk1TDEzLjg1MzUgNi4yOTI4NFoiIGZpbGw9IiM0MjQyNDIiLz4KPC9zdmc+Cg==")}.monaco-editor .find-widget .next{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjE0NjQ2IDkuNzY3ODNMOC4xNDY0NCAxNC43Njc4TDguODUzNTUgMTQuNzY3OEwxMy44NTM1IDkuNzY3ODNMMTMuMTQ2NCA5LjA2MDcyTDkgMTMuMjA3Mkw5IDEuMDAwMDZMOCAxLjAwMDA2TDggMTMuMjA3MkwzLjg1MzU2IDkuMDYwNzJMMy4xNDY0NiA5Ljc2NzgzWiIgZmlsbD0iIzQyNDI0MiIvPgo8L3N2Zz4K")}.monaco-editor .find-widget .disabled{opacity:.3;cursor:default}.monaco-editor .find-widget .monaco-checkbox{width:20px;height:20px;display:inline-block;vertical-align:middle;margin-left:3px}.monaco-editor .find-widget .monaco-checkbox .label{content:"";display:inline-block;background-repeat:no-repeat;background-position:50%;background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEgMTJMMSAxMUgxMFYxMkgxWk0xIDdIMTVWOEgxTDEgN1pNMTIgM1Y0SDFMMSAzSDEyWiIgZmlsbD0iIzQyNDI0MiIvPgo8L3N2Zz4K");width:20px;height:20px;border:none}.monaco-editor .find-widget .monaco-checkbox .checkbox:disabled+.label{opacity:.3;cursor:default}.monaco-editor .find-widget .monaco-checkbox .checkbox:not(:disabled)+.label{cursor:pointer}.monaco-editor .find-widget .monaco-checkbox .checkbox:not(:disabled):hover:before+.label{background-color:#ddd}.monaco-editor .find-widget .monaco-checkbox .checkbox:checked+.label{background-color:hsla(0,0%,39%,.2)}.monaco-editor .find-widget .close-fw{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04IDguNzA3MTRMMTEuNjQ2NCAxMi4zNTM2TDEyLjM1MzYgMTEuNjQ2NUw4LjcwNzExIDguMDAwMDRMMTIuMzUzNiA0LjM1MzU5TDExLjY0NjQgMy42NDY0OEw4IDcuMjkyOTNMNC4zNTM1NSAzLjY0NjQ4TDMuNjQ2NDUgNC4zNTM1OUw3LjI5Mjg5IDguMDAwMDRMMy42NDY0NSAxMS42NDY1TDQuMzUzNTUgMTIuMzUzNkw4IDguNzA3MTRaIiBmaWxsPSIjNDI0MjQyIi8+Cjwvc3ZnPgo=")}.monaco-editor .find-widget .expand{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03Ljk3NjAzIDEwLjA3MTlMMTIuMzMzMyA1LjcxNDZMMTIuOTUyMSA2LjMzMzMyTDguMjg1MzkgMTFMNy42NjY2NyAxMUwzIDYuMzMzMzJMMy42MTg3MiA1LjcxNDZMNy45NzYwMyAxMC4wNzE5WiIgZmlsbD0iIzQyNDI0MiIvPgo8L3N2Zz4K")}.monaco-editor .find-widget .collapse{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC4wNzE5IDguMDAwMDVMNS43MTQ2MSAxMi4zNTc0TDYuMzMzMzMgMTIuOTc2MUwxMSA4LjMwOTQxVjcuNjkwNjlMNi4zMzMzMyAzLjAyNDAyTDUuNzE0NjEgMy42NDI3NEwxMC4wNzE5IDguMDAwMDVaIiBmaWxsPSIjNDI0MjQyIi8+Cjwvc3ZnPgo=")}.monaco-editor .find-widget .replace{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjIyMSAzLjczOUw1LjQ4MiA2LjAwOEw3LjcgMy43ODRMNyAzLjA4NEw1Ljk4OCA0LjA5MUw1Ljk4IDIuNDkxQzUuOTc5MDkgMi4zNTU2NyA2LjAzMDY4IDIuMjI1MjUgNi4xMjM5MiAyLjEyNzE2QzYuMjE3MTYgMi4wMjkwOCA2LjM0NDggMS45NzA5NSA2LjQ4IDEuOTY1SDhWMUg2LjQ4QzYuMjg0OTYgMS4wMDAyNiA2LjA5MTg5IDEuMDM5MDIgNS45MTE4NiAxLjExNDA1QzUuNzMxODMgMS4xODkwOCA1LjU2ODM4IDEuMjk4OTIgNS40MzA4OCAxLjQzNzI1QzUuMjkzMzggMS41NzU1OCA1LjE4NDU1IDEuNzM5NjkgNS4xMTA2MSAxLjkyMDE4QzUuMDM2NjcgMi4xMDA2NiA0Ljk5OTA4IDIuMjkzOTYgNSAyLjQ4OVY0LjFMMy45MjcgMy4wMzNMMy4yMjEgMy43MzlaTTkuODkwMTQgNS41MzI3N0g5LjkwMTQxQzEwLjA4MzYgNS44NDQyNiAxMC4zNTIxIDYgMTAuNzA3IDZDMTEuMDk5NSA2IDExLjQxMzEgNS44MzIzNiAxMS42NDc5IDUuNDk3MDhDMTEuODgyNiA1LjE2MTggMTIgNC43MTcyOCAxMiA0LjE2MzUzQzEyIDMuNjUzMDQgMTEuODk5NSAzLjI1MDcgMTEuNjk4NiAyLjk1NjUyQzExLjQ5NzcgMi42NjIzNCAxMS4yMTEzIDIuNTE1MjUgMTAuODM5NCAyLjUxNTI1QzEwLjQzMzggMi41MTUyNSAxMC4xMjExIDIuNzA4ODUgOS45MDE0MSAzLjA5NjA0SDkuODkwMTRWMUg5VjUuOTE4ODhIOS44OTAxNFY1LjUzMjc3Wk05Ljg3NjA2IDQuNDcxNzdWNC4xMzEwOEM5Ljg3NjA2IDMuODg0NDkgOS45MzQyNyAzLjY4NDQgMTAuMDUwNyAzLjUzMDgyQzEwLjE2OSAzLjM3NzI0IDEwLjMxNzQgMy4zMDA0NSAxMC40OTU4IDMuMzAwNDVDMTAuNjg1NCAzLjMwMDQ1IDEwLjgzMSAzLjM3ODMzIDEwLjkzMjQgMy41MzQwN0MxMS4wMzU3IDMuNjg3NjUgMTEuMDg3MyAzLjkwMTggMTEuMDg3MyA0LjE3NjUxQzExLjA4NzMgNC41MDc0NiAxMS4wMzEgNC43NjM3OSAxMC45MTgzIDQuOTQ1NDlDMTAuODA3NSA1LjEyNTAzIDEwLjY1MDcgNS4yMTQ4IDEwLjQ0NzkgNS4yMTQ4QzEwLjI4MDggNS4yMTQ4IDEwLjE0MzcgNS4xNDQ0OSAxMC4wMzY2IDUuMDAzODlDOS45Mjk1OCA0Ljg2MzI5IDkuODc2MDYgNC42ODU5MiA5Ljg3NjA2IDQuNDcxNzdaTTkgMTIuNzY5MUM4Ljc0NDMyIDEyLjkyMyA4LjM3NTE1IDEzIDcuODkyNDcgMTNDNy4zMjg1NSAxMyA2Ljg3MjE2IDEyLjgyMjUgNi41MjMzIDEyLjQ2NzRDNi4xNzQ0MyAxMi4xMTI0IDYgMTEuNjU0MyA2IDExLjA5MzFDNiAxMC40NDUxIDYuMTg2MzggOS45MzQ4NCA2LjU1OTE0IDkuNTYyNEM2LjkzNDI5IDkuMTg3NDcgNy40MzQ4OSA5LjAwMDAxIDguMDYwOTMgOS4wMDAwMUM4LjQ5MzQzIDkuMDAwMDEgOC44MDY0NSA5LjA1OTYgOSA5LjE3ODc4VjEwLjE3NjlDOC43NjM0NCA5Ljk5MzE5IDguNDk5NCA5LjkwMTMyIDguMjA3ODkgOS45MDEzMkM3Ljg4MjkyIDkuOTAxMzIgNy42MjQ4NSAxMC4wMDA2IDcuNDMzNjkgMTAuMTk5M0M3LjI0NDkyIDEwLjM5NTQgNy4xNTA1NCAxMC42NjczIDcuMTUwNTQgMTEuMDE0OUM3LjE1MDU0IDExLjM1MjYgNy4yNDEzNCAxMS42MTgzIDcuNDIyOTQgMTEuODExOUM3LjYwNDU0IDEyLjAwMzEgNy44NTQyNCAxMi4wOTg3IDguMTcyMDQgMTIuMDk4N0M4LjQ1NCAxMi4wOTg3IDguNzI5OTkgMTIuMDA2OCA5IDExLjgyMzFWMTIuNzY5MVpNNCA3TDMgOFYxNEw0IDE1SDExTDEyIDE0VjhMMTEgN0g0Wk00IDhINUgxMEgxMVY5VjEzVjE0SDEwSDVINFYxM1Y5VjhaIiBmaWxsPSIjNDI0MjQyIi8+Cjwvc3ZnPgo=")}.monaco-editor .find-widget .replace-all{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS42MDA5IDIuNjc2ODNDMTEuNzQ3NCAyLjM2NzA4IDExLjk1NTkgMi4yMTIyIDEyLjIyNjMgMi4yMTIyQzEyLjQ3NDIgMi4yMTIyIDEyLjY2NTEgMi4zMjk4NyAxMi43OTkxIDIuNTY1MjJDMTIuOTMzIDIuODAwNTYgMTMgMy4xMjI0MyAxMyAzLjUzMDgyQzEzIDMuOTczODMgMTIuOTIxOCA0LjMyOTQ0IDEyLjc2NTMgNC41OTc2NkMxMi42MDg4IDQuODY1ODkgMTIuMzk5NyA1IDEyLjEzOCA1QzExLjkwMTQgNSAxMS43MjI0IDQuODc1NDEgMTEuNjAwOSA0LjYyNjIySDExLjU5MzRWNC45MzUxMUgxMVYxSDExLjU5MzRWMi42NzY4M0gxMS42MDA5Wk0xMS41ODQgMy43Nzc0MkMxMS41ODQgMy45NDg3MyAxMS42MTk3IDQuMDkwNjMgMTEuNjkxMSA0LjIwMzExQzExLjc2MjQgNC4zMTU2IDExLjg1MzggNC4zNzE4NCAxMS45NjUzIDQuMzcxODRDMTIuMTAwNSA0LjM3MTg0IDEyLjIwNSA0LjMwMDAyIDEyLjI3ODkgNC4xNTYzOUMxMi4zNTQgNC4wMTEwMyAxMi4zOTE1IDMuODA1OTcgMTIuMzkxNSAzLjU0MTIxQzEyLjM5MTUgMy4zMjE0NCAxMi4zNTcxIDMuMTUwMTIgMTIuMjg4MyAzLjAyNzI2QzEyLjIyMDcgMi45MDI2NiAxMi4xMjM2IDIuODQwMzYgMTEuOTk3MiAyLjg0MDM2QzExLjg3ODIgMi44NDAzNiAxMS43NzkzIDIuOTAxOCAxMS43MDA1IDMuMDI0NjZDMTEuNjIyOCAzLjE0NzUyIDExLjU4NCAzLjMwNzU5IDExLjU4NCAzLjUwNDg3VjMuNzc3NDJaTTQuMTE5NjkgNy42OTVMMiA1LjU2NzgxTDIuNjYxODggNC45MDU5NEwzLjY2NzgxIDUuOTA2MjVWNC4zOTU5NEMzLjY2Njk1IDQuMjEzMDkgMy43MDIxOSA0LjAzMTg3IDMuNzcxNSAzLjg2MjY2QzMuODQwODIgMy42OTM0NiAzLjk0Mjg2IDMuNTM5NjEgNC4wNzE3NiAzLjQwOTkyQzQuMjAwNjYgMy4yODAyMyA0LjM1MzkgMy4xNzcyNyA0LjUyMjY4IDMuMTA2OTJDNC42OTE0NiAzLjAzNjU4IDQuODcyNDYgMy4wMDAyNCA1LjA1NTMxIDNINy4zOTkwNlYzLjkwNDY5SDUuMDU1MzFDNC45Mjg1NiAzLjkxMDI2IDQuODA4OSAzLjk2NDc2IDQuNzIxNDkgNC4wNTY3MkM0LjYzNDA4IDQuMTQ4NjggNC41ODU3MSA0LjI3MDk0IDQuNTg2NTYgNC4zOTc4MUw0LjU5NDA2IDUuODk3ODFMNS41NDI4MSA0Ljk1Mzc1TDYuMTk5MDYgNS42MUw0LjExOTY5IDcuNjk1Wk05LjM1NTYgNC45MzAxN0gxMFYzLjIyMDY3QzEwIDIuNDA2ODkgOS42ODUzNCAyIDkuMDU2MDMgMkM4LjkyMDk4IDIgOC43NzA4MyAyLjAyNDIxIDguNjA1NiAyLjA3MjYzQzguNDQxODEgMi4xMjEwNCA4LjMxMjUgMi4xNzY5MSA4LjIxNzY3IDIuMjQwMjJWMi45MDUwM0M4LjQ1NDc0IDIuNzAyMDUgOC43MDQ3NCAyLjYwMDU2IDguOTY3NjcgMi42MDA1NkM5LjIyOTE3IDIuNjAwNTYgOS4zNTk5MSAyLjc1Njk4IDkuMzU5OTEgMy4wNjk4M0w4Ljc2MDc4IDMuMTczMThDOC4yNTM1OSAzLjI1ODg1IDggMy41NzkxNCA4IDQuMTM0MDhDOCA0LjM5NjY1IDguMDYxMDYgNC42MDcwOCA4LjE4MzE5IDQuNzY1MzZDOC4zMDY3NSA0LjkyMTc5IDguNDc1NTcgNSA4LjY4OTY2IDVDOC45Nzk4OSA1IDkuMTk4OTkgNC44Mzk4NSA5LjM0Njk4IDQuNTE5NTVIOS4zNTU2VjQuOTMwMTdaTTkuMzU5OTEgMy41NzU0MlYzLjc2ODE2QzkuMzU5OTEgMy45NDMyIDkuMzE5NjggNC4wODg0NSA5LjIzOTIyIDQuMjAzOTFDOS4xNTg3NiA0LjMxNzUgOS4wNTQ2IDQuMzc0MyA4LjkyNjcyIDQuMzc0M0M4LjgzNDc3IDQuMzc0MyA4Ljc2MTQ5IDQuMzQyNjQgOC43MDY5IDQuMjc5MzNDOC42NTM3NCA0LjIxNDE1IDguNjI3MTYgNC4xMzEyOCA4LjYyNzE2IDQuMDMwNzNDOC42MjcxNiAzLjgwOTEyIDguNzM3NzkgMy42Nzk3IDguOTU5MDUgMy42NDI0Nkw5LjM1OTkxIDMuNTc1NDJaTTcgMTIuOTMwMkg2LjM1NTZWMTIuNTE5Nkg2LjM0Njk4QzYuMTk4OTkgMTIuODM5OSA1Ljk3OTg5IDEzIDUuNjg5NjYgMTNDNS40NzU1NyAxMyA1LjMwNjc1IDEyLjkyMTggNS4xODMxOSAxMi43NjU0QzUuMDYxMDYgMTIuNjA3MSA1IDEyLjM5NjYgNSAxMi4xMzQxQzUgMTEuNTc5MSA1LjI1MzU5IDExLjI1ODggNS43NjA3OCAxMS4xNzMyTDYuMzU5OTEgMTEuMDY5OEM2LjM1OTkxIDEwLjc1NyA2LjIyOTE3IDEwLjYwMDYgNS45Njc2NyAxMC42MDA2QzUuNzA0NzQgMTAuNjAwNiA1LjQ1NDc0IDEwLjcwMiA1LjIxNzY3IDEwLjkwNVYxMC4yNDAyQzUuMzEyNSAxMC4xNzY5IDUuNDQxODEgMTAuMTIxIDUuNjA1NiAxMC4wNzI2QzUuNzcwODMgMTAuMDI0MiA1LjkyMDk4IDEwIDYuMDU2MDMgMTBDNi42ODUzNCAxMCA3IDEwLjQwNjkgNyAxMS4yMjA3VjEyLjkzMDJaTTYuMzU5OTEgMTEuNzY4MlYxMS41NzU0TDUuOTU5MDUgMTEuNjQyNUM1LjczNzc5IDExLjY3OTcgNS42MjcxNiAxMS44MDkxIDUuNjI3MTYgMTIuMDMwN0M1LjYyNzE2IDEyLjEzMTMgNS42NTM3NCAxMi4yMTQyIDUuNzA2OSAxMi4yNzkzQzUuNzYxNDkgMTIuMzQyNiA1LjgzNDc3IDEyLjM3NDMgNS45MjY3MiAxMi4zNzQzQzYuMDU0NiAxMi4zNzQzIDYuMTU4NzYgMTIuMzE3NSA2LjIzOTIyIDEyLjIwMzlDNi4zMTk2OCAxMi4wODg1IDYuMzU5OTEgMTEuOTQzMiA2LjM1OTkxIDExLjc2ODJaTTkuMjYxNjUgMTNDOS41ODM0MyAxMyA5LjgyOTU1IDEyLjk0MjMgMTAgMTIuODI2OFYxMi4xMTczQzkuODE5OTkgMTIuMjU1MSA5LjYzNiAxMi4zMjQgOS40NDgwMyAxMi4zMjRDOS4yMzYxNiAxMi4zMjQgOS4wNjk2OSAxMi4yNTIzIDguOTQ4NjMgMTIuMTA4OUM4LjgyNzU2IDExLjk2MzcgOC43NjcwMiAxMS43NjQ0IDguNzY3MDIgMTEuNTExMkM4Ljc2NzAyIDExLjI1MDUgOC44Mjk5NSAxMS4wNDY2IDguOTU1NzkgMTAuODk5NEM5LjA4MzIzIDEwLjc1MDUgOS4yNTUyOCAxMC42NzYgOS40NzE5MiAxMC42NzZDOS42NjYyNyAxMC42NzYgOS44NDIyOSAxMC43NDQ5IDEwIDEwLjg4MjdWMTAuMTM0MUM5Ljg3MDk3IDEwLjA0NDcgOS42NjIyOSAxMCA5LjM3Mzk1IDEwQzguOTU2NTkgMTAgOC42MjI4NiAxMC4xNDA2IDguMzcyNzYgMTAuNDIxOEM4LjEyNDI1IDEwLjcwMTEgOCAxMS4wODM4IDggMTEuNTY5OEM4IDExLjk5MDcgOC4xMTYyOSAxMi4zMzQzIDguMzQ4ODcgMTIuNjAwNkM4LjU4MTQ0IDEyLjg2NjkgOC44ODU3IDEzIDkuMjYxNjUgMTNaTTIgOUwzIDhIMTJMMTMgOVYxNEwxMiAxNUgzTDIgMTRWOVpNMyA5VjE0SDEyVjlIM1pNNiA3TDcgNkgxNEwxNSA3VjEyTDE0IDEzVjEyVjdIN0g2WiIgZmlsbD0iIzQyNDI0MiIvPgo8L3N2Zz4K")}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:-ms-flexbox;display:flex;display:-webkit-flex;vertical-align:middle;-ms-flex:auto;flex:auto;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount,.monaco-editor .find-widget.reduced-find-widget .monaco-checkbox{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .findMatch{-webkit-animation-duration:0;-webkit-animation-name:inherit!important;-moz-animation-duration:0;-moz-animation-name:inherit!important;-ms-animation-duration:0;-ms-animation-name:inherit!important;animation-duration:0;animation-name:inherit!important}.monaco-editor .find-widget .monaco-sash{width:2px!important;margin-left:-4px}.monaco-editor.hc-black .find-widget .previous,.monaco-editor.vs-dark .find-widget .previous{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy44NTM1IDYuMjkyODRMOC44NTM1NiAxLjI5Mjg1SDguMTQ2NDVMMy4xNDY0NSA2LjI5Mjg0TDMuODUzNTYgNi45OTk5NUw4IDIuODUzNTFWMTUuMDYwNkg5VjIuODUzNTFMMTMuMTQ2NCA2Ljk5OTk1TDEzLjg1MzUgNi4yOTI4NFoiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==")}.monaco-editor.hc-black .find-widget .next,.monaco-editor.vs-dark .find-widget .next{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjE0NjQ2IDkuNzY3ODNMOC4xNDY0NCAxNC43Njc4TDguODUzNTUgMTQuNzY3OEwxMy44NTM1IDkuNzY3ODNMMTMuMTQ2NCA5LjA2MDcyTDkgMTMuMjA3Mkw5IDEuMDAwMDZMOCAxLjAwMDA2TDggMTMuMjA3MkwzLjg1MzU2IDkuMDYwNzJMMy4xNDY0NiA5Ljc2NzgzWiIgZmlsbD0iI0M1QzVDNSIvPgo8L3N2Zz4K")}.monaco-editor.hc-black .find-widget .monaco-checkbox .label,.monaco-editor.vs-dark .find-widget .monaco-checkbox .label{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEgMTJMMSAxMUgxMFYxMkgxWk0xIDdIMTVWOEgxTDEgN1pNMTIgM1Y0SDFMMSAzSDEyWiIgZmlsbD0iI0M1QzVDNSIvPgo8L3N2Zz4K")}.monaco-editor.vs-dark .find-widget .monaco-checkbox .checkbox:not(:disabled):hover:before+.label{background-color:hsla(0,0%,100%,.1)}.monaco-editor.hc-black .find-widget .close-fw,.monaco-editor.vs-dark .find-widget .close-fw{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04IDguNzA3MTRMMTEuNjQ2NCAxMi4zNTM2TDEyLjM1MzYgMTEuNjQ2NUw4LjcwNzExIDguMDAwMDRMMTIuMzUzNiA0LjM1MzU5TDExLjY0NjQgMy42NDY0OEw4IDcuMjkyOTNMNC4zNTM1NSAzLjY0NjQ4TDMuNjQ2NDUgNC4zNTM1OUw3LjI5Mjg5IDguMDAwMDRMMy42NDY0NSAxMS42NDY1TDQuMzUzNTUgMTIuMzUzNkw4IDguNzA3MTRaIiBmaWxsPSIjQzVDNUM1Ii8+Cjwvc3ZnPgo=")}.monaco-editor.hc-black .find-widget .replace,.monaco-editor.vs-dark .find-widget .replace{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjIyMSAzLjczOUw1LjQ4MiA2LjAwOEw3LjcgMy43ODRMNyAzLjA4NEw1Ljk4OCA0LjA5MUw1Ljk4IDIuNDkxQzUuOTc5MDkgMi4zNTU2NyA2LjAzMDY4IDIuMjI1MjUgNi4xMjM5MiAyLjEyNzE2QzYuMjE3MTYgMi4wMjkwOCA2LjM0NDggMS45NzA5NSA2LjQ4IDEuOTY1SDhWMUg2LjQ4QzYuMjg0OTYgMS4wMDAyNiA2LjA5MTg5IDEuMDM5MDIgNS45MTE4NiAxLjExNDA1QzUuNzMxODMgMS4xODkwOCA1LjU2ODM4IDEuMjk4OTIgNS40MzA4OCAxLjQzNzI1QzUuMjkzMzggMS41NzU1OCA1LjE4NDU1IDEuNzM5NjkgNS4xMTA2MSAxLjkyMDE4QzUuMDM2NjcgMi4xMDA2NiA0Ljk5OTA4IDIuMjkzOTYgNSAyLjQ4OVY0LjFMMy45MjcgMy4wMzNMMy4yMjEgMy43MzlaTTkuODkwMTQgNS41MzI3N0g5LjkwMTQxQzEwLjA4MzYgNS44NDQyNiAxMC4zNTIxIDYgMTAuNzA3IDZDMTEuMDk5NSA2IDExLjQxMzEgNS44MzIzNiAxMS42NDc5IDUuNDk3MDhDMTEuODgyNiA1LjE2MTggMTIgNC43MTcyOCAxMiA0LjE2MzUzQzEyIDMuNjUzMDQgMTEuODk5NSAzLjI1MDcgMTEuNjk4NiAyLjk1NjUyQzExLjQ5NzcgMi42NjIzNCAxMS4yMTEzIDIuNTE1MjUgMTAuODM5NCAyLjUxNTI1QzEwLjQzMzggMi41MTUyNSAxMC4xMjExIDIuNzA4ODUgOS45MDE0MSAzLjA5NjA0SDkuODkwMTRWMUg5VjUuOTE4ODhIOS44OTAxNFY1LjUzMjc3Wk05Ljg3NjA2IDQuNDcxNzdWNC4xMzEwOEM5Ljg3NjA2IDMuODg0NDkgOS45MzQyNyAzLjY4NDQgMTAuMDUwNyAzLjUzMDgyQzEwLjE2OSAzLjM3NzI0IDEwLjMxNzQgMy4zMDA0NSAxMC40OTU4IDMuMzAwNDVDMTAuNjg1NCAzLjMwMDQ1IDEwLjgzMSAzLjM3ODMzIDEwLjkzMjQgMy41MzQwN0MxMS4wMzU3IDMuNjg3NjUgMTEuMDg3MyAzLjkwMTggMTEuMDg3MyA0LjE3NjUxQzExLjA4NzMgNC41MDc0NiAxMS4wMzEgNC43NjM3OSAxMC45MTgzIDQuOTQ1NDlDMTAuODA3NSA1LjEyNTAzIDEwLjY1MDcgNS4yMTQ4IDEwLjQ0NzkgNS4yMTQ4QzEwLjI4MDggNS4yMTQ4IDEwLjE0MzcgNS4xNDQ0OSAxMC4wMzY2IDUuMDAzODlDOS45Mjk1OCA0Ljg2MzI5IDkuODc2MDYgNC42ODU5MiA5Ljg3NjA2IDQuNDcxNzdaTTkgMTIuNzY5MUM4Ljc0NDMzIDEyLjkyMyA4LjM3NTE1IDEzIDcuODkyNDcgMTNDNy4zMjg1NSAxMyA2Ljg3MjE2IDEyLjgyMjUgNi41MjMzIDEyLjQ2NzRDNi4xNzQ0MyAxMi4xMTI0IDYgMTEuNjU0MyA2IDExLjA5MzFDNiAxMC40NDUxIDYuMTg2MzggOS45MzQ4NCA2LjU1OTE0IDkuNTYyNEM2LjkzNDI5IDkuMTg3NDcgNy40MzQ4OSA5LjAwMDAxIDguMDYwOTMgOS4wMDAwMUM4LjQ5MzQzIDkuMDAwMDEgOC44MDY0NSA5LjA1OTYgOSA5LjE3ODc4VjEwLjE3NjlDOC43NjM0NCA5Ljk5MzE5IDguNDk5NCA5LjkwMTMyIDguMjA3ODkgOS45MDEzMkM3Ljg4MjkyIDkuOTAxMzIgNy42MjQ4NSAxMC4wMDA2IDcuNDMzNjkgMTAuMTk5M0M3LjI0NDkyIDEwLjM5NTQgNy4xNTA1NCAxMC42NjczIDcuMTUwNTQgMTEuMDE0OUM3LjE1MDU0IDExLjM1MjYgNy4yNDEzNCAxMS42MTgzIDcuNDIyOTQgMTEuODExOUM3LjYwNDU0IDEyLjAwMzEgNy44NTQyNCAxMi4wOTg3IDguMTcyMDQgMTIuMDk4N0M4LjQ1NCAxMi4wOTg3IDguNzI5OTkgMTIuMDA2OCA5IDExLjgyMzFWMTIuNzY5MVpNNCA3TDMgOFYxNEw0IDE1SDExTDEyIDE0VjhMMTEgN0g0Wk00IDhINUgxMEgxMVY5VjEzVjE0SDEwSDVINFYxM1Y5VjhaIiBmaWxsPSIjQzVDNUM1Ii8+Cjwvc3ZnPgo=")}.monaco-editor.hc-black .find-widget .replace-all,.monaco-editor.vs-dark .find-widget .replace-all{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS42MDA5IDIuNjc2ODNDMTEuNzQ3NCAyLjM2NzA4IDExLjk1NTkgMi4yMTIyIDEyLjIyNjMgMi4yMTIyQzEyLjQ3NDIgMi4yMTIyIDEyLjY2NTEgMi4zMjk4NyAxMi43OTkxIDIuNTY1MjJDMTIuOTMzIDIuODAwNTYgMTMgMy4xMjI0MyAxMyAzLjUzMDgyQzEzIDMuOTczODMgMTIuOTIxOCA0LjMyOTQ0IDEyLjc2NTMgNC41OTc2NkMxMi42MDg4IDQuODY1ODkgMTIuMzk5NyA1IDEyLjEzOCA1QzExLjkwMTQgNSAxMS43MjI0IDQuODc1NDEgMTEuNjAwOSA0LjYyNjIySDExLjU5MzRWNC45MzUxMUgxMVYxSDExLjU5MzRWMi42NzY4M0gxMS42MDA5Wk0xMS41ODQgMy43Nzc0MkMxMS41ODQgMy45NDg3MyAxMS42MTk3IDQuMDkwNjMgMTEuNjkxMSA0LjIwMzExQzExLjc2MjQgNC4zMTU2IDExLjg1MzggNC4zNzE4NCAxMS45NjUzIDQuMzcxODRDMTIuMTAwNSA0LjM3MTg0IDEyLjIwNSA0LjMwMDAyIDEyLjI3ODkgNC4xNTYzOUMxMi4zNTQgNC4wMTEwMyAxMi4zOTE1IDMuODA1OTcgMTIuMzkxNSAzLjU0MTIxQzEyLjM5MTUgMy4zMjE0NCAxMi4zNTcxIDMuMTUwMTIgMTIuMjg4MyAzLjAyNzI2QzEyLjIyMDcgMi45MDI2NiAxMi4xMjM2IDIuODQwMzYgMTEuOTk3MiAyLjg0MDM2QzExLjg3ODIgMi44NDAzNiAxMS43NzkzIDIuOTAxOCAxMS43MDA1IDMuMDI0NjZDMTEuNjIyOCAzLjE0NzUyIDExLjU4NCAzLjMwNzU5IDExLjU4NCAzLjUwNDg3VjMuNzc3NDJaTTQuMTE5NjkgNy42OTVMMiA1LjU2NzgxTDIuNjYxODggNC45MDU5NEwzLjY2NzgxIDUuOTA2MjVWNC4zOTU5NEMzLjY2Njk1IDQuMjEzMDkgMy43MDIxOSA0LjAzMTg3IDMuNzcxNSAzLjg2MjY2QzMuODQwODIgMy42OTM0NiAzLjk0Mjg2IDMuNTM5NjEgNC4wNzE3NiAzLjQwOTkyQzQuMjAwNjYgMy4yODAyMyA0LjM1MzkgMy4xNzcyNyA0LjUyMjY4IDMuMTA2OTJDNC42OTE0NiAzLjAzNjU4IDQuODcyNDYgMy4wMDAyNCA1LjA1NTMxIDNINy4zOTkwNlYzLjkwNDY5SDUuMDU1MzFDNC45Mjg1NiAzLjkxMDI2IDQuODA4OSAzLjk2NDc2IDQuNzIxNDkgNC4wNTY3MkM0LjYzNDA4IDQuMTQ4NjggNC41ODU3MSA0LjI3MDk0IDQuNTg2NTYgNC4zOTc4MUw0LjU5NDA2IDUuODk3ODFMNS41NDI4MSA0Ljk1Mzc1TDYuMTk5MDYgNS42MUw0LjExOTY5IDcuNjk1Wk05LjM1NTYgNC45MzAxN0gxMFYzLjIyMDY3QzEwIDIuNDA2ODkgOS42ODUzNCAyIDkuMDU2MDMgMkM4LjkyMDk4IDIgOC43NzA4MyAyLjAyNDIxIDguNjA1NiAyLjA3MjYzQzguNDQxODEgMi4xMjEwNCA4LjMxMjUgMi4xNzY5MSA4LjIxNzY3IDIuMjQwMjJWMi45MDUwM0M4LjQ1NDc0IDIuNzAyMDUgOC43MDQ3NCAyLjYwMDU2IDguOTY3NjcgMi42MDA1NkM5LjIyOTE3IDIuNjAwNTYgOS4zNTk5MSAyLjc1Njk4IDkuMzU5OTEgMy4wNjk4M0w4Ljc2MDc4IDMuMTczMThDOC4yNTM1OSAzLjI1ODg1IDggMy41NzkxNCA4IDQuMTM0MDhDOCA0LjM5NjY1IDguMDYxMDYgNC42MDcwOCA4LjE4MzE5IDQuNzY1MzZDOC4zMDY3NSA0LjkyMTc5IDguNDc1NTcgNSA4LjY4OTY2IDVDOC45Nzk4OSA1IDkuMTk4OTkgNC44Mzk4NSA5LjM0Njk4IDQuNTE5NTVIOS4zNTU2VjQuOTMwMTdaTTkuMzU5OTEgMy41NzU0MlYzLjc2ODE2QzkuMzU5OTEgMy45NDMyIDkuMzE5NjggNC4wODg0NSA5LjIzOTIyIDQuMjAzOTFDOS4xNTg3NiA0LjMxNzUgOS4wNTQ2IDQuMzc0MyA4LjkyNjcyIDQuMzc0M0M4LjgzNDc3IDQuMzc0MyA4Ljc2MTQ5IDQuMzQyNjQgOC43MDY5IDQuMjc5MzNDOC42NTM3NCA0LjIxNDE1IDguNjI3MTYgNC4xMzEyOCA4LjYyNzE2IDQuMDMwNzNDOC42MjcxNiAzLjgwOTEyIDguNzM3NzkgMy42Nzk3IDguOTU5MDUgMy42NDI0Nkw5LjM1OTkxIDMuNTc1NDJaTTcgMTIuOTMwMkg2LjM1NTZWMTIuNTE5Nkg2LjM0Njk4QzYuMTk4OTkgMTIuODM5OSA1Ljk3OTg5IDEzIDUuNjg5NjYgMTNDNS40NzU1NyAxMyA1LjMwNjc1IDEyLjkyMTggNS4xODMxOSAxMi43NjU0QzUuMDYxMDYgMTIuNjA3MSA1IDEyLjM5NjYgNSAxMi4xMzQxQzUgMTEuNTc5MSA1LjI1MzU5IDExLjI1ODggNS43NjA3OCAxMS4xNzMyTDYuMzU5OTEgMTEuMDY5OEM2LjM1OTkxIDEwLjc1NyA2LjIyOTE3IDEwLjYwMDYgNS45Njc2NyAxMC42MDA2QzUuNzA0NzQgMTAuNjAwNiA1LjQ1NDc0IDEwLjcwMiA1LjIxNzY3IDEwLjkwNVYxMC4yNDAyQzUuMzEyNSAxMC4xNzY5IDUuNDQxODEgMTAuMTIxIDUuNjA1NiAxMC4wNzI2QzUuNzcwODMgMTAuMDI0MiA1LjkyMDk4IDEwIDYuMDU2MDMgMTBDNi42ODUzNCAxMCA3IDEwLjQwNjkgNyAxMS4yMjA3VjEyLjkzMDJaTTYuMzU5OTEgMTEuNzY4MlYxMS41NzU0TDUuOTU5MDUgMTEuNjQyNUM1LjczNzc5IDExLjY3OTcgNS42MjcxNiAxMS44MDkxIDUuNjI3MTYgMTIuMDMwN0M1LjYyNzE2IDEyLjEzMTMgNS42NTM3NCAxMi4yMTQyIDUuNzA2OSAxMi4yNzkzQzUuNzYxNDkgMTIuMzQyNiA1LjgzNDc3IDEyLjM3NDMgNS45MjY3MiAxMi4zNzQzQzYuMDU0NiAxMi4zNzQzIDYuMTU4NzYgMTIuMzE3NSA2LjIzOTIyIDEyLjIwMzlDNi4zMTk2OCAxMi4wODg1IDYuMzU5OTEgMTEuOTQzMiA2LjM1OTkxIDExLjc2ODJaTTkuMjYxNjUgMTNDOS41ODM0MyAxMyA5LjgyOTU1IDEyLjk0MjMgMTAgMTIuODI2OFYxMi4xMTczQzkuODE5OTkgMTIuMjU1MSA5LjYzNiAxMi4zMjQgOS40NDgwMyAxMi4zMjRDOS4yMzYxNiAxMi4zMjQgOS4wNjk2OSAxMi4yNTIzIDguOTQ4NjMgMTIuMTA4OUM4LjgyNzU2IDExLjk2MzcgOC43NjcwMiAxMS43NjQ0IDguNzY3MDIgMTEuNTExMkM4Ljc2NzAyIDExLjI1MDUgOC44Mjk5NSAxMS4wNDY2IDguOTU1NzkgMTAuODk5NEM5LjA4MzIzIDEwLjc1MDUgOS4yNTUyOCAxMC42NzYgOS40NzE5MiAxMC42NzZDOS42NjYyNyAxMC42NzYgOS44NDIyOSAxMC43NDQ5IDEwIDEwLjg4MjdWMTAuMTM0MUM5Ljg3MDk3IDEwLjA0NDcgOS42NjIyOSAxMCA5LjM3Mzk1IDEwQzguOTU2NTkgMTAgOC42MjI4NiAxMC4xNDA2IDguMzcyNzYgMTAuNDIxOEM4LjEyNDI1IDEwLjcwMTEgOCAxMS4wODM4IDggMTEuNTY5OEM4IDExLjk5MDcgOC4xMTYyOSAxMi4zMzQzIDguMzQ4ODcgMTIuNjAwNkM4LjU4MTQ0IDEyLjg2NjkgOC44ODU3IDEzIDkuMjYxNjUgMTNaTTIgOUwzIDhIMTJMMTMgOVYxNEwxMiAxNUgzTDIgMTRWOVpNMyA5VjE0SDEyVjlIM1pNNiA3TDcgNkgxNEwxNSA3VjEyTDE0IDEzVjEyVjdIN0g2WiIgZmlsbD0iI0M1QzVDNSIvPgo8L3N2Zz4K")}.monaco-editor.hc-black .find-widget .expand,.monaco-editor.vs-dark .find-widget .expand{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03Ljk3NjAzIDEwLjA3MTlMMTIuMzMzMyA1LjcxNDZMMTIuOTUyMSA2LjMzMzMyTDguMjg1MzkgMTFMNy42NjY2NyAxMUwzIDYuMzMzMzJMMy42MTg3MiA1LjcxNDZMNy45NzYwMyAxMC4wNzE5WiIgZmlsbD0iI0M1QzVDNSIvPgo8L3N2Zz4K")}.monaco-editor.hc-black .find-widget .collapse,.monaco-editor.vs-dark .find-widget .collapse{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC4wNzE5IDguMDAwMDVMNS43MTQ2MSAxMi4zNTc0TDYuMzMzMzMgMTIuOTc2MUwxMSA4LjMwOTQxVjcuNjkwNjlMNi4zMzMzMyAzLjAyNDAyTDUuNzE0NjEgMy42NDI3NEwxMC4wNzE5IDguMDAwMDVaIiBmaWxsPSIjQzVDNUM1Ii8+Cjwvc3ZnPgo=")}.monaco-editor.hc-black .find-widget .button:not(.disabled):hover,.monaco-editor.vs-dark .find-widget .button:not(.disabled):hover{background-color:hsla(0,0%,100%,.1)}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor.hc-black .find-widget .monaco-checkbox .checkbox:checked+.label{background-color:hsla(0,0%,100%,.1)}.monaco-sash{position:absolute;z-index:35;-ms-touch-action:none;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.vertical{cursor:ew-resize;top:0;width:4px;height:100%}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:4px}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash:not(.disabled).orthogonal-end:after,.monaco-sash:not(.disabled).orthogonal-start:before{content:" ";height:8px;width:8px;z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.orthogonal-start.vertical:before{left:-2px;top:-4px}.monaco-sash.orthogonal-end.vertical:after{left:-2px;bottom:-4px}.monaco-sash.orthogonal-start.horizontal:before{top:-2px;left:-4px}.monaco-sash.orthogonal-end.horizontal:after{top:-2px;right:-4px}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.touch.vertical{width:20px}.monaco-sash.touch.horizontal{height:20px}.monaco-sash.debug{background:cyan}.monaco-sash.debug.disabled{background:rgba(0,255,255,.2)}.monaco-sash.debug:not(.disabled).orthogonal-end:after,.monaco-sash.debug:not(.disabled).orthogonal-start:before{background:red}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:rgba(253,255,0,.8)}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:rgba(253,255,0,.8)}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:hsla(0,0%,100%,.44)}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:hsla(0,0%,100%,.44)}99%{background:transparent}}.monaco-inputbox{position:relative;display:block;padding:0;-o-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;line-height:auto!important;font-size:inherit}.monaco-inputbox.idle{border:1px solid transparent}.monaco-inputbox>.wrapper>.input,.monaco-inputbox>.wrapper>.mirror{padding:4px}.monaco-inputbox>.wrapper{position:relative;width:100%;height:100%}.monaco-inputbox>.wrapper>.input{display:inline-block;-o-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.wrapper>input{text-overflow:ellipsis}.monaco-inputbox>.wrapper>textarea.input{display:block;-ms-overflow-style:none;overflow:-moz-scrollbars-none;scrollbar-width:none;outline:none}.monaco-inputbox>.wrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.wrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;-o-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;-o-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;min-height:34px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .icon{background-repeat:no-repeat;width:16px;height:16px}.monaco-scrollable-element>.scrollbar>.up-arrow{background:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTEgMTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTkuNDgwNDYsOC45NjE1bDEuMjYsLTEuMjZsLTUuMDQsLTUuMDRsLTUuNDYsNS4wNGwxLjI2LDEuMjZsNC4yLC0zLjc4bDMuNzgsMy43OHoiIGZpbGw9IiM0MjQyNDIiLz48L3N2Zz4=");cursor:pointer}.monaco-scrollable-element>.scrollbar>.down-arrow{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSAxMSI+PHBhdGggdHJhbnNmb3JtPSJyb3RhdGUoLTE4MCA1LjQ5MDQ1OTkxODk3NTgzLDUuODExNTAwMDcyNDc5MjQ4KSIgZmlsbD0iIzQyNDI0MiIgZD0ibTkuNDgwNDYsOC45NjE1bDEuMjYsLTEuMjZsLTUuMDQsLTUuMDRsLTUuNDYsNS4wNGwxLjI2LDEuMjZsNC4yLC0zLjc4bDMuNzgsMy43OHoiLz48L3N2Zz4=");cursor:pointer}.monaco-scrollable-element>.scrollbar>.left-arrow{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSAxMSI+PHBhdGggdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDUuNDkwNDU5OTE4OTc1ODMxLDUuNDMxMzgyMTc5MjYwMjU0KSIgZmlsbD0iIzQyNDI0MiIgZD0ibTkuNDgwNDYsOC41ODEzOGwxLjI2LC0xLjI2bC01LjA0LC01LjA0bC01LjQ2LDUuMDRsMS4yNiwxLjI2bDQuMiwtMy43OGwzLjc4LDMuNzh6Ii8+PC9zdmc+");cursor:pointer}.monaco-scrollable-element>.scrollbar>.right-arrow{background:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTEgMTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggdHJhbnNmb3JtPSJyb3RhdGUoOTAgNS42MTcxNjUwODg2NTM1NjQ1LDUuNTU4MDg5NzMzMTIzNzgpICIgZmlsbD0iIzQyNDI0MiIgZD0ibTkuNjA3MTcsOC43MDgwOWwxLjI2LC0xLjI2bC01LjA0LC01LjA0bC01LjQ2LDUuMDRsMS4yNiwxLjI2bDQuMiwtMy43OGwzLjc4LDMuNzh6Ii8+PC9zdmc+");cursor:pointer}.hc-black .monaco-scrollable-element>.scrollbar>.up-arrow,.vs-dark .monaco-scrollable-element>.scrollbar>.up-arrow{background:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTEgMTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTkuNDgwNDYsOC45NjE1bDEuMjYsLTEuMjZsLTUuMDQsLTUuMDRsLTUuNDYsNS4wNGwxLjI2LDEuMjZsNC4yLC0zLjc4bDMuNzgsMy43OHoiIGZpbGw9IiNFOEU4RTgiLz48L3N2Zz4=")}.hc-black .monaco-scrollable-element>.scrollbar>.down-arrow,.vs-dark .monaco-scrollable-element>.scrollbar>.down-arrow{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSAxMSI+PHBhdGggdHJhbnNmb3JtPSJyb3RhdGUoLTE4MCA1LjQ5MDQ1OTkxODk3NTgzLDUuODExNTAwMDcyNDc5MjQ4KSIgZmlsbD0iI0U4RThFOCIgZD0ibTkuNDgwNDYsOC45NjE1bDEuMjYsLTEuMjZsLTUuMDQsLTUuMDRsLTUuNDYsNS4wNGwxLjI2LDEuMjZsNC4yLC0zLjc4bDMuNzgsMy43OHoiLz48L3N2Zz4=")}.hc-black .monaco-scrollable-element>.scrollbar>.left-arrow,.vs-dark .monaco-scrollable-element>.scrollbar>.left-arrow{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSAxMSI+PHBhdGggdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDUuNDkwNDU5OTE4OTc1ODMxLDUuNDMxMzgyMTc5MjYwMjU0KSIgZmlsbD0iI0U4RThFOCIgZD0ibTkuNDgwNDYsOC41ODEzOGwxLjI2LC0xLjI2bC01LjA0LC01LjA0bC01LjQ2LDUuMDRsMS4yNiwxLjI2bDQuMiwtMy43OGwzLjc4LDMuNzh6Ii8+PC9zdmc+")}.hc-black .monaco-scrollable-element>.scrollbar>.right-arrow,.vs-dark .monaco-scrollable-element>.scrollbar>.right-arrow{background:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTEgMTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggdHJhbnNmb3JtPSJyb3RhdGUoOTAgNS42MTcxNjUwODg2NTM1NjQ1LDUuNTU4MDg5NzMzMTIzNzgpICIgZmlsbD0iI0U4RThFOCIgZD0ibTkuNjA3MTcsOC43MDgwOWwxLjI2LC0xLjI2bC01LjA0LC01LjA0bC01LjQ2LDUuMDRsMS4yNiwxLjI2bDQuMiwtMy43OGwzLjc4LDMuNzh6Ii8+PC9zdmc+")}.monaco-scrollable-element>.visible{opacity:1;background:transparent;transition:opacity .1s linear}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:inset 0 6px 6px -6px #ddd}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:inset 6px 0 6px -6px #ddd}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:inset 6px 6px 6px -6px #ddd}.vs .monaco-scrollable-element>.scrollbar>.slider{background:hsla(0,0%,39%,.4)}.vs-dark .monaco-scrollable-element>.scrollbar>.slider{background:hsla(0,0%,47%,.4)}.hc-black .monaco-scrollable-element>.scrollbar>.slider{background:rgba(111,195,223,.6)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:hsla(0,0%,39%,.7)}.hc-black .monaco-scrollable-element>.scrollbar>.slider:hover{background:rgba(111,195,223,.8)}.monaco-scrollable-element>.scrollbar>.slider.active{background:rgba(0,0,0,.6)}.vs-dark .monaco-scrollable-element>.scrollbar>.slider.active{background:hsla(0,0%,75%,.4)}.hc-black .monaco-scrollable-element>.scrollbar>.slider.active{background:#6fc3df}.vs-dark .monaco-scrollable-element .shadow.top{box-shadow:none}.vs-dark .monaco-scrollable-element .shadow.left{box-shadow:inset 6px 0 6px -6px #000}.vs-dark .monaco-scrollable-element .shadow.top.left{box-shadow:inset 6px 6px 6px -6px #000}.hc-black .monaco-scrollable-element .shadow.left,.hc-black .monaco-scrollable-element .shadow.top,.hc-black .monaco-scrollable-element .shadow.top.left{box-shadow:none}.monaco-editor .margin-view-overlays .folding{cursor:pointer;background-repeat:no-repeat;background-origin:border-box;background-position:calc(50% + 2px) 50%;background-size:auto calc(100% - 3px);opacity:0;transition:opacity .5s;background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03Ljk3NjAzIDEwLjA3MTlMMTIuMzMzMyA1LjcxNDYxTDEyLjk1MjEgNi4zMzMzM0w4LjI4NTM5IDExTDcuNjY2NjcgMTFMMyA2LjMzMzMzTDMuNjE4NzIgNS43MTQ2MUw3Ljk3NjAzIDEwLjA3MTlaIiBmaWxsPSIjNDI0MjQyIi8+Cjwvc3ZnPgo=")}.monaco-editor.hc-black .margin-view-overlays .folding,.monaco-editor.vs-dark .margin-view-overlays .folding{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03Ljk3NjAzIDEwLjA3MTlMMTIuMzMzMyA1LjcxNDYxTDEyLjk1MjEgNi4zMzMzM0w4LjI4NTM5IDExTDcuNjY2NjcgMTFMMyA2LjMzMzMzTDMuNjE4NzIgNS43MTQ2MUw3Ljk3NjAzIDEwLjA3MTlaIiBmaWxsPSIjQzVDNUM1Ii8+Cjwvc3ZnPgo=")}.monaco-editor.hc-black .margin-view-overlays .folding{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03Ljk3NjAzIDEwLjA3MTlMMTIuMzMzMyA1LjcxNDYxTDEyLjk1MjEgNi4zMzMzM0w4LjI4NTM5IDExTDcuNjY2NjcgMTFMMyA2LjMzMzMzTDMuNjE4NzIgNS43MTQ2MUw3Ljk3NjAzIDEwLjA3MTlaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K")}.monaco-editor .margin-view-overlays .folding.alwaysShowFoldIcons,.monaco-editor .margin-view-overlays:hover .folding{opacity:1}.monaco-editor .margin-view-overlays .folding.collapsed{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC4wNzE5IDcuOTk5OTlMNS43MTQ2IDEyLjM1NzNMNi4zMzMzMiAxMi45NzZMMTEgOC4zMDkzNVY3LjY5MDYzTDYuMzMzMzIgMy4wMjM5Nkw1LjcxNDYgMy42NDI2OEwxMC4wNzE5IDcuOTk5OTlaIiBmaWxsPSIjNDI0MjQyIi8+Cjwvc3ZnPgo=");opacity:1}.monaco-editor.vs-dark .margin-view-overlays .folding.collapsed{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC4wNzE5IDcuOTk5OTlMNS43MTQ2IDEyLjM1NzNMNi4zMzMzMiAxMi45NzZMMTEgOC4zMDkzNVY3LjY5MDY0TDYuMzMzMzIgMy4wMjM5N0w1LjcxNDYgMy42NDI2OUwxMC4wNzE5IDcuOTk5OTlaIiBmaWxsPSIjQzVDNUM1Ii8+Cjwvc3ZnPgo=")}.monaco-editor.hc-black .margin-view-overlays .folding.collapsed{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC4wNzE5IDcuOTk5OTlMNS43MTQ2IDEyLjM1NzNMNi4zMzMzMiAxMi45NzZMMTEgOC4zMDkzNVY3LjY5MDYzTDYuMzMzMzIgMy4wMjM5Nkw1LjcxNDYgMy42NDI2OEwxMC4wNzE5IDcuOTk5OTlaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K")}.monaco-editor .inline-folded:after{color:grey;margin:.1em .2em 0;content:"\22EF";display:inline;line-height:1em;cursor:pointer}.monaco-editor .peekview-widget .head{-o-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex}.monaco-editor .peekview-widget .head .peekview-title{display:inline-block;font-size:13px;margin-left:20px;cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-actions{-ms-flex:1;flex:1;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar .action-item{margin-left:4px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar .action-label{width:16px;height:100%;margin:0;line-height:inherit;background-repeat:no-repeat;background-position:50%}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar .action-label.octicon{margin:0}.monaco-editor .peekview-widget .head .peekview-actions .action-label.icon.close-peekview-action{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjAwMDAxIDguNzA3MDhMMTEuNjQ2NSAxMi4zNTM1TDEyLjM1MzYgMTEuNjQ2NEw4LjcwNzExIDcuOTk5OThMMTIuMzUzNiA0LjM1MzUzTDExLjY0NjUgMy42NDY0Mkw4LjAwMDAxIDcuMjkyODdMNC4zNTM1NiAzLjY0NjQyTDMuNjQ2NDUgNC4zNTM1M0w3LjI5MjkgNy45OTk5OEwzLjY0NjQ1IDExLjY0NjRMNC4zNTM1NiAxMi4zNTM1TDguMDAwMDEgOC43MDcwOFoiIGZpbGw9IiM0MjQyNDIiLz4KPC9zdmc+Cg==") 50% no-repeat}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor.hc-black .peekview-widget .head .peekview-actions .action-label.icon.close-peekview-action,.monaco-editor.vs-dark .peekview-widget .head .peekview-actions .action-label.icon.close-peekview-action{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjAwMDAxIDguNzA3MDhMMTEuNjQ2NSAxMi4zNTM1TDEyLjM1MzYgMTEuNjQ2NEw4LjcwNzExIDcuOTk5OThMMTIuMzUzNiA0LjM1MzUzTDExLjY0NjUgMy42NDY0Mkw4LjAwMDAxIDcuMjkyODdMNC4zNTM1NiAzLjY0NjQyTDMuNjQ2NDUgNC4zNTM1M0w3LjI5MjkgNy45OTk5OEwzLjY0NjQ1IDExLjY0NjRMNC4zNTM1NiAxMi4zNTM1TDguMDAwMDEgOC43MDcwOFoiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==") 50% no-repeat}.monaco-editor .peekview-widget .peekview-actions .icon.chevron-up{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy44NTM1IDYuMjkyOUw4Ljg1MzU2IDEuMjkyOTFIOC4xNDY0NUwzLjE0NjQ1IDYuMjkyOUwzLjg1MzU2IDcuMDAwMDFMOCAyLjg1MzU3VjE1LjA2MDdIOVYyLjg1MzU3TDEzLjE0NjQgNy4wMDAwMUwxMy44NTM1IDYuMjkyOVoiIGZpbGw9IiM0MjQyNDIiLz4KPC9zdmc+Cg==") 50% no-repeat}.hc-black .monaco-editor .peekview-widget .peekview-actions .icon.chevron-up,.vs-dark .monaco-editor .peekview-widget .peekview-actions .icon.chevron-up{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy44NTM1IDYuMjkyOUw4Ljg1MzU2IDEuMjkyOTFIOC4xNDY0NUwzLjE0NjQ1IDYuMjkyOUwzLjg1MzU2IDcuMDAwMDFMOCAyLjg1MzU3VjE1LjA2MDdIOVYyLjg1MzU3TDEzLjE0NjQgNy4wMDAwMUwxMy44NTM1IDYuMjkyOVoiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==") 50% no-repeat}.monaco-editor .peekview-widget .peekview-actions .icon.chevron-down{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjE0NjQ2IDkuNzY3NzdMOC4xNDY0NCAxNC43Njc4TDguODUzNTUgMTQuNzY3OEwxMy44NTM1IDkuNzY3NzdMMTMuMTQ2NCA5LjA2MDY2TDkgMTMuMjA3MUw5IDFMOCAwLjk5OTk5OUw4IDEzLjIwNzFMMy44NTM1NiA5LjA2MDY2TDMuMTQ2NDYgOS43Njc3N1oiIGZpbGw9IiM0MjQyNDIiLz4KPC9zdmc+Cg==") 50% no-repeat}.hc-black .monaco-editor .peekview-widget .peekview-actions .icon.chevron-down,.vs-dark .monaco-editor .peekview-widget .peekview-actions .icon.chevron-down{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjE0NjQ2IDkuNzY3NzdMOC4xNDY0NCAxNC43Njc4TDguODUzNTUgMTQuNzY3OEwxMy44NTM1IDkuNzY3NzdMMTMuMTQ2NCA5LjA2MDY2TDkgMTMuMjA3MUw5IDFMOCAwLjk5OTk5OUw4IDEzLjIwNzFMMy44NTM1NiA5LjA2MDY2TDMuMTQ2NDYgOS43Njc3N1oiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==") 50% no-repeat}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;-webkit-font-feature-settings:"liga" off,"calt" off;font-feature-settings:"liga" off,"calt" off}.monaco-editor.enable-ligatures{-webkit-font-feature-settings:"liga" on,"calt" on;font-feature-settings:"liga" on,"calt" on}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .vs-whitespace{display:inline-block}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent}.monaco-editor .inputarea.ime-input{z-index:10}.monaco-editor .margin-view-overlays .line-numbers{position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default;height:100%}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers{cursor:-webkit-image-set(url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIyNSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAxNSAyNSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTUgMjU7Ij48cG9seWdvbiBzdHlsZT0iZmlsbDojRkZGRkZGO3N0cm9rZTojMDAwMDAwIiBwb2ludHM9IjE0LjUsMS4yIDEuOSwxMy44IDcsMTMuOCAzLjIsMjEuNSA2LjMsMjIuNSAxMC4xLDE0LjkgMTQuNSwxOCIvPjwvc3ZnPg==") 1x,url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMzAiIGhlaWdodD0iNTAiIHZpZXdCb3g9IjAgMCAzMCA1MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzAgNTA7Ij48cG9seWdvbiBzdHlsZT0iZmlsbDojRkZGRkZGO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyOyIgcG9pbnRzPSIyOSwyLjQgMy44LDI3LjYgMTQsMjcuNiA2LjQsNDMgMTIuNiw0NSAyMC4yLDI5LjggMjksMzYiLz48L3N2Zz4K") 2x) 30 0,default}.monaco-editor.mac .margin-view-overlays .line-numbers{cursor:-webkit-image-set(url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTMgMTkiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDEzIDE5OyIgd2lkdGg9IjEzIiBoZWlnaHQ9IjE5Ij48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fTwvc3R5bGU+PHRpdGxlPmZsaXBwZWQtY3Vyc29yLW1hYzwvdGl0bGU+PHBhdGggY2xhc3M9InN0MCIgZD0iTTUuMywxNi42bDEuNi00LjdIMi4xTDEyLjUsMS4ydjE0LjRMOS43LDEzbC0xLjYsNC42Yy0wLjIsMC41LTAuOCwwLjgtMS4zLDAuNkw2LDE3LjkgQzUuNCwxNy43LDUuMSwxNy4yLDUuMywxNi42eiIvPjwvc3ZnPgo=") 1x,url("data:image/svg+xml;base64,CjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmlld0JveD0iMCAwIDI2IDM4IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyNiAzODsiIHdpZHRoPSIyNiIgaGVpZ2h0PSIzOCI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4uc3Qwe3N0cm9rZTojRkZGRkZGO3N0cm9rZS1taXRlcmxpbWl0OjEwO308L3N0eWxlPgk8dGl0bGU+ZmxpcHBlZC1jdXJzb3ItbWFjPC90aXRsZT48cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTAuNiwzMy4ybDMuMi05LjRINC4yTDI1LDIuNHYyOC44TDE5LjQsMjZsLTMuMiw5LjJjLTAuNCwxLTEuNiwxLjYtMi42LDEuMkwxMiwzNS44IEMxMC44LDM1LjQsMTAuMiwzNC40LDEwLjYsMzMuMnoiLz48L3N2Zz4K") 2x) 24 3,default}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .margin-view-overlays .current-line,.monaco-editor .view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .lines-content .cigr,.monaco-editor .lines-content .cigra,.monaco-editor .margin-view-overlays .cgmr{position:absolute}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.monaco-editor .view-lines{cursor:text;white-space:nowrap}.monaco-editor.hc-black.mac .view-lines,.monaco-editor.vs-dark.mac .view-lines{cursor:-webkit-image-set(url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAL0lEQVQoz2NgCD3x//9/BhBYBWdhgFVAiVW4JBFKGIa4AqD0//9D3pt4I4tAdAMAHTQ/j5Zom30AAAAASUVORK5CYII=) 1x,url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAAz0lEQVRIx2NgYGBY/R8I/vx5eelX3n82IJ9FxGf6tksvf/8FiTMQAcAGQMDvSwu09abffY8QYSAScNk45G198eX//yev73/4///701eh//kZSARckrNBRvz//+8+6ZohwCzjGNjdgQxkAg7B9WADeBjIBqtJCbhRA0YNoIkBSNmaPEMoNmA0FkYNoFKhapJ6FGyAH3nauaSmPfwI0v/3OukVi0CIZ+F25KrtYcx/CTIy0e+rC7R1Z4KMICVTQQ14feVXIbR695u14+Ir4gwAAD49E54wc1kWAAAAAElFTkSuQmCC) 2x) 5 8,text}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover .minimap-slider.active,.monaco-editor .minimap.slider-mouseover:hover .minimap-slider{opacity:1}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;cursor:text;overflow:hidden}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{box-sizing:border-box;background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important;box-sizing:border-box}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:-ms-inline-flexbox;display:inline-flex;width:100%;height:100%}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-icon-label{display:-ms-flexbox;display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:0;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:inline-block;-webkit-font-smoothing:antialiased;vertical-align:top;-ms-flex-negative:0;flex-shrink:0}.monaco-icon-label>.monaco-icon-label-description-container{overflow:hidden;text-overflow:ellipsis}.monaco-icon-label>.monaco-icon-label-description-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.italic>.monaco-icon-label-description-container>.label-description,.monaco-icon-label.italic>.monaco-icon-label-description-container>.label-name{font-style:italic}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;padding:0 12px 0 5px;margin-left:auto;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after,.monaco-tree.focused .selected .monaco-icon-label,.monaco-tree.focused .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description,.monaco-tree-row.focused.selected .label-description,.monaco-tree-row.selected .label-description{opacity:.8}.monaco-count-badge{padding:3px 5px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;-o-user-select:none;user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;-o-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;-ms-touch-action:none;touch-action:none}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-multiple,.monaco-list.selection-single{outline:0!important}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute}.monaco-list-type-filter{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;border-radius:2px;padding:0 3px;max-width:calc(100% - 10px);text-overflow:ellipsis;overflow:hidden;text-align:right;box-sizing:border-box;cursor:all-scroll;font-size:13px;line-height:18px;height:20px;z-index:1;top:4px}.monaco-list-type-filter.dragging{transition:top .2s,left .2s}.monaco-list-type-filter.ne{right:4px}.monaco-list-type-filter.nw{left:4px}.monaco-list-type-filter>.controls{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;box-sizing:border-box;transition:width .2s;width:0}.monaco-list-type-filter.dragging>.controls,.monaco-list-type-filter:hover>.controls{width:36px}.monaco-list-type-filter>.controls>*{box-sizing:border-box;width:16px;height:16px;margin:0 0 0 2px;-ms-flex-negative:0;flex-shrink:0}.monaco-list-type-filter>.controls>.filter{-webkit-appearance:none;width:16px;height:16px;background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEgMTJMMSAxMUgxMFYxMkgxWk0xIDdIMTVWOEgxTDEgN1pNMTIgM1Y0SDFMMSAzSDEyWiIgZmlsbD0iIzQyNDI0MiIvPgo8L3N2Zz4K");background-position:50% 50%;cursor:pointer}.monaco-list-type-filter>.controls>.filter:checked{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTYgMTJWMTFIMTBWMTJINlpNNCA3SDEyVjhINFY3Wk0xNCAzVjRIMlYzSDE0WiIgZmlsbD0iIzQyNDI0MiIvPgo8L3N2Zz4K")}.vs-dark .monaco-list-type-filter>.controls>.filter{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEgMTJMMSAxMUgxMFYxMkgxWk0xIDdIMTVWOEgxTDEgN1pNMTIgM1Y0SDFMMSAzSDEyWiIgZmlsbD0iI0M1QzVDNSIvPgo8L3N2Zz4K")}.vs-dark .monaco-list-type-filter>.controls>.filter:checked{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTYgMTJWMTFIMTBWMTJINlpNNCA3SDEyVjhINFY3Wk0xNCAzVjRIMlYzSDE0WiIgZmlsbD0iI0M1QzVDNSIvPgo8L3N2Zz4K")}.hc-black .monaco-list-type-filter>.controls>.filter{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEgMTJMMSAxMUgxMFYxMkgxWk0xIDdIMTVWOEgxTDEgN1pNMTIgM1Y0SDFMMSAzSDEyWiIgZmlsbD0iI0M1QzVDNSIvPgo8L3N2Zz4K")}.hc-black .monaco-list-type-filter>.controls>.filter:checked{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTYgMTJWMTFIMTBWMTJINlpNNCA3SDEyVjhINFY3Wk0xNCAzVjRIMlYzSDE0WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==")}.monaco-list-type-filter>.controls>.clear{border:none;background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjAwMDAxIDguNzA3MTRMMTEuNjQ2NSAxMi4zNTM2TDEyLjM1MzYgMTEuNjQ2NUw4LjcwNzExIDguMDAwMDRMMTIuMzUzNiA0LjM1MzU5TDExLjY0NjUgMy42NDY0OEw4LjAwMDAxIDcuMjkyOTNMNC4zNTM1NiAzLjY0NjQ4TDMuNjQ2NDUgNC4zNTM1OUw3LjI5MjkgOC4wMDAwNEwzLjY0NjQ1IDExLjY0NjVMNC4zNTM1NiAxMi4zNTM2TDguMDAwMDEgOC43MDcxNFoiIGZpbGw9IiM0MjQyNDIiLz4KPC9zdmc+Cg==");cursor:pointer}.hc-black .monaco-list-type-filter>.controls>.clear,.vs-dark .monaco-list-type-filter>.controls>.clear{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjAwMDAxIDguNzA3MTRMMTEuNjQ2NSAxMi4zNTM2TDEyLjM1MzYgMTEuNjQ2NUw4LjcwNzExIDguMDAwMDRMMTIuMzUzNiA0LjM1MzU5TDExLjY0NjUgMy42NDY0OEw4LjAwMDAxIDcuMjkyOTNMNC4zNTM1NiAzLjY0NjQ4TDMuNjQ2NDUgNC4zNTM1OUw3LjI5MjkgOC4wMDAwNEwzLjY0NjQ1IDExLjY0NjVMNC4zNTM1NiAxMi4zNTM2TDguMDAwMDEgOC43MDcxNFoiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==")}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-list-type-filter{cursor:grab}.monaco-list-type-filter.dragging{cursor:grabbing}.monaco-tl-row{display:-ms-flexbox;display:flex;height:100%;-ms-flex-align:center;align-items:center;position:relative}.monaco-tl-indent{height:100%;position:absolute;top:0;left:18px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent;transition:border-color .1s linear}.monaco-tl-contents,.monaco-tl-twistie{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;margin-right:6px;-ms-flex-negative:0;flex-shrink:0;width:16px}.monaco-tl-contents{-ms-flex:1;flex:1;overflow:hidden}.monaco-tl-twistie.collapsible{background-size:16px;background-position:3px 50%;background-repeat:no-repeat;background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03Ljk3NjAzIDEwLjA3MTlMMTIuMzMzMyA1LjcxNDYxTDEyLjk1MjEgNi4zMzMzM0w4LjI4NTM5IDExTDcuNjY2NjcgMTFMMyA2LjMzMzMzTDMuNjE4NzIgNS43MTQ2MUw3Ljk3NjAzIDEwLjA3MTlaIiBmaWxsPSIjNDI0MjQyIi8+Cjwvc3ZnPgo=")}.monaco-tl-twistie.collapsible.collapsed:not(.loading){display:inline-block;background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC4wNzE5IDcuOTk5OTlMNS43MTQ2MSAxMi4zNTczTDYuMzMzMzMgMTIuOTc2TDExIDguMzA5MzVWNy42OTA2M0w2LjMzMzMzIDMuMDIzOTZMNS43MTQ2MSAzLjY0MjY4TDEwLjA3MTkgNy45OTk5OVoiIGZpbGw9IiM0MjQyNDIiLz4KPC9zdmc+Cg==")}.vs-dark .monaco-tl-twistie.collapsible:not(.loading){background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03Ljk3NjAzIDEwLjA3MTlMMTIuMzMzMyA1LjcxNDYxTDEyLjk1MjEgNi4zMzMzM0w4LjI4NTM5IDExTDcuNjY2NjcgMTFMMyA2LjMzMzMzTDMuNjE4NzIgNS43MTQ2MUw3Ljk3NjAzIDEwLjA3MTlaIiBmaWxsPSIjQzVDNUM1Ii8+Cjwvc3ZnPgo=")}.vs-dark .monaco-tl-twistie.collapsible.collapsed:not(.loading){background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC4wNzE5IDcuOTk5OTlMNS43MTQ2MSAxMi4zNTczTDYuMzMzMzMgMTIuOTc2TDExIDguMzA5MzVWNy42OTA2NEw2LjMzMzMzIDMuMDIzOTdMNS43MTQ2MSAzLjY0MjY5TDEwLjA3MTkgNy45OTk5OVoiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==")}.hc-black .monaco-tl-twistie.collapsible:not(.loading){background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03Ljk3NjAzIDEwLjA3MTlMMTIuMzMzMyA1LjcxNDYxTDEyLjk1MjEgNi4zMzMzM0w4LjI4NTM5IDExTDcuNjY2NjcgMTFMMyA2LjMzMzMzTDMuNjE4NzIgNS43MTQ2MUw3Ljk3NjAzIDEwLjA3MTlaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K")}.hc-black .monaco-tl-twistie.collapsible.collapsed:not(.loading){background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC4wNzE5IDcuOTk5OTlMNS43MTQ2MSAxMi4zNTczTDYuMzMzMzMgMTIuOTc2TDExIDguMzA5MzVWNy42OTA2M0w2LjMzMzMzIDMuMDIzOTZMNS43MTQ2MSAzLjY0MjY4TDEwLjA3MTkgNy45OTk5OVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=")}.monaco-tl-twistie.loading{background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBzdGFuZGFsb25lPSdubycgPz4KPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzEwcHgnIGhlaWdodD0nMTBweCc+Cgk8c3R5bGU+CiAgICBjaXJjbGUgewogICAgICBhbmltYXRpb246IGJhbGwgMC42cyBsaW5lYXIgaW5maW5pdGU7CiAgICB9CgogICAgY2lyY2xlOm50aC1jaGlsZCgyKSB7IGFuaW1hdGlvbi1kZWxheTogMC4wNzVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDMpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjE1czsgfQogICAgY2lyY2xlOm50aC1jaGlsZCg0KSB7IGFuaW1hdGlvbi1kZWxheTogMC4yMjVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDUpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjNzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDYpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjM3NXM7IH0KICAgIGNpcmNsZTpudGgtY2hpbGQoNykgeyBhbmltYXRpb24tZGVsYXk6IDAuNDVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDgpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjUyNXM7IH0KCiAgICBAa2V5ZnJhbWVzIGJhbGwgewogICAgICBmcm9tIHsgb3BhY2l0eTogMTsgfQogICAgICB0byB7IG9wYWNpdHk6IDAuMzsgfQogICAgfQoJPC9zdHlsZT4KCTxnPgoJCTxjaXJjbGUgY3g9JzUnIGN5PScxJyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzcuODI4NCcgY3k9JzIuMTcxNicgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PSc5JyBjeT0nNScgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PSc3LjgyODQnIGN5PSc3LjgyODQnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nNScgY3k9JzknIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nMi4xNzE2JyBjeT0nNy44Mjg0JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzEnIGN5PSc1JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzIuMTcxNicgY3k9JzIuMTcxNicgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCTwvZz4KPC9zdmc+Cg==");background-position:0}.vs-dark .monaco-tl-twistie.loading{background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBzdGFuZGFsb25lPSdubycgPz4KPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzEwcHgnIGhlaWdodD0nMTBweCc+Cgk8c3R5bGU+CiAgICBjaXJjbGUgewogICAgICBhbmltYXRpb246IGJhbGwgMC42cyBsaW5lYXIgaW5maW5pdGU7CiAgICB9CgogICAgY2lyY2xlOm50aC1jaGlsZCgyKSB7IGFuaW1hdGlvbi1kZWxheTogMC4wNzVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDMpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjE1czsgfQogICAgY2lyY2xlOm50aC1jaGlsZCg0KSB7IGFuaW1hdGlvbi1kZWxheTogMC4yMjVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDUpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjNzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDYpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjM3NXM7IH0KICAgIGNpcmNsZTpudGgtY2hpbGQoNykgeyBhbmltYXRpb24tZGVsYXk6IDAuNDVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDgpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjUyNXM7IH0KCiAgICBAa2V5ZnJhbWVzIGJhbGwgewogICAgICBmcm9tIHsgb3BhY2l0eTogMTsgfQogICAgICB0byB7IG9wYWNpdHk6IDAuMzsgfQogICAgfQoJPC9zdHlsZT4KCTxnIHN0eWxlPSJmaWxsOmdyZXk7Ij4KCQk8Y2lyY2xlIGN4PSc1JyBjeT0nMScgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PSc3LjgyODQnIGN5PScyLjE3MTYnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nOScgY3k9JzUnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nNy44Mjg0JyBjeT0nNy44Mjg0JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzUnIGN5PSc5JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzIuMTcxNicgY3k9JzcuODI4NCcgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PScxJyBjeT0nNScgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PScyLjE3MTYnIGN5PScyLjE3MTYnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+Cgk8L2c+Cjwvc3ZnPgo=")}.hc-black .monaco-tl-twistie.loading{background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBzdGFuZGFsb25lPSdubycgPz4KPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzEwcHgnIGhlaWdodD0nMTBweCc+Cgk8c3R5bGU+CiAgICBjaXJjbGUgewogICAgICBhbmltYXRpb246IGJhbGwgMC42cyBsaW5lYXIgaW5maW5pdGU7CiAgICB9CgogICAgY2lyY2xlOm50aC1jaGlsZCgyKSB7IGFuaW1hdGlvbi1kZWxheTogMC4wNzVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDMpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjE1czsgfQogICAgY2lyY2xlOm50aC1jaGlsZCg0KSB7IGFuaW1hdGlvbi1kZWxheTogMC4yMjVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDUpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjNzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDYpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjM3NXM7IH0KICAgIGNpcmNsZTpudGgtY2hpbGQoNykgeyBhbmltYXRpb24tZGVsYXk6IDAuNDVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDgpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjUyNXM7IH0KCiAgICBAa2V5ZnJhbWVzIGJhbGwgewogICAgICBmcm9tIHsgb3BhY2l0eTogMTsgfQogICAgICB0byB7IG9wYWNpdHk6IDAuMzsgfQogICAgfQoJPC9zdHlsZT4KCTxnIHN0eWxlPSJmaWxsOndoaXRlOyI+CgkJPGNpcmNsZSBjeD0nNScgY3k9JzEnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nNy44Mjg0JyBjeT0nMi4xNzE2JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzknIGN5PSc1JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzcuODI4NCcgY3k9JzcuODI4NCcgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PSc1JyBjeT0nOScgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PScyLjE3MTYnIGN5PSc3LjgyODQnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nMScgY3k9JzUnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nMi4xNzE2JyBjeT0nMi4xNzE2JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJPC9nPgo8L3N2Zz4K")}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:auto}.monaco-split-view2>.split-view-container{display:-ms-flexbox;display:flex;width:100%;height:100%;white-space:nowrap}.monaco-split-view2.vertical>.split-view-container{-ms-flex-direction:column;flex-direction:column}.monaco-split-view2.horizontal>.split-view-container{-ms-flex-direction:row;flex-direction:row}.monaco-split-view2>.split-view-container>.split-view-view{white-space:normal;-ms-flex:none;flex:none;position:relative}.monaco-split-view2>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.split-view-container>.split-view-view{height:100%;display:inline-block}.monaco-split-view2.separator-border>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;vertical-align:text-top;margin-right:4px}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:absolute;white-space:pre;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;padding:8px 12px 0 20px}.monaco-editor .marker-widget .descriptioncontainer .message{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .code,.monaco-editor .marker-widget .descriptioncontainer .message .source{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer}.monaco-keybinding{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border:1px solid hsla(0,0%,80%,.4);border-bottom-color:hsla(0,0%,73%,.4);border-radius:3px;box-shadow:inset 0 -1px 0 hsla(0,0%,73%,.4);background-color:hsla(0,0%,87%,.4);vertical-align:middle;color:#555;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.hc-black .monaco-keybinding>.monaco-keybinding-key,.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:hsla(0,0%,50%,.17);color:#ccc;border:1px solid rgba(51,51,51,.6);border-bottom-color:rgba(68,68,68,.6);box-shadow:inset 0 -1px 0 rgba(68,68,68,.6)}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-quick-open-widget .monaco-list .monaco-list-row .monaco-highlighted-label .highlight,.monaco-quick-open-widget .monaco-tree .monaco-tree-row .monaco-highlighted-label .highlight{color:#0066bf}.vs-dark .monaco-quick-open-widget .monaco-list .monaco-list-row .monaco-highlighted-label .highlight,.vs-dark .monaco-quick-open-widget .monaco-tree .monaco-tree-row .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .monaco-quick-open-widget .monaco-list .monaco-list-row .monaco-highlighted-label .highlight,.hc-black .monaco-quick-open-widget .monaco-tree .monaco-tree-row .monaco-highlighted-label .highlight{color:#f38518}.monaco-quick-open-widget{position:absolute;width:600px;z-index:2000;padding-bottom:6px;left:50%;margin-left:-300px}.monaco-quick-open-widget .monaco-progress-container{position:absolute;left:0;top:38px;z-index:1;height:2px}.monaco-quick-open-widget .monaco-progress-container .progress-bit{height:2px}.monaco-quick-open-widget .quick-open-input{width:588px;border:none;margin:6px}.monaco-quick-open-widget .quick-open-input .monaco-inputbox{width:100%;height:25px}.monaco-quick-open-widget .quick-open-result-count{position:absolute;left:-10000px}.monaco-quick-open-widget .quick-open-tree{line-height:22px}.monaco-quick-open-widget .quick-open-tree .monaco-tree-row>.content>.sub-content{overflow:hidden}.monaco-quick-open-widget.content-changing .quick-open-tree .monaco-scrollable-element .slider{display:none}.monaco-quick-open-widget .quick-open-tree .quick-open-entry{overflow:hidden;text-overflow:ellipsis;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:100%}.monaco-quick-open-widget .quick-open-tree .quick-open-entry>.quick-open-row{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon{overflow:hidden;width:16px;height:16px;margin-right:4px;display:inline-block;vertical-align:middle;-ms-flex-negative:0;flex-shrink:0}.monaco-quick-open-widget .quick-open-tree .monaco-icon-label,.monaco-quick-open-widget .quick-open-tree .monaco-icon-label .monaco-icon-label-description-container{-ms-flex:1;flex:1}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .monaco-highlighted-label span{opacity:1}.monaco-quick-open-widget .quick-open-tree .quick-open-entry-meta{opacity:.7;line-height:normal}.monaco-quick-open-widget .quick-open-tree .content.has-group-label .quick-open-entry-keybinding{margin-right:8px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry-keybinding .monaco-keybinding-key{vertical-align:text-bottom}.monaco-quick-open-widget .quick-open-tree .results-group{margin-right:18px}.monaco-quick-open-widget .quick-open-tree .focused .monaco-tree-row.focused>.content.has-actions>.results-group,.monaco-quick-open-widget .quick-open-tree .monaco-tree-row.focused>.content.has-actions>.results-group,.monaco-quick-open-widget .quick-open-tree .monaco-tree-row:hover:not(.highlighted)>.content.has-actions>.results-group{margin-right:0}.monaco-quick-open-widget .quick-open-tree .results-group-separator{border-top-width:1px;border-top-style:solid;box-sizing:border-box;margin-left:-11px;padding-left:11px}.monaco-tree .monaco-tree-row>.content.actions{position:relative;display:-ms-flexbox;display:flex}.monaco-tree .monaco-tree-row>.content.actions>.sub-content{-ms-flex:1;flex:1}.monaco-tree .monaco-tree-row>.content.actions .action-item{margin:0}.monaco-tree .monaco-tree-row>.content.actions>.primary-action-bar{line-height:22px;display:none;padding:0 .8em 0 .4em}.monaco-tree .monaco-tree-row.focused>.content.has-actions>.primary-action-bar{width:0;display:block}.monaco-tree.focused .monaco-tree-row.focused>.content.has-actions>.primary-action-bar,.monaco-tree .monaco-tree-row:hover:not(.highlighted)>.content.has-actions>.primary-action-bar,.monaco-tree .monaco-tree-row>.content.has-actions.more>.primary-action-bar{width:inherit;display:block}.monaco-tree .monaco-tree-row>.content.actions>.primary-action-bar .action-label{margin-right:.4em;margin-top:4px;background-repeat:no-repeat;width:16px;height:16px}.monaco-quick-open-widget .quick-open-tree .monaco-highlighted-label .highlight{font-weight:700}.monaco-tree{height:100%;width:100%;white-space:nowrap;-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;-o-user-select:none;user-select:none;position:relative}.monaco-tree>.monaco-scrollable-element{height:100%}.monaco-tree>.monaco-scrollable-element>.monaco-tree-wrapper{height:100%;width:100%;position:relative}.monaco-tree .monaco-tree-rows{position:absolute;width:100%;height:100%}.monaco-tree .monaco-tree-rows>.monaco-tree-row{-o-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;cursor:pointer;overflow:hidden;width:100%;-ms-touch-action:none;touch-action:none}.monaco-tree .monaco-tree-rows>.monaco-tree-row>.content{position:relative;height:100%}.monaco-tree-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute}.monaco-tree .monaco-tree-rows>.monaco-tree-row.scrolling{display:none}.monaco-tree .monaco-tree-rows.show-twisties>.monaco-tree-row.has-children>.content:before{content:" ";position:absolute;display:block;background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC4wNzE5IDcuOTk5OTlMNS43MTQ2MSAxMi4zNTczTDYuMzMzMzMgMTIuOTc2TDExIDguMzA5MzVWNy42OTA2M0w2LjMzMzMzIDMuMDIzOTZMNS43MTQ2MSAzLjY0MjY4TDEwLjA3MTkgNy45OTk5OVoiIGZpbGw9IiM0MjQyNDIiLz4KPC9zdmc+Cg==") 50% 50% no-repeat;width:16px;height:100%;top:0;left:-16px}.monaco-tree .monaco-tree-rows.show-twisties>.monaco-tree-row.expanded>.content:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03Ljk3NjAyIDEwLjA3MTlMMTIuMzMzMyA1LjcxNDYxTDEyLjk1MiA2LjMzMzMzTDguMjg1MzggMTFMNy42NjY2NiAxMUwzIDYuMzMzMzNMMy42MTg3MiA1LjcxNDYxTDcuOTc2MDIgMTAuMDcxOVoiIGZpbGw9IiM0MjQyNDIiLz4KPC9zdmc+Cg==")}.monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children.loading>.content:before{background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBzdGFuZGFsb25lPSdubycgPz4KPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzEwcHgnIGhlaWdodD0nMTBweCc+Cgk8c3R5bGU+CiAgICBjaXJjbGUgewogICAgICBhbmltYXRpb246IGJhbGwgMC42cyBsaW5lYXIgaW5maW5pdGU7CiAgICB9CgogICAgY2lyY2xlOm50aC1jaGlsZCgyKSB7IGFuaW1hdGlvbi1kZWxheTogMC4wNzVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDMpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjE1czsgfQogICAgY2lyY2xlOm50aC1jaGlsZCg0KSB7IGFuaW1hdGlvbi1kZWxheTogMC4yMjVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDUpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjNzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDYpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjM3NXM7IH0KICAgIGNpcmNsZTpudGgtY2hpbGQoNykgeyBhbmltYXRpb24tZGVsYXk6IDAuNDVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDgpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjUyNXM7IH0KCiAgICBAa2V5ZnJhbWVzIGJhbGwgewogICAgICBmcm9tIHsgb3BhY2l0eTogMTsgfQogICAgICB0byB7IG9wYWNpdHk6IDAuMzsgfQogICAgfQoJPC9zdHlsZT4KCTxnPgoJCTxjaXJjbGUgY3g9JzUnIGN5PScxJyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzcuODI4NCcgY3k9JzIuMTcxNicgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PSc5JyBjeT0nNScgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PSc3LjgyODQnIGN5PSc3LjgyODQnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nNScgY3k9JzknIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nMi4xNzE2JyBjeT0nNy44Mjg0JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzEnIGN5PSc1JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzIuMTcxNicgY3k9JzIuMTcxNicgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCTwvZz4KPC9zdmc+Cg==")}.monaco-tree.highlighted .monaco-tree-rows>.monaco-tree-row:not(.highlighted){opacity:.3}.vs-dark .monaco-tree .monaco-tree-rows.show-twisties>.monaco-tree-row.has-children>.content:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC4wNzE5IDcuOTk5OTlMNS43MTQ2MSAxMi4zNTczTDYuMzMzMzMgMTIuOTc2TDExIDguMzA5MzVWNy42OTA2NEw2LjMzMzMzIDMuMDIzOTdMNS43MTQ2MSAzLjY0MjY5TDEwLjA3MTkgNy45OTk5OVoiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==")}.vs-dark .monaco-tree .monaco-tree-rows.show-twisties>.monaco-tree-row.expanded>.content:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03Ljk3NjAyIDEwLjA3MTlMMTIuMzMzMyA1LjcxNDYxTDEyLjk1MiA2LjMzMzMzTDguMjg1MzggMTFMNy42NjY2NiAxMUwzIDYuMzMzMzNMMy42MTg3MiA1LjcxNDYxTDcuOTc2MDIgMTAuMDcxOVoiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==")}.vs-dark .monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children.loading>.content:before{background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBzdGFuZGFsb25lPSdubycgPz4KPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzEwcHgnIGhlaWdodD0nMTBweCc+Cgk8c3R5bGU+CiAgICBjaXJjbGUgewogICAgICBhbmltYXRpb246IGJhbGwgMC42cyBsaW5lYXIgaW5maW5pdGU7CiAgICB9CgogICAgY2lyY2xlOm50aC1jaGlsZCgyKSB7IGFuaW1hdGlvbi1kZWxheTogMC4wNzVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDMpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjE1czsgfQogICAgY2lyY2xlOm50aC1jaGlsZCg0KSB7IGFuaW1hdGlvbi1kZWxheTogMC4yMjVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDUpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjNzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDYpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjM3NXM7IH0KICAgIGNpcmNsZTpudGgtY2hpbGQoNykgeyBhbmltYXRpb24tZGVsYXk6IDAuNDVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDgpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjUyNXM7IH0KCiAgICBAa2V5ZnJhbWVzIGJhbGwgewogICAgICBmcm9tIHsgb3BhY2l0eTogMTsgfQogICAgICB0byB7IG9wYWNpdHk6IDAuMzsgfQogICAgfQoJPC9zdHlsZT4KCTxnIHN0eWxlPSJmaWxsOmdyZXk7Ij4KCQk8Y2lyY2xlIGN4PSc1JyBjeT0nMScgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PSc3LjgyODQnIGN5PScyLjE3MTYnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nOScgY3k9JzUnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nNy44Mjg0JyBjeT0nNy44Mjg0JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzUnIGN5PSc5JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzIuMTcxNicgY3k9JzcuODI4NCcgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PScxJyBjeT0nNScgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PScyLjE3MTYnIGN5PScyLjE3MTYnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+Cgk8L2c+Cjwvc3ZnPgo=")}.hc-black .monaco-tree .monaco-tree-rows.show-twisties>.monaco-tree-row.has-children>.content:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC4wNzE5IDcuOTk5OTlMNS43MTQ2MSAxMi4zNTczTDYuMzMzMzMgMTIuOTc2TDExIDguMzA5MzVWNy42OTA2M0w2LjMzMzMzIDMuMDIzOTZMNS43MTQ2MSAzLjY0MjY4TDEwLjA3MTkgNy45OTk5OVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=")}.hc-black .monaco-tree .monaco-tree-rows.show-twisties>.monaco-tree-row.expanded>.content:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03Ljk3NjAyIDEwLjA3MTlMMTIuMzMzMyA1LjcxNDYxTDEyLjk1MiA2LjMzMzMzTDguMjg1MzggMTFMNy42NjY2NiAxMUwzIDYuMzMzMzNMMy42MTg3MiA1LjcxNDYxTDcuOTc2MDIgMTAuMDcxOVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=")}.hc-black .monaco-tree .monaco-tree-rows>.monaco-tree-row.has-children.loading>.content:before{background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBzdGFuZGFsb25lPSdubycgPz4KPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzEwcHgnIGhlaWdodD0nMTBweCc+Cgk8c3R5bGU+CiAgICBjaXJjbGUgewogICAgICBhbmltYXRpb246IGJhbGwgMC42cyBsaW5lYXIgaW5maW5pdGU7CiAgICB9CgogICAgY2lyY2xlOm50aC1jaGlsZCgyKSB7IGFuaW1hdGlvbi1kZWxheTogMC4wNzVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDMpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjE1czsgfQogICAgY2lyY2xlOm50aC1jaGlsZCg0KSB7IGFuaW1hdGlvbi1kZWxheTogMC4yMjVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDUpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjNzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDYpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjM3NXM7IH0KICAgIGNpcmNsZTpudGgtY2hpbGQoNykgeyBhbmltYXRpb24tZGVsYXk6IDAuNDVzOyB9CiAgICBjaXJjbGU6bnRoLWNoaWxkKDgpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjUyNXM7IH0KCiAgICBAa2V5ZnJhbWVzIGJhbGwgewogICAgICBmcm9tIHsgb3BhY2l0eTogMTsgfQogICAgICB0byB7IG9wYWNpdHk6IDAuMzsgfQogICAgfQoJPC9zdHlsZT4KCTxnIHN0eWxlPSJmaWxsOndoaXRlOyI+CgkJPGNpcmNsZSBjeD0nNScgY3k9JzEnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nNy44Mjg0JyBjeT0nMi4xNzE2JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzknIGN5PSc1JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJCTxjaXJjbGUgY3g9JzcuODI4NCcgY3k9JzcuODI4NCcgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PSc1JyBjeT0nOScgcj0nMScgc3R5bGU9J29wYWNpdHk6MC4zOycgLz4KCQk8Y2lyY2xlIGN4PScyLjE3MTYnIGN5PSc3LjgyODQnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nMScgY3k9JzUnIHI9JzEnIHN0eWxlPSdvcGFjaXR5OjAuMzsnIC8+CgkJPGNpcmNsZSBjeD0nMi4xNzE2JyBjeT0nMi4xNzE2JyByPScxJyBzdHlsZT0nb3BhY2l0eTowLjM7JyAvPgoJPC9nPgo8L3N2Zz4K")}.monaco-tree-action.collapse-all{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkgOUg0VjEwSDlWOVoiIGZpbGw9IiM0MjQyNDIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01IDNMNiAySDEzTDE0IDNWMTBMMTMgMTFIMTFWMTNMMTAgMTRIM0wyIDEzVjZMMyA1SDVWM1pNNiA1SDEwTDExIDZWMTBIMTNWM0g2VjVaTTEwIDZIM1YxM0gxMFY2WiIgZmlsbD0iIzQyNDI0MiIvPgo8L3N2Zz4K") 50% no-repeat}.vs-dark .monaco-tree-action.collapse-all{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkgOUg0VjEwSDlWOVoiIGZpbGw9IiNDNUM1QzUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01IDNMNiAySDEzTDE0IDNWMTBMMTMgMTFIMTFWMTNMMTAgMTRIM0wyIDEzVjZMMyA1SDVWM1pNNiA1SDEwTDExIDZWMTBIMTNWM0g2VjVaTTEwIDZIM1YxM0gxMFY2WiIgZmlsbD0iI0M1QzVDNSIvPgo8L3N2Zz4K") 50% no-repeat}.hc-black .monaco-tree-action.collapse-all{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkgOUg0VjEwSDlWOVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNSAzTDYgMkgxM0wxNCAzVjEwTDEzIDExSDExVjEzTDEwIDE0SDNMMiAxM1Y2TDMgNUg1VjNaTTYgNUgxMEwxMSA2VjEwSDEzVjNINlY1Wk0xMCA2SDNWMTNIMTBWNloiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=") 50% no-repeat}.monaco-progress-container{width:100%;height:5px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:5px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;animation-timing-function:linear;-ms-animation-name:progress;-ms-animation-duration:4s;-ms-animation-iteration-count:infinite;-ms-animation-timing-function:linear;-webkit-animation-name:progress;-webkit-animation-duration:4s;-webkit-animation-iteration-count:infinite;-webkit-animation-timing-function:linear;-moz-animation-name:progress;-moz-animation-duration:4s;-moz-animation-iteration-count:infinite;-moz-animation-timing-function:linear;will-change:transform}.monaco-editor-hover{cursor:default;position:absolute;overflow:hidden;z-index:50;-webkit-user-select:text;-ms-user-select:text;-moz-user-select:text;-o-user-select:text;user-select:text;box-sizing:initial;animation:fadein .1s linear;line-height:1.5em}.monaco-editor-hover.hidden{display:none}.monaco-editor-hover .hover-contents{padding:4px 8px}.monaco-editor-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:500px;word-wrap:break-word}.monaco-editor-hover p,.monaco-editor-hover ul{margin:8px 0}.monaco-editor-hover hr{margin:4px -10px -6px;height:1px}.monaco-editor-hover p:first-child,.monaco-editor-hover ul:first-child{margin-top:0}.monaco-editor-hover p:last-child,.monaco-editor-hover ul:last-child{margin-bottom:0}.monaco-editor-hover ul{padding-left:20px}.monaco-editor-hover li>p{margin-bottom:0}.monaco-editor-hover li>ul{margin-top:0}.monaco-editor-hover code{border-radius:3px;padding:0 .4em}.monaco-editor-hover .monaco-tokenized-source{white-space:pre-wrap;word-break:break-all}.monaco-editor-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-editor-hover .hover-row.status-bar .actions{display:-ms-flexbox;display:flex;padding:0 8px}.monaco-editor-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer}.monaco-editor-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.colorpicker-widget{height:190px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.monaco-editor .colorpicker-hover:focus{outline:none}.colorpicker-header{display:-ms-flexbox;display:flex;height:24px;position:relative;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=");background-size:9px 9px;-ms-interpolation-mode:nearest-neighbor;image-rendering:pixelated}.colorpicker-header .picked-color{width:216px;line-height:24px;cursor:pointer;color:#fff;-ms-flex:1;flex:1;text-align:center}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.colorpicker-body{display:-ms-flexbox;display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;-ms-flex:1;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid #fff;border-radius:100%;box-shadow:0 0 2px rgba(0,0,0,.8);position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:grab;background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:grab;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=");background-size:9px 9px;-ms-interpolation-mode:nearest-neighbor;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid hsla(0,0%,100%,.71);box-shadow:0 0 1px rgba(0,0,0,.85)}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.monaco-editor .tokens-inspect-widget{z-index:50;-webkit-user-select:text;-ms-user-select:text;-moz-user-select:text;-o-user-select:text;user-select:text;padding:10px}.tokens-inspect-separator{height:1px;border:0}.monaco-editor .tokens-inspect-widget .tm-token{font-family:monospace}.monaco-editor .tokens-inspect-widget .tm-token-length{font-weight:400;font-size:60%;float:right}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:monospace;text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:monospace}.monaco-editor .iPadShowKeyboard{width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;resize:none;overflow:hidden;background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjNDI0MjQyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==") 50% no-repeat;border:4px solid #f6f6f6;border-radius:4px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjQzVDNUM1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==") 50% no-repeat;border:4px solid #252526}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer}.monaco-editor .parameter-hints-widget{z-index:10;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;line-height:1.5em}.monaco-editor .parameter-hints-widget>.wrapper{max-width:440px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0 0 0 1.9em}.monaco-editor .parameter-hints-widget.visible{transition:left .05s ease-in-out}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .body,.monaco-editor .parameter-hints-widget .monaco-scrollable-element{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:normal}.monaco-editor .parameter-hints-widget .docs .code{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs code{border-radius:3px;padding:0 .4em}.monaco-editor .parameter-hints-widget .buttons{position:absolute;display:none;bottom:0;left:0}.monaco-editor .parameter-hints-widget.multiple .buttons{display:block}.monaco-editor .parameter-hints-widget.multiple .button{position:absolute;left:2px;width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iIzQyNDI0MiIgZD0iTTEwLjggOS41bC45LS45TDguMSA1IDQuMiA4LjZsLjkuOSAzLTIuNyAyLjcgMi43eiIvPjwvc3ZnPg==")}.monaco-editor .parameter-hints-widget .button.next{bottom:0;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iIzQyNDI0MiIgZD0iTTUuMSA1bC0uOS45IDMuNiAzLjYgMy45LTMuNi0xLS45LTMgMi43TDUuMSA1eiIvPjwvc3ZnPg==")}.monaco-editor .parameter-hints-widget .overloads{position:absolute;display:none;text-align:center;bottom:14px;left:0;width:22px;height:12px;line-height:12px;opacity:.5}.monaco-editor .parameter-hints-widget.multiple .overloads{display:block}.monaco-editor .parameter-hints-widget .signature .parameter.active{font-weight:700;text-decoration:underline}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor.hc-black .parameter-hints-widget .button.previous,.monaco-editor.vs-dark .parameter-hints-widget .button.previous{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iI0U4RThFOCIgZD0iTTEwLjggOS41bC45LS45TDguMSA1IDQuMiA4LjZsLjkuOSAzLTIuNyAyLjcgMi43eiIvPjwvc3ZnPg==")}.monaco-editor.hc-black .parameter-hints-widget .button.next,.monaco-editor.vs-dark .parameter-hints-widget .button.next{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iI0U4RThFOCIgZD0iTTUuMSA1bC0uOS45IDMuNiAzLjYgMy45LTMuNi0xLS45LTMgMi43TDUuMSA1eiIvPjwvc3ZnPg==")}.monaco-quick-open-widget{font-size:13px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon,.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAwIiBoZWlnaHQ9IjQwIiB2aWV3Qm94PSIwIDAgMzAwIDQwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQgMjYuODU3NUw0LjQ4NTUgMjZMOS40ODU1IDIzSDEwLjUxNDVMMTUuNTE0NSAyNkwxNiAyNi44NTc1VjMyLjg1NzVMMTUuNTE0NSAzMy43MTVMMTAuNTE0NSAzNi43MTVIOS40ODU1TDQuNDg1NSAzMy43MTVMNCAzMi44NTc1VjI2Ljg1NzVaTTkuNSAzNS41NTc1TDUgMzIuODU3NVYyNy42OTk4TDkuNSAzMC4xNTQzVjM1LjU1NzVaTTEwLjUgMzUuNTU3NUwxNSAzMi44NTc1VjI3LjY5OThMMTAuNSAzMC4xNTQzVjM1LjU1NzVaTTEwIDIzLjg1NzVMNS4yNTkxMyAyNi43MDJMMTAgMjkuMjg3OUwxNC43NDA5IDI2LjcwMkwxMCAyMy44NTc1WiIgZmlsbD0iI0IxODBENyIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQgNi44NTc0OUw0LjQ4NTUgNkw5LjQ4NTUgM0gxMC41MTQ1TDE1LjUxNDUgNkwxNiA2Ljg1NzQ5VjEyLjg1NzVMMTUuNTE0NSAxMy43MTVMMTAuNTE0NSAxNi43MTVIOS40ODU1TDQuNDg1NSAxMy43MTVMNCAxMi44NTc1VjYuODU3NDlaTTkuNSAxNS41NTc1TDUgMTIuODU3NVY3LjY5OTc1TDkuNSAxMC4xNTQzVjE1LjU1NzVaTTEwLjUgMTUuNTU3NUwxNSAxMi44NTc1VjcuNjk5NzVMMTAuNSAxMC4xNTQzVjE1LjU1NzVaTTEwIDMuODU3NDlMNS4yNTkxMyA2LjcwMjAxTDEwIDkuMjg3OTRMMTQuNzQwOSA2LjcwMjAxTDEwIDMuODU3NDlaIiBmaWxsPSIjNjUyRDkwIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjMgMjguMzk0NEwyMy41NTI4IDI3LjVMMzAuNTUyOCAyNEgzMS40NDcyTDM2LjQ0NzIgMjYuNUwzNyAyNy4zOTQ0VjMxLjg5NDRMMzYuNDQ3MiAzMi43ODg5TDI5LjQ0NzIgMzYuMjg4OUgyOC41NTI4TDIzLjU1MjggMzMuNzg4OUwyMyAzMi44OTQ0VjI4LjM5NDRaTTI4LjUgMzUuMTQ0NEwyNCAzMi44OTQ0VjI5LjE3MDlMMjguNSAzMS4yMTY0VjM1LjE0NDRaTTI5LjUgMzUuMTQ0NEwzNiAzMS44OTQ0VjI4LjE3OTVMMjkuNSAzMS4yMTI5VjM1LjE0NDRaTTMxIDI0Ljg5NDRMMjQuMzM3MyAyOC4yMjU4TDI4Ljk5NzIgMzAuMzQ0TDM1LjY3MDYgMjcuMjI5N0wzMSAyNC44OTQ0WiIgZmlsbD0iIzc1QkVGRiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIzIDguMzk0NDNMMjMuNTUyOCA3LjVMMzAuNTUyOCA0SDMxLjQ0NzJMMzYuNDQ3MiA2LjVMMzcgNy4zOTQ0M1YxMS44OTQ0TDM2LjQ0NzIgMTIuNzg4OUwyOS40NDcyIDE2LjI4ODlIMjguNTUyOEwyMy41NTI4IDEzLjc4ODlMMjMgMTIuODk0NFY4LjM5NDQzWk0yOC41IDE1LjE0NDRMMjQgMTIuODk0NFY5LjE3MDk0TDI4LjUgMTEuMjE2NFYxNS4xNDQ0Wk0yOS41IDE1LjE0NDRMMzYgMTEuODk0NFY4LjE3OTU0TDI5LjUgMTEuMjEyOVYxNS4xNDQ0Wk0zMSA0Ljg5NDQzTDI0LjMzNzMgOC4yMjU3OUwyOC45OTcyIDEwLjM0NEwzNS42NzA2IDcuMjI5NzNMMzEgNC44OTQ0M1oiIGZpbGw9IiMwMDdBQ0MiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00NS4zNTM2IDI4LjY0NjRMNDQuMDYwNyAyNy4zNTM1TDQ3LjM1MzYgMjQuMDYwN0w0OC42NDY1IDI1LjM1MzVMNDUuMzUzNiAyOC42NDY0Wk00NyAyM0w0MyAyN1YyNy43MDcxTDQ1IDI5LjcwNzFINDUuNzA3MUw0Ni44NTM2IDI4LjU2MDZWMzQuMzUzNUw0Ny4zNTM2IDM0Ljg1MzVINTIuMDA5N1YzNS4zNzQxTDUzLjM0MyAzNi43MDc0SDU0LjA1MDFMNTYuNzE2OCAzNC4wNDA3VjMzLjMzMzZMNTUuMzgzNSAzMi4wMDAzSDU0LjY3NjNMNTIuODIzMSAzMy44NTM1SDQ3Ljg1MzZWMjkuODkzNUg1Mi4wMDk3VjMwLjM3NEw1My4zNDMgMzEuNzA3M0g1NC4wNTAxTDU2LjcxNjggMjkuMDQwN1YyOC4zMzM2TDU1LjM4MzUgMjcuMDAwMkg1NC42NzYzTDUyLjg2MyAyOC44MTM2SDQ3Ljg1MzZWMjcuNTYwNkw0OS43MDcxIDI1LjcwNzFWMjVMNDcuNzA3MSAyM0g0N1pNNTMuMDcwMyAzMC4wMjA1TDUzLjY5NjYgMzAuNjQ2N0w1NS42NTYxIDI4LjY4NzFMNTUuMDI5OSAyOC4wNjA5TDUzLjA3MDMgMzAuMDIwNVpNNTMuMDcwMyAzNS4wMjA1TDUzLjY5NjYgMzUuNjQ2N0w1NS42NTYxIDMzLjY4NzJMNTUuMDI5OSAzMy4wNjFMNTMuMDcwMyAzNS4wMjA1WiIgZmlsbD0iI0VFOUQyOCIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQ1LjM1MzYgOC42NDY0Mkw0NC4wNjA3IDcuMzUzNTNMNDcuMzUzNiA0LjA2MDY1TDQ4LjY0NjUgNS4zNTM1NEw0NS4zNTM2IDguNjQ2NDJaTTQ3IDNMNDMgNi45OTk5OFY3LjcwNzA4TDQ1IDkuNzA3MDdINDUuNzA3MUw0Ni44NTM2IDguNTYwNjNWMTQuMzUzNUw0Ny4zNTM2IDE0Ljg1MzVINTIuMDA5N1YxNS4zNzQxTDUzLjM0MyAxNi43MDc0SDU0LjA1MDFMNTYuNzE2OCAxNC4wNDA3VjEzLjMzMzZMNTUuMzgzNSAxMi4wMDAzSDU0LjY3NjNMNTIuODIzMSAxMy44NTM1SDQ3Ljg1MzZWOS44OTM1NUg1Mi4wMDk3VjEwLjM3NEw1My4zNDMgMTEuNzA3M0g1NC4wNTAxTDU2LjcxNjggOS4wNDA2OFY4LjMzMzU3TDU1LjM4MzUgNy4wMDAyNEg1NC42NzYzTDUyLjg2MyA4LjgxMzU2SDQ3Ljg1MzZWNy41NjA2NEw0OS43MDcxIDUuNzA3MDlWNC45OTk5OUw0Ny43MDcxIDNINDdaTTUzLjA3MDMgMTAuMDIwNUw1My42OTY2IDEwLjY0NjdMNTUuNjU2MSA4LjY4NzEzTDU1LjAyOTkgOC4wNjA5TDUzLjA3MDMgMTAuMDIwNVpNNTMuMDcwMyAxNS4wMjA1TDUzLjY5NjYgMTUuNjQ2N0w1NS42NTYxIDEzLjY4NzJMNTUuMDI5OSAxMy4wNjFMNTMuMDcwMyAxNS4wMjA1WiIgZmlsbD0iI0Q2N0UwMCIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTg4IDI0Ljk4MzZWMjQuOTcxOFYyNEg4Ny45MTA4Qzg3LjU5NzQgMjQgODcuMjk0MSAyNC4wNjE2IDg3LjAwMTMgMjQuMTg0N0M4Ni43MDgyIDI0LjMwOCA4Ni40NDk0IDI0LjQ4NDcgODYuMjI1OCAyNC43MTVDODYuMDAzMSAyNC45NDQyIDg1LjgzNzkgMjUuMTk1IDg1LjczMjggMjUuNDY3N0w4NS43MzIzIDI1LjQ2OUM4NS42MzM4IDI1LjczNTIgODUuNTY4MSAyNi4wMTIgODUuNTM1MyAyNi4yOTkyTDg1LjUzNTIgMjYuMzAwNUM4NS41MDY4IDI2LjU4MDUgODUuNDk4NyAyNi44Njg0IDg1LjUxMDggMjcuMTY0M0M4NS41MjI3IDI3LjQ1MzggODUuNTI4NyAyNy43NDMzIDg1LjUyODcgMjguMDMyOEM4NS41Mjg3IDI4LjIzNTYgODUuNDg5NyAyOC40MjU5IDg1LjQxMiAyOC42MDUxTDg1LjQxMTYgMjguNjA2Qzg1LjMzNjkgMjguNzgzIDg1LjIzNDIgMjguOTM4NyA4NS4xMDMyIDI5LjA3MzZDODQuOTc2NCAyOS4yMDQxIDg0LjgyNDcgMjkuMzEwNiA4NC42NDY3IDI5LjM5MjVDODQuNDcwNiAyOS40Njk1IDg0LjI4NSAyOS41MDgyIDg0LjA4OTIgMjkuNTA4Mkg4NFYyOS42VjMwLjRWMzAuNDkxOEg4NC4wODkyQzg0LjI4NDcgMzAuNDkxOCA4NC40NyAzMC41MzI0IDg0LjY0NiAzMC42MTMzTDg0LjY0NzQgMzAuNjE0Qzg0LjgyNDYgMzAuNjkxNiA4NC45NzU4IDMwLjc5NzYgODUuMTAyMiAzMC45MzE2TDg1LjEwNDEgMzAuOTMzNUM4NS4yMzQzIDMxLjA2MzcgODUuMzM2NiAzMS4yMTg3IDg1LjQxMTMgMzEuMzk5NEw4NS40MTIgMzEuNDAxMUM4NS40ODk5IDMxLjU4MDUgODUuNTI4NyAzMS43Njg4IDg1LjUyODcgMzEuOTY3MkM4NS41Mjg3IDMyLjI1NjcgODUuNTIyNyAzMi41NDYyIDg1LjUxMDggMzIuODM1N0M4NS40OTg3IDMzLjEzMTYgODUuNTA2OCAzMy40MjE1IDg1LjUzNTIgMzMuNzA1NUw4NS41MzU0IDMzLjcwNzJDODUuNTY4MiAzMy45OTAzIDg1LjYzMzkgMzQuMjY1IDg1LjczMjMgMzQuNTMxTDg1LjczMjggMzQuNTMyM0M4NS44Mzc5IDM0LjgwNSA4Ni4wMDMxIDM1LjA1NTggODYuMjI1OCAzNS4yODVDODYuNDQ5NCAzNS41MTUzIDg2LjcwODIgMzUuNjkyIDg3LjAwMTMgMzUuODE1M0M4Ny4yOTQxIDM1LjkzODQgODcuNTk3NCAzNiA4Ny45MTA4IDM2SDg4VjM1LjJWMzUuMDE2NEg4Ny45MTA4Qzg3LjcxMDkgMzUuMDE2NCA4Ny41MjM1IDM0Ljk3NzcgODcuMzQ3NiAzNC45MDA4Qzg3LjE3NCAzNC44MTkxIDg3LjAyMTkgMzQuNzEyNiA4Ni44OTA5IDM0LjU4MThDODYuNzYzOSAzNC40NDY5IDg2LjY2MSAzNC4yOTExIDg2LjU4MjIgMzQuMTEzN0M4Ni41MDg0IDMzLjkzNDYgODYuNDcxMyAzMy43NDQgODYuNDcxMyAzMy41NDFDODYuNDcxMyAzMy4zMTI3IDg2LjQ3NTMgMzMuMDg4NSA4Ni40ODMyIDMyLjg2ODZDODYuNDkxMiAzMi42NDExIDg2LjQ5MTMgMzIuNDE5NSA4Ni40ODMyIDMyLjIwMzlDODYuNDc5MSAzMS45ODI1IDg2LjQ2MDggMzEuNzY4OCA4Ni40MjgyIDMxLjU2MzFDODYuMzk1MSAzMS4zNTAyIDg2LjMzOTIgMzEuMTQ3NiA4Ni4yNjA0IDMwLjk1NTRDODYuMTgwOSAzMC43NjE2IDg2LjA3MjYgMzAuNTc3NSA4NS45MzYyIDMwLjQwM0M4NS44MjM1IDMwLjI1ODggODUuNjg1NCAzMC4xMjQ2IDg1LjUyMjggMzBDODUuNjg1NCAyOS44NzU0IDg1LjgyMzUgMjkuNzQxMiA4NS45MzYyIDI5LjU5N0M4Ni4wNzI2IDI5LjQyMjUgODYuMTgwOSAyOS4yMzg0IDg2LjI2MDQgMjkuMDQ0NkM4Ni4zMzkxIDI4Ljg1MjYgODYuMzk1MSAyOC42NTE3IDg2LjQyODMgMjguNDQyOEM4Ni40NjA4IDI4LjIzMzMgODYuNDc5MSAyOC4wMTk3IDg2LjQ4MzIgMjcuODAyMkM4Ni40OTEzIDI3LjU4MjYgODYuNDkxMyAyNy4zNjExIDg2LjQ4MzIgMjcuMTM3NUM4Ni40NzUzIDI2LjkxMzQgODYuNDcxMyAyNi42ODcyIDg2LjQ3MTMgMjYuNDU5Qzg2LjQ3MTMgMjYuMjYwMiA4Ni41MDgzIDI2LjA3MTUgODYuNTgyNCAyNS44OTIxQzg2LjY2MTQgMjUuNzEwMyA4Ni43NjQyIDI1LjU1NDggODYuODkwOSAyNS40MjQ0Qzg3LjAyMTkgMjUuMjg5NCA4Ny4xNzQ2IDI1LjE4MjcgODcuMzQ4IDI1LjEwNTFDODcuNTIzOCAyNS4wMjQzIDg3LjcxMTEgMjQuOTgzNiA4Ny45MTA4IDI0Ljk4MzZIODhaTTkyIDM1LjAxNjRWMzUuMDI4MlYzNkg5Mi4wODkyQzkyLjQwMjYgMzYgOTIuNzA1OSAzNS45Mzg0IDkyLjk5ODcgMzUuODE1M0M5My4yOTE4IDM1LjY5MiA5My41NTA2IDM1LjUxNTMgOTMuNzc0MiAzNS4yODVDOTMuOTk2OSAzNS4wNTU4IDk0LjE2MjEgMzQuODA1IDk0LjI2NzIgMzQuNTMyM0w5NC4yNjc3IDM0LjUzMUM5NC4zNjYyIDM0LjI2NDggOTQuNDMxOSAzMy45ODggOTQuNDY0NyAzMy43MDA4TDk0LjQ2NDggMzMuNjk5NUM5NC40OTMyIDMzLjQxOTUgOTQuNTAxMyAzMy4xMzE2IDk0LjQ4OTIgMzIuODM1N0M5NC40NzczIDMyLjU0NjIgOTQuNDcxMyAzMi4yNTY3IDk0LjQ3MTMgMzEuOTY3MkM5NC40NzEzIDMxLjc2NDQgOTQuNTEwMyAzMS41NzQxIDk0LjU4OCAzMS4zOTQ5TDk0LjU4ODQgMzEuMzk0Qzk0LjY2MzEgMzEuMjE3IDk0Ljc2NTggMzEuMDYxMyA5NC44OTY4IDMwLjkyNjRDOTUuMDIzNiAzMC43OTU5IDk1LjE3NTMgMzAuNjg5NCA5NS4zNTMzIDMwLjYwNzVDOTUuNTI5NCAzMC41MzA1IDk1LjcxNSAzMC40OTE4IDk1LjkxMDggMzAuNDkxOEg5NlYzMC40VjI5LjZWMjkuNTA4Mkg5NS45MTA4Qzk1LjcxNTMgMjkuNTA4MiA5NS41MyAyOS40Njc2IDk1LjM1NCAyOS4zODY3TDk1LjM1MjYgMjkuMzg2Qzk1LjE3NTQgMjkuMzA4NCA5NS4wMjQyIDI5LjIwMjQgOTQuODk3OCAyOS4wNjg0TDk0Ljg5NTkgMjkuMDY2NUM5NC43NjU3IDI4LjkzNjMgOTQuNjYzNCAyOC43ODEzIDk0LjU4ODcgMjguNjAwNkw5NC41ODggMjguNTk4OUM5NC41MTAxIDI4LjQxOTUgOTQuNDcxMyAyOC4yMzEyIDk0LjQ3MTMgMjguMDMyOEM5NC40NzEzIDI3Ljc0MzMgOTQuNDc3MyAyNy40NTM4IDk0LjQ4OTIgMjcuMTY0M0M5NC41MDEzIDI2Ljg2ODQgOTQuNDkzMiAyNi41Nzg1IDk0LjQ2NDggMjYuMjk0NUw5NC40NjQ2IDI2LjI5MjhDOTQuNDMxOCAyNi4wMDk3IDk0LjM2NjEgMjUuNzM1IDk0LjI2NzcgMjUuNDY5TDk0LjI2NzIgMjUuNDY3N0M5NC4xNjIxIDI1LjE5NSA5My45OTY5IDI0Ljk0NDIgOTMuNzc0MiAyNC43MTVDOTMuNTUwNiAyNC40ODQ3IDkzLjI5MTggMjQuMzA4IDkyLjk5ODcgMjQuMTg0N0M5Mi43MDU5IDI0LjA2MTYgOTIuNDAyNiAyNCA5Mi4wODkyIDI0SDkyVjI0LjhWMjQuOTgzNkg5Mi4wODkyQzkyLjI4OTEgMjQuOTgzNiA5Mi40NzY1IDI1LjAyMjMgOTIuNjUyNCAyNS4wOTkyQzkyLjgyNiAyNS4xODA5IDkyLjk3ODEgMjUuMjg3NCA5My4xMDkxIDI1LjQxODJDOTMuMjM2MSAyNS41NTMxIDkzLjMzOSAyNS43MDg5IDkzLjQxNzggMjUuODg2M0M5My40OTE2IDI2LjA2NTQgOTMuNTI4NyAyNi4yNTYgOTMuNTI4NyAyNi40NTlDOTMuNTI4NyAyNi42ODczIDkzLjUyNDcgMjYuOTExNSA5My41MTY4IDI3LjEzMTRDOTMuNTA4OCAyNy4zNTg5IDkzLjUwODcgMjcuNTgwNSA5My41MTY4IDI3Ljc5NjFDOTMuNTIwOSAyOC4wMTc1IDkzLjUzOTIgMjguMjMxMiA5My41NzE4IDI4LjQzNjlDOTMuNjA0OSAyOC42NDk4IDkzLjY2MDggMjguODUyNCA5My43Mzk2IDI5LjA0NDZDOTMuODE5MSAyOS4yMzg0IDkzLjkyNzQgMjkuNDIyNSA5NC4wNjM4IDI5LjU5N0M5NC4xNzY1IDI5Ljc0MTIgOTQuMzE0NiAyOS44NzU0IDk0LjQ3NzIgMzBDOTQuMzE0NiAzMC4xMjQ2IDk0LjE3NjUgMzAuMjU4OCA5NC4wNjM4IDMwLjQwM0M5My45Mjc0IDMwLjU3NzUgOTMuODE5MSAzMC43NjE2IDkzLjczOTYgMzAuOTU1NEM5My42NjA5IDMxLjE0NzQgOTMuNjA0OSAzMS4zNDgzIDkzLjU3MTcgMzEuNTU3MkM5My41MzkyIDMxLjc2NjcgOTMuNTIwOSAzMS45ODAzIDkzLjUxNjggMzIuMTk3OEM5My41MDg3IDMyLjQxNzQgOTMuNTA4NyAzMi42Mzg5IDkzLjUxNjggMzIuODYyNUM5My41MjQ3IDMzLjA4NjYgOTMuNTI4NyAzMy4zMTI4IDkzLjUyODcgMzMuNTQxQzkzLjUyODcgMzMuNzM5OCA5My40OTE3IDMzLjkyODUgOTMuNDE3NiAzNC4xMDc5QzkzLjMzODYgMzQuMjg5NyA5My4yMzU4IDM0LjQ0NTIgOTMuMTA5MSAzNC41NzU2QzkyLjk3ODEgMzQuNzEwNiA5Mi44MjU0IDM0LjgxNzMgOTIuNjUyIDM0Ljg5NDlDOTIuNDc2MiAzNC45NzU3IDkyLjI4ODkgMzUuMDE2NCA5Mi4wODkyIDM1LjAxNjRIOTJaIiBmaWxsPSIjQzVDNUM1Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNODggNC45ODM2MVY0Ljk3MTg0VjRIODcuOTEwOEM4Ny41OTc0IDQgODcuMjk0MSA0LjA2MTYxIDg3LjAwMTMgNC4xODQ3M0M4Ni43MDgyIDQuMzA3OTggODYuNDQ5NCA0LjQ4NDc0IDg2LjIyNTggNC43MTQ5OEM4Ni4wMDMxIDQuOTQ0MjIgODUuODM3OSA1LjE5NDk4IDg1LjczMjggNS40Njc2Nkw4NS43MzIzIDUuNDY4OThDODUuNjMzOCA1LjczNTIgODUuNTY4MSA2LjAxMjAxIDg1LjUzNTMgNi4yOTkxN0w4NS41MzUyIDYuMzAwNTNDODUuNTA2OCA2LjU4MDUgODUuNDk4NyA2Ljg2ODQ0IDg1LjUxMDggNy4xNjQyOEM4NS41MjI3IDcuNDUzNzkgODUuNTI4NyA3Ljc0MzI5IDg1LjUyODcgOC4wMzI3OUM4NS41Mjg3IDguMjM1NTYgODUuNDg5NyA4LjQyNTk0IDg1LjQxMiA4LjYwNTA3TDg1LjQxMTYgOC42MDYwMUM4NS4zMzY5IDguNzgyOTYgODUuMjM0MiA4LjkzODY2IDg1LjEwMzIgOS4wNzM1OUM4NC45NzY0IDkuMjA0MDUgODQuODI0NyA5LjMxMDU1IDg0LjY0NjcgOS4zOTI1Qzg0LjQ3MDYgOS40Njk1NCA4NC4yODUgOS41MDgyIDg0LjA4OTIgOS41MDgySDg0VjkuNlYxMC40VjEwLjQ5MThIODQuMDg5MkM4NC4yODQ3IDEwLjQ5MTggODQuNDcgMTAuNTMyNCA4NC42NDYgMTAuNjEzM0w4NC42NDc0IDEwLjYxNEM4NC44MjQ2IDEwLjY5MTYgODQuOTc1OCAxMC43OTc2IDg1LjEwMjIgMTAuOTMxNkw4NS4xMDQxIDEwLjkzMzVDODUuMjM0MyAxMS4wNjM3IDg1LjMzNjYgMTEuMjE4NyA4NS40MTEzIDExLjM5OTRMODUuNDEyIDExLjQwMTFDODUuNDg5OSAxMS41ODA1IDg1LjUyODcgMTEuNzY4OCA4NS41Mjg3IDExLjk2NzJDODUuNTI4NyAxMi4yNTY3IDg1LjUyMjcgMTIuNTQ2MiA4NS41MTA4IDEyLjgzNTdDODUuNDk4NyAxMy4xMzE2IDg1LjUwNjggMTMuNDIxNSA4NS41MzUyIDEzLjcwNTVMODUuNTM1NCAxMy43MDcyQzg1LjU2ODIgMTMuOTkwMyA4NS42MzM5IDE0LjI2NSA4NS43MzIzIDE0LjUzMUw4NS43MzI4IDE0LjUzMjNDODUuODM3OSAxNC44MDUgODYuMDAzMSAxNS4wNTU4IDg2LjIyNTggMTUuMjg1Qzg2LjQ0OTQgMTUuNTE1MyA4Ni43MDgyIDE1LjY5MiA4Ny4wMDEzIDE1LjgxNTNDODcuMjk0MSAxNS45Mzg0IDg3LjU5NzQgMTYgODcuOTEwOCAxNkg4OFYxNS4yVjE1LjAxNjRIODcuOTEwOEM4Ny43MTA5IDE1LjAxNjQgODcuNTIzNSAxNC45Nzc3IDg3LjM0NzYgMTQuOTAwOEM4Ny4xNzQgMTQuODE5MSA4Ny4wMjE5IDE0LjcxMjYgODYuODkwOSAxNC41ODE4Qzg2Ljc2MzkgMTQuNDQ2OSA4Ni42NjEgMTQuMjkxMSA4Ni41ODIyIDE0LjExMzdDODYuNTA4NCAxMy45MzQ2IDg2LjQ3MTMgMTMuNzQ0IDg2LjQ3MTMgMTMuNTQxQzg2LjQ3MTMgMTMuMzEyNyA4Ni40NzUzIDEzLjA4ODUgODYuNDgzMiAxMi44Njg2Qzg2LjQ5MTIgMTIuNjQxMSA4Ni40OTEzIDEyLjQxOTUgODYuNDgzMiAxMi4yMDM5Qzg2LjQ3OTEgMTEuOTgyNSA4Ni40NjA4IDExLjc2ODggODYuNDI4MiAxMS41NjMxQzg2LjM5NTEgMTEuMzUwMiA4Ni4zMzkyIDExLjE0NzYgODYuMjYwNCAxMC45NTU0Qzg2LjE4MDkgMTAuNzYxNiA4Ni4wNzI2IDEwLjU3NzUgODUuOTM2MiAxMC40MDNDODUuODIzNSAxMC4yNTg4IDg1LjY4NTQgMTAuMTI0NiA4NS41MjI4IDEwQzg1LjY4NTQgOS44NzUzOCA4NS44MjM1IDkuNzQxMTkgODUuOTM2MiA5LjU5NzAyQzg2LjA3MjYgOS40MjI1NCA4Ni4xODA5IDkuMjM4NDMgODYuMjYwNCA5LjA0NDY0Qzg2LjMzOTEgOC44NTI2MyA4Ni4zOTUxIDguNjUxNzUgODYuNDI4MyA4LjQ0Mjg1Qzg2LjQ2MDggOC4yMzMzIDg2LjQ3OTEgOC4wMTk3MyA4Ni40ODMyIDcuODAyMTlDODYuNDkxMyA3LjU4MjYyIDg2LjQ5MTMgNy4zNjEwNSA4Ni40ODMyIDcuMTM3NDlDODYuNDc1MyA2LjkxMzQgODYuNDcxMyA2LjY4NzI1IDg2LjQ3MTMgNi40NTkwMkM4Ni40NzEzIDYuMjYwMTkgODYuNTA4MyA2LjA3MTUyIDg2LjU4MjQgNS44OTIwNUM4Ni42NjE0IDUuNzEwMzQgODYuNzY0MiA1LjU1NDc1IDg2Ljg5MDkgNS40MjQzN0M4Ny4wMjE5IDUuMjg5NDIgODcuMTc0NiA1LjE4Mjc1IDg3LjM0OCA1LjEwNTEzQzg3LjUyMzggNS4wMjQyNyA4Ny43MTExIDQuOTgzNjEgODcuOTEwOCA0Ljk4MzYxSDg4Wk05MiAxNS4wMTY0VjE1LjAyODJWMTZIOTIuMDg5MkM5Mi40MDI2IDE2IDkyLjcwNTkgMTUuOTM4NCA5Mi45OTg3IDE1LjgxNTNDOTMuMjkxOCAxNS42OTIgOTMuNTUwNiAxNS41MTUzIDkzLjc3NDIgMTUuMjg1QzkzLjk5NjkgMTUuMDU1OCA5NC4xNjIxIDE0LjgwNSA5NC4yNjcyIDE0LjUzMjNMOTQuMjY3NyAxNC41MzFDOTQuMzY2MiAxNC4yNjQ4IDk0LjQzMTkgMTMuOTg4IDk0LjQ2NDcgMTMuNzAwOEw5NC40NjQ4IDEzLjY5OTVDOTQuNDkzMiAxMy40MTk1IDk0LjUwMTMgMTMuMTMxNiA5NC40ODkyIDEyLjgzNTdDOTQuNDc3MyAxMi41NDYyIDk0LjQ3MTMgMTIuMjU2NyA5NC40NzEzIDExLjk2NzJDOTQuNDcxMyAxMS43NjQ0IDk0LjUxMDMgMTEuNTc0MSA5NC41ODggMTEuMzk0OUw5NC41ODg0IDExLjM5NEM5NC42NjMxIDExLjIxNyA5NC43NjU4IDExLjA2MTMgOTQuODk2OCAxMC45MjY0Qzk1LjAyMzYgMTAuNzk1OSA5NS4xNzUzIDEwLjY4OTQgOTUuMzUzMyAxMC42MDc1Qzk1LjUyOTQgMTAuNTMwNSA5NS43MTUgMTAuNDkxOCA5NS45MTA4IDEwLjQ5MThIOTZWMTAuNFY5LjZWOS41MDgySDk1LjkxMDhDOTUuNzE1MyA5LjUwODIgOTUuNTMgOS40Njc2MiA5NS4zNTQgOS4zODY2Nkw5NS4zNTI2IDkuMzg2MDRDOTUuMTc1NCA5LjMwODQ0IDk1LjAyNDIgOS4yMDIzOCA5NC44OTc4IDkuMDY4MzlMOTQuODk1OSA5LjA2NjQ4Qzk0Ljc2NTcgOC45MzYzIDk0LjY2MzQgOC43ODEyOSA5NC41ODg3IDguNjAwNThMOTQuNTg4IDguNTk4OTJDOTQuNTEwMSA4LjQxOTUzIDk0LjQ3MTMgOC4yMzExNyA5NC40NzEzIDguMDMyNzlDOTQuNDcxMyA3Ljc0MzI5IDk0LjQ3NzMgNy40NTM3OSA5NC40ODkyIDcuMTY0MjhDOTQuNTAxMyA2Ljg2ODQyIDk0LjQ5MzIgNi41Nzg0OCA5NC40NjQ4IDYuMjk0NTRMOTQuNDY0NiA2LjI5Mjg1Qzk0LjQzMTggNi4wMDk3MSA5NC4zNjYxIDUuNzM1MDIgOTQuMjY3NyA1LjQ2ODk3TDk0LjI2NzIgNS40Njc2NkM5NC4xNjIxIDUuMTk0OTkgOTMuOTk2OSA0Ljk0NDIyIDkzLjc3NDIgNC43MTQ5OEM5My41NTA2IDQuNDg0NzQgOTMuMjkxOCA0LjMwNzk4IDkyLjk5ODcgNC4xODQ3M0M5Mi43MDU5IDQuMDYxNjEgOTIuNDAyNiA0IDkyLjA4OTIgNEg5MlY0LjhWNC45ODM2MUg5Mi4wODkyQzkyLjI4OTEgNC45ODM2MSA5Mi40NzY1IDUuMDIyMyA5Mi42NTI0IDUuMDk5MTdDOTIuODI2IDUuMTgwOTIgOTIuOTc4MSA1LjI4NzM2IDkzLjEwOTEgNS40MTgyM0M5My4yMzYxIDUuNTUzMDUgOTMuMzM5IDUuNzA4ODkgOTMuNDE3OCA1Ljg4NjI4QzkzLjQ5MTYgNi4wNjU0IDkzLjUyODcgNi4yNTU5NiA5My41Mjg3IDYuNDU5MDJDOTMuNTI4NyA2LjY4NzI3IDkzLjUyNDcgNi45MTE0NSA5My41MTY4IDcuMTMxNDJDOTMuNTA4OCA3LjM1ODk0IDkzLjUwODcgNy41ODA0OSA5My41MTY4IDcuNzk2MDVDOTMuNTIwOSA4LjAxNzU0IDkzLjUzOTIgOC4yMzExNyA5My41NzE4IDguNDM2ODhDOTMuNjA0OSA4LjY0OTc2IDkzLjY2MDggOC44NTI0MyA5My43Mzk2IDkuMDQ0NjRDOTMuODE5MSA5LjIzODQzIDkzLjkyNzQgOS40MjI1NCA5NC4wNjM4IDkuNTk3MDJDOTQuMTc2NSA5Ljc0MTE5IDk0LjMxNDYgOS44NzUzOCA5NC40NzcyIDEwQzk0LjMxNDYgMTAuMTI0NiA5NC4xNzY1IDEwLjI1ODggOTQuMDYzOCAxMC40MDNDOTMuOTI3NCAxMC41Nzc1IDkzLjgxOTEgMTAuNzYxNiA5My43Mzk2IDEwLjk1NTRDOTMuNjYwOSAxMS4xNDc0IDkzLjYwNDkgMTEuMzQ4MyA5My41NzE3IDExLjU1NzJDOTMuNTM5MiAxMS43NjY3IDkzLjUyMDkgMTEuOTgwMyA5My41MTY4IDEyLjE5NzhDOTMuNTA4NyAxMi40MTc0IDkzLjUwODcgMTIuNjM4OSA5My41MTY4IDEyLjg2MjVDOTMuNTI0NyAxMy4wODY2IDkzLjUyODcgMTMuMzEyOCA5My41Mjg3IDEzLjU0MUM5My41Mjg3IDEzLjczOTggOTMuNDkxNyAxMy45Mjg1IDkzLjQxNzYgMTQuMTA3OUM5My4zMzg2IDE0LjI4OTcgOTMuMjM1OCAxNC40NDUyIDkzLjEwOTEgMTQuNTc1NkM5Mi45NzgxIDE0LjcxMDYgOTIuODI1NCAxNC44MTczIDkyLjY1MiAxNC44OTQ5QzkyLjQ3NjIgMTQuOTc1NyA5Mi4yODg5IDE1LjAxNjQgOTIuMDg5MiAxNS4wMTY0SDkyWiIgZmlsbD0iIzQyNDI0MiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTczLjUgMjdDNzIuMTE5MyAyNyA3MSAyOC4xMTkzIDcxIDI5LjVDNzEgMzAuODgwNyA3Mi4xMTkzIDMyIDczLjUgMzJDNzQuODgwNyAzMiA3NiAzMC44ODA3IDc2IDI5LjVDNzYgMjguMTE5MyA3NC44ODA3IDI3IDczLjUgMjdaTTcwLjAzNTQgMzBDNzAuMjc4MSAzMS42OTYxIDcxLjczNjggMzMgNzMuNSAzM0M3NS40MzMgMzMgNzcgMzEuNDMzIDc3IDI5LjVDNzcgMjcuNTY3IDc1LjQzMyAyNiA3My41IDI2QzcxLjczNjggMjYgNzAuMjc4MSAyNy4zMDM5IDcwLjAzNTQgMjlINjYuOTM3QzY2LjcxNSAyOC4xMzc0IDY1LjkzMTkgMjcuNSA2NSAyNy41QzYzLjg5NTQgMjcuNSA2MyAyOC4zOTU0IDYzIDI5LjVDNjMgMzAuNjA0NiA2My44OTU0IDMxLjUgNjUgMzEuNUM2NS45MzE5IDMxLjUgNjYuNzE1IDMwLjg2MjYgNjYuOTM3IDMwSDcwLjAzNTRaIiBmaWxsPSIjNzVCRUZGIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNzMuNSA3QzcyLjExOTMgNyA3MSA4LjExOTI5IDcxIDkuNUM3MSAxMC44ODA3IDcyLjExOTMgMTIgNzMuNSAxMkM3NC44ODA3IDEyIDc2IDEwLjg4MDcgNzYgOS41Qzc2IDguMTE5MjkgNzQuODgwNyA3IDczLjUgN1pNNzAuMDM1NCAxMEM3MC4yNzgxIDExLjY5NjEgNzEuNzM2OCAxMyA3My41IDEzQzc1LjQzMyAxMyA3NyAxMS40MzMgNzcgOS41Qzc3IDcuNTY3IDc1LjQzMyA2IDczLjUgNkM3MS43MzY4IDYgNzAuMjc4MSA3LjMwMzg1IDcwLjAzNTQgOUg2Ni45MzdDNjYuNzE1IDguMTM3MzkgNjUuOTMxOSA3LjUgNjUgNy41QzYzLjg5NTQgNy41IDYzIDguMzk1NDMgNjMgOS41QzYzIDEwLjYwNDYgNjMuODk1NCAxMS41IDY1IDExLjVDNjUuOTMxOSAxMS41IDY2LjcxNSAxMC44NjI2IDY2LjkzNyAxMEg3MC4wMzU0WiIgZmlsbD0iIzAwN0FDQyIvPgo8cGF0aCBkPSJNMTA0LjgwNyAzNi45NzU0QzEwNC41NzEgMzYuOTcyMSAxMDQuMzM4IDM2LjkyMTEgMTA0LjEyMiAzNi44MjU0QzEwMy45MDcgMzYuNzI5NyAxMDMuNzEyIDM2LjU5MTMgMTAzLjU1MiAzNi40MTg2QzEwMy4yMzkgMzYuMTMzNCAxMDMuMDQ0IDM1Ljc0MDggMTAzLjAwOCAzNS4zMTg5QzEwMi45NjYgMzQuODgyOCAxMDMuMDkzIDM0LjQ0NzMgMTAzLjM2MSAzNC4xMDEzQzEwNC41NjggMzIuODI4OSAxMDYuOTQ3IDMwLjQ0OTQgMTA4LjY3OCAyOC43NTQ4QzEwOC4zMSAyNy43NTg5IDEwOC4zMjcgMjYuNjYxMyAxMDguNzI2IDI1LjY3NzRDMTA5LjA1NSAyNC44NTg4IDEwOS42MzkgMjQuMTY4MSAxMTAuMzkxIDIzLjcwODFDMTEwLjk4MiAyMy4zMTcxIDExMS42NiAyMy4wNzk0IDExMi4zNjYgMjMuMDE2N0MxMTMuMDcxIDIyLjk1NCAxMTMuNzgxIDIzLjA2ODIgMTE0LjQzMSAyMy4zNDg5TDExNS4wNDggMjMuNjE2MkwxMTIuMTgyIDI2LjU2NzRMMTEzLjQzNyAyNy44MjU4TDExNi4zODEgMjQuOTQ4OUwxMTYuNjQ4IDI1LjU2NzlDMTE2Ljg3NCAyNi4wODk4IDExNi45OTMgMjYuNjUxMiAxMTcgMjcuMjE5NkMxMTcuMDA2IDI3Ljc4OCAxMTYuOSAyOC4zNTIxIDExNi42ODcgMjguODc5MUMxMTYuNDc2IDI5LjQwMDMgMTE2LjE2MiAyOS44NzM3IDExNS43NjUgMzAuMjcxMkMxMTUuNTM5IDMwLjQ5MTcgMTE1LjI5IDMwLjY4NjUgMTE1LjAyMiAzMC44NTIyQzExNC40NjcgMzEuMjIyOCAxMTMuODMyIDMxLjQ1NjQgMTEzLjE3IDMxLjUzMzhDMTEyLjUwNyAzMS42MTEyIDExMS44MzUgMzEuNTMwMyAxMTEuMjEgMzEuMjk3NkMxMTAuMTEyIDMyLjQxMTMgMTA3LjM3MSAzNS4xNzA0IDEwNS44OTEgMzYuNTUyMkMxMDUuNTk0IDM2LjgyMTkgMTA1LjIwOCAzNi45NzI2IDEwNC44MDcgMzYuOTc1NFpNMTEyLjc0NSAyMy45MjhDMTEyLjA4NyAyMy45MjY0IDExMS40NDQgMjQuMTIwMiAxMTAuODk2IDI0LjQ4NDhDMTEwLjY4MyAyNC42MTUyIDExMC40ODQgMjQuNzY5IDExMC4zMDUgMjQuOTQzM0MxMDkuODI4IDI1LjQyNDIgMTA5LjUwOSAyNi4wMzk1IDEwOS4zOTIgMjYuNzA2N0MxMDkuMjc0IDI3LjM3MzkgMTA5LjM2NCAyOC4wNjEgMTA5LjY0OCAyOC42NzU5TDEwOS43ODMgMjguOTcyOUwxMDkuNTUgMjkuMjAwM0MxMDcuODEyIDMwLjg5NjcgMTA1LjI4MSAzMy40MjAxIDEwNC4wNjUgMzQuNzA0NUMxMDMuOTU2IDM0Ljg2NTggMTAzLjkxIDM1LjA2MDggMTAzLjkzNCAzNS4yNTM1QzEwMy45NTkgMzUuNDQ2MyAxMDQuMDUyIDM1LjYyMzggMTA0LjE5NyAzNS43NTMyQzEwNC4yOCAzNS44NDYyIDEwNC4zODIgMzUuOTIxMSAxMDQuNDk1IDM1Ljk3MzFDMTA0LjU5NiAzNi4wMTg0IDEwNC43MDQgMzYuMDQzIDEwNC44MTQgMzYuMDQ1NUMxMDQuOTgxIDM2LjA0MTMgMTA1LjE0IDM1Ljk3NyAxMDUuMjY0IDM1Ljg2NDZDMTA2LjgzNyAzNC4zOTY0IDEwOS44NzYgMzEuMzI2NCAxMTAuNzY4IDMwLjQyNDNMMTEwLjk5NyAzMC4xOTMzTDExMS4yOTIgMzAuMzI3OEMxMTEuODA2IDMwLjU2NzMgMTEyLjM3MyAzMC42Njk4IDExMi45MzggMzAuNjI1NUMxMTMuNTAzIDMwLjU4MTEgMTE0LjA0NyAzMC4zOTEzIDExNC41MTcgMzAuMDc0NUMxMTQuNzMxIDI5Ljk0MjYgMTE0LjkzIDI5Ljc4NjkgMTE1LjEwOSAyOS42MTA1QzExNS40MTggMjkuMzAxNSAxMTUuNjYzIDI4LjkzMzcgMTE1LjgyOSAyOC41Mjg3QzExNS45OTQgMjguMTIzNyAxMTYuMDc3IDI3LjY4OTcgMTE2LjA3MiAyNy4yNTIzQzExNi4wNzIgMjcuMDM2NiAxMTYuMDUgMjYuODIxNSAxMTYuMDA4IDI2LjYxMDFMMTEzLjQzMSAyOS4xMjUxTDExMC44NzkgMjYuNTc3NkwxMTMuMzk0IDIzLjk4ODNDMTEzLjE4IDIzLjk0NjcgMTEyLjk2MyAyMy45MjY1IDExMi43NDUgMjMuOTI4WiIgZmlsbD0iI0M1QzVDNSIvPgo8cGF0aCBkPSJNMTA0LjgwNyAxNi45NzU0QzEwNC41NzEgMTYuOTcyMSAxMDQuMzM4IDE2LjkyMTEgMTA0LjEyMiAxNi44MjU0QzEwMy45MDcgMTYuNzI5NyAxMDMuNzEyIDE2LjU5MTMgMTAzLjU1MiAxNi40MTg2QzEwMy4yMzkgMTYuMTMzNCAxMDMuMDQ0IDE1Ljc0MDggMTAzLjAwOCAxNS4zMTg5QzEwMi45NjYgMTQuODgyOCAxMDMuMDkzIDE0LjQ0NzMgMTAzLjM2MSAxNC4xMDEzQzEwNC41NjggMTIuODI4OSAxMDYuOTQ3IDEwLjQ0OTQgMTA4LjY3OCA4Ljc1NDc5QzEwOC4zMSA3Ljc1ODg3IDEwOC4zMjcgNi42NjEyNyAxMDguNzI2IDUuNjc3MzlDMTA5LjA1NSA0Ljg1ODc2IDEwOS42MzkgNC4xNjgwNSAxMTAuMzkxIDMuNzA4MDdDMTEwLjk4MiAzLjMxNzA2IDExMS42NiAzLjA3OTQ0IDExMi4zNjYgMy4wMTY3M0MxMTMuMDcxIDIuOTU0MDIgMTEzLjc4MSAzLjA2ODE5IDExNC40MzEgMy4zNDg5MkwxMTUuMDQ4IDMuNjE2MkwxMTIuMTgyIDYuNTY3MzhMMTEzLjQzNyA3LjgyNTgyTDExNi4zODEgNC45NDg4N0wxMTYuNjQ4IDUuNTY3ODhDMTE2Ljg3NCA2LjA4OTc2IDExNi45OTMgNi42NTExOSAxMTcgNy4yMTk2MUMxMTcuMDA2IDcuNzg4MDIgMTE2LjkgOC4zNTIxMSAxMTYuNjg3IDguODc5MTVDMTE2LjQ3NiA5LjQwMDI5IDExNi4xNjIgOS44NzM2OCAxMTUuNzY1IDEwLjI3MTJDMTE1LjUzOSAxMC40OTE3IDExNS4yOSAxMC42ODY1IDExNS4wMjIgMTAuODUyMkMxMTQuNDY3IDExLjIyMjggMTEzLjgzMiAxMS40NTY0IDExMy4xNyAxMS41MzM4QzExMi41MDcgMTEuNjExMiAxMTEuODM1IDExLjUzMDMgMTExLjIxIDExLjI5NzZDMTEwLjExMiAxMi40MTEzIDEwNy4zNzEgMTUuMTcwNCAxMDUuODkxIDE2LjU1MjJDMTA1LjU5NCAxNi44MjE5IDEwNS4yMDggMTYuOTcyNiAxMDQuODA3IDE2Ljk3NTRaTTExMi43NDUgMy45MjgwMkMxMTIuMDg3IDMuOTI2MzcgMTExLjQ0NCA0LjEyMDE4IDExMC44OTYgNC40ODQ4NUMxMTAuNjgzIDQuNjE1MiAxMTAuNDg0IDQuNzY4OTcgMTEwLjMwNSA0Ljk0MzNDMTA5LjgyOCA1LjQyNDIzIDEwOS41MDkgNi4wMzk1MyAxMDkuMzkyIDYuNzA2NjlDMTA5LjI3NCA3LjM3Mzg1IDEwOS4zNjQgOC4wNjA5OCAxMDkuNjQ4IDguNjc1OTFMMTA5Ljc4MyA4Ljk3Mjg4TDEwOS41NSA5LjIwMDI1QzEwNy44MTIgMTAuODk2NyAxMDUuMjgxIDEzLjQyMDEgMTA0LjA2NSAxNC43MDQ1QzEwMy45NTYgMTQuODY1OCAxMDMuOTEgMTUuMDYwOCAxMDMuOTM0IDE1LjI1MzVDMTAzLjk1OSAxNS40NDYzIDEwNC4wNTIgMTUuNjIzOCAxMDQuMTk3IDE1Ljc1MzJDMTA0LjI4IDE1Ljg0NjIgMTA0LjM4MiAxNS45MjExIDEwNC40OTUgMTUuOTczMUMxMDQuNTk2IDE2LjAxODQgMTA0LjcwNCAxNi4wNDMgMTA0LjgxNCAxNi4wNDU1QzEwNC45ODEgMTYuMDQxMyAxMDUuMTQgMTUuOTc3IDEwNS4yNjQgMTUuODY0NkMxMDYuODM3IDE0LjM5NjQgMTA5Ljg3NiAxMS4zMjY0IDExMC43NjggMTAuNDI0M0wxMTAuOTk3IDEwLjE5MzNMMTExLjI5MiAxMC4zMjc4QzExMS44MDYgMTAuNTY3MyAxMTIuMzczIDEwLjY2OTggMTEyLjkzOCAxMC42MjU1QzExMy41MDMgMTAuNTgxMSAxMTQuMDQ3IDEwLjM5MTMgMTE0LjUxNyAxMC4wNzQ1QzExNC43MzEgOS45NDI2IDExNC45MyA5Ljc4Njk0IDExNS4xMDkgOS42MTA0NUMxMTUuNDE4IDkuMzAxNTMgMTE1LjY2MyA4LjkzMzc0IDExNS44MjkgOC41Mjg3NEMxMTUuOTk0IDguMTIzNzUgMTE2LjA3NyA3LjY4OTc0IDExNi4wNzIgNy4yNTIyOEMxMTYuMDcyIDcuMDM2NjIgMTE2LjA1IDYuODIxNDggMTE2LjAwOCA2LjYxMDA3TDExMy40MzEgOS4xMjUwOEwxMTAuODc5IDYuNTc3NTlMMTEzLjM5NCAzLjk4ODM0QzExMy4xOCAzLjk0Njc0IDExMi45NjMgMy45MjY1MyAxMTIuNzQ1IDMuOTI4MDJaIiBmaWxsPSIjNDI0MjQyIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTQ5IDI1TDE1MCAyNEgxNTZMMTU3IDI1VjMwTDE1NiAzMUgxNTJWMzBIMTU2VjI1SDE1MFYyOEgxNDlWMjVaTTE1MCAyOUwxNTEgMzBWMzFWMzVMMTUwIDM2SDE0NEwxNDMgMzVWMzBMMTQ0IDI5SDE0OUgxNTBaTTE1MCAzMFYzMVYzNUgxNDRWMzBIMTQ5SDE1MFpNMTUxLjQxNCAyOUwxNTEgMjguNTg1OFYyOEgxNTVWMjlIMTUxLjQxNFpNMTUxIDI2SDE1NVYyN0gxNTFWMjZaTTE0OSAzMkgxNDVWMzNIMTQ5VjMyWiIgZmlsbD0iIzc1QkVGRiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE0OSA1TDE1MCA0SDE1NkwxNTcgNVYxMEwxNTYgMTFIMTUyVjEwSDE1NlY1SDE1MFY4SDE0OVY1Wk0xNTAgOUwxNTEgMTBWMTFWMTVMMTUwIDE2SDE0NEwxNDMgMTVWMTBMMTQ0IDlIMTQ5SDE1MFpNMTUwIDEwVjExVjE1SDE0NFYxMEgxNDlIMTUwWk0xNTEuNDE0IDlMMTUxIDguNTg1NzlWOEgxNTVWOUgxNTEuNDE0Wk0xNTEgNkgxNTVWN0gxNTFWNlpNMTQ5IDEySDE0NVYxM0gxNDlWMTJaIiBmaWxsPSIjMDA3QUNDIi8+CjxwYXRoIGQ9Ik0xNzcgNkgxNzJWNUgxNzdWNlpNMTc2IDlIMTc0VjEwSDE3NlY5Wk0xNzIgOUgxNjNWMTBIMTcyVjlaTTE3NCAxNUgxNjNWMTZIMTc0VjE1Wk0xNjkgMTJIMTYzVjEzSDE2OVYxMlpNMTc3IDEySDE3MlYxM0gxNzdWMTJaTTE3MCA0VjdIMTYzVjRIMTcwWk0xNjkgNUgxNjRWNkgxNjlWNVoiIGZpbGw9IiNDNUM1QzUiLz4KPHBhdGggZD0iTTE3NyAyNkgxNzJWMjVIMTc3VjI2Wk0xNzYgMjlIMTc0VjMwSDE3NlYyOVpNMTcyIDI5SDE2M1YzMEgxNzJWMjlaTTE3NCAzNUgxNjNWMzZIMTc0VjM1Wk0xNjkgMzJIMTYzVjMzSDE2OVYzMlpNMTc3IDMySDE3MlYzM0gxNzdWMzJaTTE3MCAyNFYyN0gxNjNWMjRIMTcwWk0xNjkgMjVIMTY0VjI2SDE2OVYyNVoiIGZpbGw9IiM0MjQyNDIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMDkuMjIzIDMyLjkzM0MyMDkuNTQ5IDMzLjEyNTQgMjA5LjkyMiAzMy4yMjMxIDIxMC4zIDMzLjIxNUMyMTAuNjM4IDMzLjIyMTggMjEwLjk3MyAzMy4xNDkyIDIxMS4yNzcgMzMuMDAzQzIxMS41ODIgMzIuODU2NyAyMTEuODQ4IDMyLjY0MDkgMjEyLjA1NCAzMi4zNzNDMjEyLjUwOSAzMS43NjUyIDIxMi43NCAzMS4wMTg3IDIxMi43MDggMzAuMjZDMjEyLjc0MSAyOS41ODYyIDIxMi41MzcgMjguOTIyMSAyMTIuMTMyIDI4LjM4M0MyMTEuOTM2IDI4LjE0MTYgMjExLjY4NiAyNy45NDk2IDIxMS40MDIgMjcuODIyM0MyMTEuMTE4IDI3LjY5NSAyMTAuODA5IDI3LjYzNiAyMTAuNDk4IDI3LjY1QzIxMC4wNzUgMjcuNjQ3IDIwOS42NiAyNy43NjA4IDIwOS4yOTggMjcuOTc5QzIwOS4xODMgMjguMDQ4MSAyMDkuMDc1IDI4LjEyNzggMjA4Ljk3NSAyOC4yMTdWMjUuNDc1SDIwNy45ODRWMzMuMUgyMDguOTc5VjMyLjc1NkMyMDkuMDU1IDMyLjgyMTcgMjA5LjEzNyAzMi44ODA5IDIwOS4yMjMgMzIuOTMzWk0yMDkuODUgMjguNzAwMUMyMTAuMDM2IDI4LjYyMSAyMTAuMjM4IDI4LjU4NjggMjEwLjQ0IDI4LjZDMjEwLjYxMyAyOC41OTQ1IDIxMC43ODQgMjguNjMwNSAyMTAuOTQgMjguNzA1QzIxMS4wOTYgMjguNzc5NSAyMTEuMjMyIDI4Ljg5MDIgMjExLjMzNiAyOS4wMjhDMjExLjU5MyAyOS4zOTA1IDIxMS43MTggMjkuODI5NSAyMTEuNjkzIDMwLjI3M0MyMTEuNzIgMzAuNzk3NSAyMTEuNTggMzEuMzE3IDIxMS4yOTMgMzEuNzU3QzIxMS4xODggMzEuOTE1MyAyMTEuMDQ1IDMyLjA0NDcgMjEwLjg3OCAzMi4xMzM1QzIxMC43MSAzMi4yMjIzIDIxMC41MjMgMzIuMjY3NSAyMTAuMzMzIDMyLjI2NUMyMTAuMTQ5IDMyLjI3MzIgMjA5Ljk2NiAzMi4yNCAyMDkuNzk3IDMyLjE2NzhDMjA5LjYyOCAzMi4wOTU2IDIwOS40NzggMzEuOTg2MyAyMDkuMzU3IDMxLjg0OEMyMDkuMTAyIDMxLjU1OTYgMjA4Ljk2NSAzMS4xODUxIDIwOC45NzUgMzAuOFYzMC4yQzIwOC45NjMgMjkuNzgzMyAyMDkuMTAzIDI5LjM3NjUgMjA5LjM2OCAyOS4wNTVDMjA5LjQ5OSAyOC45MDA2IDIwOS42NjQgMjguNzc5MSAyMDkuODUgMjguNzAwMVpNMjA1LjI4OSAyNy42NzVDMjA0Ljk3IDI3LjY3OTMgMjA0LjY1NCAyNy43MzQgMjA0LjM1MiAyNy44MzdDMjA0LjA2NCAyNy45MjI5IDIwMy43OTMgMjguMDU4MyAyMDMuNTUyIDI4LjIzN0wyMDMuNDUyIDI4LjMxNFYyOS41MTRMMjAzLjg3NSAyOS4xNTVDMjA0LjI0NiAyOC44MDQ4IDIwNC43MzEgMjguNjAxNSAyMDUuMjQxIDI4LjU4M0MyMDUuMzY2IDI4LjU3MTYgMjA1LjQ5MiAyOC41OTE1IDIwNS42MDcgMjguNjQwN0MyMDUuNzIyIDI4LjY4OTkgMjA1LjgyNCAyOC43NjcgMjA1LjkwMiAyOC44NjVDMjA2LjA1MiAyOS4wOTcxIDIwNi4xMzIgMjkuMzY3NSAyMDYuMTMzIDI5LjY0NEwyMDQuOSAyOS44MjVDMjA0LjM5NCAyOS44Nzc4IDIwMy45MTUgMzAuMDc3NyAyMDMuNTIyIDMwLjRDMjAzLjM2NyAzMC41NTE4IDIwMy4yNDMgMzAuNzMyNyAyMDMuMTU4IDMwLjkzMjRDMjAzLjA3MyAzMS4xMzIgMjAzLjAyOCAzMS4zNDY0IDIwMy4wMjYgMzEuNTYzNEMyMDMuMDI0IDMxLjc4MDQgMjAzLjA2NSAzMS45OTU3IDIwMy4xNDYgMzIuMTk2OUMyMDMuMjI4IDMyLjM5ODEgMjAzLjM0OCAzMi41ODEzIDIwMy41IDMyLjczNkMyMDMuNjY5IDMyLjg5MDQgMjAzLjg2NiAzMy4wMSAyMDQuMDgxIDMzLjA4NzlDMjA0LjI5NiAzMy4xNjU5IDIwNC41MjUgMzMuMjAwNSAyMDQuNzUzIDMzLjE5QzIwNS4xNDcgMzMuMTkzMSAyMDUuNTMzIDMzLjA3NzQgMjA1Ljg2IDMyLjg1OEMyMDUuOTYyIDMyLjc4OTcgMjA2LjA1NyAzMi43MTMxIDIwNi4xNDYgMzIuNjI5VjMzLjA3M0gyMDcuMDg3VjI5LjcxNUMyMDcuMTIxIDI5LjE3NDIgMjA2Ljk1NCAyOC42Mzk5IDIwNi42MTggMjguMjE1QzIwNi40NSAyOC4wMzI5IDIwNi4yNDMgMjcuODkgMjA2LjAxNCAyNy43OTY3QzIwNS43ODQgMjcuNzAzNCAyMDUuNTM3IDI3LjY2MTggMjA1LjI4OSAyNy42NzVaTTIwNi4xNDYgMzAuNzE2QzIwNi4xNjYgMzEuMTM0MyAyMDYuMDI2IDMxLjU0NDYgMjA1Ljc1NSAzMS44NjRDMjA1LjYzNyAzMi4wMDA1IDIwNS40OSAzMi4xMDkyIDIwNS4zMjUgMzIuMTgyMUMyMDUuMTYgMzIuMjU1MSAyMDQuOTggMzIuMjkwNiAyMDQuOCAzMi4yODZDMjA0LjY5IDMyLjI5NDUgMjA0LjU4IDMyLjI4MTIgMjA0LjQ3NiAzMi4yNDY5QzIwNC4zNzIgMzIuMjEyNSAyMDQuMjc1IDMyLjE1NzkgMjA0LjE5MiAzMi4wODZDMjA0LjA2MSAzMS45MzQ2IDIwMy45ODkgMzEuNzQwOSAyMDMuOTg5IDMxLjU0MDVDMjAzLjk4OSAzMS4zNDAxIDIwNC4wNjEgMzEuMTQ2NCAyMDQuMTkyIDMwLjk5NUMyMDQuNDczIDMwLjgyMTMgMjA0Ljc5MiAzMC43MTg0IDIwNS4xMjIgMzAuNjk1TDIwNi4xNDIgMzAuNTQ3TDIwNi4xNDYgMzAuNzE2Wk0yMTQuNDU5IDMzLjAzMjVDMjE0Ljc2NiAzMy4xNjM4IDIxNS4wOTggMzMuMjI2MSAyMTUuNDMyIDMzLjIxNUMyMTUuOTI3IDMzLjIyNyAyMTYuNDE1IDMzLjEwMDYgMjE2Ljg0MiAzMi44NUwyMTYuOTY1IDMyLjc3NUwyMTYuOTc4IDMyLjc2OFYzMS42MTVMMjE2LjUzMiAzMS45MzVDMjE2LjIxNiAzMi4xNTkyIDIxNS44MzYgMzIuMjc0NyAyMTUuNDQ4IDMyLjI2NEMyMTUuMjUgMzIuMjcxOSAyMTUuMDUyIDMyLjIzNDIgMjE0Ljg3IDMyLjE1MzhDMjE0LjY4OSAzMi4wNzMzIDIxNC41MjggMzEuOTUyMyAyMTQuNCAzMS44QzIxNC4xMTQgMzEuNDI0NSAyMTMuOTczIDMwLjk1OTEgMjE0IDMwLjQ4OEMyMTMuOTc0IDI5Ljk4NzMgMjE0LjEzNSAyOS40OTQ4IDIxNC40NTMgMjkuMTA3QzIxNC41OTMgMjguOTQxMSAyMTQuNzcgMjguODA5MSAyMTQuOTY4IDI4LjcyMTNDMjE1LjE2NyAyOC42MzM1IDIxNS4zODMgMjguNTkyIDIxNS42IDI4LjZDMjE1Ljk0NCAyOC41OTg0IDIxNi4yODEgMjguNjk1MyAyMTYuNTcxIDI4Ljg3OUwyMTcgMjkuMTQ0VjI3Ljk3TDIxNi44MzEgMjcuODk3QzIxNi40NjMgMjcuNzM0MyAyMTYuMDY0IDI3LjY1MDIgMjE1LjY2MSAyNy42NUMyMTUuMyAyNy42Mzk5IDIxNC45NDEgMjcuNzA3NiAyMTQuNjA4IDI3Ljg0ODZDMjE0LjI3NSAyNy45ODk2IDIxMy45NzYgMjguMjAwNSAyMTMuNzMyIDI4LjQ2N0MyMTMuMjI2IDI5LjAyNjggMjEyLjk1OCAyOS43NjE5IDIxMi45ODUgMzAuNTE2QzIxMi45NTcgMzEuMjIzNSAyMTMuMTk2IDMxLjkxNTcgMjEzLjY1NCAzMi40NTVDMjEzLjg3NyAzMi43MDQgMjE0LjE1MiAzMi45MDEyIDIxNC40NTkgMzMuMDMyNVoiIGZpbGw9IiNDNUM1QzUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMDkuMjIzIDEyLjkzM0MyMDkuNTQ5IDEzLjEyNTQgMjA5LjkyMiAxMy4yMjMxIDIxMC4zIDEzLjIxNUMyMTAuNjM4IDEzLjIyMTggMjEwLjk3MyAxMy4xNDkyIDIxMS4yNzcgMTMuMDAzQzIxMS41ODIgMTIuODU2NyAyMTEuODQ4IDEyLjY0MDkgMjEyLjA1NCAxMi4zNzNDMjEyLjUwOSAxMS43NjUyIDIxMi43NCAxMS4wMTg3IDIxMi43MDggMTAuMjZDMjEyLjc0MSA5LjU4NjIyIDIxMi41MzcgOC45MjIxIDIxMi4xMzIgOC4zODI5OEMyMTEuOTM2IDguMTQxNjEgMjExLjY4NiA3Ljk0OTU3IDIxMS40MDIgNy44MjIyOEMyMTEuMTE4IDcuNjk0OTggMjEwLjgwOSA3LjYzNTk3IDIxMC40OTggNy42NDk5N0MyMTAuMDc1IDcuNjQ2OTkgMjA5LjY2IDcuNzYwODUgMjA5LjI5OCA3Ljk3ODk4QzIwOS4xODMgOC4wNDgwNyAyMDkuMDc1IDguMTI3NzUgMjA4Ljk3NSA4LjIxNjk4VjUuNDc0OThIMjA3Ljk4NFYxMy4xSDIwOC45NzlWMTIuNzU2QzIwOS4wNTUgMTIuODIxNyAyMDkuMTM3IDEyLjg4MDkgMjA5LjIyMyAxMi45MzNaTTIwOS44NSA4LjcwMDA2QzIxMC4wMzYgOC42MjEwNSAyMTAuMjM4IDguNTg2NzcgMjEwLjQ0IDguNTk5OThDMjEwLjYxMyA4LjU5NDUyIDIxMC43ODQgOC42MzA1NCAyMTAuOTQgOC43MDUwMUMyMTEuMDk2IDguNzc5NDggMjExLjIzMiA4Ljg5MDIzIDIxMS4zMzYgOS4wMjc5OEMyMTEuNTkzIDkuMzkwNTMgMjExLjcxOCA5LjgyOTUxIDIxMS42OTMgMTAuMjczQzIxMS43MiAxMC43OTc1IDIxMS41OCAxMS4zMTcgMjExLjI5MyAxMS43NTdDMjExLjE4OCAxMS45MTUzIDIxMS4wNDUgMTIuMDQ0NyAyMTAuODc4IDEyLjEzMzVDMjEwLjcxIDEyLjIyMjMgMjEwLjUyMyAxMi4yNjc1IDIxMC4zMzMgMTIuMjY1QzIxMC4xNDkgMTIuMjczMiAyMDkuOTY2IDEyLjI0IDIwOS43OTcgMTIuMTY3OEMyMDkuNjI4IDEyLjA5NTYgMjA5LjQ3OCAxMS45ODYzIDIwOS4zNTcgMTEuODQ4QzIwOS4xMDIgMTEuNTU5NiAyMDguOTY1IDExLjE4NTEgMjA4Ljk3NSAxMC44VjEwLjJDMjA4Ljk2MyA5Ljc4MzMyIDIwOS4xMDMgOS4zNzY1IDIwOS4zNjggOS4wNTQ5OEMyMDkuNDk5IDguOTAwNjQgMjA5LjY2NCA4Ljc3OTA4IDIwOS44NSA4LjcwMDA2Wk0yMDUuMjg5IDcuNjc0OTlDMjA0Ljk3IDcuNjc5MzMgMjA0LjY1NCA3LjczNCAyMDQuMzUyIDcuODM2OTlDMjA0LjA2NCA3LjkyMjkzIDIwMy43OTMgOC4wNTgyOCAyMDMuNTUyIDguMjM2OTlMMjAzLjQ1MiA4LjMxMzk5VjkuNTEzOTlMMjAzLjg3NSA5LjE1NDk5QzIwNC4yNDYgOC44MDQ3OCAyMDQuNzMxIDguNjAxNDYgMjA1LjI0MSA4LjU4Mjk5QzIwNS4zNjYgOC41NzE2NCAyMDUuNDkyIDguNTkxNDcgMjA1LjYwNyA4LjY0MDY4QzIwNS43MjIgOC42ODk5IDIwNS44MjQgOC43NjY5NyAyMDUuOTAyIDguODY0OTlDMjA2LjA1MiA5LjA5NzEgMjA2LjEzMiA5LjM2NzU0IDIwNi4xMzMgOS42NDM5OUwyMDQuOSA5LjgyNDk5QzIwNC4zOTQgOS44Nzc4MSAyMDMuOTE1IDEwLjA3NzcgMjAzLjUyMiAxMC40QzIwMy4zNjcgMTAuNTUxOCAyMDMuMjQzIDEwLjczMjcgMjAzLjE1OCAxMC45MzI0QzIwMy4wNzMgMTEuMTMyIDIwMy4wMjggMTEuMzQ2NCAyMDMuMDI2IDExLjU2MzRDMjAzLjAyNCAxMS43ODA0IDIwMy4wNjUgMTEuOTk1NyAyMDMuMTQ2IDEyLjE5NjlDMjAzLjIyOCAxMi4zOTgxIDIwMy4zNDggMTIuNTgxMyAyMDMuNSAxMi43MzZDMjAzLjY2OSAxMi44OTA0IDIwMy44NjYgMTMuMDEgMjA0LjA4MSAxMy4wODc5QzIwNC4yOTYgMTMuMTY1OSAyMDQuNTI1IDEzLjIwMDUgMjA0Ljc1MyAxMy4xOUMyMDUuMTQ3IDEzLjE5MzEgMjA1LjUzMyAxMy4wNzc0IDIwNS44NiAxMi44NThDMjA1Ljk2MiAxMi43ODk3IDIwNi4wNTcgMTIuNzEzMSAyMDYuMTQ2IDEyLjYyOVYxMy4wNzNIMjA3LjA4N1Y5LjcxNDk5QzIwNy4xMjEgOS4xNzQyMiAyMDYuOTU0IDguNjM5ODggMjA2LjYxOCA4LjIxNDk5QzIwNi40NSA4LjAzMjg1IDIwNi4yNDMgNy44OTAwMyAyMDYuMDE0IDcuNzk2N0MyMDUuNzg0IDcuNzAzMzYgMjA1LjUzNyA3LjY2MTgxIDIwNS4yODkgNy42NzQ5OVpNMjA2LjE0NiAxMC43MTZDMjA2LjE2NiAxMS4xMzQzIDIwNi4wMjYgMTEuNTQ0NiAyMDUuNzU1IDExLjg2NEMyMDUuNjM3IDEyLjAwMDUgMjA1LjQ5IDEyLjEwOTIgMjA1LjMyNSAxMi4xODIxQzIwNS4xNiAxMi4yNTUxIDIwNC45OCAxMi4yOTA2IDIwNC44IDEyLjI4NkMyMDQuNjkgMTIuMjk0NSAyMDQuNTggMTIuMjgxMiAyMDQuNDc2IDEyLjI0NjlDMjA0LjM3MiAxMi4yMTI1IDIwNC4yNzUgMTIuMTU3OSAyMDQuMTkyIDEyLjA4NkMyMDQuMDYxIDExLjkzNDYgMjAzLjk4OSAxMS43NDA5IDIwMy45ODkgMTEuNTQwNUMyMDMuOTg5IDExLjM0MDEgMjA0LjA2MSAxMS4xNDY0IDIwNC4xOTIgMTAuOTk1QzIwNC40NzMgMTAuODIxMyAyMDQuNzkyIDEwLjcxODQgMjA1LjEyMiAxMC42OTVMMjA2LjE0MiAxMC41NDdMMjA2LjE0NiAxMC43MTZaTTIxNC40NTkgMTMuMDMyNUMyMTQuNzY2IDEzLjE2MzggMjE1LjA5OCAxMy4yMjYxIDIxNS40MzIgMTMuMjE1QzIxNS45MjcgMTMuMjI3IDIxNi40MTUgMTMuMTAwNiAyMTYuODQyIDEyLjg1TDIxNi45NjUgMTIuNzc1TDIxNi45NzggMTIuNzY4VjExLjYxNUwyMTYuNTMyIDExLjkzNUMyMTYuMjE2IDEyLjE1OTIgMjE1LjgzNiAxMi4yNzQ3IDIxNS40NDggMTIuMjY0QzIxNS4yNSAxMi4yNzE5IDIxNS4wNTIgMTIuMjM0MiAyMTQuODcgMTIuMTUzOEMyMTQuNjg5IDEyLjA3MzMgMjE0LjUyOCAxMS45NTIzIDIxNC40IDExLjhDMjE0LjExNCAxMS40MjQ1IDIxMy45NzMgMTAuOTU5MSAyMTQgMTAuNDg4QzIxMy45NzQgOS45ODczMiAyMTQuMTM1IDkuNDk0NzUgMjE0LjQ1MyA5LjEwNzA0QzIxNC41OTMgOC45NDEwNSAyMTQuNzcgOC44MDkxNCAyMTQuOTY4IDguNzIxM0MyMTUuMTY3IDguNjMzNDYgMjE1LjM4MyA4LjU5MiAyMTUuNiA4LjYwMDA0QzIxNS45NDQgOC41OTg0NCAyMTYuMjgxIDguNjk1MjUgMjE2LjU3MSA4Ljg3OTA0TDIxNyA5LjE0NDA0VjcuOTcwMDRMMjE2LjgzMSA3Ljg5NzA0QzIxNi40NjMgNy43MzQzMiAyMTYuMDY0IDcuNjUwMiAyMTUuNjYxIDcuNjUwMDRDMjE1LjMgNy42Mzk5MSAyMTQuOTQxIDcuNzA3NjIgMjE0LjYwOCA3Ljg0ODU5QzIxNC4yNzUgNy45ODk1NiAyMTMuOTc2IDguMjAwNDggMjEzLjczMiA4LjQ2NzA0QzIxMy4yMjYgOS4wMjY4MyAyMTIuOTU4IDkuNzYxODYgMjEyLjk4NSAxMC41MTZDMjEyLjk1NyAxMS4yMjM1IDIxMy4xOTYgMTEuOTE1NyAyMTMuNjU0IDEyLjQ1NUMyMTMuODc3IDEyLjcwNCAyMTQuMTUyIDEyLjkwMTIgMjE0LjQ1OSAxMy4wMzI1WiIgZmlsbD0iIzQyNDI0MiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTI2NiAzTDI2NSA0VjE2TDI2NiAxN0gyNzVMMjc2IDE2VjdMMjc1LjcwNyA2LjI5Mjg5TDI3Mi43MDcgMy4yOTI4OUwyNzIgM0gyNjZaTTI2NiAxNlY0TDI3MSA0VjhIMjc1VjE2SDI2NlpNMjc1IDdMMjcyIDRWN0wyNzUgN1oiIGZpbGw9IiM0MjQyNDIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yNjYgMjNMMjY1IDI0VjM2TDI2NiAzN0gyNzVMMjc2IDM2VjI3TDI3NS43MDcgMjYuMjkyOUwyNzIuNzA3IDIzLjI5MjlMMjcyIDIzSDI2NlpNMjY2IDM2VjI0TDI3MSAyNFYyOEgyNzVWMzZIMjY2Wk0yNzUgMjdMMjcyIDI0VjI3TDI3NSAyN1oiIGZpbGw9IiNDNUM1QzUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMzAgMjRMMTI5IDI1VjI4SDEzMFYyNUgxMzZWMzBIMTMyVjMxSDEzNkwxMzcgMzBWMjVMMTM2IDI0SDEzMFpNMTMxIDMwTDEzMCAyOUgxMjlIMTI0TDEyMyAzMFYzNUwxMjQgMzZIMTMwTDEzMSAzNVYzMVYzMFpNMTMwIDMxVjMwSDEyOUgxMjRWMzVIMTMwVjMxWk0xMzEgMjguNTg1OEwxMzEuNDE0IDI5SDEzNVYyOEgxMzFWMjguNTg1OFpNMTM1IDI2SDEzMVYyN0gxMzVWMjZaTTEyOSAzMUgxMjVWMzJIMTI5VjMxWk0xMjUgMzNIMTI5VjM0SDEyNVYzM1oiIGZpbGw9IiNFRTlEMjgiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMzAgNEwxMjkgNVY4SDEzMFY1SDEzNlYxMEgxMzJWMTFIMTM2TDEzNyAxMFY1TDEzNiA0SDEzMFpNMTMxIDEwTDEzMCA5SDEyOUgxMjRMMTIzIDEwVjE1TDEyNCAxNkgxMzBMMTMxIDE1VjExVjEwWk0xMzAgMTFWMTBIMTI5SDEyNFYxNUgxMzBWMTFaTTEzMSA4LjU4NTc5TDEzMS40MTQgOUgxMzVWOEgxMzFWOC41ODU3OVpNMTM1IDZIMTMxVjdIMTM1VjZaTTEyOSAxMUgxMjVWMTJIMTI5VjExWk0xMjUgMTNIMTI5VjE0SDEyNVYxM1oiIGZpbGw9IiNENjdFMDAiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yNDYgM0wyNDUgNFYxNkwyNDYgMTdIMjU0TDI1NSAxNlY0TDI1NCAzSDI0NlpNMjQ2IDVWNEgyNTRWMTZIMjQ2VjE1SDI0OFYxNEgyNDZWMTJIMjUwVjExSDI0NlY5SDI0OFY4SDI0NlY2SDI1MFY1SDI0NloiIGZpbGw9IiM0MjQyNDIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yNDYgMjNMMjQ1IDI0VjM2TDI0NiAzN0gyNTRMMjU1IDM2VjI0TDI1NCAyM0gyNDZaTTI0NiAyNVYyNEgyNTRWMzZIMjQ2VjM1SDI0OFYzNEgyNDZWMzJIMjUwVjMxSDI0NlYyOUgyNDhWMjhIMjQ2VjI2SDI1MFYyNUgyNDZaIiBmaWxsPSIjQzVDNUM1Ii8+Cjwvc3ZnPgo=");background-repeat:no-repeat;background-position:-2px -22px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon,.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.constructor,.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.function,.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.method{background-position:-2px -2px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.field,.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.variable{background-position:-22px -2px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.class{background-position:-42px -2px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.interface{background-position:-62px -2px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.module{background-position:-82px -2px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.property{background-position:-102px -2px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.enum{background-position:-122px -2px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.string{background-position:-202px -2px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.rule{background-position:-242px -2px}.monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.file{background-position:-262px -2px}.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.constructor,.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.function,.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.method{background-position:-2px -22px}.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.field,.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.variable{background-position:-22px -22px}.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.class{background-position:-43px -22px}.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.interface{background-position:-63px -22px}.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.module{background-position:-82px -22px}.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.property{background-position:-102px -22px}.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.enum{background-position:-122px -22px}.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.string{background-position:-202px -22px}.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.rule{background-position:-242px -22px}.vs-dark .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.file{background-position:-262px -22px}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon{background:none;display:inline}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon:before{height:16px;width:16px;display:inline-block}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.constructor:before,.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.function:before,.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.method:before,.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon:before{content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDQuODU3NDlMMi40ODU1IDRMNy40ODU1IDFIOC41MTQ1TDEzLjUxNDUgNEwxNCA0Ljg1NzQ5VjEwLjg1NzVMMTMuNTE0NSAxMS43MTVMOC41MTQ1IDE0LjcxNUg3LjQ4NTVMMi40ODU1IDExLjcxNUwyIDEwLjg1NzVWNC44NTc0OVpNNy41IDEzLjU1NzVMMyAxMC44NTc1VjUuNjk5NzVMNy41IDguMTU0M1YxMy41NTc1Wk04LjUgMTMuNTU3NUwxMyAxMC44NTc1VjUuNjk5NzVMOC41IDguMTU0M1YxMy41NTc1Wk04IDEuODU3NDlMMy4yNTkxMyA0LjcwMjAxTDggNy4yODc5NEwxMi43NDA5IDQuNzAyMDFMOCAxLjg1NzQ5WiIgZmlsbD0iI0IxODBENyIvPgo8L3N2Zz4K)}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.field:before,.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.variable:before{content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDYuMzk0NDNMMS41NTI3OSA1LjVMOC41NTI3OSAySDkuNDQ3MjFMMTQuNDQ3MiA0LjVMMTUgNS4zOTQ0M1Y5Ljg5NDQzTDE0LjQ0NzIgMTAuNzg4OUw3LjQ0NzIxIDE0LjI4ODlINi41NTI3OUwxLjU1Mjc5IDExLjc4ODlMMSAxMC44OTQ0VjYuMzk0NDNaTTYuNSAxMy4xNDQ0TDIgMTAuODk0NFY3LjE3MDk0TDYuNSA5LjIxNjM5VjEzLjE0NDRaTTcuNSAxMy4xNDQ0TDE0IDkuODk0NDNWNi4xNzk1NEw3LjUgOS4yMTI4N1YxMy4xNDQ0Wk05IDIuODk0NDNMMi4zMzcyOCA2LjIyNTc5TDYuOTk3MjUgOC4zNDM5NkwxMy42NzA2IDUuMjI5NzNMOSAyLjg5NDQzWiIgZmlsbD0iIzc1QkVGRiIvPgo8L3N2Zz4K)}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.class:before{content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjM1MzU2IDYuNjQ2NDJMMi4wNjA2NiA1LjM1MzUzTDUuMzUzNTYgMi4wNjA2NUw2LjY0NjQ1IDMuMzUzNTRMMy4zNTM1NiA2LjY0NjQyWk01IDFMMSA0Ljk5OTk4VjUuNzA3MDhMMyA3LjcwNzA3SDMuNzA3MTFMNC44NTM1NSA2LjU2MDYzVjEyLjM1MzVMNS4zNTM1NSAxMi44NTM1SDEwLjAwOTdWMTMuMzc0MUwxMS4zNDMgMTQuNzA3NEgxMi4wNTAxTDE0LjcxNjggMTIuMDQwN1YxMS4zMzM2TDEzLjM4MzUgMTAuMDAwM0gxMi42NzYzTDEwLjgyMzEgMTEuODUzNUg1Ljg1MzU1VjcuODkzNTVIMTAuMDA5N1Y4LjM3NDAxTDExLjM0MyA5LjcwNzM0SDEyLjA1MDFMMTQuNzE2OCA3LjA0MDY4VjYuMzMzNTdMMTMuMzgzNSA1LjAwMDI0SDEyLjY3NjNMMTAuODYzIDYuODEzNTZINS44NTM1NVY1LjU2MDY0TDcuNzA3MTEgMy43MDcwOVYyLjk5OTk5TDUuNzA3MTEgMUg1Wk0xMS4wNzAzIDguMDIwNDZMMTEuNjk2NiA4LjY0NjY4TDEzLjY1NjEgNi42ODcxM0wxMy4wMjk5IDYuMDYwOUwxMS4wNzAzIDguMDIwNDZaTTExLjA3MDMgMTMuMDIwNUwxMS42OTY2IDEzLjY0NjdMMTMuNjU2MSAxMS42ODcyTDEzLjAyOTkgMTEuMDYxTDExLjA3MDMgMTMuMDIwNVoiIGZpbGw9IiNFRTlEMjgiLz4KPC9zdmc+Cg==)}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.interface:before{content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS41IDVDMTAuMTE5MyA1IDkgNi4xMTkyOSA5IDcuNUM5IDguODgwNzEgMTAuMTE5MyAxMCAxMS41IDEwQzEyLjg4MDcgMTAgMTQgOC44ODA3MSAxNCA3LjVDMTQgNi4xMTkyOSAxMi44ODA3IDUgMTEuNSA1Wk04LjAzNTQ0IDhDOC4yNzgwNiA5LjY5NjE1IDkuNzM2NzYgMTEgMTEuNSAxMUMxMy40MzMgMTEgMTUgOS40MzMgMTUgNy41QzE1IDUuNTY3IDEzLjQzMyA0IDExLjUgNEM5LjczNjc2IDQgOC4yNzgwNiA1LjMwMzg1IDguMDM1NDQgN0g0LjkzNjk5QzQuNzE0OTcgNi4xMzczOSAzLjkzMTkyIDUuNSAzIDUuNUMxLjg5NTQzIDUuNSAxIDYuMzk1NDMgMSA3LjVDMSA4LjYwNDU3IDEuODk1NDMgOS41IDMgOS41QzMuOTMxOTIgOS41IDQuNzE0OTcgOC44NjI2MSA0LjkzNjk5IDhIOC4wMzU0NFoiIGZpbGw9IiM3NUJFRkYiLz4KPC9zdmc+Cg==)}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.module:before{content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02IDIuOTgzNjFWMi45NzE4NFYySDUuOTEwODNDNS41OTc0MyAyIDUuMjk0MDcgMi4wNjE2MSA1LjAwMTI4IDIuMTg0NzNDNC43MDgxOCAyLjMwNzk4IDQuNDQ5NDIgMi40ODQ3NCA0LjIyNTc4IDIuNzE0OThDNC4wMDMxMSAyLjk0NDIyIDMuODM3OTIgMy4xOTQ5OCAzLjczMjgyIDMuNDY3NjZMMy43MzIzMyAzLjQ2ODk4QzMuNjMzODIgMy43MzUyIDMuNTY4MTQgNC4wMTIwMSAzLjUzNTMzIDQuMjk5MTdMMy41MzUxOSA0LjMwMDUzQzMuNTA2NzggNC41ODA1IDMuNDk4NyA0Ljg2ODQ0IDMuNTEwODQgNS4xNjQyOEMzLjUyMjcyIDUuNDUzNzkgMy41Mjg2NiA1Ljc0MzI5IDMuNTI4NjYgNi4wMzI3OUMzLjUyODY2IDYuMjM1NTYgMy40ODk3NCA2LjQyNTk0IDMuNDEyIDYuNjA1MDdMMy40MTE2IDYuNjA2MDFDMy4zMzY4NyA2Ljc4Mjk2IDMuMjM0MjMgNi45Mzg2NiAzLjEwMzE3IDcuMDczNTlDMi45NzY0NCA3LjIwNDA1IDIuODI0NjYgNy4zMTA1NSAyLjY0NjcyIDcuMzkyNUMyLjQ3MDYgNy40Njk1NCAyLjI4NDk3IDcuNTA4MiAyLjA4OTE3IDcuNTA4MkgyVjcuNlY4LjRWOC40OTE4SDIuMDg5MTdDMi4yODQ2NSA4LjQ5MTggMi40NzAwMSA4LjUzMjM4IDIuNjQ2MDEgOC42MTMzNEwyLjY0NzQyIDguNjEzOTZDMi44MjQ1NyA4LjY5MTU3IDIuOTc1NzcgOC43OTc2MiAzLjEwMjIxIDguOTMxNjFMMy4xMDQxMiA4LjkzMzUyQzMuMjM0MjggOS4wNjM3IDMuMzM2NTkgOS4yMTg3MSAzLjQxMTI5IDkuMzk5NDJMMy40MTIwMSA5LjQwMTA4QzMuNDg5ODYgOS41ODA0NyAzLjUyODY2IDkuNzY4ODMgMy41Mjg2NiA5Ljk2NzIxQzMuNTI4NjYgMTAuMjU2NyAzLjUyMjcyIDEwLjU0NjIgMy41MTA4NCAxMC44MzU3QzMuNDk4NyAxMS4xMzE2IDMuNTA2NzcgMTEuNDIxNSAzLjUzNTE2IDExLjcwNTVMMy41MzUzNSAxMS43MDcyQzMuNTY4MTkgMTEuOTkwMyAzLjYzMzg3IDEyLjI2NSAzLjczMjMyIDEyLjUzMUwzLjczMjgzIDEyLjUzMjNDMy44Mzc5MyAxMi44MDUgNC4wMDMxMSAxMy4wNTU4IDQuMjI1NzggMTMuMjg1QzQuNDQ5NDIgMTMuNTE1MyA0LjcwODE4IDEzLjY5MiA1LjAwMTI4IDEzLjgxNTNDNS4yOTQwNyAxMy45Mzg0IDUuNTk3NDMgMTQgNS45MTA4MyAxNEg2VjEzLjJWMTMuMDE2NEg1LjkxMDgzQzUuNzEwOTUgMTMuMDE2NCA1LjUyMzQ2IDEyLjk3NzcgNS4zNDc2MyAxMi45MDA4QzUuMTczOTYgMTIuODE5MSA1LjAyMTk0IDEyLjcxMjYgNC44OTA4NiAxMi41ODE4QzQuNzYzODYgMTIuNDQ2OSA0LjY2MTA0IDEyLjI5MTEgNC41ODIyMyAxMi4xMTM3QzQuNTA4MzggMTEuOTM0NiA0LjQ3MTM0IDExLjc0NCA0LjQ3MTM0IDExLjU0MUM0LjQ3MTM0IDExLjMxMjcgNC40NzUzIDExLjA4ODUgNC40ODMyMSAxMC44Njg2QzQuNDkxMjUgMTAuNjQxMSA0LjQ5MTI3IDEwLjQxOTUgNC40ODMyNCAxMC4yMDM5QzQuNDc5MTQgOS45ODI0NiA0LjQ2MDg0IDkuNzY4ODMgNC40MjgyMyA5LjU2MzEyQzQuMzk1MTMgOS4zNTAyNCA0LjMzOTIxIDkuMTQ3NTcgNC4yNjAzOSA4Ljk1NTM2QzQuMTgwOTEgOC43NjE1NyA0LjA3MjU4IDguNTc3NDYgMy45MzYxNiA4LjQwMjk4QzMuODIzNDUgOC4yNTg4MSAzLjY4NTM4IDguMTI0NjIgMy41MjI4MyA4QzMuNjg1MzggNy44NzUzOCAzLjgyMzQ1IDcuNzQxMTkgMy45MzYxNiA3LjU5NzAyQzQuMDcyNTggNy40MjI1NCA0LjE4MDkxIDcuMjM4NDMgNC4yNjAzOSA3LjA0NDY0QzQuMzM5MTMgNi44NTI2MyA0LjM5NTEzIDYuNjUxNzUgNC40MjgyNiA2LjQ0Mjg1QzQuNDYwODIgNi4yMzMzIDQuNDc5MTQgNi4wMTk3MyA0LjQ4MzI0IDUuODAyMTlDNC40OTEyNyA1LjU4MjYyIDQuNDkxMjUgNS4zNjEwNSA0LjQ4MzIxIDUuMTM3NDlDNC40NzUzIDQuOTEzNCA0LjQ3MTM0IDQuNjg3MjUgNC40NzEzNCA0LjQ1OTAyQzQuNDcxMzQgNC4yNjAxOSA0LjUwODMzIDQuMDcxNTIgNC41ODIzOCAzLjg5MjA1QzQuNjYxMzUgMy43MTAzNCA0Ljc2NDIxIDMuNTU0NzUgNC44OTA4NiAzLjQyNDM3QzUuMDIxOTMgMy4yODk0MiA1LjE3NDYxIDMuMTgyNzUgNS4zNDgwMiAzLjEwNTEzQzUuNTIzOCAzLjAyNDI3IDUuNzExMTMgMi45ODM2MSA1LjkxMDgzIDIuOTgzNjFINlpNMTAgMTMuMDE2NFYxMy4wMjgyVjE0SDEwLjA4OTJDMTAuNDAyNiAxNCAxMC43MDU5IDEzLjkzODQgMTAuOTk4NyAxMy44MTUzQzExLjI5MTggMTMuNjkyIDExLjU1MDYgMTMuNTE1MyAxMS43NzQyIDEzLjI4NUMxMS45OTY5IDEzLjA1NTggMTIuMTYyMSAxMi44MDUgMTIuMjY3MiAxMi41MzIzTDEyLjI2NzcgMTIuNTMxQzEyLjM2NjIgMTIuMjY0OCAxMi40MzE5IDExLjk4OCAxMi40NjQ3IDExLjcwMDhMMTIuNDY0OCAxMS42OTk1QzEyLjQ5MzIgMTEuNDE5NSAxMi41MDEzIDExLjEzMTYgMTIuNDg5MiAxMC44MzU3QzEyLjQ3NzMgMTAuNTQ2MiAxMi40NzEzIDEwLjI1NjcgMTIuNDcxMyA5Ljk2NzIxQzEyLjQ3MTMgOS43NjQ0NCAxMi41MTAzIDkuNTc0MDYgMTIuNTg4IDkuMzk0OTNMMTIuNTg4NCA5LjM5Mzk5QzEyLjY2MzEgOS4yMTcwNCAxMi43NjU4IDkuMDYxMzQgMTIuODk2OCA4LjkyNjQyQzEzLjAyMzYgOC43OTU5NSAxMy4xNzUzIDguNjg5NDUgMTMuMzUzMyA4LjYwNzVDMTMuNTI5NCA4LjUzMDQ2IDEzLjcxNSA4LjQ5MTggMTMuOTEwOCA4LjQ5MThIMTRWOC40VjcuNlY3LjUwODJIMTMuOTEwOEMxMy43MTUzIDcuNTA4MiAxMy41MyA3LjQ2NzYyIDEzLjM1NCA3LjM4NjY2TDEzLjM1MjYgNy4zODYwNEMxMy4xNzU0IDcuMzA4NDQgMTMuMDI0MiA3LjIwMjM4IDEyLjg5NzggNy4wNjgzOUwxMi44OTU5IDcuMDY2NDhDMTIuNzY1NyA2LjkzNjMgMTIuNjYzNCA2Ljc4MTI5IDEyLjU4ODcgNi42MDA1OEwxMi41ODggNi41OTg5MkMxMi41MTAxIDYuNDE5NTMgMTIuNDcxMyA2LjIzMTE3IDEyLjQ3MTMgNi4wMzI3OUMxMi40NzEzIDUuNzQzMjkgMTIuNDc3MyA1LjQ1Mzc5IDEyLjQ4OTIgNS4xNjQyOEMxMi41MDEzIDQuODY4NDIgMTIuNDkzMiA0LjU3ODQ4IDEyLjQ2NDggNC4yOTQ1NEwxMi40NjQ2IDQuMjkyODVDMTIuNDMxOCA0LjAwOTcxIDEyLjM2NjEgMy43MzUwMiAxMi4yNjc3IDMuNDY4OTdMMTIuMjY3MiAzLjQ2NzY2QzEyLjE2MjEgMy4xOTQ5OSAxMS45OTY5IDIuOTQ0MjIgMTEuNzc0MiAyLjcxNDk4QzExLjU1MDYgMi40ODQ3NCAxMS4yOTE4IDIuMzA3OTggMTAuOTk4NyAyLjE4NDczQzEwLjcwNTkgMi4wNjE2MSAxMC40MDI2IDIgMTAuMDg5MiAySDEwVjIuOFYyLjk4MzYxSDEwLjA4OTJDMTAuMjg5MSAyLjk4MzYxIDEwLjQ3NjUgMy4wMjIzIDEwLjY1MjQgMy4wOTkxN0MxMC44MjYgMy4xODA5MiAxMC45NzgxIDMuMjg3MzYgMTEuMTA5MSAzLjQxODIzQzExLjIzNjEgMy41NTMwNSAxMS4zMzkgMy43MDg4OSAxMS40MTc4IDMuODg2MjhDMTEuNDkxNiA0LjA2NTQgMTEuNTI4NyA0LjI1NTk2IDExLjUyODcgNC40NTkwMkMxMS41Mjg3IDQuNjg3MjcgMTEuNTI0NyA0LjkxMTQ1IDExLjUxNjggNS4xMzE0MkMxMS41MDg4IDUuMzU4OTQgMTEuNTA4NyA1LjU4MDQ5IDExLjUxNjggNS43OTYwNUMxMS41MjA5IDYuMDE3NTQgMTEuNTM5MiA2LjIzMTE3IDExLjU3MTggNi40MzY4OEMxMS42MDQ5IDYuNjQ5NzYgMTEuNjYwOCA2Ljg1MjQzIDExLjczOTYgNy4wNDQ2NEMxMS44MTkxIDcuMjM4NDMgMTEuOTI3NCA3LjQyMjU0IDEyLjA2MzggNy41OTcwMkMxMi4xNzY1IDcuNzQxMTkgMTIuMzE0NiA3Ljg3NTM4IDEyLjQ3NzIgOEMxMi4zMTQ2IDguMTI0NjIgMTIuMTc2NSA4LjI1ODgxIDEyLjA2MzggOC40MDI5OEMxMS45Mjc0IDguNTc3NDYgMTEuODE5MSA4Ljc2MTU3IDExLjczOTYgOC45NTUzNkMxMS42NjA5IDkuMTQ3MzcgMTEuNjA0OSA5LjM0ODI1IDExLjU3MTcgOS41NTcxNUMxMS41MzkyIDkuNzY2NyAxMS41MjA5IDkuOTgwMjcgMTEuNTE2OCAxMC4xOTc4QzExLjUwODcgMTAuNDE3NCAxMS41MDg3IDEwLjYzODkgMTEuNTE2OCAxMC44NjI1QzExLjUyNDcgMTEuMDg2NiAxMS41Mjg3IDExLjMxMjggMTEuNTI4NyAxMS41NDFDMTEuNTI4NyAxMS43Mzk4IDExLjQ5MTcgMTEuOTI4NSAxMS40MTc2IDEyLjEwNzlDMTEuMzM4NiAxMi4yODk3IDExLjIzNTggMTIuNDQ1MiAxMS4xMDkxIDEyLjU3NTZDMTAuOTc4MSAxMi43MTA2IDEwLjgyNTQgMTIuODE3MyAxMC42NTIgMTIuODk0OUMxMC40NzYyIDEyLjk3NTcgMTAuMjg4OSAxMy4wMTY0IDEwLjA4OTIgMTMuMDE2NEgxMFoiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==)}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.property:before{content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIuODA3MjMgMTQuOTc1NEMyLjU3MTE5IDE0Ljk3MjEgMi4zMzgyNiAxNC45MjExIDIuMTIyNDcgMTQuODI1NEMxLjkwNjY3IDE0LjcyOTcgMS43MTI0OCAxNC41OTEzIDEuNTUxNTggMTQuNDE4NkMxLjIzODUgMTQuMTMzNCAxLjA0NDMzIDEzLjc0MDggMS4wMDc3NSAxMy4zMTg5QzAuOTY2MjI1IDEyLjg4MjggMS4wOTI2OSAxMi40NDczIDEuMzYxMzMgMTIuMTAxM0MyLjU2Nzc5IDEwLjgyODkgNC45NDczIDguNDQ5NCA2LjY3ODExIDYuNzU0NzlDNi4zMDk4MyA1Ljc1ODg3IDYuMzI3MDQgNC42NjEyNyA2LjcyNjM3IDMuNjc3MzlDNy4wNTQ3NCAyLjg1ODc2IDcuNjM4NjkgMi4xNjgwNSA4LjM5MTI5IDEuNzA4MDdDOC45ODE3IDEuMzE3MDYgOS42NjAzMSAxLjA3OTQ0IDEwLjM2NTcgMS4wMTY3M0MxMS4wNzExIDAuOTU0MDIyIDExLjc4MDkgMS4wNjgxOSAxMi40MzExIDEuMzQ4OTJMMTMuMDQ4MiAxLjYxNjJMMTAuMTgyNCA0LjU2NzM4TDExLjQzNzEgNS44MjU4MkwxNC4zODA5IDIuOTQ4ODdMMTQuNjQ4MiAzLjU2Nzg4QzE0Ljg3MzUgNC4wODk3NiAxNC45OTMgNC42NTExOSAxNC45OTk3IDUuMjE5NjFDMTUuMDA2NCA1Ljc4ODAyIDE0LjkwMDIgNi4zNTIxMSAxNC42ODcyIDYuODc5MTVDMTQuNDc2IDcuNDAwMjkgMTQuMTYyMyA3Ljg3MzY4IDEzLjc2NDcgOC4yNzEyMkMxMy41Mzk0IDguNDkxNjkgMTMuMjkwNCA4LjY4NjUzIDEzLjAyMjIgOC44NTIxOEMxMi40NjczIDkuMjIyNzUgMTEuODMyNCA5LjQ1NjM2IDExLjE2OTcgOS41MzM4QzEwLjUwNjkgOS42MTEyNCA5LjgzNTIxIDkuNTMwMyA5LjIwOTgyIDkuMjk3NjRDOC4xMTE5NCAxMC40MTEzIDUuMzcxNDIgMTMuMTcwNCAzLjg5MTE5IDE0LjU1MjJDMy41OTQyNiAxNC44MjE5IDMuMjA4MzIgMTQuOTcyNiAyLjgwNzIzIDE0Ljk3NTRaTTEwLjc0NDggMS45MjgwMkMxMC4wODcgMS45MjYzNyA5LjQ0MzU5IDIuMTIwMTggOC44OTYxNCAyLjQ4NDg1QzguNjgyNjUgMi42MTUyIDguNDg0MzcgMi43Njg5NyA4LjMwNDk4IDIuOTQzM0M3LjgyNzg5IDMuNDI0MjMgNy41MDkyNiA0LjAzOTUzIDcuMzkxODIgNC43MDY2OUM3LjI3NDM4IDUuMzczODUgNy4zNjM3NCA2LjA2MDk4IDcuNjQ3OTIgNi42NzU5MUw3Ljc4MzQyIDYuOTcyODhMNy41NTA0OCA3LjIwMDI1QzUuODEyMjQgOC44OTY3MiAzLjI4MTQ2IDExLjQyMDEgMi4wNjQ3OSAxMi43MDQ1QzEuOTU2NDYgMTIuODY1OCAxLjkxMDEyIDEzLjA2MDggMS45MzQzNSAxMy4yNTM1QzEuOTU4NTcgMTMuNDQ2MyAyLjA1MTcxIDEzLjYyMzggMi4xOTY1NyAxMy43NTMyQzIuMjgwMDUgMTMuODQ2MiAyLjM4MTc3IDEzLjkyMTEgMi40OTU0MSAxMy45NzMxQzIuNTk1NTcgMTQuMDE4NCAyLjcwMzgzIDE0LjA0MyAyLjgxMzczIDE0LjA0NTVDMi45ODA2NCAxNC4wNDEzIDMuMTQwNDQgMTMuOTc3IDMuMjYzODMgMTMuODY0NkM0LjgzNjg3IDEyLjM5NjQgNy44NzYyMiA5LjMyNjQxIDguNzY4MDcgOC40MjQzNUw4Ljk5NzMgOC4xOTMyNkw5LjI5MjQyIDguMzI3ODNDOS44MDYxNyA4LjU2NzMyIDEwLjM3MzEgOC42Njk4NSAxMC45MzgyIDguNjI1NDVDMTEuNTAzMyA4LjU4MTA2IDEyLjA0NzMgOC4zOTEyNSAxMi41MTc0IDguMDc0NDdDMTIuNzMxMyA3Ljk0MjYgMTIuOTI5NiA3Ljc4Njk0IDEzLjEwODUgNy42MTA0NUMxMy40MTgzIDcuMzAxNTMgMTMuNjYzMSA2LjkzMzc0IDEzLjgyODYgNi41Mjg3NEMxMy45OTQgNi4xMjM3NSAxNC4wNzY3IDUuNjg5NzQgMTQuMDcxOSA1LjI1MjI4QzE0LjA3MTkgNS4wMzY2MiAxNC4wNTA1IDQuODIxNDggMTQuMDA3OCA0LjYxMDA3TDExLjQzMDYgNy4xMjUwOEw4Ljg3OTQ0IDQuNTc3NTlMMTEuMzk0NCAxLjk4ODM0QzExLjE4MDQgMS45NDY3NCAxMC45NjI4IDEuOTI2NTMgMTAuNzQ0OCAxLjkyODAyWiIgZmlsbD0iI0M1QzVDNSIvPgo8L3N2Zz4K)}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.enum:before,.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.value:before{content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04IDJMNyAzVjZIOFYzSDE0VjhIMTBWOUgxNEwxNSA4VjNMMTQgMkg4Wk05IDhMOCA3SDdIMkwxIDhWMTNMMiAxNEg4TDkgMTNWOVY4Wk04IDlWOEg3SDJWMTNIOFY5Wk05IDYuNTg1NzlMOS40MTQyMSA3SDEzVjZIOVY2LjU4NTc5Wk0xMyA0SDlWNUgxM1Y0Wk03IDlIM1YxMEg3VjlaTTMgMTFIN1YxMkgzVjExWiIgZmlsbD0iI0VFOUQyOCIvPgo8L3N2Zz4K)}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.rule:before{content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDFMMyAyVjE0TDQgMTVIMTJMMTMgMTRWMkwxMiAxSDRaTTQgM1YySDEyVjE0SDRWMTNINlYxMkg0VjEwSDhWOUg0VjdINlY2SDRWNEg4VjNINFoiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==)}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.file:before{content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDFMMyAyVjE0TDQgMTVIMTNMMTQgMTRWNUwxMy43MDcxIDQuMjkyODlMMTAuNzA3MSAxLjI5Mjg5TDEwIDFINFpNNCAxNFYyTDkgMlY2SDEzVjE0SDRaTTEzIDVMMTAgMlY1TDEzIDVaIiBmaWxsPSIjQzVDNUM1Ii8+Cjwvc3ZnPgo=)}.hc-black .monaco-quick-open-widget .quick-open-tree .quick-open-entry .quick-open-entry-icon.string:before{content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjIyMjg5IDEwLjkzM0M3LjU0ODYzIDExLjEyNTQgNy45MjE2MyAxMS4yMjMxIDguMjk5ODkgMTEuMjE1QzguNjM3NzcgMTEuMjIxOCA4Ljk3MjU0IDExLjE0OTIgOS4yNzcyMSAxMS4wMDNDOS41ODE4OCAxMC44NTY3IDkuODQ3OTIgMTAuNjQwOSAxMC4wNTM5IDEwLjM3M0MxMC41MDkxIDkuNzY1MTkgMTAuNzQwMiA5LjAxODY3IDEwLjcwNzkgOC4yNTk5OEMxMC43NDEyIDcuNTg2MjIgMTAuNTM3NCA2LjkyMjEgMTAuMTMxOSA2LjM4Mjk4QzkuOTM1NzUgNi4xNDE2MSA5LjY4NTc3IDUuOTQ5NTcgOS40MDIgNS44MjIyOEM5LjExODI0IDUuNjk0OTggOC44MDg1OCA1LjYzNTk3IDguNDk3ODkgNS42NDk5N0M4LjA3NTIyIDUuNjQ2OTkgNy42NTk5NCA1Ljc2MDg1IDcuMjk3ODkgNS45Nzg5OEM3LjE4MzA0IDYuMDQ4MDcgNy4wNzQ5IDYuMTI3NzUgNi45NzQ4OSA2LjIxNjk4VjMuNDc0OThINS45ODM4OVYxMS4xSDYuOTc4ODlWMTAuNzU2QzcuMDU1MTYgMTAuODIxNyA3LjEzNjc3IDEwLjg4MDkgNy4yMjI4OSAxMC45MzNaTTcuODQ5ODEgNi43MDAwNkM4LjAzNTk4IDYuNjIxMDUgOC4yMzgwNyA2LjU4Njc3IDguNDM5ODkgNi41OTk5OEM4LjYxMjU3IDYuNTk0NTIgOC43ODQwNCA2LjYzMDU0IDguOTM5OTQgNi43MDUwMUM5LjA5NTgzIDYuNzc5NDggOS4yMzE2MSA2Ljg5MDIzIDkuMzM1ODkgNy4wMjc5OEM5LjU5MjUzIDcuMzkwNTMgOS43MTg0IDcuODI5NTEgOS42OTI4OSA4LjI3Mjk3QzkuNzE5NzIgOC43OTc0OCA5LjU3OTY5IDkuMzE3MDEgOS4yOTI4OSA5Ljc1Njk4QzkuMTg4MjIgOS45MTUyNyA5LjA0NTQ2IDEwLjA0NDcgOC44Nzc3MyAxMC4xMzM1QzguNzA5OTkgMTAuMjIyMyA4LjUyMjY0IDEwLjI2NzUgOC4zMzI4OSAxMC4yNjVDOC4xNDkzNCAxMC4yNzMyIDcuOTY2MyAxMC4yNCA3Ljc5NzM0IDEwLjE2NzhDNy42MjgzOCAxMC4wOTU2IDcuNDc3ODQgOS45ODYyOCA3LjM1Njg5IDkuODQ3OTdDNy4xMDE1MiA5LjU1OTU3IDYuOTY1MDEgOS4xODUwNiA2Ljk3NDg5IDguNzk5OThWOC4xOTk5OEM2Ljk2Mjk5IDcuNzgzMzIgNy4xMDI2MyA3LjM3NjUgNy4zNjc4OSA3LjA1NDk4QzcuNDk4NTggNi45MDA2NCA3LjY2MzY0IDYuNzc5MDggNy44NDk4MSA2LjcwMDA2Wk0zLjI4OTAyIDUuNjc0OTlDMi45NzAxMSA1LjY3OTMzIDIuNjUzODggNS43MzQgMi4zNTIwMiA1LjgzNjk5QzIuMDY0MTcgNS45MjI5MyAxLjc5MzQ3IDYuMDU4MjggMS41NTIwMiA2LjIzNjk5TDEuNDUyMDIgNi4zMTM5OVY3LjUxMzk5TDEuODc1MDIgNy4xNTQ5OUMyLjI0NTc5IDYuODA0NzggMi43MzEzMyA2LjYwMTQ2IDMuMjQxMDIgNi41ODI5OUMzLjM2NTkzIDYuNTcxNjQgMy40OTE3IDYuNTkxNDcgMy42MDcwNiA2LjY0MDY4QzMuNzIyNDMgNi42ODk5IDMuODIzNzcgNi43NjY5NyAzLjkwMjAyIDYuODY0OTlDNC4wNTIyIDcuMDk3MSA0LjEzMjM5IDcuMzY3NTQgNC4xMzMwMiA3LjY0Mzk5TDIuOTAwMDIgNy44MjQ5OUMyLjM5NDM1IDcuODc3ODEgMS45MTUyNSA4LjA3NzcyIDEuNTIyMDIgOC4zOTk5OUMxLjM2Njk3IDguNTUxODEgMS4yNDMzOSA4LjczMjcxIDEuMTU4MzUgOC45MzIzNUMxLjA3MzMxIDkuMTMxOTkgMS4wMjg0OCA5LjM0NjQ0IDEuMDI2NDQgOS41NjM0M0MxLjAyNDQgOS43ODA0MiAxLjA2NTE3IDkuOTk1NjggMS4xNDY0NCAxMC4xOTY5QzEuMjI3NyAxMC4zOTgxIDEuMzQ3ODYgMTAuNTgxMyAxLjUwMDAyIDEwLjczNkMxLjY2ODcgMTAuODkwNCAxLjg2NjIyIDExLjAxIDIuMDgxMjUgMTEuMDg3OUMyLjI5NjI3IDExLjE2NTkgMi41MjQ1NiAxMS4yMDA1IDIuNzUzMDIgMTEuMTlDMy4xNDcgMTEuMTkzMSAzLjUzMjc4IDExLjA3NzQgMy44NjAwMiAxMC44NThDMy45NjE1MyAxMC43ODk3IDQuMDU3MiAxMC43MTMxIDQuMTQ2MDIgMTAuNjI5VjExLjA3M0g1LjA4NzAyVjcuNzE0OTlDNS4xMjEzNyA3LjE3NDIyIDQuOTU0MyA2LjYzOTg4IDQuNjE4MDIgNi4yMTQ5OUM0LjQ0OTc5IDYuMDMyODUgNC4yNDM0OCA1Ljg5MDAzIDQuMDEzNzggNS43OTY3QzMuNzg0MDcgNS43MDMzNiAzLjUzNjYxIDUuNjYxODEgMy4yODkwMiA1LjY3NDk5Wk00LjE0NjAyIDguNzE1OTlDNC4xNjU2NCA5LjEzNDM1IDQuMDI1OTIgOS41NDQ1OSAzLjc1NTAyIDkuODY0QzMuNjM2ODkgMTAuMDAwNSAzLjQ4OTk4IDEwLjEwOTIgMy4zMjQ4NiAxMC4xODIxQzMuMTU5NzMgMTAuMjU1MSAyLjk4MDQ5IDEwLjI5MDYgMi44MDAwMiAxMC4yODZDMi42OTA0OSAxMC4yOTQ1IDIuNTgwMzUgMTAuMjgxMiAyLjQ3NTk5IDEwLjI0NjlDMi4zNzE2MyAxMC4yMTI1IDIuMjc1MTEgMTAuMTU3OSAyLjE5MjAyIDEwLjA4NkMyLjA2MDc5IDkuOTM0NTUgMS45ODg1NiA5Ljc0MDg4IDEuOTg4NTYgOS41NDA0OUMxLjk4ODU2IDkuMzQwMTEgMi4wNjA3OSA5LjE0NjQ0IDIuMTkyMDIgOC45OTQ5OUMyLjQ3MzIyIDguODIxMzEgMi43OTIzMyA4LjcxODM3IDMuMTIyMDIgOC42OTQ5OUw0LjE0MjAyIDguNTQ2OTlMNC4xNDYwMiA4LjcxNTk5Wk0xMi40NTg4IDExLjAzMjVDMTIuNzY2IDExLjE2MzggMTMuMDk4MyAxMS4yMjYxIDEzLjQzMjIgMTEuMjE1QzEzLjkyNyAxMS4yMjcgMTQuNDE1MyAxMS4xMDA2IDE0Ljg0MjIgMTAuODVMMTQuOTY1MiAxMC43NzVMMTQuOTc4MiAxMC43NjhWOS42MTUwNEwxNC41MzIyIDkuOTM1MDRDMTQuMjE2IDEwLjE1OTIgMTMuODM1NiAxMC4yNzQ3IDEzLjQ0ODIgMTAuMjY0QzEzLjI0OTcgMTAuMjcxOSAxMy4wNTIgMTAuMjM0MiAxMi44NzAzIDEwLjE1MzhDMTIuNjg4NiAxMC4wNzMzIDEyLjUyNzggOS45NTIzMiAxMi40MDAyIDkuODAwMDRDMTIuMTE0NCA5LjQyNDUzIDExLjk3MjUgOC45NTkxMSAxMi4wMDAyIDguNDg4MDRDMTEuOTczNyA3Ljk4NzMyIDEyLjEzNTIgNy40OTQ3NSAxMi40NTMyIDcuMTA3MDRDMTIuNTkzNCA2Ljk0MTA1IDEyLjc2OTUgNi44MDkxNCAxMi45NjgyIDYuNzIxM0MxMy4xNjcgNi42MzM0NiAxMy4zODMxIDYuNTkyIDEzLjYwMDIgNi42MDAwNEMxMy45NDM5IDYuNTk4NDQgMTQuMjgwOCA2LjY5NTI1IDE0LjU3MTIgNi44NzkwNEwxNS4wMDAyIDcuMTQ0MDRWNS45NzAwNEwxNC44MzEyIDUuODk3MDRDMTQuNDYyNiA1LjczNDMyIDE0LjA2NDEgNS42NTAyIDEzLjY2MTIgNS42NTAwNEMxMy4yOTk5IDUuNjM5OTEgMTIuOTQwNiA1LjcwNzYyIDEyLjYwNzggNS44NDg1OUMxMi4yNzQ5IDUuOTg5NTYgMTEuOTc2MyA2LjIwMDQ4IDExLjczMjIgNi40NjcwNEMxMS4yMjYxIDcuMDI2ODMgMTAuOTU4MSA3Ljc2MTg2IDEwLjk4NTIgOC41MTYwNEMxMC45NTY3IDkuMjIzNDYgMTEuMTk1NSA5LjkxNTY5IDExLjY1NDIgMTAuNDU1QzExLjg3NjkgMTAuNzA0IDEyLjE1MTYgMTAuOTAxMiAxMi40NTg4IDExLjAzMjVaIiBmaWxsPSIjQzVDNUM1Ii8+Cjwvc3ZnPgo=)}.monaco-editor .rename-box{z-index:100;color:inherit}.monaco-editor .rename-box .rename-input{padding:4px}.monaco-editor .snippet-placeholder{min-width:2px}.monaco-editor .finish-snippet-placeholder,.monaco-editor .snippet-placeholder{outline-style:solid;outline-width:1px}.monaco-editor .suggest-widget{z-index:40;width:430px}.monaco-editor .suggest-widget>.details,.monaco-editor .suggest-widget>.message,.monaco-editor .suggest-widget>.tree{width:100%;border-style:solid;border-width:1px;box-sizing:border-box}.monaco-editor.hc-black .suggest-widget>.details,.monaco-editor.hc-black .suggest-widget>.message,.monaco-editor.hc-black .suggest-widget>.tree{border-width:2px}.monaco-editor .suggest-widget.docs-side{width:660px}.monaco-editor .suggest-widget.docs-side>.details,.monaco-editor .suggest-widget.docs-side>.tree{width:50%;float:left}.monaco-editor .suggest-widget.docs-side.list-right>.details,.monaco-editor .suggest-widget.docs-side.list-right>.tree{float:right}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%}.monaco-editor .suggest-widget .monaco-list{-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;-o-user-select:none;user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:-ms-flexbox;display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;-ms-touch-action:none;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{-ms-flex:1;flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:-ms-flexbox;display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>.header>.close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.readMore{opacity:.6;background-position:50%;background-repeat:no-repeat;background-size:70%;cursor:pointer}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>.header>.close{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03Ljk5OTk4IDguNzA3MDhMMTEuNjQ2NCAxMi4zNTM1TDEyLjM1MzUgMTEuNjQ2NEw4LjcwNzA4IDcuOTk5OThMMTIuMzUzNSA0LjM1MzUzTDExLjY0NjQgMy42NDY0Mkw3Ljk5OTk4IDcuMjkyODdMNC4zNTM1MyAzLjY0NjQyTDMuNjQ2NDIgNC4zNTM1M0w3LjI5Mjg3IDcuOTk5OThMMy42NDY0MiAxMS42NDY0TDQuMzUzNTMgMTIuMzUzNUw3Ljk5OTk4IDguNzA3MDhaIiBmaWxsPSIjNDI0MjQyIi8+Cjwvc3ZnPgo=");position:absolute;top:0;right:0;margin-right:5px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.readMore{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zIDcuNUMzIDQuNDYyNDMgNS40NjI0MyAyIDguNSAyQzExLjUzNzYgMiAxNCA0LjQ2MjQzIDE0IDcuNUMxNCAxMC41Mzc2IDExLjUzNzYgMTMgOC41IDEzQzUuNDYyNDMgMTMgMyAxMC41Mzc2IDMgNy41Wk0yIDcuNUMyIDMuOTEwMTUgNC45MTAxNSAxIDguNSAxQzEyLjA4OTkgMSAxNSAzLjkxMDE1IDE1IDcuNUMxNSAxMS4wODk5IDEyLjA4OTkgMTQgOC41IDE0QzQuOTEwMTUgMTQgMiAxMS4wODk5IDIgNy41Wk04IDVWNEg5VjVIOFpNOCAxMFY5TDggN1Y2SDlWN0w5IDlWMTBIOFoiIGZpbGw9IiM0MjQyNDIiLz4KPC9zdmc+Cg==")}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>.header>.close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.type-label{margin-left:.8em;-ms-flex:1;flex:1;text-align:right;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.type-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget.docs-below .monaco-list .monaco-list-row.focused>.contents>.main>.readMore,.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused>.contents>.main>.readMore,.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused>.contents>.main>.type-label,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.readMore,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.type-label{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main>.readMore,.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main>.type-label{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-description-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:50%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .monaco-icon-label.suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.suggest-icon:before{content:" ";background-repeat:no-repeat;background-position:50%;background-size:75%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.constructor:before,.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.function:before,.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.method:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDQuODU3NDlMMi40ODU1IDRMNy40ODU1IDFIOC41MTQ1TDEzLjUxNDUgNEwxNCA0Ljg1NzQ5VjEwLjg1NzVMMTMuNTE0NSAxMS43MTVMOC41MTQ1IDE0LjcxNUg3LjQ4NTVMMi40ODU1IDExLjcxNUwyIDEwLjg1NzVWNC44NTc0OVpNNy41IDEzLjU1NzVMMyAxMC44NTc1VjUuNjk5NzVMNy41IDguMTU0M1YxMy41NTc1Wk04LjUgMTMuNTU3NUwxMyAxMC44NTc1VjUuNjk5NzVMOC41IDguMTU0M1YxMy41NTc1Wk04IDEuODU3NDlMMy4yNTkxMyA0LjcwMjAxTDggNy4yODc5NEwxMi43NDA5IDQuNzAyMDFMOCAxLjg1NzQ5WiIgZmlsbD0iIzY1MkQ5MCIvPgo8L3N2Zz4K")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.field:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDYuMzk0NDNMMS41NTI3OSA1LjVMOC41NTI3OSAySDkuNDQ3MjFMMTQuNDQ3MiA0LjVMMTUgNS4zOTQ0M1Y5Ljg5NDQzTDE0LjQ0NzIgMTAuNzg4OUw3LjQ0NzIxIDE0LjI4ODlINi41NTI3OUwxLjU1Mjc5IDExLjc4ODlMMSAxMC44OTQ0VjYuMzk0NDNaTTYuNSAxMy4xNDQ0TDIgMTAuODk0NFY3LjE3MDk0TDYuNSA5LjIxNjM5VjEzLjE0NDRaTTcuNSAxMy4xNDQ0TDE0IDkuODk0NDNWNi4xNzk1NEw3LjUgOS4yMTI4N1YxMy4xNDQ0Wk05IDIuODk0NDNMMi4zMzcyOCA2LjIyNTc5TDYuOTk3MjUgOC4zNDM5NkwxMy42NzA2IDUuMjI5NzNMOSAyLjg5NDQzWiIgZmlsbD0iIzAwN0FDQyIvPgo8L3N2Zz4K")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.event:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjQxMzU0IDEuNTU5OTZMOC4zMTE1MiAxSDExLjYwNTZMMTIuNDI0IDIuNTc0NjVMMTAuMjM1NiA2SDEyLjAxNzRMMTIuNzM2MyA3LjY5NTEyTDUuNjE5NDMgMTVMNC4wMTY3NSAxMy44MzdMNi4xMTk0MyAxMEg0Ljg5Nzk4TDQgOC41NTk5Nkw3LjQxMzU0IDEuNTU5OTZaTTcuNzgwMzMgOUw0LjkwMDU0IDE0LjMwNDlMMTIuMDE3NCA3SDguMzExNTJMMTEuNjA1NiAySDguMzExNTJMNC44OTc5OCA5SDcuNzgwMzNaIiBmaWxsPSIjRDY3RTAwIi8+Cjwvc3ZnPgo=")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.operator:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjg3Mjg5IDEuMTAwMjNDMy4yMDc2OCAxLjIzNTc5IDMuNDc1NDUgMS40OTggMy42MTgwMiAxLjgyOTg4QzMuNjkwMzIgMS45OTk1OSAzLjcyNjc1IDIuMTgyNDIgMy43MjUwMiAyLjM2Njg4QzMuNzI2MTcgMi41NDk5OSAzLjY4OTc1IDIuNzMxNCAzLjYxODAyIDIuODk5ODhDMy41MTI5OSAzLjE0NTY3IDMuMzM3ODIgMy4zNTUwMyAzLjExNDQyIDMuNTAxNzdDMi44OTEwMiAzLjY0ODUxIDIuNjI5MyAzLjcyNjEyIDIuMzYyMDIgMy43MjQ4OEMyLjE3OTI0IDMuNzI1OTIgMS45OTgxOCAzLjY4OTUxIDEuODMwMDIgMy42MTc4OEMxLjU4Mjk4IDMuNTE0MDYgMS4zNzIyNyAzLjMzOTMyIDEuMjI0NTMgMy4xMTU3NUMxLjA3NjggMi44OTIxOSAwLjk5ODY2NiAyLjYyOTg0IDEuMDAwMDIgMi4zNjE4OEMwLjk5OTEzIDIuMTc5MjEgMS4wMzUxOSAxLjk5ODI1IDEuMTA2MDIgMS44Mjk4OEMxLjI0MzM3IDEuNTAzMTQgMS41MDMyOCAxLjI0MzIzIDEuODMwMDIgMS4xMDU4OEMyLjE2MzMyIDAuOTY2NjkyIDIuNTM4MDkgMC45NjQ2NjEgMi44NzI4OSAxLjEwMDIzWk0yLjU3NTAyIDIuODY0ODhDMi43MDU0IDIuODA5MTMgMi44MDkyNyAyLjcwNTI2IDIuODY1MDIgMi41NzQ4OEMyLjg5MjkgMi41MDgzOCAyLjkwNzE4IDIuNDM2OTggMi45MDcwMiAyLjM2NDg4QzIuOTA4MTMgMi4yNjU0IDIuODgyMTUgMi4xNjc1IDIuODMxODUgMi4wODE2N0MyLjc4MTU2IDEuOTk1ODQgMi43MDg4NCAxLjkyNTMxIDIuNjIxNTEgMS44Nzc2N0MyLjUzNDE4IDEuODMwMDIgMi40MzU1MyAxLjgwNzA1IDIuMzM2MTQgMS44MTEyMUMyLjIzNjc0IDEuODE1MzcgMi4xNDAzNSAxLjg0NjUgMi4wNTczMSAxLjkwMTI4QzEuOTc0MjYgMS45NTYwNiAxLjkwNzcgMi4wMzI0MSAxLjg2NDc1IDIuMTIyMTVDMS44MjE4IDIuMjExODggMS44MDQwOSAyLjMxMTYxIDEuODEzNTIgMi40MTA2NUMxLjgyMjk0IDIuNTA5NjggMS44NTkxNSAyLjYwNDI4IDEuOTE4MjUgMi42ODQzQzEuOTc3MzYgMi43NjQzMyAyLjA1NzEzIDIuODI2NzUgMi4xNDkwMiAyLjg2NDg4QzIuMjg1NDkgMi45MjA4OSAyLjQzODU0IDIuOTIwODkgMi41NzUwMiAyLjg2NDg4Wk02LjQyOTk1IDEuMTA5NUwxLjEwOTY3IDYuNDI5NzdMMS43OTU1NyA3LjExNTY3TDcuMTE1ODQgMS43OTU0TDYuNDI5OTUgMS4xMDk1Wk0xMS41IDguOTk5OTlIMTIuNVYxMS41SDE1VjEyLjVIMTIuNVYxNUgxMS41VjEyLjVIOVYxMS41SDExLjVWOC45OTk5OVpNNS43Njc3NyA5LjUyNTA5TDYuNDc0ODcgMTAuMjMyMkw0LjcwNzExIDEyTDYuNDc0ODcgMTMuNzY3N0w1Ljc2Nzc3IDE0LjQ3NDhMNCAxMi43MDcxTDIuMjMyMjMgMTQuNDc0OEwxLjUyNTEzIDEzLjc2NzdMMy4yOTI4OSAxMkwxLjUyNTEzIDEwLjIzMjJMMi4yMzIyMyA5LjUyNTA5TDQgMTEuMjkyOUw1Ljc2Nzc3IDkuNTI1MDlaTTcuMTE4MDIgNS4zMjk4OEM3LjAxNDQyIDUuMDgyNjggNi44Mzk3MyA0Ljg3MTgzIDYuNjE2MTIgNC43MjQwNkM2LjM5MjUgNC41NzYyOSA2LjEzMDA0IDQuNDk4MjYgNS44NjIwMiA0LjQ5OTg4QzUuNjc5MzUgNC40OTg5OSA1LjQ5ODM5IDQuNTM1MDUgNS4zMzAwMiA0LjYwNTg4QzUuMDAzMjggNC43NDMyMyA0Ljc0MzM3IDUuMDAzMTQgNC42MDYwMiA1LjMyOTg4QzQuNTM1ODggNS40OTQ3OCA0LjQ5ODk3IDUuNjcxOTEgNC40OTc0MSA1Ljg1MTFDNC40OTU4NiA2LjAzMDMgNC41Mjk2NyA2LjIwODA0IDQuNTk2OTMgNi4zNzQxNEM0LjY2NDE5IDYuNTQwMjQgNC43NjM1NiA2LjY5MTQzIDQuODg5MzYgNi44MTkwNkM1LjAxNTE2IDYuOTQ2NjkgNS4xNjQ5IDcuMDQ4MjMgNS4zMzAwMiA3LjExNzg4QzUuNDk4NjcgNy4xODg0OCA1LjY3OTY4IDcuMjI0ODQgNS44NjI1MiA3LjIyNDg0QzYuMDQ1MzUgNy4yMjQ4NCA2LjIyNjM2IDcuMTg4NDggNi4zOTUwMiA3LjExNzg4QzYuNjQyMDEgNy4wMTM4OCA2Ljg1MjcgNi44MzkxMyA3LjAwMDU4IDYuNjE1NjNDNy4xNDg0NSA2LjM5MjEzIDcuMjI2ODkgNi4xMjk4NyA3LjIyNjAyIDUuODYxODhDNy4yMjY1NSA1LjY3OTA1IDcuMTg5OCA1LjQ5ODAzIDcuMTE4MDIgNS4zMjk4OFpNNi4zNjUwMiA2LjA3NDg4QzYuMzM3NjYgNi4xMzkzNyA2LjI5ODI5IDYuMTk4MDggNi4yNDkwMiA2LjI0Nzg4QzYuMTk5MDggNi4yOTcyNCA2LjE0MDQyIDYuMzM2OTEgNi4wNzYwMiA2LjM2NDg4QzYuMDA4NTQgNi4zOTI5NyA1LjkzNjExIDYuNDA3MjUgNS44NjMwMiA2LjQwNjg4QzUuNzg5OTEgNi40MDc0NCA1LjcxNzQ0IDYuMzkzMTUgNS42NTAwMiA2LjM2NDg4QzUuNTg1NDEgNi4zMzcyOSA1LjUyNjY4IDYuMjk3NTcgNS40NzcwMiA2LjI0Nzg4QzUuNDI2OTEgNi4xOTg1NiA1LjM4NzEzIDYuMTM5NzUgNS4zNjAwMiA2LjA3NDg4QzUuMzA0MDEgNS45Mzg0IDUuMzA0MDEgNS43ODUzNiA1LjM2MDAyIDUuNjQ4ODhDNS40MTUzNiA1LjUxODQ2IDUuNTE5NDEgNS40MTQ3NyA1LjY1MDAyIDUuMzU5ODhDNS43MTczNyA1LjMzMTI2IDUuNzg5ODQgNS4zMTY2MyA1Ljg2MzAyIDUuMzE2ODhDNS45MzYxOCA1LjMxNjg1IDYuMDA4NiA1LjMzMTQ3IDYuMDc2MDIgNS4zNTk4OEM2LjE0MDM3IDUuMzg3NDkgNi4xOTkwNCA1LjQyNjgyIDYuMjQ5MDIgNS40NzU4OEM2LjI5Nzg2IDUuNTI2MDMgNi4zMzcxNiA1LjU4NDY1IDYuMzY1MDIgNS42NDg4OEM2LjM5MzQgNS43MTYzIDYuNDA4MDIgNS43ODg3MiA2LjQwODAyIDUuODYxODhDNi40MDgwMiA1LjkzNTAzIDYuMzkzNCA2LjAwNzQ1IDYuMzY1MDIgNi4wNzQ4OFpNMTQgM0gxMFY0SDE0VjNaIiBmaWxsPSIjNDI0MjQyIi8+Cjwvc3ZnPgo=")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.variable:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xLjUgNEwxIDQuNVYxMi41TDEuNSAxM0g0VjEySDJWNUg0VjRIMS41Wk0xNC41IDEzTDE1IDEyLjVMMTUgNC41TDE0LjUgNEgxMlY1TDE0IDVMMTQgMTJIMTJWMTNIMTQuNVpNOC43OTY5MyA1TDQuMjk2OTMgN0w0IDcuNDU2OTFWOS45NTY5MUw0LjI0Mjc1IDEwLjM4NTdMNi43NDI3NSAxMS44ODU3TDcuMjAzMDcgMTEuOTEzOEwxMS43MDMxIDkuOTEzODFMMTIgOS40NTY5MVY2Ljk1NjkxTDExLjc1NzIgNi41MjgxNkw5LjI1NzI1IDUuMDI4MTZMOC43OTY5MyA1Wk01IDguMzRWOS42NzM4MUw2LjUgMTAuNTczOFY5LjI0TDUgOC4zNFpNNy41IDkuMjgxODRWMTAuNjg3NUwxMSA5LjEzMTk3VjcuNzI2MjlMNy41IDkuMjgxODRaTTEwLjQxNzggNi44OTA3MUw4Ljk2NTU5IDYuMDE5MzZMNS41ODIxNiA3LjUyMzExTDcuMDM0NDEgOC4zOTQ0NUwxMC40MTc4IDYuODkwNzFaIiBmaWxsPSIjMDA3QUNDIi8+Cjwvc3ZnPgo=")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.class:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjM1MzU2IDYuNjQ2NDJMMi4wNjA2NiA1LjM1MzUzTDUuMzUzNTYgMi4wNjA2NUw2LjY0NjQ1IDMuMzUzNTRMMy4zNTM1NiA2LjY0NjQyWk01IDFMMSA0Ljk5OTk4VjUuNzA3MDhMMyA3LjcwNzA3SDMuNzA3MTFMNC44NTM1NSA2LjU2MDYzVjEyLjM1MzVMNS4zNTM1NSAxMi44NTM1SDEwLjAwOTdWMTMuMzc0MUwxMS4zNDMgMTQuNzA3NEgxMi4wNTAxTDE0LjcxNjggMTIuMDQwN1YxMS4zMzM2TDEzLjM4MzUgMTAuMDAwM0gxMi42NzYzTDEwLjgyMzEgMTEuODUzNUg1Ljg1MzU1VjcuODkzNTVIMTAuMDA5N1Y4LjM3NDAxTDExLjM0MyA5LjcwNzM0SDEyLjA1MDFMMTQuNzE2OCA3LjA0MDY4VjYuMzMzNTdMMTMuMzgzNSA1LjAwMDI0SDEyLjY3NjNMMTAuODYzIDYuODEzNTZINS44NTM1NVY1LjU2MDY0TDcuNzA3MTEgMy43MDcwOVYyLjk5OTk5TDUuNzA3MTEgMUg1Wk0xMS4wNzAzIDguMDIwNDZMMTEuNjk2NiA4LjY0NjY4TDEzLjY1NjEgNi42ODcxM0wxMy4wMjk5IDYuMDYwOUwxMS4wNzAzIDguMDIwNDZaTTExLjA3MDMgMTMuMDIwNUwxMS42OTY2IDEzLjY0NjdMMTMuNjU2MSAxMS42ODcyTDEzLjAyOTkgMTEuMDYxTDExLjA3MDMgMTMuMDIwNVoiIGZpbGw9IiNENjdFMDAiLz4KPC9zdmc+Cg==")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.interface:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS41IDVDMTAuMTE5MyA1IDkgNi4xMTkyOSA5IDcuNUM5IDguODgwNzEgMTAuMTE5MyAxMCAxMS41IDEwQzEyLjg4MDcgMTAgMTQgOC44ODA3MSAxNCA3LjVDMTQgNi4xMTkyOSAxMi44ODA3IDUgMTEuNSA1Wk04LjAzNTQ0IDhDOC4yNzgwNiA5LjY5NjE1IDkuNzM2NzYgMTEgMTEuNSAxMUMxMy40MzMgMTEgMTUgOS40MzMgMTUgNy41QzE1IDUuNTY3IDEzLjQzMyA0IDExLjUgNEM5LjczNjc2IDQgOC4yNzgwNiA1LjMwMzg1IDguMDM1NDQgN0g0LjkzNjk5QzQuNzE0OTcgNi4xMzczOSAzLjkzMTkyIDUuNSAzIDUuNUMxLjg5NTQzIDUuNSAxIDYuMzk1NDMgMSA3LjVDMSA4LjYwNDU3IDEuODk1NDMgOS41IDMgOS41QzMuOTMxOTIgOS41IDQuNzE0OTcgOC44NjI2MSA0LjkzNjk5IDhIOC4wMzU0NFoiIGZpbGw9IiMwMDdBQ0MiLz4KPC9zdmc+Cg==")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.struct:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDJMMSAzVjZMMiA3SDE0TDE1IDZWM0wxNCAySDJaTTIgM0gzSDEzSDE0VjRWNVY2SDEzSDNIMlY1VjRWM1pNMSAxMEwyIDlINUw2IDEwVjEzTDUgMTRIMkwxIDEzVjEwWk0zIDEwSDJWMTFWMTJWMTNIM0g0SDVWMTJWMTFWMTBINEgzWk0xMCAxMEwxMSA5SDE0TDE1IDEwVjEzTDE0IDE0SDExTDEwIDEzVjEwWk0xMiAxMEgxMVYxMVYxMlYxM0gxMkgxM0gxNFYxMlYxMVYxMEgxM0gxMloiIGZpbGw9IiM0MjQyNDIiLz4KPC9zdmc+Cg==")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.type-parameter:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMSA2SDEwVjUuNUMxMCA1LjIyMzg2IDkuNzc2MTYgNSA5LjUwMDAxIDVIOC40NzkwMlYxMC41QzguNDc5MDIgMTAuNzc2MSA4LjcwMjg4IDExIDguOTc5MDIgMTFIOS40NzkwMlYxMkg2LjQ3OTAyVjExSDYuOTc5MDJDNy4yNTUxNiAxMSA3LjQ3OTAyIDEwLjc3NjEgNy40NzkwMiAxMC41VjVINi41MDAwMUM2LjIyMzg3IDUgNi4wMDAwMSA1LjIyMzg2IDYuMDAwMDEgNS41VjZINS4wMDAwMVY0SDExVjZaTTEzLjkxNDIgOC4wNDgxTDEyLjQ1MTkgNi41ODU4MUwxMy4xNTkgNS44Nzg3MUwxNC45NzQ5IDcuNjk0NTRWOC40MDE2NUwxMy4yMDcxIDEwLjE2OTRMMTIuNSA5LjQ2MjMxTDEzLjkxNDIgOC4wNDgxWk0zLjU0ODEgOS40NjIzTDIuMDg1ODEgOC4wMDAwMkwzLjUwMDAyIDYuNTg1ODFMMi43OTI5MSA1Ljg3ODdMMS4wMjUxNSA3LjY0NjQ3VjguMzUzNTdMMi44NDEgMTAuMTY5NEwzLjU0ODEgOS40NjIzWiIgZmlsbD0iIzQyNDI0MiIvPgo8L3N2Zz4K")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.module:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02IDIuOTgzNjFWMi45NzE4NFYySDUuOTEwODNDNS41OTc0MyAyIDUuMjk0MDcgMi4wNjE2MSA1LjAwMTI4IDIuMTg0NzNDNC43MDgxOCAyLjMwNzk4IDQuNDQ5NDIgMi40ODQ3NCA0LjIyNTc4IDIuNzE0OThDNC4wMDMxMSAyLjk0NDIyIDMuODM3OTIgMy4xOTQ5OCAzLjczMjgyIDMuNDY3NjZMMy43MzIzMyAzLjQ2ODk4QzMuNjMzODIgMy43MzUyIDMuNTY4MTQgNC4wMTIwMSAzLjUzNTMzIDQuMjk5MTdMMy41MzUxOSA0LjMwMDUzQzMuNTA2NzggNC41ODA1IDMuNDk4NyA0Ljg2ODQ0IDMuNTEwODQgNS4xNjQyOEMzLjUyMjcyIDUuNDUzNzkgMy41Mjg2NiA1Ljc0MzI5IDMuNTI4NjYgNi4wMzI3OUMzLjUyODY2IDYuMjM1NTYgMy40ODk3NCA2LjQyNTk0IDMuNDEyIDYuNjA1MDdMMy40MTE2IDYuNjA2MDFDMy4zMzY4NyA2Ljc4Mjk2IDMuMjM0MjMgNi45Mzg2NiAzLjEwMzE3IDcuMDczNTlDMi45NzY0NCA3LjIwNDA1IDIuODI0NjYgNy4zMTA1NSAyLjY0NjcyIDcuMzkyNUMyLjQ3MDYgNy40Njk1NCAyLjI4NDk3IDcuNTA4MiAyLjA4OTE3IDcuNTA4MkgyVjcuNlY4LjRWOC40OTE4SDIuMDg5MTdDMi4yODQ2NSA4LjQ5MTggMi40NzAwMSA4LjUzMjM4IDIuNjQ2MDEgOC42MTMzNEwyLjY0NzQyIDguNjEzOTZDMi44MjQ1NyA4LjY5MTU3IDIuOTc1NzcgOC43OTc2MiAzLjEwMjIxIDguOTMxNjFMMy4xMDQxMiA4LjkzMzUyQzMuMjM0MjggOS4wNjM3IDMuMzM2NTkgOS4yMTg3MSAzLjQxMTI5IDkuMzk5NDJMMy40MTIwMSA5LjQwMTA4QzMuNDg5ODYgOS41ODA0NyAzLjUyODY2IDkuNzY4ODMgMy41Mjg2NiA5Ljk2NzIxQzMuNTI4NjYgMTAuMjU2NyAzLjUyMjcyIDEwLjU0NjIgMy41MTA4NCAxMC44MzU3QzMuNDk4NyAxMS4xMzE2IDMuNTA2NzcgMTEuNDIxNSAzLjUzNTE2IDExLjcwNTVMMy41MzUzNSAxMS43MDcyQzMuNTY4MTkgMTEuOTkwMyAzLjYzMzg3IDEyLjI2NSAzLjczMjMyIDEyLjUzMUwzLjczMjgzIDEyLjUzMjNDMy44Mzc5MyAxMi44MDUgNC4wMDMxMSAxMy4wNTU4IDQuMjI1NzggMTMuMjg1QzQuNDQ5NDIgMTMuNTE1MyA0LjcwODE4IDEzLjY5MiA1LjAwMTI4IDEzLjgxNTNDNS4yOTQwNyAxMy45Mzg0IDUuNTk3NDMgMTQgNS45MTA4MyAxNEg2VjEzLjJWMTMuMDE2NEg1LjkxMDgzQzUuNzEwOTUgMTMuMDE2NCA1LjUyMzQ2IDEyLjk3NzcgNS4zNDc2MyAxMi45MDA4QzUuMTczOTYgMTIuODE5MSA1LjAyMTk0IDEyLjcxMjYgNC44OTA4NiAxMi41ODE4QzQuNzYzODYgMTIuNDQ2OSA0LjY2MTA0IDEyLjI5MTEgNC41ODIyMyAxMi4xMTM3QzQuNTA4MzggMTEuOTM0NiA0LjQ3MTM0IDExLjc0NCA0LjQ3MTM0IDExLjU0MUM0LjQ3MTM0IDExLjMxMjcgNC40NzUzIDExLjA4ODUgNC40ODMyMSAxMC44Njg2QzQuNDkxMjUgMTAuNjQxMSA0LjQ5MTI3IDEwLjQxOTUgNC40ODMyNCAxMC4yMDM5QzQuNDc5MTQgOS45ODI0NiA0LjQ2MDg0IDkuNzY4ODMgNC40MjgyMyA5LjU2MzEyQzQuMzk1MTMgOS4zNTAyNCA0LjMzOTIxIDkuMTQ3NTcgNC4yNjAzOSA4Ljk1NTM2QzQuMTgwOTEgOC43NjE1NyA0LjA3MjU4IDguNTc3NDYgMy45MzYxNiA4LjQwMjk4QzMuODIzNDUgOC4yNTg4MSAzLjY4NTM4IDguMTI0NjIgMy41MjI4MyA4QzMuNjg1MzggNy44NzUzOCAzLjgyMzQ1IDcuNzQxMTkgMy45MzYxNiA3LjU5NzAyQzQuMDcyNTggNy40MjI1NCA0LjE4MDkxIDcuMjM4NDMgNC4yNjAzOSA3LjA0NDY0QzQuMzM5MTMgNi44NTI2MyA0LjM5NTEzIDYuNjUxNzUgNC40MjgyNiA2LjQ0Mjg1QzQuNDYwODIgNi4yMzMzIDQuNDc5MTQgNi4wMTk3MyA0LjQ4MzI0IDUuODAyMTlDNC40OTEyNyA1LjU4MjYyIDQuNDkxMjUgNS4zNjEwNSA0LjQ4MzIxIDUuMTM3NDlDNC40NzUzIDQuOTEzNCA0LjQ3MTM0IDQuNjg3MjUgNC40NzEzNCA0LjQ1OTAyQzQuNDcxMzQgNC4yNjAxOSA0LjUwODMzIDQuMDcxNTIgNC41ODIzOCAzLjg5MjA1QzQuNjYxMzUgMy43MTAzNCA0Ljc2NDIxIDMuNTU0NzUgNC44OTA4NiAzLjQyNDM3QzUuMDIxOTMgMy4yODk0MiA1LjE3NDYxIDMuMTgyNzUgNS4zNDgwMiAzLjEwNTEzQzUuNTIzOCAzLjAyNDI3IDUuNzExMTMgMi45ODM2MSA1LjkxMDgzIDIuOTgzNjFINlpNMTAgMTMuMDE2NFYxMy4wMjgyVjE0SDEwLjA4OTJDMTAuNDAyNiAxNCAxMC43MDU5IDEzLjkzODQgMTAuOTk4NyAxMy44MTUzQzExLjI5MTggMTMuNjkyIDExLjU1MDYgMTMuNTE1MyAxMS43NzQyIDEzLjI4NUMxMS45OTY5IDEzLjA1NTggMTIuMTYyMSAxMi44MDUgMTIuMjY3MiAxMi41MzIzTDEyLjI2NzcgMTIuNTMxQzEyLjM2NjIgMTIuMjY0OCAxMi40MzE5IDExLjk4OCAxMi40NjQ3IDExLjcwMDhMMTIuNDY0OCAxMS42OTk1QzEyLjQ5MzIgMTEuNDE5NSAxMi41MDEzIDExLjEzMTYgMTIuNDg5MiAxMC44MzU3QzEyLjQ3NzMgMTAuNTQ2MiAxMi40NzEzIDEwLjI1NjcgMTIuNDcxMyA5Ljk2NzIxQzEyLjQ3MTMgOS43NjQ0NCAxMi41MTAzIDkuNTc0MDYgMTIuNTg4IDkuMzk0OTNMMTIuNTg4NCA5LjM5Mzk5QzEyLjY2MzEgOS4yMTcwNCAxMi43NjU4IDkuMDYxMzQgMTIuODk2OCA4LjkyNjQyQzEzLjAyMzYgOC43OTU5NSAxMy4xNzUzIDguNjg5NDUgMTMuMzUzMyA4LjYwNzVDMTMuNTI5NCA4LjUzMDQ2IDEzLjcxNSA4LjQ5MTggMTMuOTEwOCA4LjQ5MThIMTRWOC40VjcuNlY3LjUwODJIMTMuOTEwOEMxMy43MTUzIDcuNTA4MiAxMy41MyA3LjQ2NzYyIDEzLjM1NCA3LjM4NjY2TDEzLjM1MjYgNy4zODYwNEMxMy4xNzU0IDcuMzA4NDQgMTMuMDI0MiA3LjIwMjM4IDEyLjg5NzggNy4wNjgzOUwxMi44OTU5IDcuMDY2NDhDMTIuNzY1NyA2LjkzNjMgMTIuNjYzNCA2Ljc4MTI5IDEyLjU4ODcgNi42MDA1OEwxMi41ODggNi41OTg5MkMxMi41MTAxIDYuNDE5NTMgMTIuNDcxMyA2LjIzMTE3IDEyLjQ3MTMgNi4wMzI3OUMxMi40NzEzIDUuNzQzMjkgMTIuNDc3MyA1LjQ1Mzc5IDEyLjQ4OTIgNS4xNjQyOEMxMi41MDEzIDQuODY4NDIgMTIuNDkzMiA0LjU3ODQ4IDEyLjQ2NDggNC4yOTQ1NEwxMi40NjQ2IDQuMjkyODVDMTIuNDMxOCA0LjAwOTcxIDEyLjM2NjEgMy43MzUwMiAxMi4yNjc3IDMuNDY4OTdMMTIuMjY3MiAzLjQ2NzY2QzEyLjE2MjEgMy4xOTQ5OSAxMS45OTY5IDIuOTQ0MjIgMTEuNzc0MiAyLjcxNDk4QzExLjU1MDYgMi40ODQ3NCAxMS4yOTE4IDIuMzA3OTggMTAuOTk4NyAyLjE4NDczQzEwLjcwNTkgMi4wNjE2MSAxMC40MDI2IDIgMTAuMDg5MiAySDEwVjIuOFYyLjk4MzYxSDEwLjA4OTJDMTAuMjg5MSAyLjk4MzYxIDEwLjQ3NjUgMy4wMjIzIDEwLjY1MjQgMy4wOTkxN0MxMC44MjYgMy4xODA5MiAxMC45NzgxIDMuMjg3MzYgMTEuMTA5MSAzLjQxODIzQzExLjIzNjEgMy41NTMwNSAxMS4zMzkgMy43MDg4OSAxMS40MTc4IDMuODg2MjhDMTEuNDkxNiA0LjA2NTQgMTEuNTI4NyA0LjI1NTk2IDExLjUyODcgNC40NTkwMkMxMS41Mjg3IDQuNjg3MjcgMTEuNTI0NyA0LjkxMTQ1IDExLjUxNjggNS4xMzE0MkMxMS41MDg4IDUuMzU4OTQgMTEuNTA4NyA1LjU4MDQ5IDExLjUxNjggNS43OTYwNUMxMS41MjA5IDYuMDE3NTQgMTEuNTM5MiA2LjIzMTE3IDExLjU3MTggNi40MzY4OEMxMS42MDQ5IDYuNjQ5NzYgMTEuNjYwOCA2Ljg1MjQzIDExLjczOTYgNy4wNDQ2NEMxMS44MTkxIDcuMjM4NDMgMTEuOTI3NCA3LjQyMjU0IDEyLjA2MzggNy41OTcwMkMxMi4xNzY1IDcuNzQxMTkgMTIuMzE0NiA3Ljg3NTM4IDEyLjQ3NzIgOEMxMi4zMTQ2IDguMTI0NjIgMTIuMTc2NSA4LjI1ODgxIDEyLjA2MzggOC40MDI5OEMxMS45Mjc0IDguNTc3NDYgMTEuODE5MSA4Ljc2MTU3IDExLjczOTYgOC45NTUzNkMxMS42NjA5IDkuMTQ3MzcgMTEuNjA0OSA5LjM0ODI1IDExLjU3MTcgOS41NTcxNUMxMS41MzkyIDkuNzY2NyAxMS41MjA5IDkuOTgwMjcgMTEuNTE2OCAxMC4xOTc4QzExLjUwODcgMTAuNDE3NCAxMS41MDg3IDEwLjYzODkgMTEuNTE2OCAxMC44NjI1QzExLjUyNDcgMTEuMDg2NiAxMS41Mjg3IDExLjMxMjggMTEuNTI4NyAxMS41NDFDMTEuNTI4NyAxMS43Mzk4IDExLjQ5MTcgMTEuOTI4NSAxMS40MTc2IDEyLjEwNzlDMTEuMzM4NiAxMi4yODk3IDExLjIzNTggMTIuNDQ1MiAxMS4xMDkxIDEyLjU3NTZDMTAuOTc4MSAxMi43MTA2IDEwLjgyNTQgMTIuODE3MyAxMC42NTIgMTIuODk0OUMxMC40NzYyIDEyLjk3NTcgMTAuMjg4OSAxMy4wMTY0IDEwLjA4OTIgMTMuMDE2NEgxMFoiIGZpbGw9IiM0MjQyNDIiLz4KPC9zdmc+Cg==")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.property:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIuODA3MjMgMTQuOTc1NEMyLjU3MTE5IDE0Ljk3MjEgMi4zMzgyNiAxNC45MjExIDIuMTIyNDcgMTQuODI1NEMxLjkwNjY3IDE0LjcyOTcgMS43MTI0OCAxNC41OTEzIDEuNTUxNTggMTQuNDE4NkMxLjIzODUgMTQuMTMzNCAxLjA0NDMzIDEzLjc0MDggMS4wMDc3NSAxMy4zMTg5QzAuOTY2MjI1IDEyLjg4MjggMS4wOTI2OSAxMi40NDczIDEuMzYxMzMgMTIuMTAxM0MyLjU2Nzc5IDEwLjgyODkgNC45NDczIDguNDQ5NCA2LjY3ODExIDYuNzU0NzlDNi4zMDk4MyA1Ljc1ODg3IDYuMzI3MDQgNC42NjEyNyA2LjcyNjM3IDMuNjc3MzlDNy4wNTQ3NCAyLjg1ODc2IDcuNjM4NjkgMi4xNjgwNSA4LjM5MTI5IDEuNzA4MDdDOC45ODE3IDEuMzE3MDYgOS42NjAzMSAxLjA3OTQ0IDEwLjM2NTcgMS4wMTY3M0MxMS4wNzExIDAuOTU0MDIyIDExLjc4MDkgMS4wNjgxOSAxMi40MzExIDEuMzQ4OTJMMTMuMDQ4MiAxLjYxNjJMMTAuMTgyNCA0LjU2NzM4TDExLjQzNzEgNS44MjU4MkwxNC4zODA5IDIuOTQ4ODdMMTQuNjQ4MiAzLjU2Nzg4QzE0Ljg3MzUgNC4wODk3NiAxNC45OTMgNC42NTExOSAxNC45OTk3IDUuMjE5NjFDMTUuMDA2NCA1Ljc4ODAyIDE0LjkwMDIgNi4zNTIxMSAxNC42ODcyIDYuODc5MTVDMTQuNDc2IDcuNDAwMjkgMTQuMTYyMyA3Ljg3MzY4IDEzLjc2NDcgOC4yNzEyMkMxMy41Mzk0IDguNDkxNjkgMTMuMjkwNCA4LjY4NjUzIDEzLjAyMjIgOC44NTIxOEMxMi40NjczIDkuMjIyNzUgMTEuODMyNCA5LjQ1NjM2IDExLjE2OTcgOS41MzM4QzEwLjUwNjkgOS42MTEyNCA5LjgzNTIxIDkuNTMwMyA5LjIwOTgyIDkuMjk3NjRDOC4xMTE5NCAxMC40MTEzIDUuMzcxNDIgMTMuMTcwNCAzLjg5MTE5IDE0LjU1MjJDMy41OTQyNiAxNC44MjE5IDMuMjA4MzIgMTQuOTcyNiAyLjgwNzIzIDE0Ljk3NTRaTTEwLjc0NDggMS45MjgwMkMxMC4wODcgMS45MjYzNyA5LjQ0MzU5IDIuMTIwMTggOC44OTYxNCAyLjQ4NDg1QzguNjgyNjUgMi42MTUyIDguNDg0MzcgMi43Njg5NyA4LjMwNDk4IDIuOTQzM0M3LjgyNzg5IDMuNDI0MjMgNy41MDkyNiA0LjAzOTUzIDcuMzkxODIgNC43MDY2OUM3LjI3NDM3IDUuMzczODUgNy4zNjM3NCA2LjA2MDk4IDcuNjQ3OTIgNi42NzU5MUw3Ljc4MzQyIDYuOTcyODhMNy41NTA0OCA3LjIwMDI1QzUuODEyMjQgOC44OTY3MiAzLjI4MTQ2IDExLjQyMDEgMi4wNjQ3OSAxMi43MDQ1QzEuOTU2NDYgMTIuODY1OCAxLjkxMDEyIDEzLjA2MDggMS45MzQzNSAxMy4yNTM1QzEuOTU4NTcgMTMuNDQ2MyAyLjA1MTcxIDEzLjYyMzggMi4xOTY1NyAxMy43NTMyQzIuMjgwMDUgMTMuODQ2MiAyLjM4MTc3IDEzLjkyMTEgMi40OTU0MSAxMy45NzMxQzIuNTk1NTcgMTQuMDE4NCAyLjcwMzgzIDE0LjA0MyAyLjgxMzczIDE0LjA0NTVDMi45ODA2NCAxNC4wNDEzIDMuMTQwNDQgMTMuOTc3IDMuMjYzODMgMTMuODY0NkM0LjgzNjg3IDEyLjM5NjQgNy44NzYyMiA5LjMyNjQxIDguNzY4MDcgOC40MjQzNUw4Ljk5NzMgOC4xOTMyNkw5LjI5MjQyIDguMzI3ODNDOS44MDYxOCA4LjU2NzMyIDEwLjM3MzEgOC42Njk4NSAxMC45MzgyIDguNjI1NDVDMTEuNTAzMyA4LjU4MTA2IDEyLjA0NzMgOC4zOTEyNSAxMi41MTc0IDguMDc0NDdDMTIuNzMxMyA3Ljk0MjYgMTIuOTI5NiA3Ljc4Njk0IDEzLjEwODUgNy42MTA0NUMxMy40MTgzIDcuMzAxNTMgMTMuNjYzMSA2LjkzMzc0IDEzLjgyODYgNi41Mjg3NEMxMy45OTQgNi4xMjM3NSAxNC4wNzY3IDUuNjg5NzQgMTQuMDcxOSA1LjI1MjI4QzE0LjA3MTkgNS4wMzY2MiAxNC4wNTA1IDQuODIxNDggMTQuMDA3OCA0LjYxMDA3TDExLjQzMDYgNy4xMjUwOEw4Ljg3OTQ0IDQuNTc3NTlMMTEuMzk0NCAxLjk4ODM0QzExLjE4MDQgMS45NDY3NCAxMC45NjI4IDEuOTI2NTMgMTAuNzQ0OCAxLjkyODAyWiIgZmlsbD0iIzQyNDI0MiIvPgo8L3N2Zz4K")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.unit:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDFMMyAyVjE0TDQgMTVIMTJMMTMgMTRWMkwxMiAxSDRaTTQgM1YySDEyVjE0SDRWMTNINlYxMkg0VjEwSDhWOUg0VjdINlY2SDRWNEg4VjNINFoiIGZpbGw9IiM0MjQyNDIiLz4KPC9zdmc+Cg==")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.constant:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDZIMTJWN0g0VjZaTTEyIDlINFYxMEgxMlY5WiIgZmlsbD0iIzQyNDI0MiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEgNEwyIDNIMTRMMTUgNFYxMkwxNCAxM0gyTDEgMTJWNFpNMiA0VjEySDE0VjRIMloiIGZpbGw9IiM0MjQyNDIiLz4KPC9zdmc+Cg==")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.enum:before,.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.value:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04IDJMNyAzVjZIOFYzSDE0VjhIMTBWOUgxNEwxNSA4VjNMMTQgMkg4Wk05IDhMOCA3SDdIMkwxIDhWMTNMMiAxNEg4TDkgMTNWOVY4Wk04IDlWOEg3SDJWMTNIOFY5Wk05IDYuNTg1NzlMOS40MTQyMSA3SDEzVjZIOVY2LjU4NTc5Wk0xMyA0SDlWNUgxM1Y0Wk03IDlIM1YxMEg3VjlaTTMgMTFIN1YxMkgzVjExWiIgZmlsbD0iI0Q2N0UwMCIvPgo8L3N2Zz4K")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.enum-member:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03IDNMOCAySDE0TDE1IDNWOEwxNCA5SDEwVjhIMTRWM0g4VjZIN1YzWk04IDdMOSA4VjlWMTNMOCAxNEgyTDEgMTNWOEwyIDdIN0g4Wk04IDhWOVYxM0gyVjhIN0g4Wk05LjQxNDIxIDdMOSA2LjU4NTc5VjZIMTNWN0g5LjQxNDIxWk05IDRIMTNWNUg5VjRaTTcgMTBIM1YxMUg3VjEwWiIgZmlsbD0iIzAwN0FDQyIvPgo8L3N2Zz4K")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.keyword:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE1IDRIMTBWM0gxNVY0Wk0xNCA3SDEyVjhIMTRWN1pNMTAgN0gxVjhIMTBWN1pNMTIgMTNIMVYxNEgxMlYxM1pNNyAxMEgxVjExSDdWMTBaTTE1IDEwSDEwVjExSDE1VjEwWk04IDJWNUgxVjJIOFpNNyAzSDJWNEg3VjNaIiBmaWxsPSIjNDI0MjQyIi8+Cjwvc3ZnPgo=")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.text:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjIyMjg5IDEwLjkzM0M3LjU0ODYzIDExLjEyNTQgNy45MjE2MyAxMS4yMjMxIDguMjk5ODkgMTEuMjE1QzguNjM3NzcgMTEuMjIxOCA4Ljk3MjU0IDExLjE0OTIgOS4yNzcyMSAxMS4wMDNDOS41ODE4OCAxMC44NTY3IDkuODQ3OTIgMTAuNjQwOSAxMC4wNTM5IDEwLjM3M0MxMC41MDkxIDkuNzY1MTkgMTAuNzQwMiA5LjAxODY3IDEwLjcwNzkgOC4yNTk5OEMxMC43NDEyIDcuNTg2MjIgMTAuNTM3NCA2LjkyMjEgMTAuMTMxOSA2LjM4Mjk4QzkuOTM1NzUgNi4xNDE2MSA5LjY4NTc3IDUuOTQ5NTcgOS40MDIgNS44MjIyOEM5LjExODI0IDUuNjk0OTggOC44MDg1OCA1LjYzNTk3IDguNDk3ODkgNS42NDk5N0M4LjA3NTIyIDUuNjQ2OTkgNy42NTk5NCA1Ljc2MDg1IDcuMjk3ODkgNS45Nzg5OEM3LjE4MzA0IDYuMDQ4MDcgNy4wNzQ5IDYuMTI3NzUgNi45NzQ4OSA2LjIxNjk4VjMuNDc0OThINS45ODM4OVYxMS4xSDYuOTc4ODlWMTAuNzU2QzcuMDU1MTYgMTAuODIxNyA3LjEzNjc3IDEwLjg4MDkgNy4yMjI4OSAxMC45MzNaTTcuODQ5ODEgNi43MDAwNkM4LjAzNTk4IDYuNjIxMDUgOC4yMzgwNyA2LjU4Njc3IDguNDM5ODkgNi41OTk5OEM4LjYxMjU3IDYuNTk0NTIgOC43ODQwNCA2LjYzMDU0IDguOTM5OTQgNi43MDUwMUM5LjA5NTgzIDYuNzc5NDggOS4yMzE2MSA2Ljg5MDIzIDkuMzM1ODkgNy4wMjc5OEM5LjU5MjUzIDcuMzkwNTMgOS43MTg0IDcuODI5NTEgOS42OTI4OSA4LjI3Mjk3QzkuNzE5NzIgOC43OTc0OCA5LjU3OTY5IDkuMzE3MDEgOS4yOTI4OSA5Ljc1Njk4QzkuMTg4MjIgOS45MTUyNyA5LjA0NTQ2IDEwLjA0NDcgOC44Nzc3MyAxMC4xMzM1QzguNzA5OTkgMTAuMjIyMyA4LjUyMjY0IDEwLjI2NzUgOC4zMzI4OSAxMC4yNjVDOC4xNDkzNCAxMC4yNzMyIDcuOTY2MyAxMC4yNCA3Ljc5NzM0IDEwLjE2NzhDNy42MjgzOCAxMC4wOTU2IDcuNDc3ODQgOS45ODYyOCA3LjM1Njg5IDkuODQ3OTdDNy4xMDE1MiA5LjU1OTU3IDYuOTY1MDEgOS4xODUwNiA2Ljk3NDg5IDguNzk5OThWOC4xOTk5OEM2Ljk2Mjk5IDcuNzgzMzIgNy4xMDI2MyA3LjM3NjUgNy4zNjc4OSA3LjA1NDk4QzcuNDk4NTggNi45MDA2NCA3LjY2MzY0IDYuNzc5MDggNy44NDk4MSA2LjcwMDA2Wk0zLjI4OTAyIDUuNjc0OTlDMi45NzAxMSA1LjY3OTMzIDIuNjUzODggNS43MzQgMi4zNTIwMiA1LjgzNjk5QzIuMDY0MTcgNS45MjI5MyAxLjc5MzQ3IDYuMDU4MjggMS41NTIwMiA2LjIzNjk5TDEuNDUyMDIgNi4zMTM5OVY3LjUxMzk5TDEuODc1MDIgNy4xNTQ5OUMyLjI0NTc5IDYuODA0NzggMi43MzEzMyA2LjYwMTQ2IDMuMjQxMDIgNi41ODI5OUMzLjM2NTkzIDYuNTcxNjQgMy40OTE3IDYuNTkxNDcgMy42MDcwNiA2LjY0MDY4QzMuNzIyNDMgNi42ODk5IDMuODIzNzcgNi43NjY5NyAzLjkwMjAyIDYuODY0OTlDNC4wNTIyIDcuMDk3MSA0LjEzMjM5IDcuMzY3NTQgNC4xMzMwMiA3LjY0Mzk5TDIuOTAwMDIgNy44MjQ5OUMyLjM5NDM1IDcuODc3ODEgMS45MTUyNSA4LjA3NzcyIDEuNTIyMDIgOC4zOTk5OUMxLjM2Njk3IDguNTUxODEgMS4yNDMzOSA4LjczMjcxIDEuMTU4MzUgOC45MzIzNUMxLjA3MzMxIDkuMTMxOTkgMS4wMjg0OCA5LjM0NjQ0IDEuMDI2NDQgOS41NjM0M0MxLjAyNDQgOS43ODA0MiAxLjA2NTE3IDkuOTk1NjggMS4xNDY0NCAxMC4xOTY5QzEuMjI3NyAxMC4zOTgxIDEuMzQ3ODYgMTAuNTgxMyAxLjUwMDAyIDEwLjczNkMxLjY2ODcgMTAuODkwNCAxLjg2NjIyIDExLjAxIDIuMDgxMjUgMTEuMDg3OUMyLjI5NjI3IDExLjE2NTkgMi41MjQ1NiAxMS4yMDA1IDIuNzUzMDIgMTEuMTlDMy4xNDcgMTEuMTkzMSAzLjUzMjc4IDExLjA3NzQgMy44NjAwMiAxMC44NThDMy45NjE1MyAxMC43ODk3IDQuMDU3MiAxMC43MTMxIDQuMTQ2MDIgMTAuNjI5VjExLjA3M0g1LjA4NzAyVjcuNzE0OTlDNS4xMjEzNyA3LjE3NDIyIDQuOTU0MyA2LjYzOTg4IDQuNjE4MDIgNi4yMTQ5OUM0LjQ0OTc5IDYuMDMyODUgNC4yNDM0OCA1Ljg5MDAzIDQuMDEzNzggNS43OTY3QzMuNzg0MDcgNS43MDMzNiAzLjUzNjYxIDUuNjYxODEgMy4yODkwMiA1LjY3NDk5Wk00LjE0NjAyIDguNzE1OTlDNC4xNjU2NCA5LjEzNDM1IDQuMDI1OTIgOS41NDQ1OSAzLjc1NTAyIDkuODY0QzMuNjM2ODkgMTAuMDAwNSAzLjQ4OTk4IDEwLjEwOTIgMy4zMjQ4NiAxMC4xODIxQzMuMTU5NzMgMTAuMjU1MSAyLjk4MDQ5IDEwLjI5MDYgMi44MDAwMiAxMC4yODZDMi42OTA0OSAxMC4yOTQ1IDIuNTgwMzUgMTAuMjgxMiAyLjQ3NTk5IDEwLjI0NjlDMi4zNzE2MyAxMC4yMTI1IDIuMjc1MTEgMTAuMTU3OSAyLjE5MjAyIDEwLjA4NkMyLjA2MDc5IDkuOTM0NTUgMS45ODg1NiA5Ljc0MDg4IDEuOTg4NTYgOS41NDA0OUMxLjk4ODU2IDkuMzQwMTEgMi4wNjA3OSA5LjE0NjQ0IDIuMTkyMDIgOC45OTQ5OUMyLjQ3MzIyIDguODIxMzEgMi43OTIzMyA4LjcxODM3IDMuMTIyMDIgOC42OTQ5OUw0LjE0MjAyIDguNTQ2OTlMNC4xNDYwMiA4LjcxNTk5Wk0xMi40NTg4IDExLjAzMjVDMTIuNzY2IDExLjE2MzggMTMuMDk4MyAxMS4yMjYxIDEzLjQzMjIgMTEuMjE1QzEzLjkyNyAxMS4yMjcgMTQuNDE1MyAxMS4xMDA2IDE0Ljg0MjIgMTAuODVMMTQuOTY1MiAxMC43NzVMMTQuOTc4MiAxMC43NjhWOS42MTUwNEwxNC41MzIyIDkuOTM1MDRDMTQuMjE2IDEwLjE1OTIgMTMuODM1NiAxMC4yNzQ3IDEzLjQ0ODIgMTAuMjY0QzEzLjI0OTcgMTAuMjcxOSAxMy4wNTIgMTAuMjM0MiAxMi44NzAzIDEwLjE1MzhDMTIuNjg4NiAxMC4wNzMzIDEyLjUyNzggOS45NTIzMiAxMi40MDAyIDkuODAwMDRDMTIuMTE0NCA5LjQyNDUzIDExLjk3MjUgOC45NTkxMSAxMi4wMDAyIDguNDg4MDRDMTEuOTczNyA3Ljk4NzMyIDEyLjEzNTIgNy40OTQ3NSAxMi40NTMyIDcuMTA3MDRDMTIuNTkzNCA2Ljk0MTA1IDEyLjc2OTUgNi44MDkxNCAxMi45NjgyIDYuNzIxM0MxMy4xNjcgNi42MzM0NiAxMy4zODMxIDYuNTkyIDEzLjYwMDIgNi42MDAwNEMxMy45NDM5IDYuNTk4NDQgMTQuMjgwOCA2LjY5NTI1IDE0LjU3MTIgNi44NzkwNEwxNS4wMDAyIDcuMTQ0MDRWNS45NzAwNEwxNC44MzEyIDUuODk3MDRDMTQuNDYyNiA1LjczNDMyIDE0LjA2NDEgNS42NTAyIDEzLjY2MTIgNS42NTAwNEMxMy4yOTk5IDUuNjM5OTEgMTIuOTQwNiA1LjcwNzYyIDEyLjYwNzggNS44NDg1OUMxMi4yNzQ5IDUuOTg5NTYgMTEuOTc2MyA2LjIwMDQ4IDExLjczMjIgNi40NjcwNEMxMS4yMjYxIDcuMDI2ODMgMTAuOTU4MSA3Ljc2MTg2IDEwLjk4NTIgOC41MTYwNEMxMC45NTY3IDkuMjIzNDYgMTEuMTk1NSA5LjkxNTY5IDExLjY1NDIgMTAuNDU1QzExLjg3NjkgMTAuNzA0IDEyLjE1MTYgMTAuOTAxMiAxMi40NTg4IDExLjAzMjVaIiBmaWxsPSIjNDI0MjQyIi8+Cjwvc3ZnPgo=")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.color:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjYgMTEuNzY3M0M3LjMyODcxIDExLjAzODMgNy4zMjg3MSA5Ljg1NjM4IDYuNiA5LjEyNzQyQzUuODcwODMgOC4zOTg0NSA0LjY4OTEzIDguMzk4NDUgMy45NTk5NiA5LjEyNzQyQzIuOTE4MTIgMTAuMjI0OSAxLjEwNDExIDkuOTM5MDEgMS4wMTI5IDguNDI4NTNDMS4wMDQzNCA4LjI4Njc5IDEgOC4xNDM5IDEgOEMxIDQuMTMzOTkgNC4xMzQwNSAxIDggMUMxMS44NjYgMSAxNSA0LjEzMzk5IDE1IDhDMTUgMTEuODY2IDExLjg2NiAxNSA4IDE1QzcuNzk3NzQgMTUgNy41OTc0OSAxNC45OTE0IDcuMzk5NTkgMTQuOTc0NkM1LjgwNjQ2IDE0LjgzOTMgNS40OTg2IDEyLjkyNjMgNi42IDExLjc2NzNaTTYuOTY2NzUgMTMuNTQzNEM2LjkwMjUxIDEzLjI0NjQgNi45ODgyMSAxMi44MTUgNy4zMTgxOSAxMi40NjMyQzguNDI2MjkgMTEuMzQyOSA4LjQyMjY0IDkuNTM2MjMgNy4zMDcyMyA4LjQyMDQzTDcuMzA3MDEgOC40MjAyMUM2LjE4NzM0IDcuMzAwODUgNC4zNzI2MiA3LjMwMDg1IDMuMjUyOTUgOC40MjAyMUwzLjI0MzcxIDguNDI5NDVMMy4yMzQ3MSA4LjQzODkzQzIuOTM5MDMgOC43NTA0IDIuNTcwOTEgOC44MjU5OSAyLjMzMjUgOC43NzY2OEMyLjIxOTM2IDguNzUzMjggMi4xNTAyMSA4LjcwNjY3IDIuMTA5NzkgOC42NjE2MUMyLjA3MzkzIDguNjIxNjIgMi4wMjE0NiA4LjU0MDE2IDIuMDExMDggOC4zNjgyNkMyLjAwMzczIDguMjQ2NTYgMiA4LjEyMzc4IDIgOEMyIDQuNjg2MjggNC42ODYzMyAyIDggMkMxMS4zMTM3IDIgMTQgNC42ODYyOCAxNCA4QzE0IDExLjMxMzcgMTEuMzEzNyAxNCA4IDE0QzcuODI2MDIgMTQgNy42NTQgMTMuOTkyNiA3LjQ4NDIxIDEzLjk3ODJDNy4yODk5MiAxMy45NjE3IDcuMTg0ODggMTMuODk4NyA3LjEyNDE0IDEzLjg0MjlDNy4wNTgzMSAxMy43ODI0IDYuOTk3NjcgMTMuNjg2NCA2Ljk2Njc1IDEzLjU0MzRaTTUgNkM1LjU1MjI4IDYgNiA1LjU1MjI4IDYgNUM2IDQuNDQ3NzIgNS41NTIyOCA0IDUgNEM0LjQ0NzcyIDQgNCA0LjQ0NzcyIDQgNUM0IDUuNTUyMjggNC40NDc3MiA2IDUgNlpNMTIgMTFDMTIgMTEuNTUyMyAxMS41NTIzIDEyIDExIDEyQzEwLjQ0NzcgMTIgMTAgMTEuNTUyMyAxMCAxMUMxMCAxMC40NDc3IDEwLjQ0NzcgMTAgMTEgMTBDMTEuNTUyMyAxMCAxMiAxMC40NDc3IDEyIDExWk04IDVDOC41NTIyOCA1IDkgNC41NTIyOCA5IDRDOSAzLjQ0NzcyIDguNTUyMjggMyA4IDNDNy40NDc3MiAzIDcgMy40NDc3MiA3IDRDNyA0LjU1MjI4IDcuNDQ3NzIgNSA4IDVaTTEzIDhDMTMgOC41NTIyOCAxMi41NTIzIDkgMTIgOUMxMS40NDc3IDkgMTEgOC41NTIyOCAxMSA4QzExIDcuNDQ3NzIgMTEuNDQ3NyA3IDEyIDdDMTIuNTUyMyA3IDEzIDcuNDQ3NzIgMTMgOFpNMTEgNkMxMS41NTIzIDYgMTIgNS41NTIyOCAxMiA1QzEyIDQuNDQ3NzIgMTEuNTUyMyA0IDExIDRDMTAuNDQ3NyA0IDEwIDQuNDQ3NzIgMTAgNUMxMCA1LjU1MjI4IDEwLjQ0NzcgNiAxMSA2WiIgZmlsbD0iIzQyNDI0MiIvPgo8L3N2Zz4K")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.file:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDFMMyAyVjE0TDQgMTVIMTNMMTQgMTRWNUwxMy43MDcxIDQuMjkyODlMMTAuNzA3MSAxLjI5Mjg5TDEwIDFINFpNNCAxNFYyTDkgMlY2SDEzVjE0SDRaTTEzIDVMMTAgMlY1TDEzIDVaIiBmaWxsPSIjNDI0MjQyIi8+Cjwvc3ZnPgo=")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.reference:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjA2MDY1IDMuODUzNTZMNS45MTQyMSA2TDUuMjA3MSA1LjI5Mjg5TDYuNDk5OTkgNEgzLjVDMy4xMDIxOCA0IDIuNzIwNjQgNC4xNTgwNCAyLjQzOTM0IDQuNDM5MzRDMi4xNTgwNCA0LjcyMDY1IDIgNS4xMDIxOCAyIDUuNUMyIDUuODk3ODMgMi4xNTgwNCA2LjI3OTM2IDIuNDM5MzQgNi41NjA2NkMyLjcyMDY0IDYuODQxOTcgMy4xMDIxOCA3IDMuNSA3SDRWOEgzLjVDMi44MzY5NiA4IDIuMjAxMDcgNy43MzY2MSAxLjczMjIzIDcuMjY3NzdDMS4yNjMzOSA2Ljc5ODkzIDEgNi4xNjMwNSAxIDUuNUMxIDQuODM2OTYgMS4yNjMzOSA0LjIwMTA4IDEuNzMyMjMgMy43MzIyNEMyLjIwMTA3IDMuMjYzNCAyLjgzNjk2IDMgMy41IDNINi40OTk5OUw2LjQ5OTk5IDNINi40OTk5Nkw2IDIuNTAwMDRWMi41MDAwMUw1LjIwNzEgMS43MDcxMUw1LjkxNDIxIDFMOC4wNjA2NSAzLjE0NjQ1TDguMDYwNjUgMy44NTM1NlpNNSA2LjUwMDAzTDUuOTE0MjEgNy40MTQyNEw2IDcuMzI4NDVWMTRIMTRWN0gxMFYzSDkuMDYwNjVWMi43MzIyN0w4LjMyODM4IDJIMTEuMkwxMS41IDIuMUwxNC45IDUuNkwxNSA2VjE0LjVMMTQuNSAxNUg1LjVMNSAxNC41VjkuMDAwMDNWNi41MDAwM1pNMTEgM1Y2SDEzLjkwMzJMMTEgM1oiIGZpbGw9IiM0MjQyNDIiLz4KPC9zdmc+Cg==")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.snippet:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjUgMUwyIDEuNVYxM0gzVjJIMTRWMTNIMTVWMS41TDE0LjUgMUgyLjVaTTIgMTVWMTRIM1YxNUgyWk01IDE0LjAwMDFINFYxNS4wMDAxSDVWMTQuMDAwMVpNNiAxNC4wMDAxSDdWMTUuMDAwMUg2VjE0LjAwMDFaTTkgMTQuMDAwMUg4VjE1LjAwMDFIOVYxNC4wMDAxWk0xMCAxNC4wMDAxSDExVjE1LjAwMDFIMTBWMTQuMDAwMVpNMTUgMTUuMDAwMVYxNC4wMDAxSDE0VjE1LjAwMDFIMTVaTTEyIDE0LjAwMDFIMTNWMTUuMDAwMUgxMlYxNC4wMDAxWiIgZmlsbD0iIzQyNDI0MiIvPgo8L3N2Zz4K")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.customcolor:before{background-image:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.folder:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xLjAxMDg3IDIuNUwxLjUxMDg3IDJINi41MDcxM0w2Ljg2MDY4IDIuMTQ2NDVMNy43MTM0OSAyLjk5OTI1SDE0LjUwMTFMMTUuMDAxMSAzLjQ5OTI1VjguOTk1MTJMMTQuOTkwMyA5LjAwNTk5VjEzLjUwMjFMMTQuNDkwMyAxNC4wMDIxSDEuNUwxIDEzLjUwMjFWNi41MDczNUwxLjAxMDg3IDYuNDk2NDhWMi41Wk0xNC4wMDExIDMuOTk5MjVWNS4wMDMxMUg3LjUwMDVMNy4xNDY5NSA1LjE0OTU2TDYuMjg5MTUgNi4wMDczNUgyLjAxMDg3VjNINi4zMDAwMkw3LjE1MjgzIDMuODUyOEw3LjUwNjM4IDMuOTk5MjVIMTQuMDAxMVpNNi40OTYyNiA3LjAwNzM1SDIuMDEwODdWNy40OTU4OEgxLjk5OTYzVjExLjQ5MjlIMlYxMy4wMDIxSDEzLjk5MDNWMTEuNDkyOUgxMy45OTA2VjcuNDk1ODhIMTMuOTkwM1Y2LjAwMzExSDcuNzA3NjFMNi44NDk4MSA2Ljg2MDlMNi40OTYyNiA3LjAwNzM1WiIgZmlsbD0iIzQyNDI0MiIvPgo8L3N2Zz4K")}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-widget .details{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;cursor:default}.monaco-editor .suggest-widget .details.no-docs{display:none}.monaco-editor .suggest-widget.docs-below .details{border-top-width:0}.monaco-editor .suggest-widget .details>.monaco-scrollable-element{-ms-flex:1;flex:1}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body{position:absolute;box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>.header>.type{-ms-flex:2;flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;word-break:break-all;margin:0 24px 0 0;padding:4px 0 12px 5px}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:normal}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-widget .details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-widget .details code{border-radius:3px;padding:0 .4em}.monaco-editor.hc-black .suggest-widget .details>.monaco-scrollable-element>.body>.header>.close,.monaco-editor.vs-dark .suggest-widget .details>.monaco-scrollable-element>.body>.header>.close{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03Ljk5OTk4IDguNzA3MDhMMTEuNjQ2NCAxMi4zNTM1TDEyLjM1MzUgMTEuNjQ2NEw4LjcwNzA4IDcuOTk5OThMMTIuMzUzNSA0LjM1MzUzTDExLjY0NjQgMy42NDY0Mkw3Ljk5OTk4IDcuMjkyODdMNC4zNTM1MyAzLjY0NjQyTDMuNjQ2NDIgNC4zNTM1M0w3LjI5Mjg3IDcuOTk5OThMMy42NDY0MiAxMS42NDY0TDQuMzUzNTMgMTIuMzUzNUw3Ljk5OTk4IDguNzA3MDhaIiBmaWxsPSIjQzVDNUM1Ii8+Cjwvc3ZnPgo=")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.readMore,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.readMore{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zIDcuNUMzIDQuNDYyNDMgNS40NjI0MyAyIDguNSAyQzExLjUzNzYgMiAxNCA0LjQ2MjQzIDE0IDcuNUMxNCAxMC41Mzc2IDExLjUzNzYgMTMgOC41IDEzQzUuNDYyNDMgMTMgMyAxMC41Mzc2IDMgNy41Wk0yIDcuNUMyIDMuOTEwMTUgNC45MTAxNSAxIDguNSAxQzEyLjA4OTkgMSAxNSAzLjkxMDE1IDE1IDcuNUMxNSAxMS4wODk5IDEyLjA4OTkgMTQgOC41IDE0QzQuOTEwMTUgMTQgMiAxMS4wODk5IDIgNy41Wk04IDRWNUg5VjRIOFpNOCA2TDggMTBIOUw5IDZIOFoiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.constructor:before,.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.function:before,.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.method:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.constructor:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.function:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.method:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDQuODU3NDlMMi40ODU1IDRMNy40ODU1IDFIOC41MTQ1TDEzLjUxNDUgNEwxNCA0Ljg1NzQ5VjEwLjg1NzVMMTMuNTE0NSAxMS43MTVMOC41MTQ1IDE0LjcxNUg3LjQ4NTVMMi40ODU1IDExLjcxNUwyIDEwLjg1NzVWNC44NTc0OVpNNy41IDEzLjU1NzVMMyAxMC44NTc1VjUuNjk5NzVMNy41IDguMTU0M1YxMy41NTc1Wk04LjUgMTMuNTU3NUwxMyAxMC44NTc1VjUuNjk5NzVMOC41IDguMTU0M1YxMy41NTc1Wk04IDEuODU3NDlMMy4yNTkxMyA0LjcwMjAxTDggNy4yODc5NEwxMi43NDA5IDQuNzAyMDFMOCAxLjg1NzQ5WiIgZmlsbD0iI0IxODBENyIvPgo8L3N2Zz4K")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.field:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.field:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDYuMzk0NDNMMS41NTI3OSA1LjVMOC41NTI3OSAySDkuNDQ3MjFMMTQuNDQ3MiA0LjVMMTUgNS4zOTQ0M1Y5Ljg5NDQzTDE0LjQ0NzIgMTAuNzg4OUw3LjQ0NzIxIDE0LjI4ODlINi41NTI3OUwxLjU1Mjc5IDExLjc4ODlMMSAxMC44OTQ0VjYuMzk0NDNaTTYuNSAxMy4xNDQ0TDIgMTAuODk0NFY3LjE3MDk0TDYuNSA5LjIxNjM5VjEzLjE0NDRaTTcuNSAxMy4xNDQ0TDE0IDkuODk0NDNWNi4xNzk1NEw3LjUgOS4yMTI4N1YxMy4xNDQ0Wk05IDIuODk0NDNMMi4zMzcyOCA2LjIyNTc5TDYuOTk3MjUgOC4zNDM5NkwxMy42NzA2IDUuMjI5NzNMOSAyLjg5NDQzWiIgZmlsbD0iIzc1QkVGRiIvPgo8L3N2Zz4K")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.event:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.event:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjQxMzU0IDEuNTU5OTZMOC4zMTE1MiAxSDExLjYwNTZMMTIuNDI0IDIuNTc0NjVMMTAuMjM1NiA2SDEyLjAxNzRMMTIuNzM2MyA3LjY5NTEyTDUuNjE5NDMgMTVMNC4wMTY3NSAxMy44MzdMNi4xMTk0MyAxMEg0Ljg5Nzk4TDQgOC41NTk5Nkw3LjQxMzU0IDEuNTU5OTZaTTcuNzgwMzMgOUw0LjkwMDU0IDE0LjMwNDlMMTIuMDE3NCA3SDguMzExNTJMMTEuNjA1NiAySDguMzExNTJMNC44OTc5OCA5SDcuNzgwMzNaIiBmaWxsPSIjRDY3RTAwIi8+Cjwvc3ZnPgo=")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.operator:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.operator:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjg3Mjg5IDEuMTAwMjNDMy4yMDc2OCAxLjIzNTc5IDMuNDc1NDUgMS40OTggMy42MTgwMiAxLjgyOTg4QzMuNjkwMzIgMS45OTk1OSAzLjcyNjc1IDIuMTgyNDIgMy43MjUwMiAyLjM2Njg4QzMuNzI2MTcgMi41NDk5OSAzLjY4OTc1IDIuNzMxNCAzLjYxODAyIDIuODk5ODhDMy41MTI5OSAzLjE0NTY3IDMuMzM3ODIgMy4zNTUwMyAzLjExNDQyIDMuNTAxNzdDMi44OTEwMiAzLjY0ODUxIDIuNjI5MyAzLjcyNjEyIDIuMzYyMDIgMy43MjQ4OEMyLjE3OTI0IDMuNzI1OTIgMS45OTgxOCAzLjY4OTUxIDEuODMwMDIgMy42MTc4OEMxLjU4Mjk4IDMuNTE0MDYgMS4zNzIyNyAzLjMzOTMyIDEuMjI0NTMgMy4xMTU3NUMxLjA3NjggMi44OTIxOSAwLjk5ODY2NiAyLjYyOTg0IDEuMDAwMDIgMi4zNjE4OEMwLjk5OTEzIDIuMTc5MjEgMS4wMzUxOSAxLjk5ODI1IDEuMTA2MDIgMS44Mjk4OEMxLjI0MzM3IDEuNTAzMTQgMS41MDMyOCAxLjI0MzIzIDEuODMwMDIgMS4xMDU4OEMyLjE2MzMyIDAuOTY2NjkyIDIuNTM4MDkgMC45NjQ2NjEgMi44NzI4OSAxLjEwMDIzWk0yLjU3NTAyIDIuODY0ODhDMi43MDU0IDIuODA5MTMgMi44MDkyNyAyLjcwNTI2IDIuODY1MDIgMi41NzQ4OEMyLjg5MjkgMi41MDgzOCAyLjkwNzE4IDIuNDM2OTggMi45MDcwMiAyLjM2NDg4QzIuOTA4MTMgMi4yNjU0IDIuODgyMTUgMi4xNjc1IDIuODMxODUgMi4wODE2N0MyLjc4MTU2IDEuOTk1ODQgMi43MDg4NCAxLjkyNTMxIDIuNjIxNTEgMS44Nzc2N0MyLjUzNDE4IDEuODMwMDIgMi40MzU1MyAxLjgwNzA1IDIuMzM2MTQgMS44MTEyMUMyLjIzNjc0IDEuODE1MzcgMi4xNDAzNSAxLjg0NjUgMi4wNTczMSAxLjkwMTI4QzEuOTc0MjYgMS45NTYwNiAxLjkwNzcgMi4wMzI0MSAxLjg2NDc1IDIuMTIyMTVDMS44MjE4IDIuMjExODggMS44MDQwOSAyLjMxMTYxIDEuODEzNTIgMi40MTA2NUMxLjgyMjk0IDIuNTA5NjggMS44NTkxNSAyLjYwNDI4IDEuOTE4MjUgMi42ODQzQzEuOTc3MzYgMi43NjQzMyAyLjA1NzEzIDIuODI2NzUgMi4xNDkwMiAyLjg2NDg4QzIuMjg1NDkgMi45MjA4OSAyLjQzODU0IDIuOTIwODkgMi41NzUwMiAyLjg2NDg4Wk02LjQyOTk1IDEuMTA5NUwxLjEwOTY3IDYuNDI5NzdMMS43OTU1NyA3LjExNTY3TDcuMTE1ODQgMS43OTU0TDYuNDI5OTUgMS4xMDk1Wk0xMS41IDguOTk5OTlIMTIuNVYxMS41SDE1VjEyLjVIMTIuNVYxNUgxMS41VjEyLjVIOVYxMS41SDExLjVWOC45OTk5OVpNNS43Njc3NyA5LjUyNTA5TDYuNDc0ODcgMTAuMjMyMkw0LjcwNzExIDEyTDYuNDc0ODcgMTMuNzY3N0w1Ljc2Nzc3IDE0LjQ3NDhMNCAxMi43MDcxTDIuMjMyMjMgMTQuNDc0OEwxLjUyNTEzIDEzLjc2NzdMMy4yOTI4OSAxMkwxLjUyNTEzIDEwLjIzMjJMMi4yMzIyMyA5LjUyNTA5TDQgMTEuMjkyOUw1Ljc2Nzc3IDkuNTI1MDlaTTcuMTE4MDIgNS4zMjk4OEM3LjAxNDQyIDUuMDgyNjggNi44Mzk3MyA0Ljg3MTgzIDYuNjE2MTIgNC43MjQwNkM2LjM5MjUgNC41NzYyOSA2LjEzMDA0IDQuNDk4MjYgNS44NjIwMiA0LjQ5OTg4QzUuNjc5MzUgNC40OTg5OSA1LjQ5ODM5IDQuNTM1MDUgNS4zMzAwMiA0LjYwNTg4QzUuMDAzMjggNC43NDMyMyA0Ljc0MzM3IDUuMDAzMTQgNC42MDYwMiA1LjMyOTg4QzQuNTM1ODggNS40OTQ3OCA0LjQ5ODk3IDUuNjcxOTEgNC40OTc0MSA1Ljg1MTFDNC40OTU4NiA2LjAzMDMgNC41Mjk2NyA2LjIwODA0IDQuNTk2OTMgNi4zNzQxNEM0LjY2NDE5IDYuNTQwMjQgNC43NjM1NiA2LjY5MTQzIDQuODg5MzYgNi44MTkwNkM1LjAxNTE2IDYuOTQ2NjkgNS4xNjQ5IDcuMDQ4MjMgNS4zMzAwMiA3LjExNzg4QzUuNDk4NjcgNy4xODg0OCA1LjY3OTY4IDcuMjI0ODQgNS44NjI1MiA3LjIyNDg0QzYuMDQ1MzUgNy4yMjQ4NCA2LjIyNjM2IDcuMTg4NDggNi4zOTUwMiA3LjExNzg4QzYuNjQyMDEgNy4wMTM4OCA2Ljg1MjcgNi44MzkxMyA3LjAwMDU4IDYuNjE1NjNDNy4xNDg0NSA2LjM5MjEzIDcuMjI2ODkgNi4xMjk4NyA3LjIyNjAyIDUuODYxODhDNy4yMjY1NSA1LjY3OTA1IDcuMTg5OCA1LjQ5ODAzIDcuMTE4MDIgNS4zMjk4OFpNNi4zNjUwMiA2LjA3NDg4QzYuMzM3NjYgNi4xMzkzNyA2LjI5ODI5IDYuMTk4MDggNi4yNDkwMiA2LjI0Nzg4QzYuMTk5MDggNi4yOTcyNCA2LjE0MDQyIDYuMzM2OTEgNi4wNzYwMiA2LjM2NDg4QzYuMDA4NTQgNi4zOTI5NyA1LjkzNjExIDYuNDA3MjUgNS44NjMwMiA2LjQwNjg4QzUuNzg5OTEgNi40MDc0NCA1LjcxNzQ0IDYuMzkzMTUgNS42NTAwMiA2LjM2NDg4QzUuNTg1NDEgNi4zMzcyOSA1LjUyNjY4IDYuMjk3NTcgNS40NzcwMiA2LjI0Nzg4QzUuNDI2OTEgNi4xOTg1NiA1LjM4NzEzIDYuMTM5NzUgNS4zNjAwMiA2LjA3NDg4QzUuMzA0MDEgNS45Mzg0IDUuMzA0MDEgNS43ODUzNiA1LjM2MDAyIDUuNjQ4ODhDNS40MTUzNiA1LjUxODQ2IDUuNTE5NDEgNS40MTQ3NyA1LjY1MDAyIDUuMzU5ODhDNS43MTczNyA1LjMzMTI2IDUuNzg5ODQgNS4zMTY2MyA1Ljg2MzAyIDUuMzE2ODhDNS45MzYxOCA1LjMxNjg1IDYuMDA4NiA1LjMzMTQ3IDYuMDc2MDIgNS4zNTk4OEM2LjE0MDM3IDUuMzg3NDkgNi4xOTkwNCA1LjQyNjgyIDYuMjQ5MDIgNS40NzU4OEM2LjI5Nzg2IDUuNTI2MDMgNi4zMzcxNyA1LjU4NDY1IDYuMzY1MDIgNS42NDg4OEM2LjM5MzQgNS43MTYzIDYuNDA4MDIgNS43ODg3MiA2LjQwODAyIDUuODYxODhDNi40MDgwMiA1LjkzNTAzIDYuMzkzNCA2LjAwNzQ1IDYuMzY1MDIgNi4wNzQ4OFpNMTQgM0gxMFY0SDE0VjNaIiBmaWxsPSIjQzVDNUM1Ii8+Cjwvc3ZnPgo=")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.variable:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.variable:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xLjUgNEwxIDQuNVYxMi41TDEuNSAxM0g0VjEySDJWNUg0VjRIMS41Wk0xNC41IDEzTDE1IDEyLjVMMTUgNC41TDE0LjUgNEgxMlY1TDE0IDVMMTQgMTJIMTJWMTNIMTQuNVpNOC43OTY5MyA1TDQuMjk2OTMgN0w0IDcuNDU2OTFWOS45NTY5MUw0LjI0Mjc1IDEwLjM4NTdMNi43NDI3NSAxMS44ODU3TDcuMjAzMDcgMTEuOTEzOEwxMS43MDMxIDkuOTEzODFMMTIgOS40NTY5MVY2Ljk1NjkxTDExLjc1NzIgNi41MjgxNkw5LjI1NzI1IDUuMDI4MTZMOC43OTY5MyA1Wk01IDguMzRWOS42NzM4MUw2LjUgMTAuNTczOFY5LjI0TDUgOC4zNFpNNy41IDkuMjgxODRWMTAuNjg3NUwxMSA5LjEzMTk3VjcuNzI2MjlMNy41IDkuMjgxODRaTTEwLjQxNzggNi44OTA3MUw4Ljk2NTU5IDYuMDE5MzZMNS41ODIxNiA3LjUyMzExTDcuMDM0NDEgOC4zOTQ0NUwxMC40MTc4IDYuODkwNzFaIiBmaWxsPSIjNzVCRUZGIi8+Cjwvc3ZnPgo=")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.class:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.class:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjM1MzU2IDYuNjQ2NDJMMi4wNjA2NiA1LjM1MzUzTDUuMzUzNTYgMi4wNjA2NUw2LjY0NjQ1IDMuMzUzNTRMMy4zNTM1NiA2LjY0NjQyWk01IDFMMSA0Ljk5OTk4VjUuNzA3MDhMMyA3LjcwNzA3SDMuNzA3MTFMNC44NTM1NSA2LjU2MDYzVjEyLjM1MzVMNS4zNTM1NSAxMi44NTM1SDEwLjAwOTdWMTMuMzc0MUwxMS4zNDMgMTQuNzA3NEgxMi4wNTAxTDE0LjcxNjggMTIuMDQwN1YxMS4zMzM2TDEzLjM4MzUgMTAuMDAwM0gxMi42NzYzTDEwLjgyMzEgMTEuODUzNUg1Ljg1MzU1VjcuODkzNTVIMTAuMDA5N1Y4LjM3NDAxTDExLjM0MyA5LjcwNzM0SDEyLjA1MDFMMTQuNzE2OCA3LjA0MDY4VjYuMzMzNTdMMTMuMzgzNSA1LjAwMDI0SDEyLjY3NjNMMTAuODYzIDYuODEzNTZINS44NTM1NVY1LjU2MDY0TDcuNzA3MTEgMy43MDcwOVYyLjk5OTk5TDUuNzA3MTEgMUg1Wk0xMS4wNzAzIDguMDIwNDZMMTEuNjk2NiA4LjY0NjY4TDEzLjY1NjEgNi42ODcxM0wxMy4wMjk5IDYuMDYwOUwxMS4wNzAzIDguMDIwNDZaTTExLjA3MDMgMTMuMDIwNUwxMS42OTY2IDEzLjY0NjdMMTMuNjU2MSAxMS42ODcyTDEzLjAyOTkgMTEuMDYxTDExLjA3MDMgMTMuMDIwNVoiIGZpbGw9IiNFRTlEMjgiLz4KPC9zdmc+Cg==")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.interface:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.interface:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS41IDVDMTAuMTE5MyA1IDkgNi4xMTkyOSA5IDcuNUM5IDguODgwNzEgMTAuMTE5MyAxMCAxMS41IDEwQzEyLjg4MDcgMTAgMTQgOC44ODA3MSAxNCA3LjVDMTQgNi4xMTkyOSAxMi44ODA3IDUgMTEuNSA1Wk04LjAzNTQ0IDhDOC4yNzgwNiA5LjY5NjE1IDkuNzM2NzYgMTEgMTEuNSAxMUMxMy40MzMgMTEgMTUgOS40MzMgMTUgNy41QzE1IDUuNTY3IDEzLjQzMyA0IDExLjUgNEM5LjczNjc2IDQgOC4yNzgwNiA1LjMwMzg1IDguMDM1NDQgN0g0LjkzNjk5QzQuNzE0OTcgNi4xMzczOSAzLjkzMTkyIDUuNSAzIDUuNUMxLjg5NTQzIDUuNSAxIDYuMzk1NDMgMSA3LjVDMSA4LjYwNDU3IDEuODk1NDMgOS41IDMgOS41QzMuOTMxOTIgOS41IDQuNzE0OTcgOC44NjI2MSA0LjkzNjk5IDhIOC4wMzU0NFoiIGZpbGw9IiM3NUJFRkYiLz4KPC9zdmc+Cg==")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.struct:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.struct:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDJMMSAzVjZMMiA3SDE0TDE1IDZWM0wxNCAySDJaTTIgM0gzSDEzSDE0VjRWNVY2SDEzSDNIMlY1VjRWM1pNMSAxMEwyIDlINUw2IDEwVjEzTDUgMTRIMkwxIDEzVjEwWk0zIDEwSDJWMTFWMTJWMTNIM0g0SDVWMTJWMTFWMTBINEgzWk0xMCAxMEwxMSA5SDE0TDE1IDEwVjEzTDE0IDE0SDExTDEwIDEzVjEwWk0xMiAxMEgxMVYxMVYxMlYxM0gxMkgxM0gxNFYxMlYxMVYxMEgxM0gxMloiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.type-parameter:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.type-parameter:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMSA2SDEwVjUuNUMxMCA1LjIyMzg2IDkuNzc2MTYgNSA5LjUwMDAxIDVIOC40NzkwMlYxMC41QzguNDc5MDIgMTAuNzc2MSA4LjcwMjg4IDExIDguOTc5MDIgMTFIOS40NzkwMlYxMkg2LjQ3OTAyVjExSDYuOTc5MDJDNy4yNTUxNiAxMSA3LjQ3OTAyIDEwLjc3NjEgNy40NzkwMiAxMC41VjVINi41MDAwMUM2LjIyMzg3IDUgNi4wMDAwMSA1LjIyMzg2IDYuMDAwMDEgNS41VjZINS4wMDAwMVY0SDExVjZaTTEzLjkxNDIgOC4wNDgxTDEyLjQ1MTkgNi41ODU4MUwxMy4xNTkgNS44Nzg3MUwxNC45NzQ5IDcuNjk0NTRWOC40MDE2NUwxMy4yMDcxIDEwLjE2OTRMMTIuNSA5LjQ2MjMxTDEzLjkxNDIgOC4wNDgxWk0zLjU0ODEgOS40NjIzTDIuMDg1ODEgOC4wMDAwMkwzLjUwMDAyIDYuNTg1ODFMMi43OTI5MSA1Ljg3ODdMMS4wMjUxNSA3LjY0NjQ3VjguMzUzNTdMMi44NDEgMTAuMTY5NEwzLjU0ODEgOS40NjIzWiIgZmlsbD0iI0M1QzVDNSIvPgo8L3N2Zz4K")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.module:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.module:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02IDIuOTgzNjFWMi45NzE4NFYySDUuOTEwODNDNS41OTc0MyAyIDUuMjk0MDcgMi4wNjE2MSA1LjAwMTI4IDIuMTg0NzNDNC43MDgxOCAyLjMwNzk4IDQuNDQ5NDIgMi40ODQ3NCA0LjIyNTc4IDIuNzE0OThDNC4wMDMxMSAyLjk0NDIyIDMuODM3OTIgMy4xOTQ5OCAzLjczMjgyIDMuNDY3NjZMMy43MzIzMyAzLjQ2ODk4QzMuNjMzODIgMy43MzUyIDMuNTY4MTQgNC4wMTIwMSAzLjUzNTMzIDQuMjk5MTdMMy41MzUxOSA0LjMwMDUzQzMuNTA2NzggNC41ODA1IDMuNDk4NyA0Ljg2ODQ0IDMuNTEwODQgNS4xNjQyOEMzLjUyMjcyIDUuNDUzNzkgMy41Mjg2NiA1Ljc0MzI5IDMuNTI4NjYgNi4wMzI3OUMzLjUyODY2IDYuMjM1NTYgMy40ODk3NCA2LjQyNTk0IDMuNDEyIDYuNjA1MDdMMy40MTE2IDYuNjA2MDFDMy4zMzY4NyA2Ljc4Mjk2IDMuMjM0MjMgNi45Mzg2NiAzLjEwMzE3IDcuMDczNTlDMi45NzY0NCA3LjIwNDA1IDIuODI0NjYgNy4zMTA1NSAyLjY0NjcyIDcuMzkyNUMyLjQ3MDYgNy40Njk1NCAyLjI4NDk3IDcuNTA4MiAyLjA4OTE3IDcuNTA4MkgyVjcuNlY4LjRWOC40OTE4SDIuMDg5MTdDMi4yODQ2NSA4LjQ5MTggMi40NzAwMSA4LjUzMjM4IDIuNjQ2MDEgOC42MTMzNEwyLjY0NzQyIDguNjEzOTZDMi44MjQ1NyA4LjY5MTU3IDIuOTc1NzcgOC43OTc2MiAzLjEwMjIxIDguOTMxNjFMMy4xMDQxMiA4LjkzMzUyQzMuMjM0MjggOS4wNjM3IDMuMzM2NTkgOS4yMTg3MSAzLjQxMTI5IDkuMzk5NDJMMy40MTIwMSA5LjQwMTA4QzMuNDg5ODYgOS41ODA0NyAzLjUyODY2IDkuNzY4ODMgMy41Mjg2NiA5Ljk2NzIxQzMuNTI4NjYgMTAuMjU2NyAzLjUyMjcyIDEwLjU0NjIgMy41MTA4NCAxMC44MzU3QzMuNDk4NyAxMS4xMzE2IDMuNTA2NzcgMTEuNDIxNSAzLjUzNTE2IDExLjcwNTVMMy41MzUzNSAxMS43MDcyQzMuNTY4MTkgMTEuOTkwMyAzLjYzMzg3IDEyLjI2NSAzLjczMjMyIDEyLjUzMUwzLjczMjgzIDEyLjUzMjNDMy44Mzc5MyAxMi44MDUgNC4wMDMxMSAxMy4wNTU4IDQuMjI1NzggMTMuMjg1QzQuNDQ5NDIgMTMuNTE1MyA0LjcwODE4IDEzLjY5MiA1LjAwMTI4IDEzLjgxNTNDNS4yOTQwNyAxMy45Mzg0IDUuNTk3NDMgMTQgNS45MTA4MyAxNEg2VjEzLjJWMTMuMDE2NEg1LjkxMDgzQzUuNzEwOTUgMTMuMDE2NCA1LjUyMzQ2IDEyLjk3NzcgNS4zNDc2MyAxMi45MDA4QzUuMTczOTYgMTIuODE5MSA1LjAyMTk0IDEyLjcxMjYgNC44OTA4NiAxMi41ODE4QzQuNzYzODYgMTIuNDQ2OSA0LjY2MTA0IDEyLjI5MTEgNC41ODIyMyAxMi4xMTM3QzQuNTA4MzggMTEuOTM0NiA0LjQ3MTM0IDExLjc0NCA0LjQ3MTM0IDExLjU0MUM0LjQ3MTM0IDExLjMxMjcgNC40NzUzIDExLjA4ODUgNC40ODMyMSAxMC44Njg2QzQuNDkxMjUgMTAuNjQxMSA0LjQ5MTI3IDEwLjQxOTUgNC40ODMyNCAxMC4yMDM5QzQuNDc5MTQgOS45ODI0NiA0LjQ2MDg0IDkuNzY4ODMgNC40MjgyMyA5LjU2MzEyQzQuMzk1MTMgOS4zNTAyNCA0LjMzOTIxIDkuMTQ3NTcgNC4yNjAzOSA4Ljk1NTM2QzQuMTgwOTEgOC43NjE1NyA0LjA3MjU4IDguNTc3NDYgMy45MzYxNiA4LjQwMjk4QzMuODIzNDUgOC4yNTg4MSAzLjY4NTM4IDguMTI0NjIgMy41MjI4MyA4QzMuNjg1MzggNy44NzUzOCAzLjgyMzQ1IDcuNzQxMTkgMy45MzYxNiA3LjU5NzAyQzQuMDcyNTggNy40MjI1NCA0LjE4MDkxIDcuMjM4NDMgNC4yNjAzOSA3LjA0NDY0QzQuMzM5MTMgNi44NTI2MyA0LjM5NTEzIDYuNjUxNzUgNC40MjgyNiA2LjQ0Mjg1QzQuNDYwODIgNi4yMzMzIDQuNDc5MTQgNi4wMTk3MyA0LjQ4MzI0IDUuODAyMTlDNC40OTEyNyA1LjU4MjYyIDQuNDkxMjUgNS4zNjEwNSA0LjQ4MzIxIDUuMTM3NDlDNC40NzUzIDQuOTEzNCA0LjQ3MTM0IDQuNjg3MjUgNC40NzEzNCA0LjQ1OTAyQzQuNDcxMzQgNC4yNjAxOSA0LjUwODMzIDQuMDcxNTIgNC41ODIzOCAzLjg5MjA1QzQuNjYxMzUgMy43MTAzNCA0Ljc2NDIxIDMuNTU0NzUgNC44OTA4NiAzLjQyNDM3QzUuMDIxOTMgMy4yODk0MiA1LjE3NDYxIDMuMTgyNzUgNS4zNDgwMiAzLjEwNTEzQzUuNTIzOCAzLjAyNDI3IDUuNzExMTMgMi45ODM2MSA1LjkxMDgzIDIuOTgzNjFINlpNMTAgMTMuMDE2NFYxMy4wMjgyVjE0SDEwLjA4OTJDMTAuNDAyNiAxNCAxMC43MDU5IDEzLjkzODQgMTAuOTk4NyAxMy44MTUzQzExLjI5MTggMTMuNjkyIDExLjU1MDYgMTMuNTE1MyAxMS43NzQyIDEzLjI4NUMxMS45OTY5IDEzLjA1NTggMTIuMTYyMSAxMi44MDUgMTIuMjY3MiAxMi41MzIzTDEyLjI2NzcgMTIuNTMxQzEyLjM2NjIgMTIuMjY0OCAxMi40MzE5IDExLjk4OCAxMi40NjQ3IDExLjcwMDhMMTIuNDY0OCAxMS42OTk1QzEyLjQ5MzIgMTEuNDE5NSAxMi41MDEzIDExLjEzMTYgMTIuNDg5MiAxMC44MzU3QzEyLjQ3NzMgMTAuNTQ2MiAxMi40NzEzIDEwLjI1NjcgMTIuNDcxMyA5Ljk2NzIxQzEyLjQ3MTMgOS43NjQ0NCAxMi41MTAzIDkuNTc0MDYgMTIuNTg4IDkuMzk0OTNMMTIuNTg4NCA5LjM5Mzk5QzEyLjY2MzEgOS4yMTcwNCAxMi43NjU4IDkuMDYxMzQgMTIuODk2OCA4LjkyNjQyQzEzLjAyMzYgOC43OTU5NSAxMy4xNzUzIDguNjg5NDUgMTMuMzUzMyA4LjYwNzVDMTMuNTI5NCA4LjUzMDQ2IDEzLjcxNSA4LjQ5MTggMTMuOTEwOCA4LjQ5MThIMTRWOC40VjcuNlY3LjUwODJIMTMuOTEwOEMxMy43MTUzIDcuNTA4MiAxMy41MyA3LjQ2NzYyIDEzLjM1NCA3LjM4NjY2TDEzLjM1MjYgNy4zODYwNEMxMy4xNzU0IDcuMzA4NDQgMTMuMDI0MiA3LjIwMjM4IDEyLjg5NzggNy4wNjgzOUwxMi44OTU5IDcuMDY2NDhDMTIuNzY1NyA2LjkzNjMgMTIuNjYzNCA2Ljc4MTI5IDEyLjU4ODcgNi42MDA1OEwxMi41ODggNi41OTg5MkMxMi41MTAxIDYuNDE5NTMgMTIuNDcxMyA2LjIzMTE3IDEyLjQ3MTMgNi4wMzI3OUMxMi40NzEzIDUuNzQzMjkgMTIuNDc3MyA1LjQ1Mzc5IDEyLjQ4OTIgNS4xNjQyOEMxMi41MDEzIDQuODY4NDIgMTIuNDkzMiA0LjU3ODQ4IDEyLjQ2NDggNC4yOTQ1NEwxMi40NjQ2IDQuMjkyODVDMTIuNDMxOCA0LjAwOTcxIDEyLjM2NjEgMy43MzUwMiAxMi4yNjc3IDMuNDY4OTdMMTIuMjY3MiAzLjQ2NzY2QzEyLjE2MjEgMy4xOTQ5OSAxMS45OTY5IDIuOTQ0MjIgMTEuNzc0MiAyLjcxNDk4QzExLjU1MDYgMi40ODQ3NCAxMS4yOTE4IDIuMzA3OTggMTAuOTk4NyAyLjE4NDczQzEwLjcwNTkgMi4wNjE2MSAxMC40MDI2IDIgMTAuMDg5MiAySDEwVjIuOFYyLjk4MzYxSDEwLjA4OTJDMTAuMjg5MSAyLjk4MzYxIDEwLjQ3NjUgMy4wMjIzIDEwLjY1MjQgMy4wOTkxN0MxMC44MjYgMy4xODA5MiAxMC45NzgxIDMuMjg3MzYgMTEuMTA5MSAzLjQxODIzQzExLjIzNjEgMy41NTMwNSAxMS4zMzkgMy43MDg4OSAxMS40MTc4IDMuODg2MjhDMTEuNDkxNiA0LjA2NTQgMTEuNTI4NyA0LjI1NTk2IDExLjUyODcgNC40NTkwMkMxMS41Mjg3IDQuNjg3MjcgMTEuNTI0NyA0LjkxMTQ1IDExLjUxNjggNS4xMzE0MkMxMS41MDg4IDUuMzU4OTQgMTEuNTA4NyA1LjU4MDQ5IDExLjUxNjggNS43OTYwNUMxMS41MjA5IDYuMDE3NTQgMTEuNTM5MiA2LjIzMTE3IDExLjU3MTggNi40MzY4OEMxMS42MDQ5IDYuNjQ5NzYgMTEuNjYwOCA2Ljg1MjQzIDExLjczOTYgNy4wNDQ2NEMxMS44MTkxIDcuMjM4NDMgMTEuOTI3NCA3LjQyMjU0IDEyLjA2MzggNy41OTcwMkMxMi4xNzY1IDcuNzQxMTkgMTIuMzE0NiA3Ljg3NTM4IDEyLjQ3NzIgOEMxMi4zMTQ2IDguMTI0NjIgMTIuMTc2NSA4LjI1ODgxIDEyLjA2MzggOC40MDI5OEMxMS45Mjc0IDguNTc3NDYgMTEuODE5MSA4Ljc2MTU3IDExLjczOTYgOC45NTUzNkMxMS42NjA5IDkuMTQ3MzcgMTEuNjA0OSA5LjM0ODI1IDExLjU3MTcgOS41NTcxNUMxMS41MzkyIDkuNzY2NyAxMS41MjA5IDkuOTgwMjcgMTEuNTE2OCAxMC4xOTc4QzExLjUwODcgMTAuNDE3NCAxMS41MDg3IDEwLjYzODkgMTEuNTE2OCAxMC44NjI1QzExLjUyNDcgMTEuMDg2NiAxMS41Mjg3IDExLjMxMjggMTEuNTI4NyAxMS41NDFDMTEuNTI4NyAxMS43Mzk4IDExLjQ5MTcgMTEuOTI4NSAxMS40MTc2IDEyLjEwNzlDMTEuMzM4NiAxMi4yODk3IDExLjIzNTggMTIuNDQ1MiAxMS4xMDkxIDEyLjU3NTZDMTAuOTc4MSAxMi43MTA2IDEwLjgyNTQgMTIuODE3MyAxMC42NTIgMTIuODk0OUMxMC40NzYyIDEyLjk3NTcgMTAuMjg4OSAxMy4wMTY0IDEwLjA4OTIgMTMuMDE2NEgxMFoiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.property:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.property:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIuODA3MjMgMTQuOTc1NEMyLjU3MTE5IDE0Ljk3MjEgMi4zMzgyNiAxNC45MjExIDIuMTIyNDcgMTQuODI1NEMxLjkwNjY3IDE0LjcyOTcgMS43MTI0OCAxNC41OTEzIDEuNTUxNTggMTQuNDE4NkMxLjIzODUgMTQuMTMzNCAxLjA0NDMzIDEzLjc0MDggMS4wMDc3NSAxMy4zMTg5QzAuOTY2MjI1IDEyLjg4MjggMS4wOTI2OSAxMi40NDczIDEuMzYxMzMgMTIuMTAxM0MyLjU2Nzc5IDEwLjgyODkgNC45NDczIDguNDQ5NCA2LjY3ODExIDYuNzU0NzlDNi4zMDk4MyA1Ljc1ODg3IDYuMzI3MDQgNC42NjEyNyA2LjcyNjM3IDMuNjc3MzlDNy4wNTQ3NCAyLjg1ODc2IDcuNjM4NjkgMi4xNjgwNSA4LjM5MTI5IDEuNzA4MDdDOC45ODE3IDEuMzE3MDYgOS42NjAzMSAxLjA3OTQ0IDEwLjM2NTcgMS4wMTY3M0MxMS4wNzExIDAuOTU0MDIyIDExLjc4MDkgMS4wNjgxOSAxMi40MzExIDEuMzQ4OTJMMTMuMDQ4MiAxLjYxNjJMMTAuMTgyNCA0LjU2NzM4TDExLjQzNzEgNS44MjU4MkwxNC4zODA5IDIuOTQ4ODdMMTQuNjQ4MiAzLjU2Nzg4QzE0Ljg3MzUgNC4wODk3NiAxNC45OTMgNC42NTExOSAxNC45OTk3IDUuMjE5NjFDMTUuMDA2NCA1Ljc4ODAyIDE0LjkwMDIgNi4zNTIxMSAxNC42ODcyIDYuODc5MTVDMTQuNDc2IDcuNDAwMjkgMTQuMTYyMyA3Ljg3MzY4IDEzLjc2NDcgOC4yNzEyMkMxMy41Mzk0IDguNDkxNjkgMTMuMjkwNCA4LjY4NjUzIDEzLjAyMjIgOC44NTIxOEMxMi40NjczIDkuMjIyNzUgMTEuODMyNCA5LjQ1NjM2IDExLjE2OTcgOS41MzM4QzEwLjUwNjkgOS42MTEyNCA5LjgzNTIxIDkuNTMwMyA5LjIwOTgyIDkuMjk3NjRDOC4xMTE5NCAxMC40MTEzIDUuMzcxNDIgMTMuMTcwNCAzLjg5MTE5IDE0LjU1MjJDMy41OTQyNiAxNC44MjE5IDMuMjA4MzIgMTQuOTcyNiAyLjgwNzIzIDE0Ljk3NTRaTTEwLjc0NDggMS45MjgwMkMxMC4wODcgMS45MjYzNyA5LjQ0MzU5IDIuMTIwMTggOC44OTYxNCAyLjQ4NDg1QzguNjgyNjUgMi42MTUyIDguNDg0MzcgMi43Njg5NyA4LjMwNDk4IDIuOTQzM0M3LjgyNzg5IDMuNDI0MjMgNy41MDkyNiA0LjAzOTUzIDcuMzkxODIgNC43MDY2OUM3LjI3NDM3IDUuMzczODUgNy4zNjM3NCA2LjA2MDk4IDcuNjQ3OTIgNi42NzU5MUw3Ljc4MzQyIDYuOTcyODhMNy41NTA0OCA3LjIwMDI1QzUuODEyMjQgOC44OTY3MiAzLjI4MTQ2IDExLjQyMDEgMi4wNjQ3OSAxMi43MDQ1QzEuOTU2NDYgMTIuODY1OCAxLjkxMDEyIDEzLjA2MDggMS45MzQzNSAxMy4yNTM1QzEuOTU4NTcgMTMuNDQ2MyAyLjA1MTcxIDEzLjYyMzggMi4xOTY1NyAxMy43NTMyQzIuMjgwMDUgMTMuODQ2MiAyLjM4MTc3IDEzLjkyMTEgMi40OTU0MSAxMy45NzMxQzIuNTk1NTcgMTQuMDE4NCAyLjcwMzgzIDE0LjA0MyAyLjgxMzczIDE0LjA0NTVDMi45ODA2NCAxNC4wNDEzIDMuMTQwNDQgMTMuOTc3IDMuMjYzODMgMTMuODY0NkM0LjgzNjg3IDEyLjM5NjQgNy44NzYyMiA5LjMyNjQxIDguNzY4MDcgOC40MjQzNUw4Ljk5NzMgOC4xOTMyNkw5LjI5MjQyIDguMzI3ODNDOS44MDYxOCA4LjU2NzMyIDEwLjM3MzEgOC42Njk4NSAxMC45MzgyIDguNjI1NDVDMTEuNTAzMyA4LjU4MTA2IDEyLjA0NzMgOC4zOTEyNSAxMi41MTc0IDguMDc0NDdDMTIuNzMxMyA3Ljk0MjYgMTIuOTI5NiA3Ljc4Njk0IDEzLjEwODUgNy42MTA0NUMxMy40MTgzIDcuMzAxNTMgMTMuNjYzMSA2LjkzMzc0IDEzLjgyODYgNi41Mjg3NEMxMy45OTQgNi4xMjM3NSAxNC4wNzY3IDUuNjg5NzQgMTQuMDcxOSA1LjI1MjI4QzE0LjA3MTkgNS4wMzY2MiAxNC4wNTA1IDQuODIxNDggMTQuMDA3OCA0LjYxMDA3TDExLjQzMDYgNy4xMjUwOEw4Ljg3OTQ0IDQuNTc3NTlMMTEuMzk0NCAxLjk4ODM0QzExLjE4MDQgMS45NDY3NCAxMC45NjI4IDEuOTI2NTMgMTAuNzQ0OCAxLjkyODAyWiIgZmlsbD0iI0M1QzVDNSIvPgo8L3N2Zz4K")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.unit:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.unit:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDFMMyAyVjE0TDQgMTVIMTJMMTMgMTRWMkwxMiAxSDRaTTQgM1YySDEyVjE0SDRWMTNINlYxMkg0VjEwSDhWOUg0VjdINlY2SDRWNEg4VjNINFoiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.constant:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.constant:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDZIMTJWN0g0VjZaTTEyIDlINFYxMEgxMlY5WiIgZmlsbD0iI0M1QzVDNSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEgNEwyIDNIMTRMMTUgNFYxMkwxNCAxM0gyTDEgMTJWNFpNMiA0VjEySDE0VjRIMloiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.enum:before,.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.value:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.enum:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.value:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04IDJMNyAzVjZIOFYzSDE0VjhIMTBWOUgxNEwxNSA4VjNMMTQgMkg4Wk05IDhMOCA3SDdIMkwxIDhWMTNMMiAxNEg4TDkgMTNWOVY4Wk04IDlWOEg3SDJWMTNIOFY5Wk05IDYuNTg1NzlMOS40MTQyMSA3SDEzVjZIOVY2LjU4NTc5Wk0xMyA0SDlWNUgxM1Y0Wk03IDlIM1YxMEg3VjlaTTMgMTFIN1YxMkgzVjExWiIgZmlsbD0iI0VFOUQyOCIvPgo8L3N2Zz4K")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.enum-member:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.enum-member:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03IDNMOCAySDE0TDE1IDNWOEwxNCA5SDEwVjhIMTRWM0g4VjZIN1YzWk04IDdMOSA4VjlWMTNMOCAxNEgyTDEgMTNWOEwyIDdIN0g4Wk04IDhWOVYxM0gyVjhIN0g4Wk05LjQxNDIxIDdMOSA2LjU4NTc5VjZIMTNWN0g5LjQxNDIxWk05IDRIMTNWNUg5VjRaTTcgMTBIM1YxMUg3VjEwWiIgZmlsbD0iIzc1QkVGRiIvPgo8L3N2Zz4K")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.keyword:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.keyword:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE1IDRIMTBWM0gxNVY0Wk0xNCA3SDEyVjhIMTRWN1pNMTAgN0gxVjhIMTBWN1pNMTIgMTNIMVYxNEgxMlYxM1pNNyAxMEgxVjExSDdWMTBaTTE1IDEwSDEwVjExSDE1VjEwWk04IDJWNUgxVjJIOFpNNyAzSDJWNEg3VjNaIiBmaWxsPSIjQzVDNUM1Ii8+Cjwvc3ZnPgo=")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.text:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.text:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjIyMjg5IDEwLjkzM0M3LjU0ODYzIDExLjEyNTQgNy45MjE2MyAxMS4yMjMxIDguMjk5ODkgMTEuMjE1QzguNjM3NzcgMTEuMjIxOCA4Ljk3MjU0IDExLjE0OTIgOS4yNzcyMSAxMS4wMDNDOS41ODE4OCAxMC44NTY3IDkuODQ3OTIgMTAuNjQwOSAxMC4wNTM5IDEwLjM3M0MxMC41MDkxIDkuNzY1MTkgMTAuNzQwMiA5LjAxODY3IDEwLjcwNzkgOC4yNTk5OEMxMC43NDEyIDcuNTg2MjIgMTAuNTM3NCA2LjkyMjEgMTAuMTMxOSA2LjM4Mjk4QzkuOTM1NzUgNi4xNDE2MSA5LjY4NTc3IDUuOTQ5NTcgOS40MDIgNS44MjIyOEM5LjExODI0IDUuNjk0OTggOC44MDg1OCA1LjYzNTk3IDguNDk3ODkgNS42NDk5N0M4LjA3NTIyIDUuNjQ2OTkgNy42NTk5NCA1Ljc2MDg1IDcuMjk3ODkgNS45Nzg5OEM3LjE4MzA0IDYuMDQ4MDcgNy4wNzQ5IDYuMTI3NzUgNi45NzQ4OSA2LjIxNjk4VjMuNDc0OThINS45ODM4OVYxMS4xSDYuOTc4ODlWMTAuNzU2QzcuMDU1MTYgMTAuODIxNyA3LjEzNjc3IDEwLjg4MDkgNy4yMjI4OSAxMC45MzNaTTcuODQ5ODEgNi43MDAwNkM4LjAzNTk4IDYuNjIxMDUgOC4yMzgwNyA2LjU4Njc3IDguNDM5ODkgNi41OTk5OEM4LjYxMjU3IDYuNTk0NTIgOC43ODQwNCA2LjYzMDU0IDguOTM5OTQgNi43MDUwMUM5LjA5NTgzIDYuNzc5NDggOS4yMzE2MSA2Ljg5MDIzIDkuMzM1ODkgNy4wMjc5OEM5LjU5MjUzIDcuMzkwNTMgOS43MTg0IDcuODI5NTEgOS42OTI4OSA4LjI3Mjk3QzkuNzE5NzIgOC43OTc0OCA5LjU3OTY5IDkuMzE3MDEgOS4yOTI4OSA5Ljc1Njk4QzkuMTg4MjIgOS45MTUyNyA5LjA0NTQ2IDEwLjA0NDcgOC44Nzc3MyAxMC4xMzM1QzguNzA5OTkgMTAuMjIyMyA4LjUyMjY0IDEwLjI2NzUgOC4zMzI4OSAxMC4yNjVDOC4xNDkzNCAxMC4yNzMyIDcuOTY2MyAxMC4yNCA3Ljc5NzM0IDEwLjE2NzhDNy42MjgzOCAxMC4wOTU2IDcuNDc3ODQgOS45ODYyOCA3LjM1Njg5IDkuODQ3OTdDNy4xMDE1MiA5LjU1OTU3IDYuOTY1MDEgOS4xODUwNiA2Ljk3NDg5IDguNzk5OThWOC4xOTk5OEM2Ljk2Mjk5IDcuNzgzMzIgNy4xMDI2MyA3LjM3NjUgNy4zNjc4OSA3LjA1NDk4QzcuNDk4NTggNi45MDA2NCA3LjY2MzY0IDYuNzc5MDggNy44NDk4MSA2LjcwMDA2Wk0zLjI4OTAyIDUuNjc0OTlDMi45NzAxMSA1LjY3OTMzIDIuNjUzODggNS43MzQgMi4zNTIwMiA1LjgzNjk5QzIuMDY0MTcgNS45MjI5MyAxLjc5MzQ3IDYuMDU4MjggMS41NTIwMiA2LjIzNjk5TDEuNDUyMDIgNi4zMTM5OVY3LjUxMzk5TDEuODc1MDIgNy4xNTQ5OUMyLjI0NTc5IDYuODA0NzggMi43MzEzMyA2LjYwMTQ2IDMuMjQxMDIgNi41ODI5OUMzLjM2NTkzIDYuNTcxNjQgMy40OTE3IDYuNTkxNDcgMy42MDcwNiA2LjY0MDY4QzMuNzIyNDMgNi42ODk5IDMuODIzNzcgNi43NjY5NyAzLjkwMjAyIDYuODY0OTlDNC4wNTIyIDcuMDk3MSA0LjEzMjM5IDcuMzY3NTQgNC4xMzMwMiA3LjY0Mzk5TDIuOTAwMDIgNy44MjQ5OUMyLjM5NDM1IDcuODc3ODEgMS45MTUyNSA4LjA3NzcyIDEuNTIyMDIgOC4zOTk5OUMxLjM2Njk3IDguNTUxODEgMS4yNDMzOSA4LjczMjcxIDEuMTU4MzUgOC45MzIzNUMxLjA3MzMxIDkuMTMxOTkgMS4wMjg0OCA5LjM0NjQ0IDEuMDI2NDQgOS41NjM0M0MxLjAyNDQgOS43ODA0MiAxLjA2NTE3IDkuOTk1NjggMS4xNDY0NCAxMC4xOTY5QzEuMjI3NyAxMC4zOTgxIDEuMzQ3ODYgMTAuNTgxMyAxLjUwMDAyIDEwLjczNkMxLjY2ODcgMTAuODkwNCAxLjg2NjIyIDExLjAxIDIuMDgxMjUgMTEuMDg3OUMyLjI5NjI3IDExLjE2NTkgMi41MjQ1NiAxMS4yMDA1IDIuNzUzMDIgMTEuMTlDMy4xNDcgMTEuMTkzMSAzLjUzMjc4IDExLjA3NzQgMy44NjAwMiAxMC44NThDMy45NjE1MyAxMC43ODk3IDQuMDU3MiAxMC43MTMxIDQuMTQ2MDIgMTAuNjI5VjExLjA3M0g1LjA4NzAyVjcuNzE0OTlDNS4xMjEzNyA3LjE3NDIyIDQuOTU0MyA2LjYzOTg4IDQuNjE4MDIgNi4yMTQ5OUM0LjQ0OTc5IDYuMDMyODUgNC4yNDM0OCA1Ljg5MDAzIDQuMDEzNzggNS43OTY3QzMuNzg0MDcgNS43MDMzNiAzLjUzNjYxIDUuNjYxODEgMy4yODkwMiA1LjY3NDk5Wk00LjE0NjAyIDguNzE1OTlDNC4xNjU2NCA5LjEzNDM1IDQuMDI1OTIgOS41NDQ1OSAzLjc1NTAyIDkuODY0QzMuNjM2ODkgMTAuMDAwNSAzLjQ4OTk4IDEwLjEwOTIgMy4zMjQ4NiAxMC4xODIxQzMuMTU5NzMgMTAuMjU1MSAyLjk4MDQ5IDEwLjI5MDYgMi44MDAwMiAxMC4yODZDMi42OTA0OSAxMC4yOTQ1IDIuNTgwMzUgMTAuMjgxMiAyLjQ3NTk5IDEwLjI0NjlDMi4zNzE2MyAxMC4yMTI1IDIuMjc1MTEgMTAuMTU3OSAyLjE5MjAyIDEwLjA4NkMyLjA2MDc5IDkuOTM0NTUgMS45ODg1NiA5Ljc0MDg4IDEuOTg4NTYgOS41NDA0OUMxLjk4ODU2IDkuMzQwMTEgMi4wNjA3OSA5LjE0NjQ0IDIuMTkyMDIgOC45OTQ5OUMyLjQ3MzIyIDguODIxMzEgMi43OTIzMyA4LjcxODM3IDMuMTIyMDIgOC42OTQ5OUw0LjE0MjAyIDguNTQ2OTlMNC4xNDYwMiA4LjcxNTk5Wk0xMi40NTg4IDExLjAzMjVDMTIuNzY2IDExLjE2MzggMTMuMDk4MyAxMS4yMjYxIDEzLjQzMjIgMTEuMjE1QzEzLjkyNyAxMS4yMjcgMTQuNDE1MyAxMS4xMDA2IDE0Ljg0MjIgMTAuODVMMTQuOTY1MiAxMC43NzVMMTQuOTc4MiAxMC43NjhWOS42MTUwNEwxNC41MzIyIDkuOTM1MDRDMTQuMjE2IDEwLjE1OTIgMTMuODM1NiAxMC4yNzQ3IDEzLjQ0ODIgMTAuMjY0QzEzLjI0OTcgMTAuMjcxOSAxMy4wNTIgMTAuMjM0MiAxMi44NzAzIDEwLjE1MzhDMTIuNjg4NiAxMC4wNzMzIDEyLjUyNzggOS45NTIzMiAxMi40MDAyIDkuODAwMDRDMTIuMTE0NCA5LjQyNDUzIDExLjk3MjUgOC45NTkxMSAxMi4wMDAyIDguNDg4MDRDMTEuOTczNyA3Ljk4NzMyIDEyLjEzNTIgNy40OTQ3NSAxMi40NTMyIDcuMTA3MDRDMTIuNTkzNCA2Ljk0MTA1IDEyLjc2OTUgNi44MDkxNCAxMi45NjgyIDYuNzIxM0MxMy4xNjcgNi42MzM0NiAxMy4zODMxIDYuNTkyIDEzLjYwMDIgNi42MDAwNEMxMy45NDM5IDYuNTk4NDQgMTQuMjgwOCA2LjY5NTI1IDE0LjU3MTIgNi44NzkwNEwxNS4wMDAyIDcuMTQ0MDRWNS45NzAwNEwxNC44MzEyIDUuODk3MDRDMTQuNDYyNiA1LjczNDMyIDE0LjA2NDEgNS42NTAyIDEzLjY2MTIgNS42NTAwNEMxMy4yOTk5IDUuNjM5OTEgMTIuOTQwNiA1LjcwNzYyIDEyLjYwNzggNS44NDg1OUMxMi4yNzQ5IDUuOTg5NTYgMTEuOTc2MyA2LjIwMDQ4IDExLjczMjIgNi40NjcwNEMxMS4yMjYxIDcuMDI2ODMgMTAuOTU4MSA3Ljc2MTg2IDEwLjk4NTIgOC41MTYwNEMxMC45NTY3IDkuMjIzNDYgMTEuMTk1NSA5LjkxNTY5IDExLjY1NDIgMTAuNDU1QzExLjg3NjkgMTAuNzA0IDEyLjE1MTYgMTAuOTAxMiAxMi40NTg4IDExLjAzMjVaIiBmaWxsPSIjQzVDNUM1Ii8+Cjwvc3ZnPgo=")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.color:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.color:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjYgMTEuNzY3M0M3LjMyODcxIDExLjAzODMgNy4zMjg3MSA5Ljg1NjM4IDYuNiA5LjEyNzQyQzUuODcwODMgOC4zOTg0NSA0LjY4OTEzIDguMzk4NDUgMy45NTk5NiA5LjEyNzQyQzIuOTE4MTIgMTAuMjI0OSAxLjEwNDExIDkuOTM5MDEgMS4wMTI5IDguNDI4NTNDMS4wMDQzNCA4LjI4Njc5IDEgOC4xNDM5IDEgOEMxIDQuMTMzOTkgNC4xMzQwNSAxIDggMUMxMS44NjYgMSAxNSA0LjEzMzk5IDE1IDhDMTUgMTEuODY2IDExLjg2NiAxNSA4IDE1QzcuNzk3NzQgMTUgNy41OTc0OSAxNC45OTE0IDcuMzk5NTkgMTQuOTc0NkM1LjgwNjQ2IDE0LjgzOTMgNS40OTg2IDEyLjkyNjMgNi42IDExLjc2NzNaTTYuOTY2NzUgMTMuNTQzNEM2LjkwMjUxIDEzLjI0NjQgNi45ODgyMSAxMi44MTUgNy4zMTgxOSAxMi40NjMyQzguNDI2MjkgMTEuMzQyOSA4LjQyMjY0IDkuNTM2MjMgNy4zMDcyMyA4LjQyMDQzTDcuMzA3MDEgOC40MjAyMUM2LjE4NzM0IDcuMzAwODUgNC4zNzI2MiA3LjMwMDg1IDMuMjUyOTUgOC40MjAyMUwzLjI0MzcxIDguNDI5NDVMMy4yMzQ3MSA4LjQzODkzQzIuOTM5MDMgOC43NTA0IDIuNTcwOTEgOC44MjU5OSAyLjMzMjUgOC43NzY2OEMyLjIxOTM2IDguNzUzMjggMi4xNTAyMSA4LjcwNjY3IDIuMTA5NzkgOC42NjE2MUMyLjA3MzkzIDguNjIxNjIgMi4wMjE0NiA4LjU0MDE2IDIuMDExMDggOC4zNjgyNkMyLjAwMzczIDguMjQ2NTYgMiA4LjEyMzc4IDIgOEMyIDQuNjg2MjggNC42ODYzMyAyIDggMkMxMS4zMTM3IDIgMTQgNC42ODYyOCAxNCA4QzE0IDExLjMxMzcgMTEuMzEzNyAxNCA4IDE0QzcuODI2MDIgMTQgNy42NTQgMTMuOTkyNiA3LjQ4NDIxIDEzLjk3ODJDNy4yODk5MiAxMy45NjE3IDcuMTg0ODggMTMuODk4NyA3LjEyNDE0IDEzLjg0MjlDNy4wNTgzMSAxMy43ODI0IDYuOTk3NjcgMTMuNjg2NCA2Ljk2Njc1IDEzLjU0MzRaTTUgNkM1LjU1MjI4IDYgNiA1LjU1MjI4IDYgNUM2IDQuNDQ3NzIgNS41NTIyOCA0IDUgNEM0LjQ0NzcyIDQgNCA0LjQ0NzcyIDQgNUM0IDUuNTUyMjggNC40NDc3MiA2IDUgNlpNMTIgMTFDMTIgMTEuNTUyMyAxMS41NTIzIDEyIDExIDEyQzEwLjQ0NzcgMTIgMTAgMTEuNTUyMyAxMCAxMUMxMCAxMC40NDc3IDEwLjQ0NzcgMTAgMTEgMTBDMTEuNTUyMyAxMCAxMiAxMC40NDc3IDEyIDExWk04IDVDOC41NTIyOCA1IDkgNC41NTIyOCA5IDRDOSAzLjQ0NzcyIDguNTUyMjggMyA4IDNDNy40NDc3MiAzIDcgMy40NDc3MiA3IDRDNyA0LjU1MjI4IDcuNDQ3NzIgNSA4IDVaTTEzIDhDMTMgOC41NTIyOCAxMi41NTIzIDkgMTIgOUMxMS40NDc3IDkgMTEgOC41NTIyOCAxMSA4QzExIDcuNDQ3NzIgMTEuNDQ3NyA3IDEyIDdDMTIuNTUyMyA3IDEzIDcuNDQ3NzIgMTMgOFpNMTEgNkMxMS41NTIzIDYgMTIgNS41NTIyOCAxMiA1QzEyIDQuNDQ3NzIgMTEuNTUyMyA0IDExIDRDMTAuNDQ3NyA0IDEwIDQuNDQ3NzIgMTAgNUMxMCA1LjU1MjI4IDEwLjQ0NzcgNiAxMSA2WiIgZmlsbD0iI0M1QzVDNSIvPgo8L3N2Zz4K")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.file:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.file:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDFMMyAyVjE0TDQgMTVIMTNMMTQgMTRWNUwxMy43MDcxIDQuMjkyODlMMTAuNzA3MSAxLjI5Mjg5TDEwIDFINFpNNCAxNFYyTDkgMlY2SDEzVjE0SDRaTTEzIDVMMTAgMlY1TDEzIDVaIiBmaWxsPSIjQzVDNUM1Ii8+Cjwvc3ZnPgo=")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.reference:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.reference:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjA2MDY1IDMuODUzNTZMNS45MTQyMSA2TDUuMjA3MSA1LjI5Mjg5TDYuNDk5OTkgNEgzLjVDMy4xMDIxOCA0IDIuNzIwNjQgNC4xNTgwNCAyLjQzOTM0IDQuNDM5MzRDMi4xNTgwNCA0LjcyMDY1IDIgNS4xMDIxOCAyIDUuNUMyIDUuODk3ODMgMi4xNTgwNCA2LjI3OTM2IDIuNDM5MzQgNi41NjA2NkMyLjcyMDY0IDYuODQxOTcgMy4xMDIxOCA3IDMuNSA3SDRWOEgzLjVDMi44MzY5NiA4IDIuMjAxMDcgNy43MzY2MSAxLjczMjIzIDcuMjY3NzdDMS4yNjMzOSA2Ljc5ODkzIDEgNi4xNjMwNSAxIDUuNUMxIDQuODM2OTYgMS4yNjMzOSA0LjIwMTA4IDEuNzMyMjMgMy43MzIyNEMyLjIwMTA3IDMuMjYzNCAyLjgzNjk2IDMgMy41IDNINi40OTk5OUw2LjQ5OTk5IDNINi40OTk5Nkw2IDIuNTAwMDRWMi41MDAwMUw1LjIwNzEgMS43MDcxMUw1LjkxNDIxIDFMOC4wNjA2NSAzLjE0NjQ1TDguMDYwNjUgMy44NTM1NlpNNSA2LjUwMDAzTDUuOTE0MjEgNy40MTQyNEw2IDcuMzI4NDVWMTRIMTRWN0gxMFYzSDkuMDYwNjVWMi43MzIyN0w4LjMyODM4IDJIMTEuMkwxMS41IDIuMUwxNC45IDUuNkwxNSA2VjE0LjVMMTQuNSAxNUg1LjVMNSAxNC41VjkuMDAwMDNWNi41MDAwM1pNMTEgM1Y2SDEzLjkwMzJMMTEgM1oiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.snippet:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.snippet:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjUgMUwyIDEuNVYxM0gzVjJIMTRWMTNIMTVWMS41TDE0LjUgMUgyLjVaTTIgMTVWMTRIM1YxNUgyWk01IDE0LjAwMDFINFYxNS4wMDAxSDVWMTQuMDAwMVpNNiAxNC4wMDAxSDdWMTUuMDAwMUg2VjE0LjAwMDFaTTkgMTQuMDAwMUg4VjE1LjAwMDFIOVYxNC4wMDAxWk0xMCAxNC4wMDAxSDExVjE1LjAwMDFIMTBWMTQuMDAwMVpNMTUgMTUuMDAwMVYxNC4wMDAxSDE0VjE1LjAwMDFIMTVaTTEyIDE0LjAwMDFIMTNWMTUuMDAwMUgxMlYxNC4wMDAxWiIgZmlsbD0iI0M1QzVDNSIvPgo8L3N2Zz4K")}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.customcolor:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.customcolor:before{background-image:none}.monaco-editor.hc-black .suggest-widget .monaco-list .monaco-list-row .suggest-icon.folder:before,.monaco-editor.vs-dark .suggest-widget .monaco-list .monaco-list-row .suggest-icon.folder:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xLjAxMDg3IDIuNUwxLjUxMDg3IDJINi41MDcxM0w2Ljg2MDY4IDIuMTQ2NDVMNy43MTM0OSAyLjk5OTI1SDE0LjUwMTFMMTUuMDAxMSAzLjQ5OTI1VjguOTk1MTJMMTQuOTkwMyA5LjAwNTk5VjEzLjUwMjFMMTQuNDkwMyAxNC4wMDIxSDEuNUwxIDEzLjUwMjFWNi41MDczNUwxLjAxMDg3IDYuNDk2NDhWMi41Wk0xNC4wMDExIDMuOTk5MjVWNS4wMDMxMUg3LjUwMDVMNy4xNDY5NSA1LjE0OTU2TDYuMjg5MTUgNi4wMDczNUgyLjAxMDg3VjNINi4zMDAwMkw3LjE1MjgzIDMuODUyOEw3LjUwNjM4IDMuOTk5MjVIMTQuMDAxMVpNNi40OTYyNiA3LjAwNzM1SDIuMDEwODdWNy40OTU4OEgxLjk5OTYzVjExLjQ5MjlIMlYxMy4wMDIxSDEzLjk5MDNWMTEuNDkyOUgxMy45OTA2VjcuNDk1ODhIMTMuOTkwM1Y2LjAwMzExSDcuNzA3NjFMNi44NDk4MSA2Ljg2MDlMNi40OTYyNiA3LjAwNzM1WiIgZmlsbD0iI0M1QzVDNSIvPgo8L3N2Zz4K")}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,Ubuntu,Droid Sans,sans-serif}.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-editor-hover p{margin:0}.monaco-editor.hc-black{-ms-high-contrast-adjust:none}@media screen and (-ms-high-contrast:active){.monaco-editor.vs-dark .view-overlays .current-line,.monaco-editor.vs .view-overlays .current-line{border-color:windowtext!important;border-left:0;border-right:0}.monaco-editor.vs-dark .cursor,.monaco-editor.vs .cursor{background-color:windowtext!important}.monaco-editor.vs-dark .dnd-target,.monaco-editor.vs .dnd-target{border-color:windowtext!important}.monaco-editor.vs-dark .selected-text,.monaco-editor.vs .selected-text{background-color:highlight!important}.monaco-editor.vs-dark .view-line,.monaco-editor.vs .view-line{-ms-high-contrast-adjust:none}.monaco-editor.vs-dark .view-line span,.monaco-editor.vs .view-line span{color:windowtext!important}.monaco-editor.vs-dark .view-line span.inline-selected-text,.monaco-editor.vs .view-line span.inline-selected-text{color:highlighttext!important}.monaco-editor.vs-dark .view-overlays,.monaco-editor.vs .view-overlays{-ms-high-contrast-adjust:none}.monaco-editor.vs-dark .reference-decoration,.monaco-editor.vs-dark .selectionHighlight,.monaco-editor.vs-dark .wordHighlight,.monaco-editor.vs-dark .wordHighlightStrong,.monaco-editor.vs .reference-decoration,.monaco-editor.vs .selectionHighlight,.monaco-editor.vs .wordHighlight,.monaco-editor.vs .wordHighlightStrong{border:2px dotted highlight!important;background:transparent!important;box-sizing:border-box}.monaco-editor.vs-dark .rangeHighlight,.monaco-editor.vs .rangeHighlight{background:transparent!important;border:1px dotted activeborder!important;box-sizing:border-box}.monaco-editor.vs-dark .bracket-match,.monaco-editor.vs .bracket-match{border-color:windowtext!important;background:transparent!important}.monaco-editor.vs-dark .currentFindMatch,.monaco-editor.vs-dark .findMatch,.monaco-editor.vs .currentFindMatch,.monaco-editor.vs .findMatch{border:2px dotted activeborder!important;background:transparent!important;box-sizing:border-box}.monaco-editor.vs-dark .find-widget,.monaco-editor.vs .find-widget{border:1px solid windowtext}.monaco-editor.vs-dark .monaco-list .monaco-list-row,.monaco-editor.vs .monaco-list .monaco-list-row{-ms-high-contrast-adjust:none;color:windowtext!important}.monaco-editor.vs-dark .monaco-list .monaco-list-row.focused,.monaco-editor.vs .monaco-list .monaco-list-row.focused{color:highlighttext!important;background-color:highlight!important}.monaco-editor.vs-dark .monaco-list .monaco-list-row:hover,.monaco-editor.vs .monaco-list .monaco-list-row:hover{background:transparent!important;border:1px solid highlight;box-sizing:border-box}.monaco-editor.vs-dark .monaco-tree .monaco-tree-row,.monaco-editor.vs .monaco-tree .monaco-tree-row{-ms-high-contrast-adjust:none;color:windowtext!important}.monaco-editor.vs-dark .monaco-tree .monaco-tree-row.focused,.monaco-editor.vs-dark .monaco-tree .monaco-tree-row.selected,.monaco-editor.vs .monaco-tree .monaco-tree-row.focused,.monaco-editor.vs .monaco-tree .monaco-tree-row.selected{color:highlighttext!important;background-color:highlight!important}.monaco-editor.vs-dark .monaco-tree .monaco-tree-row:hover,.monaco-editor.vs .monaco-tree .monaco-tree-row:hover{background:transparent!important;border:1px solid highlight;box-sizing:border-box}.monaco-editor.vs-dark .monaco-scrollable-element>.scrollbar,.monaco-editor.vs .monaco-scrollable-element>.scrollbar{-ms-high-contrast-adjust:none;background:background!important;border:1px solid windowtext;box-sizing:border-box}.monaco-editor.vs-dark .monaco-scrollable-element>.scrollbar>.slider,.monaco-editor.vs .monaco-scrollable-element>.scrollbar>.slider{background:windowtext!important}.monaco-editor.vs-dark .monaco-scrollable-element>.scrollbar>.slider.active,.monaco-editor.vs-dark .monaco-scrollable-element>.scrollbar>.slider:hover,.monaco-editor.vs .monaco-scrollable-element>.scrollbar>.slider.active,.monaco-editor.vs .monaco-scrollable-element>.scrollbar>.slider:hover{background:highlight!important}.monaco-editor.vs-dark .decorationsOverviewRuler,.monaco-editor.vs .decorationsOverviewRuler{opacity:0}.monaco-editor.vs-dark .minimap,.monaco-editor.vs .minimap{display:none}.monaco-editor.vs-dark .squiggly-d-error,.monaco-editor.vs .squiggly-d-error{background:transparent!important;border-bottom:4px double #e47777}.monaco-editor.vs-dark .squiggly-b-info,.monaco-editor.vs-dark .squiggly-c-warning,.monaco-editor.vs .squiggly-b-info,.monaco-editor.vs .squiggly-c-warning{border-bottom:4px double #71b771}.monaco-editor.vs-dark .squiggly-a-hint,.monaco-editor.vs .squiggly-a-hint{border-bottom:4px double #6c6c6c}.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.vs .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label{-ms-high-contrast-adjust:none;color:highlighttext!important;background-color:highlight!important}.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .action-label,.monaco-editor.vs .monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .action-label{-ms-high-contrast-adjust:none;background:transparent!important;border:1px solid highlight;box-sizing:border-box}.monaco-diff-editor.vs-dark .diffOverviewRuler,.monaco-diff-editor.vs .diffOverviewRuler{display:none}.monaco-editor.vs-dark .line-delete,.monaco-editor.vs-dark .line-insert,.monaco-editor.vs .line-delete,.monaco-editor.vs .line-insert{background:transparent!important;border:1px solid highlight!important;box-sizing:border-box}.monaco-editor.vs-dark .char-delete,.monaco-editor.vs-dark .char-insert,.monaco-editor.vs .char-delete,.monaco-editor.vs .char-insert{background:transparent!important}}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor.vs .diffOverview{background:rgba(0,0,0,.03)}.monaco-diff-editor.vs-dark .diffOverview{background:hsla(0,0%,100%,.01)}.monaco-diff-editor .diffViewport{box-shadow:inset 0 0 1px 0 #b9b9b9;background:rgba(0,0,0,.1)}.monaco-diff-editor.hc-black .diffViewport,.monaco-diff-editor.vs-dark .diffViewport{background:hsla(0,0%,100%,.1)}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar{background:transparent}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:hsla(0,0%,67%,.4)}.modified-in-monaco-diff-editor.hc-black .slider.active{background:none}.monaco-diff-editor .delete-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-editor .insert-sign{background-size:60%;opacity:.7;background-repeat:no-repeat;background-position:75%;background-size:11px 11px}.monaco-diff-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-editor.hc-black .insert-sign{opacity:1}.monaco-diff-editor .insert-sign,.monaco-editor .insert-sign{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE0IDdWOEg4VjE0SDdWOEgxVjdIN1YxSDhWN0gxNFoiIGZpbGw9IiM0MjQyNDIiLz4KPC9zdmc+Cg==")}.monaco-diff-editor .delete-sign,.monaco-editor .delete-sign{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE1IDhIMVY3SDE1VjhaIiBmaWxsPSIjNDI0MjQyIi8+Cjwvc3ZnPgo=")}.monaco-diff-editor.hc-black .insert-sign,.monaco-diff-editor.vs-dark .insert-sign,.monaco-editor.hc-black .insert-sign,.monaco-editor.vs-dark .insert-sign{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE0IDdWOEg4VjE0SDdWOEgxVjdIN1YxSDhWN0gxNFoiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==")}.monaco-diff-editor.hc-black .delete-sign,.monaco-diff-editor.vs-dark .delete-sign,.monaco-editor.hc-black .delete-sign,.monaco-editor.vs-dark .delete-sign{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE1IDhIMVY3SDE1VjhaIiBmaWxsPSIjQzVDNUM1Ii8+Cjwvc3ZnPgo=")}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .inline-deleted-margin-view-zone{text-align:right}.monaco-editor .diagonal-fill{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAChJREFUKFNjOH/+fAMDDgCSu3Dhwn9c8gwwBTgNGR4KQP4HhQOhsAIAZCBTkhtqePcAAAAASUVORK5CYII=")}.monaco-editor.vs-dark .diagonal-fill{opacity:.2}.monaco-editor.hc-black .diagonal-fill{background:none}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .inline-deleted-margin-view-zone .lightbulb-glyph{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS42NzA4IDguNjU4MDZDMTEuMzMxOSA4Ljk5MTYgMTEuMDcxNiA5LjM2Mjc4IDEwLjg4ODYgOS43NzE3MkMxMC43MTA1IDEwLjE3OTIgMTAuNjIxIDEwLjYyMTkgMTAuNjIxIDExLjEwMDlWMTIuNzAxMkMxMC42MjEgMTIuODgwNyAxMC41ODcyIDEzLjA1MDMgMTAuNTE4OSAxMy4yMDkxQzEwLjQ1MTMgMTMuMzY2MSAxMC4zNTg2IDEzLjUwMzggMTAuMjQwNyAxMy42MjEzQzEwLjEyMjggMTMuNzM4OCA5Ljk4NDY0IDEzLjgzMTEgOS44MjcyMyAxMy44OTg0QzkuNjY4MDYgMTMuOTY2MyA5LjQ5ODA2IDE0IDkuMzE4MjMgMTRINy43MTIwNUM3LjUzMjIzIDE0IDcuMzYyMjMgMTMuOTY2MyA3LjIwMzA2IDEzLjg5ODRDNy4wNDU2NCAxMy44MzExIDYuOTA3NTMgMTMuNzM4OCA2Ljc4OTYxIDEzLjYyMTNDNi42NzE2OCAxMy41MDM4IDYuNTc4OTUgMTMuMzY2MSA2LjUxMTQxIDEzLjIwOTFDNi40NDMxMSAxMy4wNTAzIDYuNDA5MjcgMTIuODgwNyA2LjQwOTI3IDEyLjcwMTJWMTEuMTAwOUM2LjQwOTI3IDEwLjYyMiA2LjMxNzcyIDEwLjE3OTUgNi4xMzU1MyA5Ljc3MjA5QzUuOTU2ODMgOS4zNjMzNiA1LjY5ODMyIDguOTkxNTYgNS4zNTk1MyA4LjY1ODA2QzQuOTI0NjggOC4yMjkwMyA0LjU4ODk2IDcuNzUwMDMgNC4zNTM2MSA3LjIyMTM0QzQuMTE3NTYgNi42OTEwNyA0IDYuMTE2NzIgNCA1LjQ5OTUzQzQgNS4wODY2NCA0LjA1MzQyIDQuNjg4MDIgNC4xNjA0OCA0LjMwMzk3QzQuMjY3MjggMy45MjA4OSA0LjQxOTA3IDMuNTYyODYgNC42MTU5NSAzLjIzMDE4QzQuODEyNTcgMi44OTM3NyA1LjA0Nzc3IDIuNTg5MTEgNS4zMjE0NiAyLjMxNjQxQzUuNTk1MDMgMi4wNDM4MyA1Ljg5ODU4IDEuODA5NTMgNi4yMzE5NSAxLjYxMzY0QzYuNTY5NzkgMS40MTc2NCA2LjkzMTQ2IDEuMjY2MiA3LjMxNTc4IDEuMTU5ODNDNy43MDEwNiAxLjA1MzIgOC4xMDA5NCAxIDguNTE1MTQgMUM4LjkyOTM0IDEgOS4zMjkyMyAxLjA1MzIgOS43MTQ1MSAxLjE1OTgzQzEwLjA5ODggMS4yNjYyIDEwLjQ1OCAxLjQxNzM5IDEwLjc5MTggMS42MTM1MUMxMS4xMjk0IDEuODA5MzggMTEuNDM1MSAyLjA0MzcgMTEuNzA4OCAyLjMxNjQxQzExLjk4MjUgMi41ODkxIDEyLjIxNzcgMi44OTM3NiAxMi40MTQzIDMuMjMwMTZDMTIuNjExMiAzLjU2Mjg1IDEyLjc2MyAzLjkyMDg4IDEyLjg2OTggNC4zMDM5N0MxMi45NzY5IDQuNjg4MDIgMTMuMDMwMyA1LjA4NjY0IDEzLjAzMDMgNS40OTk1M0MxMy4wMzAzIDYuMTE2NzIgMTIuOTEyNyA2LjY5MTA3IDEyLjY3NjcgNy4yMjEzNEMxMi40NDEzIDcuNzUwMDMgMTIuMTA1NiA4LjIyOTAzIDExLjY3MDggOC42NTgwNlpNOS42MjE2MiAxMC41SDcuNDA4NjdWMTIuNzAxMkM3LjQwODY3IDEyLjc4MjMgNy40MzcyIDEyLjg1MTIgNy40OTg4OCAxMi45MTI3QzcuNTYwNTggMTIuOTc0MSA3LjYzMDA3IDEzLjAwMjggNy43MTIwNSAxMy4wMDI4SDkuMzE4MjNDOS40MDAyMiAxMy4wMDI4IDkuNDY5NzEgMTIuOTc0MSA5LjUzMTQgMTIuOTEyN0M5LjU5MzA5IDEyLjg1MTIgOS42MjE2MiAxMi43ODIzIDkuNjIxNjIgMTIuNzAxMlYxMC41WiIgZmlsbD0iIzQyNDI0MiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjY3MDggOC42NTgwNkMxMS4zMzE5IDguOTkxNiAxMS4wNzE2IDkuMzYyNzggMTAuODg4NiA5Ljc3MTcyQzEwLjcxMDUgMTAuMTc5MiAxMC42MjEgMTAuNjIxOSAxMC42MjEgMTEuMTAwOVYxMi43MDEyQzEwLjYyMSAxMi44ODA3IDEwLjU4NzIgMTMuMDUwMyAxMC41MTg5IDEzLjIwOTFDMTAuNDUxMyAxMy4zNjYxIDEwLjM1ODYgMTMuNTAzOCAxMC4yNDA3IDEzLjYyMTNDMTAuMTIyOCAxMy43Mzg4IDkuOTg0NjQgMTMuODMxMSA5LjgyNzIzIDEzLjg5ODRDOS42NjgwNiAxMy45NjYzIDkuNDk4MDYgMTQgOS4zMTgyMyAxNEg3LjcxMjA1QzcuNTMyMjMgMTQgNy4zNjIyMyAxMy45NjYzIDcuMjAzMDYgMTMuODk4NEM3LjA0NTY0IDEzLjgzMTEgNi45MDc1MyAxMy43Mzg4IDYuNzg5NjEgMTMuNjIxM0M2LjY3MTY4IDEzLjUwMzggNi41Nzg5NSAxMy4zNjYxIDYuNTExNDEgMTMuMjA5MUM2LjQ0MzExIDEzLjA1MDMgNi40MDkyNyAxMi44ODA3IDYuNDA5MjcgMTIuNzAxMlYxMS4xMDA5QzYuNDA5MjcgMTAuNjIyIDYuMzE3NzIgMTAuMTc5NSA2LjEzNTUzIDkuNzcyMDlDNS45NTY4MyA5LjM2MzM2IDUuNjk4MzIgOC45OTE1NiA1LjM1OTUzIDguNjU4MDZDNC45MjQ2OCA4LjIyOTAzIDQuNTg4OTYgNy43NTAwMyA0LjM1MzYxIDcuMjIxMzRDNC4xMTc1NiA2LjY5MTA3IDQgNi4xMTY3MiA0IDUuNDk5NTNDNCA1LjA4NjY0IDQuMDUzNDIgNC42ODgwMiA0LjE2MDQ4IDQuMzAzOTdDNC4yNjcyOCAzLjkyMDg5IDQuNDE5MDcgMy41NjI4NiA0LjYxNTk1IDMuMjMwMThDNC44MTI1NyAyLjg5Mzc3IDUuMDQ3NzcgMi41ODkxMSA1LjMyMTQ2IDIuMzE2NDFDNS41OTUwMyAyLjA0MzgzIDUuODk4NTggMS44MDk1MyA2LjIzMTk1IDEuNjEzNjRDNi41Njk3OSAxLjQxNzY0IDYuOTMxNDYgMS4yNjYyIDcuMzE1NzggMS4xNTk4M0M3LjcwMTA2IDEuMDUzMiA4LjEwMDk0IDEgOC41MTUxNCAxQzguOTI5MzQgMSA5LjMyOTIzIDEuMDUzMiA5LjcxNDUxIDEuMTU5ODNDMTAuMDk4OCAxLjI2NjIgMTAuNDU4IDEuNDE3MzkgMTAuNzkxOCAxLjYxMzUxQzExLjEyOTQgMS44MDkzOCAxMS40MzUxIDIuMDQzNyAxMS43MDg4IDIuMzE2NDFDMTEuOTgyNSAyLjU4OTEgMTIuMjE3NyAyLjg5Mzc2IDEyLjQxNDMgMy4yMzAxNkMxMi42MTEyIDMuNTYyODUgMTIuNzYzIDMuOTIwODggMTIuODY5OCA0LjMwMzk3QzEyLjk3NjkgNC42ODgwMiAxMy4wMzAzIDUuMDg2NjQgMTMuMDMwMyA1LjQ5OTUzQzEzLjAzMDMgNi4xMTY3MiAxMi45MTI3IDYuNjkxMDcgMTIuNjc2NyA3LjIyMTM0QzEyLjQ0MTMgNy43NTAwMyAxMi4xMDU2IDguMjI5MDMgMTEuNjcwOCA4LjY1ODA2Wk05LjYyMTYyIDEwLjVINy40MDg2N1YxMi43MDEyQzcuNDA4NjcgMTIuNzgyMyA3LjQzNzIgMTIuODUxMiA3LjQ5ODg4IDEyLjkxMjdDNy41NjA1OCAxMi45NzQxIDcuNjMwMDcgMTMuMDAyOCA3LjcxMjA1IDEzLjAwMjhIOS4zMTgyM0M5LjQwMDIyIDEzLjAwMjggOS40Njk3MSAxMi45NzQxIDkuNTMxNCAxMi45MTI3QzkuNTkzMDkgMTIuODUxMiA5LjYyMTYyIDEyLjc4MjMgOS42MjE2MiAxMi43MDEyVjEwLjVaIiBmaWxsPSIjNDI0MjQyIi8+Cjwvc3ZnPgo=") 50% no-repeat}.monaco-editor.hc-dark .margin-view-zones .inline-deleted-margin-view-zone .lightbulb-glyph,.monaco-editor.vs-dark .margin-view-zones .inline-deleted-margin-view-zone .lightbulb-glyph{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS42NzA4IDguNjU4MDZDMTEuMzMxOSA4Ljk5MTYgMTEuMDcxNiA5LjM2Mjc4IDEwLjg4ODYgOS43NzE3MkMxMC43MTA1IDEwLjE3OTIgMTAuNjIxIDEwLjYyMTkgMTAuNjIxIDExLjEwMDlWMTIuNzAxMkMxMC42MjEgMTIuODgwNyAxMC41ODcyIDEzLjA1MDMgMTAuNTE4OSAxMy4yMDkxQzEwLjQ1MTMgMTMuMzY2MSAxMC4zNTg2IDEzLjUwMzggMTAuMjQwNyAxMy42MjEzQzEwLjEyMjggMTMuNzM4OCA5Ljk4NDY0IDEzLjgzMTEgOS44MjcyMyAxMy44OTg0QzkuNjY4MDYgMTMuOTY2MyA5LjQ5ODA2IDE0IDkuMzE4MjMgMTRINy43MTIwNUM3LjUzMjIzIDE0IDcuMzYyMjMgMTMuOTY2MyA3LjIwMzA2IDEzLjg5ODRDNy4wNDU2NCAxMy44MzExIDYuOTA3NTMgMTMuNzM4OCA2Ljc4OTYxIDEzLjYyMTNDNi42NzE2OCAxMy41MDM4IDYuNTc4OTUgMTMuMzY2MSA2LjUxMTQxIDEzLjIwOTFDNi40NDMxMSAxMy4wNTAzIDYuNDA5MjcgMTIuODgwNyA2LjQwOTI3IDEyLjcwMTJWMTEuMTAwOUM2LjQwOTI3IDEwLjYyMiA2LjMxNzcyIDEwLjE3OTUgNi4xMzU1MyA5Ljc3MjA5QzUuOTU2ODMgOS4zNjMzNiA1LjY5ODMyIDguOTkxNTYgNS4zNTk1MyA4LjY1ODA2QzQuOTI0NjggOC4yMjkwMyA0LjU4ODk2IDcuNzUwMDMgNC4zNTM2MSA3LjIyMTM0QzQuMTE3NTYgNi42OTEwNyA0IDYuMTE2NzIgNCA1LjQ5OTUzQzQgNS4wODY2NCA0LjA1MzQyIDQuNjg4MDIgNC4xNjA0OCA0LjMwMzk3QzQuMjY3MjggMy45MjA4OSA0LjQxOTA3IDMuNTYyODYgNC42MTU5NSAzLjIzMDE4QzQuODEyNTcgMi44OTM3NyA1LjA0Nzc3IDIuNTg5MTEgNS4zMjE0NiAyLjMxNjQxQzUuNTk1MDMgMi4wNDM4MyA1Ljg5ODU4IDEuODA5NTMgNi4yMzE5NSAxLjYxMzY0QzYuNTY5NzkgMS40MTc2NCA2LjkzMTQ2IDEuMjY2MiA3LjMxNTc4IDEuMTU5ODNDNy43MDEwNiAxLjA1MzIgOC4xMDA5NCAxIDguNTE1MTQgMUM4LjkyOTM0IDEgOS4zMjkyMyAxLjA1MzIgOS43MTQ1MSAxLjE1OTgzQzEwLjA5ODggMS4yNjYyIDEwLjQ1OCAxLjQxNzM5IDEwLjc5MTggMS42MTM1MUMxMS4xMjk0IDEuODA5MzggMTEuNDM1MSAyLjA0MzcgMTEuNzA4OCAyLjMxNjQxQzExLjk4MjUgMi41ODkxIDEyLjIxNzcgMi44OTM3NiAxMi40MTQzIDMuMjMwMTZDMTIuNjExMiAzLjU2Mjg1IDEyLjc2MyAzLjkyMDg4IDEyLjg2OTggNC4zMDM5N0MxMi45NzY5IDQuNjg4MDIgMTMuMDMwMyA1LjA4NjY0IDEzLjAzMDMgNS40OTk1M0MxMy4wMzAzIDYuMTE2NzIgMTIuOTEyNyA2LjY5MTA3IDEyLjY3NjcgNy4yMjEzNEMxMi40NDEzIDcuNzUwMDMgMTIuMTA1NiA4LjIyOTAzIDExLjY3MDggOC42NTgwNlpNOS42MjE2MiAxMC41SDcuNDA4NjdWMTIuNzAxMkM3LjQwODY3IDEyLjc4MjMgNy40MzcyIDEyLjg1MTIgNy40OTg4OCAxMi45MTI3QzcuNTYwNTggMTIuOTc0MSA3LjYzMDA3IDEzLjAwMjggNy43MTIwNSAxMy4wMDI4SDkuMzE4MjNDOS40MDAyMiAxMy4wMDI4IDkuNDY5NzEgMTIuOTc0MSA5LjUzMTQgMTIuOTEyN0M5LjU5MzA5IDEyLjg1MTIgOS42MjE2MiAxMi43ODIzIDkuNjIxNjIgMTIuNzAxMlYxMC41WiIgZmlsbD0iI0MyQzJDMiIvPgo8L3N2Zz4K") 50% no-repeat}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-diff-editor .diff-review-line-number{text-align:right;display:inline-block}.monaco-diff-editor .diff-review{position:absolute;-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.monaco-diff-editor .diff-review-summary{padding-left:10px}.monaco-diff-editor .diff-review-shadow{position:absolute}.monaco-diff-editor .diff-review-row{white-space:pre}.monaco-diff-editor .diff-review-table{display:table;min-width:100%}.monaco-diff-editor .diff-review-row{display:table-row;width:100%}.monaco-diff-editor .diff-review-cell{display:table-cell}.monaco-diff-editor .diff-review-spacer{display:inline-block;width:10px}.monaco-diff-editor .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px}.monaco-diff-editor .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-diff-editor .action-label.icon.close-diff-review{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjAwMDAxIDguNzA3MTFMMTEuNjQ2NSAxMi4zNTM2TDEyLjM1MzYgMTEuNjQ2NUw4LjcwNzExIDguMDAwMDFMMTIuMzUzNiA0LjM1MzU2TDExLjY0NjUgMy42NDY0NUw4LjAwMDAxIDcuMjkyOUw0LjM1MzU2IDMuNjQ2NDVMMy42NDY0NSA0LjM1MzU2TDcuMjkyOSA4LjAwMDAxTDMuNjQ2NDUgMTEuNjQ2NUw0LjM1MzU2IDEyLjM1MzZMOC4wMDAwMSA4LjcwNzExWiIgZmlsbD0iIzQyNDI0MiIvPgo8L3N2Zz4K") 50% no-repeat}.monaco-diff-editor.hc-black .action-label.icon.close-diff-review,.monaco-diff-editor.vs-dark .action-label.icon.close-diff-review{background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjAwMDAxIDguNzA3MTFMMTEuNjQ2NSAxMi4zNTM2TDEyLjM1MzYgMTEuNjQ2NUw4LjcwNzExIDguMDAwMDFMMTIuMzUzNiA0LjM1MzU2TDExLjY0NjUgMy42NDY0NUw4LjAwMDAxIDcuMjkyOUw0LjM1MzU2IDMuNjQ2NDVMMy42NDY0NSA0LjM1MzU2TDcuMjkyOSA4LjAwMDAxTDMuNjQ2NDUgMTEuNjQ2NUw0LjM1MzU2IDEyLjM1MzZMOC4wMDAwMSA4LjcwNzExWiIgZmlsbD0iI0M1QzVDNSIvPgo8L3N2Zz4K") 50% no-repeat}.context-view .monaco-menu{min-width:130px}.context-view-block{position:fixed;left:0;top:0;z-index:-1;width:100%;height:100%}.monaco-menu .monaco-action-bar.vertical{margin-left:0;overflow:visible}.monaco-menu .monaco-action-bar.vertical .actions-container{display:block}.monaco-menu .monaco-action-bar.vertical .action-item{padding:0;transform:none;display:-ms-flexbox;display:flex}.monaco-menu .monaco-action-bar.vertical .action-item.active{transform:none}.monaco-menu .monaco-action-bar.vertical .action-menu-item{-ms-flex:1 1 auto;flex:1 1 auto;display:-ms-flexbox;display:flex;height:2em;-ms-flex-align:center;align-items:center;position:relative}.monaco-menu .monaco-action-bar.vertical .action-label{-ms-flex:1 1 auto;flex:1 1 auto;text-decoration:none;padding:0 1em;background:none;font-size:12px;line-height:1}.monaco-menu .monaco-action-bar.vertical .keybinding,.monaco-menu .monaco-action-bar.vertical .submenu-indicator{display:inline-block;-ms-flex:2 1 auto;flex:2 1 auto;padding:0 1em;text-align:right;font-size:12px;line-height:1}.monaco-menu .monaco-action-bar.vertical .submenu-indicator{height:100%;-webkit-mask:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuNTIwNTEgMTIuMzY0M0w5Ljg3NzkzIDdMNC41MjA1MSAxLjYzNTc0Mkw1LjEzNTc0IDEuMDIwNTA3OEwxMS4xMjIxIDdMNS4xMzU3NCAxMi45Nzk1TDQuNTIwNTEgMTIuMzY0M1oiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=") no-repeat 90% 50%/13px 13px;mask:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuNTIwNTEgMTIuMzY0M0w5Ljg3NzkzIDdMNC41MjA1MSAxLjYzNTc0Mkw1LjEzNTc0IDEuMDIwNTA3OEwxMS4xMjIxIDdMNS4xMzU3NCAxMi45Nzk1TDQuNTIwNTEgMTIuMzY0M1oiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=") no-repeat 90% 50%/13px 13px}.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator{opacity:.4}.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator){display:inline-block;-o-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;margin:0}.monaco-menu .monaco-action-bar.vertical .action-item{position:static;overflow:visible}.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu{position:absolute}.monaco-menu .monaco-action-bar.vertical .action-label.separator{padding:.5em 0 0;margin-bottom:.5em;width:100%}.monaco-menu .monaco-action-bar.vertical .action-label.separator.text{padding:.7em 1em .1em;font-weight:700;opacity:1}.monaco-menu .monaco-action-bar.vertical .action-label:hover{color:inherit}.monaco-menu .monaco-action-bar.vertical .menu-item-check{position:absolute;visibility:hidden;-webkit-mask:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC40MzE1IDMuMzIzMkw1Ljk2MTUxIDEzLjMyMzJMNS4xNzA4IDEzLjI4NzRMMS44MjA4IDguNTE3NEwyLjYzOTE1IDcuOTQyNjhMNS42MTY5NyAxMi4xODI3TDEzLjY2ODQgMi42NzY4OEwxNC40MzE1IDMuMzIzMloiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==") no-repeat 50% 56%/15px 15px;mask:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC40MzE1IDMuMzIzMkw1Ljk2MTUxIDEzLjMyMzJMNS4xNzA4IDEzLjI4NzRMMS44MjA4IDguNTE3NEwyLjYzOTE1IDcuOTQyNjhMNS42MTY5NyAxMi4xODI3TDEzLjY2ODQgMi42NzY4OEwxNC40MzE1IDMuMzIzMloiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==") no-repeat 50% 56%/15px 15px;width:1em;height:100%}.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check{visibility:visible}.context-view.monaco-menu-container{outline:0;border:none;animation:fadeIn 83ms linear}.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,.context-view.monaco-menu-container .monaco-action-bar.vertical :focus,.context-view.monaco-menu-container :focus{outline:0}.monaco-menu .monaco-action-bar.vertical .action-item{border:thin solid transparent}.hc-black .context-view.monaco-menu-container{box-shadow:none}.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused{background:none}.menubar{display:-ms-flexbox;display:flex;-ms-flex-negative:1;flex-shrink:1;box-sizing:border-box;height:30px;overflow:hidden;-ms-flex-wrap:wrap;flex-wrap:wrap}.fullscreen .menubar{margin:0;padding:0 5px}.menubar>.menubar-menu-button{-ms-flex-align:center;align-items:center;box-sizing:border-box;padding:0 8px;cursor:default;-webkit-app-region:no-drag;zoom:1;white-space:nowrap;outline:0}.menubar .menubar-menu-items-holder{position:absolute;left:0;opacity:1;z-index:2000}.menubar .menubar-menu-items-holder.monaco-menu-container{outline:0;border:none}.menubar .menubar-menu-items-holder.monaco-menu-container :focus{outline:0}.menubar .toolbar-toggle-more{background-position:50%;background-repeat:no-repeat;background-size:14px;width:20px;height:100%;display:inline-block;padding:0;-webkit-mask:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQgOEM0IDguMTk3NzggMy45NDEzNSA4LjM5MTEyIDMuODMxNDcgOC41NTU1N0MzLjcyMTU5IDguNzIwMDIgMy41NjU0MSA4Ljg0ODE5IDMuMzgyNjggOC45MjM4OEMzLjE5OTk2IDguOTk5NTcgMi45OTg4OSA5LjAxOTM3IDIuODA0OTEgOC45ODA3OUMyLjYxMDkzIDguOTQyMiAyLjQzMjc1IDguODQ2OTYgMi4yOTI4OSA4LjcwNzExQzIuMTUzMDQgOC41NjcyNSAyLjA1NzggOC4zODkwNyAyLjAxOTIyIDguMTk1MDlDMS45ODA2MyA4LjAwMTExIDIuMDAwNDMgNy44MDAwNCAyLjA3NjEyIDcuNjE3MzJDMi4xNTE4MSA3LjQzNDU5IDIuMjc5OTggNy4yNzg0MSAyLjQ0NDQzIDcuMTY4NTNDMi42MDg4OCA3LjA1ODY1IDIuODAyMjIgNyAzIDdDMy4yNjUyMiA3IDMuNTE5NTcgNy4xMDUzNiAzLjcwNzExIDcuMjkyODlDMy44OTQ2NCA3LjQ4MDQzIDQgNy43MzQ3OCA0IDhaIiBmaWxsPSIjQzVDNUM1Ii8+CjxwYXRoIGQ9Ik05IDhDOSA4LjE5Nzc4IDguOTQxMzUgOC4zOTExMiA4LjgzMTQ3IDguNTU1NTdDOC43MjE1OSA4LjcyMDAyIDguNTY1NDEgOC44NDgxOSA4LjM4MjY4IDguOTIzODhDOC4xOTk5NiA4Ljk5OTU3IDcuOTk4ODkgOS4wMTkzNyA3LjgwNDkxIDguOTgwNzlDNy42MTA5MyA4Ljk0MjIgNy40MzI3NSA4Ljg0Njk2IDcuMjkyODkgOC43MDcxMUM3LjE1MzA0IDguNTY3MjUgNy4wNTc4IDguMzg5MDcgNy4wMTkyMiA4LjE5NTA5QzYuOTgwNjMgOC4wMDExMSA3LjAwMDQzIDcuODAwMDQgNy4wNzYxMiA3LjYxNzMyQzcuMTUxODEgNy40MzQ1OSA3LjI3OTk4IDcuMjc4NDEgNy40NDQ0MyA3LjE2ODUzQzcuNjA4ODggNy4wNTg2NSA3LjgwMjIyIDcgOCA3QzguMjY1MjIgNyA4LjUxOTU3IDcuMTA1MzYgOC43MDcxMSA3LjI5Mjg5QzguODk0NjQgNy40ODA0MyA5IDcuNzM0NzggOSA4WiIgZmlsbD0iI0M1QzVDNSIvPgo8cGF0aCBkPSJNMTQgOEMxNCA4LjE5Nzc4IDEzLjk0MTQgOC4zOTExMiAxMy44MzE1IDguNTU1NTdDMTMuNzIxNiA4LjcyMDAyIDEzLjU2NTQgOC44NDgxOSAxMy4zODI3IDguOTIzODhDMTMuMiA4Ljk5OTU3IDEyLjk5ODkgOS4wMTkzNyAxMi44MDQ5IDguOTgwNzlDMTIuNjEwOSA4Ljk0MjIgMTIuNDMyNyA4Ljg0Njk2IDEyLjI5MjkgOC43MDcxMUMxMi4xNTMgOC41NjcyNSAxMi4wNTc4IDguMzg5MDcgMTIuMDE5MiA4LjE5NTA5QzExLjk4MDYgOC4wMDExMSAxMi4wMDA0IDcuODAwMDQgMTIuMDc2MSA3LjYxNzMyQzEyLjE1MTggNy40MzQ1OSAxMi4yOCA3LjI3ODQxIDEyLjQ0NDQgNy4xNjg1M0MxMi42MDg5IDcuMDU4NjUgMTIuODAyMiA3IDEzIDdDMTMuMjY1MiA3IDEzLjUxOTYgNy4xMDUzNiAxMy43MDcxIDcuMjkyODlDMTMuODk0NiA3LjQ4MDQzIDE0IDcuNzM0NzggMTQgOFoiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==") no-repeat 50% 55%/14px 14px;mask:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQgOEM0IDguMTk3NzggMy45NDEzNSA4LjM5MTEyIDMuODMxNDcgOC41NTU1N0MzLjcyMTU5IDguNzIwMDIgMy41NjU0MSA4Ljg0ODE5IDMuMzgyNjggOC45MjM4OEMzLjE5OTk2IDguOTk5NTcgMi45OTg4OSA5LjAxOTM3IDIuODA0OTEgOC45ODA3OUMyLjYxMDkzIDguOTQyMiAyLjQzMjc1IDguODQ2OTYgMi4yOTI4OSA4LjcwNzExQzIuMTUzMDQgOC41NjcyNSAyLjA1NzggOC4zODkwNyAyLjAxOTIyIDguMTk1MDlDMS45ODA2MyA4LjAwMTExIDIuMDAwNDMgNy44MDAwNCAyLjA3NjEyIDcuNjE3MzJDMi4xNTE4MSA3LjQzNDU5IDIuMjc5OTggNy4yNzg0MSAyLjQ0NDQzIDcuMTY4NTNDMi42MDg4OCA3LjA1ODY1IDIuODAyMjIgNyAzIDdDMy4yNjUyMiA3IDMuNTE5NTcgNy4xMDUzNiAzLjcwNzExIDcuMjkyODlDMy44OTQ2NCA3LjQ4MDQzIDQgNy43MzQ3OCA0IDhaIiBmaWxsPSIjQzVDNUM1Ii8+CjxwYXRoIGQ9Ik05IDhDOSA4LjE5Nzc4IDguOTQxMzUgOC4zOTExMiA4LjgzMTQ3IDguNTU1NTdDOC43MjE1OSA4LjcyMDAyIDguNTY1NDEgOC44NDgxOSA4LjM4MjY4IDguOTIzODhDOC4xOTk5NiA4Ljk5OTU3IDcuOTk4ODkgOS4wMTkzNyA3LjgwNDkxIDguOTgwNzlDNy42MTA5MyA4Ljk0MjIgNy40MzI3NSA4Ljg0Njk2IDcuMjkyODkgOC43MDcxMUM3LjE1MzA0IDguNTY3MjUgNy4wNTc4IDguMzg5MDcgNy4wMTkyMiA4LjE5NTA5QzYuOTgwNjMgOC4wMDExMSA3LjAwMDQzIDcuODAwMDQgNy4wNzYxMiA3LjYxNzMyQzcuMTUxODEgNy40MzQ1OSA3LjI3OTk4IDcuMjc4NDEgNy40NDQ0MyA3LjE2ODUzQzcuNjA4ODggNy4wNTg2NSA3LjgwMjIyIDcgOCA3QzguMjY1MjIgNyA4LjUxOTU3IDcuMTA1MzYgOC43MDcxMSA3LjI5Mjg5QzguODk0NjQgNy40ODA0MyA5IDcuNzM0NzggOSA4WiIgZmlsbD0iI0M1QzVDNSIvPgo8cGF0aCBkPSJNMTQgOEMxNCA4LjE5Nzc4IDEzLjk0MTQgOC4zOTExMiAxMy44MzE1IDguNTU1NTdDMTMuNzIxNiA4LjcyMDAyIDEzLjU2NTQgOC44NDgxOSAxMy4zODI3IDguOTIzODhDMTMuMiA4Ljk5OTU3IDEyLjk5ODkgOS4wMTkzNyAxMi44MDQ5IDguOTgwNzlDMTIuNjEwOSA4Ljk0MjIgMTIuNDMyNyA4Ljg0Njk2IDEyLjI5MjkgOC43MDcxMUMxMi4xNTMgOC41NjcyNSAxMi4wNTc4IDguMzg5MDcgMTIuMDE5MiA4LjE5NTA5QzExLjk4MDYgOC4wMDExMSAxMi4wMDA0IDcuODAwMDQgMTIuMDc2MSA3LjYxNzMyQzEyLjE1MTggNy40MzQ1OSAxMi4yOCA3LjI3ODQxIDEyLjQ0NDQgNy4xNjg1M0MxMi42MDg5IDcuMDU4NjUgMTIuODAyMiA3IDEzIDdDMTMuMjY1MiA3IDEzLjUxOTYgNy4xMDUzNiAxMy43MDcxIDcuMjkyODlDMTMuODk0NiA3LjQ4MDQzIDE0IDcuNzM0NzggMTQgOFoiIGZpbGw9IiNDNUM1QzUiLz4KPC9zdmc+Cg==") no-repeat 50% 55%/14px 14px}.context-view{position:absolute;z-index:2000}.rule-view .el-card{margin-top:24px;min-height:150px}.rule-view .page-title .el-breadcrumb{text-transform:none}.resources-view .el-table{margin-top:24px}.resources-view .status-wrapper{padding:0;list-style-type:none}.resources-view .status-wrapper .status-item{padding:2px 6px}.resources-view .status-wrapper .status-item>span{margin-right:12px}.resources-view .el-form-item__content{clear:both}.resources-view .expand-column .cell{opacity:0}.topic-metrics .sub-tip{font-size:14px;color:#9e9e9f;text-transform:none;margin-right:10px}.topic-metrics .el-table{margin-top:24px}.topic-metrics .el-table .expand-header{height:32px;line-height:32px;margin-bottom:20px}.topic-metrics .el-table .topic-qos-radio{float:right}.topic-metrics .el-table .message-card{height:112px;border-radius:4px;padding:6px 12px}.topic-metrics .el-table .message-card .message-card--body{font-size:28px;height:80px;line-height:80px;text-align:center}.topic-metrics .el-table .message-card .message-rate{float:right}.alarms-view .table-title{margin:24px 0 20px;font-size:16px}.alarms-view .table-title .table-oper{float:right}.alarms-view .el-table{margin-bottom:32px}.alarms-view .details{margin-right:5px;color:#a7a7a7;cursor:pointer}.plugins-view .el-card.plugin-config,.plugins-view .el-table{margin-top:24px}.plugins-view .el-row{margin-top:20px}.plugins-view .oper{min-width:50px;font-size:14px;margin-bottom:4px}.plugins-view .tutorial{margin-left:5px;color:#a7a7a7}.plugins-view .tutorial:hover{color:#34c388}.plugin-manage .page-title{text-transform:none}.plugin-manage .el-card{margin-top:24px;min-height:150px}.plugin-manage .el-card .config-null{text-align:center;margin:20px auto}.plugin-manage .el-input.input-radius,.plugin-manage .el-textarea.input-radius{width:100%}.auth-clientid-table .el-form-item__error,.auth-username-table .el-form-item__error{display:none}.generate-jwt .monaco-container{height:200px}.generate-jwt .el-date-editor.el-input,.generate-jwt .el-date-editor.el-input__inner,.generate-jwt .el-select{width:100%}.generate-jwt .el-table{margin-top:40px}.generate-jwt .jwt-payload-desc{font-size:14px;padding:6px;border-radius:4px;line-height:1.4;margin:16px 0}.modules-view .el-table{margin-top:24px}.modules-view .oper{min-width:50px;font-size:14px;margin-bottom:4px}.listeners-view .el-table{margin-top:24px}.websocket-view .el-form-item--small.el-form-item{margin-bottom:2px}.websocket-view .check-area .el-form-item__content{line-height:20px!important}.websocket-view .operation-area{margin-top:10px!important}.websocket-view .el-input .el-input--medium{margin-bottom:10px!important}.websocket-view .el-select{width:100%}.websocket-view .refresh-btn{font-size:12px;margin-left:8px;cursor:pointer}.websocket-view .connect-state{display:inline-block;margin-left:20px;font-size:14px;color:#a7a7a7}.websocket-view .connect-state span{margin-left:4px}.websocket-view .el-table{margin-top:5px;border-width:0!important}.websocket-view .el-card{margin-top:24px}.websocket-view .el-checkbox,.websocket-view .el-input{margin:5px 0 20px}.http-api{margin-top:0!important}.http-api .link-disabled{cursor:not-allowed}.http-api .el-card{margin-top:24px}.http-api .el-table{border-width:0!important}.http-api .refresh-btn{cursor:pointer;font-size:16px;padding:0!important}.http-api .response-container{line-height:1.5}.http-api .response-container h3{font-size:14px!important}.http-api .response-container a{margin-left:12px}.applications-view .el-date-editor,.applications-view .el-select{width:100%}.applications-view .el-table{margin-top:24px}.applications-view .el-row{margin-top:20px}.applications-view .search-btn{margin-left:8px}.applications-view .el-breadcrumb{margin-top:10px;margin-bottom:20px}.applications-view .el-date-picker{max-width:600px!important}.applications-view .el-form-item--medium .el-form-item__content{line-height:38px}.app-info .el-input.is-disabled .el-input__inner{cursor:text}.users-view .el-table{margin-top:24px}.users-view .change-password{text-align:left}.settings-view .el-card{margin-top:24px}.settings-view .el-switch.is-checked .el-switch__core{background-color:#42d885;border-color:#42d885}.settings-view .confirm-btn .el-form-item{margin-bottom:4px!important}.help-view{width:80%}.help-view .help-item h3{font-size:16px}.help-view .help-item p{color:#b0b0b0;line-height:1.8}.help-view .help-item a{margin-right:16px}.help-view .help-item .follow-link{display:inline-block;width:64px;height:52px;text-align:center;line-height:52px;background:#232429;color:#9ea3b1;margin-bottom:20px}.help-view .help-item .follow-link .iconfont{font-size:24px}.help-view .el-divider{margin:30px 0;background-color:#2b2c30}@media (max-width:996px){.help-view{width:100%}}.not-found{text-align:center;padding:50px}.not-found p{margin-top:30px;font-size:20px}.not-found a{margin-right:20px}.not-found a:hover{text-decoration:underline}@font-face{font-family:element-icons;src:url(/static/fonts/element-icons.535877f.woff) format("woff"),url(/static/fonts/element-icons.732389d.ttf) format("truetype");font-weight:400;font-style:normal}[class*=" el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-icon-ice-cream-round:before{content:"\E6A0"}.el-icon-ice-cream-square:before{content:"\E6A3"}.el-icon-lollipop:before{content:"\E6A4"}.el-icon-potato-strips:before{content:"\E6A5"}.el-icon-milk-tea:before{content:"\E6A6"}.el-icon-ice-drink:before{content:"\E6A7"}.el-icon-ice-tea:before{content:"\E6A9"}.el-icon-coffee:before{content:"\E6AA"}.el-icon-orange:before{content:"\E6AB"}.el-icon-pear:before{content:"\E6AC"}.el-icon-apple:before{content:"\E6AD"}.el-icon-cherry:before{content:"\E6AE"}.el-icon-watermelon:before{content:"\E6AF"}.el-icon-grape:before{content:"\E6B0"}.el-icon-refrigerator:before{content:"\E6B1"}.el-icon-goblet-square-full:before{content:"\E6B2"}.el-icon-goblet-square:before{content:"\E6B3"}.el-icon-goblet-full:before{content:"\E6B4"}.el-icon-goblet:before{content:"\E6B5"}.el-icon-cold-drink:before{content:"\E6B6"}.el-icon-coffee-cup:before{content:"\E6B8"}.el-icon-water-cup:before{content:"\E6B9"}.el-icon-hot-water:before{content:"\E6BA"}.el-icon-ice-cream:before{content:"\E6BB"}.el-icon-dessert:before{content:"\E6BC"}.el-icon-sugar:before{content:"\E6BD"}.el-icon-tableware:before{content:"\E6BE"}.el-icon-burger:before{content:"\E6BF"}.el-icon-knife-fork:before{content:"\E6C1"}.el-icon-fork-spoon:before{content:"\E6C2"}.el-icon-chicken:before{content:"\E6C3"}.el-icon-food:before{content:"\E6C4"}.el-icon-dish-1:before{content:"\E6C5"}.el-icon-dish:before{content:"\E6C6"}.el-icon-moon-night:before{content:"\E6EE"}.el-icon-moon:before{content:"\E6F0"}.el-icon-cloudy-and-sunny:before{content:"\E6F1"}.el-icon-partly-cloudy:before{content:"\E6F2"}.el-icon-cloudy:before{content:"\E6F3"}.el-icon-sunny:before{content:"\E6F6"}.el-icon-sunset:before{content:"\E6F7"}.el-icon-sunrise-1:before{content:"\E6F8"}.el-icon-sunrise:before{content:"\E6F9"}.el-icon-heavy-rain:before{content:"\E6FA"}.el-icon-lightning:before{content:"\E6FB"}.el-icon-light-rain:before{content:"\E6FC"}.el-icon-wind-power:before{content:"\E6FD"}.el-icon-baseball:before{content:"\E712"}.el-icon-soccer:before{content:"\E713"}.el-icon-football:before{content:"\E715"}.el-icon-basketball:before{content:"\E716"}.el-icon-ship:before{content:"\E73F"}.el-icon-truck:before{content:"\E740"}.el-icon-bicycle:before{content:"\E741"}.el-icon-mobile-phone:before{content:"\E6D3"}.el-icon-service:before{content:"\E6D4"}.el-icon-key:before{content:"\E6E2"}.el-icon-unlock:before{content:"\E6E4"}.el-icon-lock:before{content:"\E6E5"}.el-icon-watch:before{content:"\E6FE"}.el-icon-watch-1:before{content:"\E6FF"}.el-icon-timer:before{content:"\E702"}.el-icon-alarm-clock:before{content:"\E703"}.el-icon-map-location:before{content:"\E704"}.el-icon-delete-location:before{content:"\E705"}.el-icon-add-location:before{content:"\E706"}.el-icon-location-information:before{content:"\E707"}.el-icon-location-outline:before{content:"\E708"}.el-icon-location:before{content:"\E79E"}.el-icon-place:before{content:"\E709"}.el-icon-discover:before{content:"\E70A"}.el-icon-first-aid-kit:before{content:"\E70B"}.el-icon-trophy-1:before{content:"\E70C"}.el-icon-trophy:before{content:"\E70D"}.el-icon-medal:before{content:"\E70E"}.el-icon-medal-1:before{content:"\E70F"}.el-icon-stopwatch:before{content:"\E710"}.el-icon-mic:before{content:"\E711"}.el-icon-copy-document:before{content:"\E718"}.el-icon-full-screen:before{content:"\E719"}.el-icon-switch-button:before{content:"\E71B"}.el-icon-aim:before{content:"\E71C"}.el-icon-crop:before{content:"\E71D"}.el-icon-odometer:before{content:"\E71E"}.el-icon-time:before{content:"\E71F"}.el-icon-bangzhu:before{content:"\E724"}.el-icon-close-notification:before{content:"\E726"}.el-icon-microphone:before{content:"\E727"}.el-icon-turn-off-microphone:before{content:"\E728"}.el-icon-position:before{content:"\E729"}.el-icon-postcard:before{content:"\E72A"}.el-icon-message:before{content:"\E72B"}.el-icon-chat-line-square:before{content:"\E72D"}.el-icon-chat-dot-square:before{content:"\E72E"}.el-icon-chat-dot-round:before{content:"\E72F"}.el-icon-chat-square:before{content:"\E730"}.el-icon-chat-line-round:before{content:"\E731"}.el-icon-chat-round:before{content:"\E732"}.el-icon-set-up:before{content:"\E733"}.el-icon-turn-off:before{content:"\E734"}.el-icon-open:before{content:"\E735"}.el-icon-connection:before{content:"\E736"}.el-icon-link:before{content:"\E737"}.el-icon-cpu:before{content:"\E738"}.el-icon-thumb:before{content:"\E739"}.el-icon-female:before{content:"\E73A"}.el-icon-male:before{content:"\E73B"}.el-icon-guide:before{content:"\E73C"}.el-icon-news:before{content:"\E73E"}.el-icon-price-tag:before{content:"\E744"}.el-icon-discount:before{content:"\E745"}.el-icon-wallet:before{content:"\E747"}.el-icon-coin:before{content:"\E748"}.el-icon-money:before{content:"\E749"}.el-icon-bank-card:before{content:"\E74A"}.el-icon-box:before{content:"\E74B"}.el-icon-present:before{content:"\E74C"}.el-icon-sell:before{content:"\E6D5"}.el-icon-sold-out:before{content:"\E6D6"}.el-icon-shopping-bag-2:before{content:"\E74D"}.el-icon-shopping-bag-1:before{content:"\E74E"}.el-icon-shopping-cart-2:before{content:"\E74F"}.el-icon-shopping-cart-1:before{content:"\E750"}.el-icon-shopping-cart-full:before{content:"\E751"}.el-icon-smoking:before{content:"\E752"}.el-icon-no-smoking:before{content:"\E753"}.el-icon-house:before{content:"\E754"}.el-icon-table-lamp:before{content:"\E755"}.el-icon-school:before{content:"\E756"}.el-icon-office-building:before{content:"\E757"}.el-icon-toilet-paper:before{content:"\E758"}.el-icon-notebook-2:before{content:"\E759"}.el-icon-notebook-1:before{content:"\E75A"}.el-icon-files:before{content:"\E75B"}.el-icon-collection:before{content:"\E75C"}.el-icon-receiving:before{content:"\E75D"}.el-icon-suitcase-1:before{content:"\E760"}.el-icon-suitcase:before{content:"\E761"}.el-icon-film:before{content:"\E763"}.el-icon-collection-tag:before{content:"\E765"}.el-icon-data-analysis:before{content:"\E766"}.el-icon-pie-chart:before{content:"\E767"}.el-icon-data-board:before{content:"\E768"}.el-icon-data-line:before{content:"\E76D"}.el-icon-reading:before{content:"\E769"}.el-icon-magic-stick:before{content:"\E76A"}.el-icon-coordinate:before{content:"\E76B"}.el-icon-mouse:before{content:"\E76C"}.el-icon-brush:before{content:"\E76E"}.el-icon-headset:before{content:"\E76F"}.el-icon-umbrella:before{content:"\E770"}.el-icon-scissors:before{content:"\E771"}.el-icon-mobile:before{content:"\E773"}.el-icon-attract:before{content:"\E774"}.el-icon-monitor:before{content:"\E775"}.el-icon-search:before{content:"\E778"}.el-icon-takeaway-box:before{content:"\E77A"}.el-icon-paperclip:before{content:"\E77D"}.el-icon-printer:before{content:"\E77E"}.el-icon-document-add:before{content:"\E782"}.el-icon-document:before{content:"\E785"}.el-icon-document-checked:before{content:"\E786"}.el-icon-document-copy:before{content:"\E787"}.el-icon-document-delete:before{content:"\E788"}.el-icon-document-remove:before{content:"\E789"}.el-icon-tickets:before{content:"\E78B"}.el-icon-folder-checked:before{content:"\E77F"}.el-icon-folder-delete:before{content:"\E780"}.el-icon-folder-remove:before{content:"\E781"}.el-icon-folder-add:before{content:"\E783"}.el-icon-folder-opened:before{content:"\E784"}.el-icon-folder:before{content:"\E78A"}.el-icon-edit-outline:before{content:"\E764"}.el-icon-edit:before{content:"\E78C"}.el-icon-date:before{content:"\E78E"}.el-icon-c-scale-to-original:before{content:"\E7C6"}.el-icon-view:before{content:"\E6CE"}.el-icon-loading:before{content:"\E6CF"}.el-icon-rank:before{content:"\E6D1"}.el-icon-sort-down:before{content:"\E7C4"}.el-icon-sort-up:before{content:"\E7C5"}.el-icon-sort:before{content:"\E6D2"}.el-icon-finished:before{content:"\E6CD"}.el-icon-refresh-left:before{content:"\E6C7"}.el-icon-refresh-right:before{content:"\E6C8"}.el-icon-refresh:before{content:"\E6D0"}.el-icon-video-play:before{content:"\E7C0"}.el-icon-video-pause:before{content:"\E7C1"}.el-icon-d-arrow-right:before{content:"\E6DC"}.el-icon-d-arrow-left:before{content:"\E6DD"}.el-icon-arrow-up:before{content:"\E6E1"}.el-icon-arrow-down:before{content:"\E6DF"}.el-icon-arrow-right:before{content:"\E6E0"}.el-icon-arrow-left:before{content:"\E6DE"}.el-icon-top-right:before{content:"\E6E7"}.el-icon-top-left:before{content:"\E6E8"}.el-icon-top:before{content:"\E6E6"}.el-icon-bottom:before{content:"\E6EB"}.el-icon-right:before{content:"\E6E9"}.el-icon-back:before{content:"\E6EA"}.el-icon-bottom-right:before{content:"\E6EC"}.el-icon-bottom-left:before{content:"\E6ED"}.el-icon-caret-top:before{content:"\E78F"}.el-icon-caret-bottom:before{content:"\E790"}.el-icon-caret-right:before{content:"\E791"}.el-icon-caret-left:before{content:"\E792"}.el-icon-d-caret:before{content:"\E79A"}.el-icon-share:before{content:"\E793"}.el-icon-menu:before{content:"\E798"}.el-icon-s-grid:before{content:"\E7A6"}.el-icon-s-check:before{content:"\E7A7"}.el-icon-s-data:before{content:"\E7A8"}.el-icon-s-opportunity:before{content:"\E7AA"}.el-icon-s-custom:before{content:"\E7AB"}.el-icon-s-claim:before{content:"\E7AD"}.el-icon-s-finance:before{content:"\E7AE"}.el-icon-s-comment:before{content:"\E7AF"}.el-icon-s-flag:before{content:"\E7B0"}.el-icon-s-marketing:before{content:"\E7B1"}.el-icon-s-shop:before{content:"\E7B4"}.el-icon-s-open:before{content:"\E7B5"}.el-icon-s-management:before{content:"\E7B6"}.el-icon-s-ticket:before{content:"\E7B7"}.el-icon-s-release:before{content:"\E7B8"}.el-icon-s-home:before{content:"\E7B9"}.el-icon-s-promotion:before{content:"\E7BA"}.el-icon-s-operation:before{content:"\E7BB"}.el-icon-s-unfold:before{content:"\E7BC"}.el-icon-s-fold:before{content:"\E7A9"}.el-icon-s-platform:before{content:"\E7BD"}.el-icon-s-order:before{content:"\E7BE"}.el-icon-s-cooperation:before{content:"\E7BF"}.el-icon-bell:before{content:"\E725"}.el-icon-message-solid:before{content:"\E799"}.el-icon-video-camera:before{content:"\E772"}.el-icon-video-camera-solid:before{content:"\E796"}.el-icon-camera:before{content:"\E779"}.el-icon-camera-solid:before{content:"\E79B"}.el-icon-download:before{content:"\E77C"}.el-icon-upload2:before{content:"\E77B"}.el-icon-upload:before{content:"\E7C3"}.el-icon-picture-outline-round:before{content:"\E75F"}.el-icon-picture-outline:before{content:"\E75E"}.el-icon-picture:before{content:"\E79F"}.el-icon-close:before{content:"\E6DB"}.el-icon-check:before{content:"\E6DA"}.el-icon-plus:before{content:"\E6D9"}.el-icon-minus:before{content:"\E6D8"}.el-icon-help:before{content:"\E73D"}.el-icon-s-help:before{content:"\E7B3"}.el-icon-circle-close:before{content:"\E78D"}.el-icon-circle-check:before{content:"\E720"}.el-icon-circle-plus-outline:before{content:"\E723"}.el-icon-remove-outline:before{content:"\E722"}.el-icon-zoom-out:before{content:"\E776"}.el-icon-zoom-in:before{content:"\E777"}.el-icon-error:before{content:"\E79D"}.el-icon-success:before{content:"\E79C"}.el-icon-circle-plus:before{content:"\E7A0"}.el-icon-remove:before{content:"\E7A2"}.el-icon-info:before{content:"\E7A1"}.el-icon-question:before{content:"\E7A4"}.el-icon-warning-outline:before{content:"\E6C9"}.el-icon-warning:before{content:"\E7A3"}.el-icon-goods:before{content:"\E7C2"}.el-icon-s-goods:before{content:"\E7B2"}.el-icon-star-off:before{content:"\E717"}.el-icon-star-on:before{content:"\E797"}.el-icon-more-outline:before{content:"\E6CC"}.el-icon-more:before{content:"\E794"}.el-icon-phone-outline:before{content:"\E6CB"}.el-icon-phone:before{content:"\E795"}.el-icon-user:before{content:"\E6E3"}.el-icon-user-solid:before{content:"\E7A5"}.el-icon-setting:before{content:"\E6CA"}.el-icon-s-tools:before{content:"\E7AC"}.el-icon-delete:before{content:"\E6D7"}.el-icon-delete-solid:before{content:"\E7C9"}.el-icon-eleme:before{content:"\E7C7"}.el-icon-platform-eleme:before{content:"\E7CA"}.el-icon-loading{animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.el-pagination{white-space:nowrap;padding:2px 5px;color:#303133;font-weight:700}.el-pagination:after,.el-pagination:before{display:table;content:""}.el-pagination:after{clear:both}.el-pagination button,.el-pagination span:not([class*=suffix]){display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;vertical-align:top;box-sizing:border-box}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield;line-height:normal}.el-pagination .el-input__suffix{right:0;transform:scale(.8)}.el-pagination .el-select .el-input{width:100px;margin:0 5px}.el-pagination .el-select .el-input .el-input__inner{padding-right:25px;border-radius:3px}.el-pagination button{border:none;padding:0 6px;background:transparent}.el-pagination button:focus{outline:none}.el-pagination button:hover{color:#42d885}.el-pagination button:disabled{color:#c0c4cc;background-color:#fff;cursor:not-allowed}.el-pagination .btn-next,.el-pagination .btn-prev{background:50% no-repeat;background-size:16px;background-color:#fff;cursor:pointer;margin:0;color:#303133}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700}.el-pagination .btn-prev{padding-right:12px}.el-pagination .btn-next{padding-left:12px}.el-pagination .el-pager li.disabled{color:#c0c4cc;cursor:not-allowed}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li,.el-pagination--small .el-pager li.btn-quicknext,.el-pagination--small .el-pager li.btn-quickprev,.el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:12px;line-height:22px;height:22px;min-width:22px}.el-pagination--small .arrow.disabled{visibility:hidden}.el-pagination--small .more:before,.el-pagination--small li.more:before{line-height:24px}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){height:22px;line-height:22px}.el-pagination--small .el-pagination__editor,.el-pagination--small .el-pagination__editor.el-input .el-input__inner{height:22px}.el-pagination__sizes{margin:0 10px 0 0;font-weight:400;color:#606266}.el-pagination__sizes .el-input .el-input__inner{font-size:13px;padding-left:8px}.el-pagination__sizes .el-input .el-input__inner:hover{border-color:#42d885}.el-pagination__total{margin-right:10px;font-weight:400;color:#606266}.el-pagination__jump{margin-left:24px;font-weight:400;color:#606266}.el-pagination__jump .el-input__inner{padding:0 3px}.el-pagination__rightwrapper{float:right}.el-pagination__editor{line-height:18px;padding:0 2px;height:28px;text-align:center;margin:0 2px;box-sizing:border-box;border-radius:3px}.el-pagination__editor.el-input{width:50px}.el-pagination__editor.el-input .el-input__inner{height:28px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 5px;background-color:#f4f4f5;color:#606266;min-width:30px;border-radius:2px}.el-pagination.is-background .btn-next.disabled,.el-pagination.is-background .btn-prev.disabled,.el-pagination.is-background .el-pager li.disabled{color:#c0c4cc}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev{padding:0}.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev:disabled{color:#c0c4cc}.el-pagination.is-background .el-pager li:not(.disabled):hover{color:#42d885}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#42d885;color:#fff}.el-pagination.is-background.el-pagination--small .btn-next,.el-pagination.is-background.el-pagination--small .btn-prev,.el-pagination.is-background.el-pagination--small .el-pager li{margin:0 3px;min-width:22px}.el-pager{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;list-style:none;display:inline-block;vertical-align:top;font-size:0;padding:0;margin:0}.el-pager .more:before{line-height:30px}.el-pager li{padding:0 4px;background:#fff;vertical-align:top;display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;cursor:pointer;box-sizing:border-box;text-align:center;margin:0}.el-pager li.btn-quicknext,.el-pager li.btn-quickprev{line-height:28px;color:#303133}.el-pager li.btn-quicknext.disabled,.el-pager li.btn-quickprev.disabled{color:#c0c4cc}.el-pager li.btn-quicknext:hover,.el-pager li.btn-quickprev:hover{cursor:pointer}.el-pager li.active+li{border-left:0}.el-pager li:hover{color:#42d885}.el-pager li.active{color:#42d885;cursor:default}.el-dialog{position:relative;margin:0 auto 50px;background:#fff;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.3);box-sizing:border-box;width:50%}.el-dialog.is-fullscreen{width:100%;margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog__header{padding:20px;padding-bottom:10px}.el-dialog__headerbtn{position:absolute;top:20px;right:20px;padding:0;background:transparent;border:none;outline:none;cursor:pointer;font-size:16px}.el-dialog__headerbtn .el-dialog__close{color:#909399}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:#42d885}.el-dialog__title{line-height:24px;font-size:18px;color:#303133}.el-dialog__body{padding:30px 20px;color:#606266;font-size:14px;word-break:break-all}.el-dialog__footer{padding:20px;padding-top:10px;text-align:right;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px 25px 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.dialog-fade-enter-active{animation:dialog-fade-in .3s}.dialog-fade-leave-active{animation:dialog-fade-out .3s}@keyframes dialog-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes dialog-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}.el-autocomplete{position:relative;display:inline-block}.el-autocomplete-suggestion{margin:5px 0;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:4px;border:1px solid #e4e7ed;box-sizing:border-box;background-color:#fff}.el-autocomplete-suggestion__wrap{max-height:280px;padding:10px 0;box-sizing:border-box}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{padding:0 20px;margin:0;line-height:34px;cursor:pointer;color:#606266;font-size:14px;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:#f5f7fa}.el-autocomplete-suggestion li.divider{margin-top:6px;border-top:1px solid #000}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{text-align:center;height:100px;line-height:100px;font-size:20px;color:#999}.el-autocomplete-suggestion.is-loading li:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:#fff}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}.el-dropdown{display:inline-block;position:relative;color:#606266;font-size:14px}.el-dropdown .el-button-group{display:block}.el-dropdown .el-button-group .el-button{float:none}.el-dropdown .el-dropdown__caret-button{padding-left:5px;padding-right:5px;position:relative;border-left:none}.el-dropdown .el-dropdown__caret-button:before{content:"";position:absolute;display:block;width:1px;top:5px;bottom:5px;left:0;background:hsla(0,0%,100%,.5)}.el-dropdown .el-dropdown__caret-button.el-button--default:before{background:rgba(220,223,230,.5)}.el-dropdown .el-dropdown__caret-button:hover:before{top:0;bottom:0}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{padding-left:0}.el-dropdown__icon{font-size:12px;margin:0 3px}.el-dropdown .el-dropdown-selfdefine:focus:active,.el-dropdown .el-dropdown-selfdefine:focus:not(.focusing){outline-width:0}.el-dropdown-menu{position:absolute;top:0;left:0;z-index:10;padding:10px 0;margin:5px 0;background-color:#fff;border:1px solid #ebeef5;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-dropdown-menu__item{list-style:none;line-height:36px;padding:0 20px;margin:0;font-size:14px;color:#606266;cursor:pointer;outline:none}.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:#ecfbf3;color:#68e09d}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{position:relative;margin-top:6px;border-top:1px solid #ebeef5}.el-dropdown-menu__item--divided:before{content:"";height:6px;display:block;margin:0 -20px;background-color:#fff}.el-dropdown-menu__item.is-disabled{cursor:default;color:#bbb;pointer-events:none}.el-dropdown-menu--medium{padding:6px 0}.el-dropdown-menu--medium .el-dropdown-menu__item{line-height:30px;padding:0 17px;font-size:14px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:6px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:6px;margin:0 -17px}.el-dropdown-menu--small{padding:6px 0}.el-dropdown-menu--small .el-dropdown-menu__item{line-height:27px;padding:0 15px;font-size:13px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:4px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:4px;margin:0 -15px}.el-dropdown-menu--mini{padding:3px 0}.el-dropdown-menu--mini .el-dropdown-menu__item{line-height:24px;padding:0 10px;font-size:12px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:3px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:3px;margin:0 -10px}.el-menu{border-right:1px solid #e6e6e6;list-style:none;position:relative;margin:0;padding-left:0;background-color:#fff}.el-menu:after,.el-menu:before{display:table;content:""}.el-menu:after{clear:both}.el-menu.el-menu--horizontal{border-bottom:1px solid #e6e6e6}.el-menu--horizontal{border-right:none}.el-menu--horizontal>.el-menu-item{float:left;height:60px;line-height:60px;margin:0;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus,.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover{background-color:#fff}.el-menu--horizontal>.el-submenu{float:left}.el-menu--horizontal>.el-submenu:focus,.el-menu--horizontal>.el-submenu:hover{outline:none}.el-menu--horizontal>.el-submenu:focus .el-submenu__title,.el-menu--horizontal>.el-submenu:hover .el-submenu__title{color:#303133}.el-menu--horizontal>.el-submenu.is-active .el-submenu__title{border-bottom:2px solid #42d885;color:#303133}.el-menu--horizontal>.el-submenu .el-submenu__title{height:60px;line-height:60px;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-submenu .el-submenu__title:hover{background-color:#fff}.el-menu--horizontal>.el-submenu .el-submenu__icon-arrow{position:static;vertical-align:middle;margin-left:8px;margin-top:-3px}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-submenu__title{background-color:#fff;float:none;height:36px;line-height:36px;padding:0 10px;color:#909399}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-submenu.is-active>.el-submenu__title{color:#303133}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:none;color:#303133}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid #42d885;color:#303133}.el-menu--collapse{width:64px}.el-menu--collapse>.el-menu-item [class^=el-icon-],.el-menu--collapse>.el-submenu>.el-submenu__title [class^=el-icon-]{margin:0;vertical-align:middle;width:24px;text-align:center}.el-menu--collapse>.el-menu-item .el-submenu__icon-arrow,.el-menu--collapse>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item span,.el-menu--collapse>.el-submenu>.el-submenu__title span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-submenu{min-width:200px}.el-menu--collapse .el-submenu{position:relative}.el-menu--collapse .el-submenu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;z-index:10;border:1px solid #e4e7ed;border-radius:2px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--collapse .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{transform:none}.el-menu--popup{z-index:100;min-width:200px;border:none;padding:5px 0;border-radius:2px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--popup-bottom-start{margin-top:5px}.el-menu--popup-right-start{margin-left:5px;margin-right:5px}.el-menu-item{height:56px;line-height:56px;font-size:14px;color:#303133;padding:0 20px;list-style:none;cursor:pointer;position:relative;transition:border-color .3s,background-color .3s,color .3s;box-sizing:border-box;white-space:nowrap}.el-menu-item *{vertical-align:middle}.el-menu-item i{color:#909399}.el-menu-item:focus,.el-menu-item:hover{outline:none;background-color:#ecfbf3}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:none!important}.el-menu-item [class^=el-icon-]{margin-right:5px;width:24px;text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:#42d885}.el-menu-item.is-active i{color:inherit}.el-submenu{list-style:none;margin:0;padding-left:0}.el-submenu__title{height:56px;line-height:56px;font-size:14px;color:#303133;padding:0 20px;list-style:none;cursor:pointer;position:relative;transition:border-color .3s,background-color .3s,color .3s;box-sizing:border-box;white-space:nowrap}.el-submenu__title *{vertical-align:middle}.el-submenu__title i{color:#909399}.el-submenu__title:focus,.el-submenu__title:hover{outline:none;background-color:#ecfbf3}.el-submenu__title.is-disabled{opacity:.25;cursor:not-allowed;background:none!important}.el-submenu__title:hover{background-color:#ecfbf3}.el-submenu .el-menu{border:none}.el-submenu .el-menu-item{height:50px;line-height:50px;padding:0 45px;min-width:200px}.el-submenu__icon-arrow{position:absolute;top:50%;right:20px;margin-top:-7px;transition:transform .3s;font-size:12px}.el-submenu.is-active .el-submenu__title{border-bottom-color:#42d885}.el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{transform:rotate(180deg)}.el-submenu.is-disabled .el-menu-item,.el-submenu.is-disabled .el-submenu__title{opacity:.25;cursor:not-allowed;background:none!important}.el-submenu [class^=el-icon-]{vertical-align:middle;margin-right:5px;width:24px;text-align:center;font-size:18px}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px 20px;line-height:normal;font-size:12px;color:#909399}.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow{transition:.2s;opacity:0}.el-radio-group{display:inline-block;line-height:1;vertical-align:middle;font-size:0}.el-radio-button,.el-radio-button__inner{position:relative;display:inline-block;outline:none}.el-radio-button__inner{line-height:1;white-space:nowrap;vertical-align:middle;background:#fff;border:1px solid #dcdfe6;font-weight:500;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;box-sizing:border-box;margin:0;cursor:pointer;transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-radio-button__inner.is-round{padding:12px 20px}.el-radio-button__inner:hover{color:#42d885}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #dcdfe6;border-radius:4px 0 0 4px;box-shadow:none!important}.el-radio-button__orig-radio{opacity:0;outline:none;position:absolute;z-index:-1}.el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#fff;background-color:#42d885;border-color:#42d885;box-shadow:-1px 0 0 0 #42d885}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#f2f6fc}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){box-shadow:0 0 2px 2px #42d885}.el-switch{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;position:relative;font-size:14px;line-height:20px;height:20px;vertical-align:middle}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{transition:.2s;height:20px;display:inline-block;font-size:14px;font-weight:500;cursor:pointer;vertical-align:middle;color:#303133}.el-switch__label.is-active{color:#42d885}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__core{margin:0;display:inline-block;position:relative;width:40px;height:20px;border:1px solid #dcdfe6;outline:none;border-radius:10px;box-sizing:border-box;background:#dcdfe6;cursor:pointer;transition:border-color .3s,background-color .3s;vertical-align:middle}.el-switch__core:after{content:"";position:absolute;top:1px;left:1px;border-radius:100%;transition:all .3s;width:16px;height:16px;background-color:#fff}.el-switch.is-checked .el-switch__core{border-color:#42d885;background-color:#42d885}.el-switch.is-checked .el-switch__core:after{left:100%;margin-left:-17px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter,.el-switch .label-fade-leave-active{opacity:0}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #e4e7ed;border-radius:4px;background-color:#fff;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-sizing:border-box;margin:5px 0}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#42d885;background-color:#fff}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#f5f7fa}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected:after{position:absolute;right:20px;font-family:element-icons;content:"\E6DA";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;box-sizing:border-box}.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#fff}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#f5f7fa}.el-select-dropdown__item.selected{color:#42d885;font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type):after{content:"";position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#e4e7ed}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{display:inline-block;position:relative}.el-select .el-select__tags>span{display:contents}.el-select:hover .el-input__inner{border-color:#c0c4cc}.el-select .el-input__inner{cursor:pointer;padding-right:35px}.el-select .el-input__inner:focus{border-color:#42d885}.el-select .el-input .el-select__caret{color:#c0c4cc;font-size:14px;transition:transform .3s;transform:rotate(180deg);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{transform:rotate(0deg)}.el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;transform:rotate(180deg);border-radius:100%;color:#c0c4cc;transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-select .el-input .el-select__caret.is-show-close:hover{color:#909399}.el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__inner:hover{border-color:#e4e7ed}.el-select .el-input.is-focus .el-input__inner{border-color:#42d885}.el-select>.el-input{display:block}.el-select__input{border:none;outline:none;padding:0;margin-left:15px;color:#666;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-mini{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#c0c4cc;line-height:18px;font-size:14px}.el-select__close:hover{color:#909399}.el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;transform:translateY(-50%);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-select .el-tag__close{margin-top:-2px}.el-select .el-tag{box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:#f0f2f5}.el-select .el-tag__close.el-icon-close{background-color:#c0c4cc;right:-7px;top:0;color:#fff}.el-select .el-tag__close.el-icon-close:hover{background-color:#909399}.el-select .el-tag__close.el-icon-close:before{display:block;transform:translateY(.5px)}.el-table{position:relative;overflow:hidden;box-sizing:border-box;-ms-flex:1;flex:1;width:100%;max-width:100%;background-color:#fff;font-size:14px;color:#606266}.el-table__empty-block{min-height:60px;text-align:center;width:100%;height:100%;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.el-table__empty-text{line-height:60px;width:50%;color:#909399}.el-table__expand-column .cell{padding:0;text-align:center}.el-table__expand-icon{position:relative;cursor:pointer;color:#666;font-size:12px;transition:transform .2s ease-in-out;height:20px}.el-table__expand-icon--expanded{transform:rotate(90deg)}.el-table__expand-icon>.el-icon{position:absolute;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.el-table__expanded-cell{background-color:#fff}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit td.gutter,.el-table--fit th.gutter{border-right-width:1px}.el-table--scrollable-x .el-table__body-wrapper{overflow-x:auto}.el-table--scrollable-y .el-table__body-wrapper{overflow-y:auto}.el-table thead{color:#909399;font-weight:500}.el-table thead.is-group th{background:#f5f7fa}.el-table td,.el-table th{padding:12px 0;min-width:0;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left}.el-table td.is-center,.el-table th.is-center{text-align:center}.el-table td.is-right,.el-table th.is-right{text-align:right}.el-table td.gutter,.el-table th.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table td.is-hidden>*,.el-table th.is-hidden>*{visibility:hidden}.el-table--medium td,.el-table--medium th{padding:10px 0}.el-table--small{font-size:12px}.el-table--small td,.el-table--small th{padding:8px 0}.el-table--mini{font-size:12px}.el-table--mini td,.el-table--mini th{padding:6px 0}.el-table tr{background-color:#fff}.el-table tr input[type=checkbox]{margin:0}.el-table td,.el-table th.is-leaf{border-bottom:1px solid #ebeef5}.el-table th.is-sortable{cursor:pointer}.el-table th{white-space:nowrap;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff}.el-table th div{padding-left:10px;padding-right:10px;line-height:40px;overflow:hidden;white-space:nowrap}.el-table th>.cell,.el-table th div{display:inline-block;box-sizing:border-box;text-overflow:ellipsis}.el-table th>.cell{position:relative;word-wrap:normal;vertical-align:middle;width:100%}.el-table th>.cell.highlight{color:#42d885}.el-table th.required>div:before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td div{box-sizing:border-box}.el-table td.gutter{width:0}.el-table .cell{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;line-height:23px;padding-left:10px;padding-right:10px}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--border,.el-table--group{border:1px solid #ebeef5}.el-table--border:after,.el-table--group:after,.el-table:before{content:"";position:absolute;background-color:#ebeef5;z-index:1}.el-table--border:after,.el-table--group:after{top:0;right:0;width:1px;height:100%}.el-table:before{left:0;bottom:0;width:100%;height:1px}.el-table--border{border-right:none;border-bottom:none}.el-table--border.el-loading-parent--relative{border-color:transparent}.el-table--border td,.el-table--border th{border-right:1px solid #ebeef5}.el-table--border td:first-child .cell,.el-table--border th:first-child .cell{padding-left:10px}.el-table--border th.gutter:last-of-type{border-bottom:1px solid #ebeef5;border-bottom-width:1px}.el-table--border th{border-bottom:1px solid #ebeef5}.el-table--hidden{visibility:hidden}.el-table__fixed,.el-table__fixed-right{position:absolute;top:0;left:0;overflow-x:hidden;overflow-y:hidden;box-shadow:0 0 10px rgba(0,0,0,.12)}.el-table__fixed-right:before,.el-table__fixed:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#ebeef5;z-index:4}.el-table__fixed-right-patch{position:absolute;top:-1px;right:0;background-color:#fff;border-bottom:1px solid #ebeef5}.el-table__fixed-right{top:0;left:auto;right:0}.el-table__fixed-right .el-table__fixed-body-wrapper,.el-table__fixed-right .el-table__fixed-footer-wrapper,.el-table__fixed-right .el-table__fixed-header-wrapper{left:auto;right:0}.el-table__fixed-header-wrapper{position:absolute;left:0;top:0;z-index:3}.el-table__fixed-footer-wrapper{position:absolute;left:0;bottom:0;z-index:3}.el-table__fixed-footer-wrapper tbody td{border-top:1px solid #ebeef5;background-color:#f5f7fa;color:#606266}.el-table__fixed-body-wrapper{position:absolute;left:0;top:37px;overflow:hidden;z-index:3}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__footer-wrapper{margin-top:-1px}.el-table__footer-wrapper td{border-top:1px solid #ebeef5}.el-table__body,.el-table__footer,.el-table__header{table-layout:fixed;border-collapse:separate}.el-table__footer-wrapper,.el-table__header-wrapper{overflow:hidden}.el-table__footer-wrapper tbody td,.el-table__header-wrapper tbody td{background-color:#f5f7fa;color:#606266}.el-table__body-wrapper{overflow:hidden;position:relative}.el-table__body-wrapper.is-scrolling-left~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed-right,.el-table__body-wrapper.is-scrolling-right~.el-table__fixed-right{box-shadow:none}.el-table__body-wrapper .el-table--border.is-scrolling-right~.el-table__fixed-right{border-left:1px solid #ebeef5}.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{border-right:1px solid #ebeef5}.el-table .caret-wrapper{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;height:34px;width:24px;vertical-align:middle;cursor:pointer;overflow:initial;position:relative}.el-table .sort-caret{width:0;height:0;border:5px solid transparent;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:#c0c4cc;top:5px}.el-table .sort-caret.descending{border-top-color:#c0c4cc;bottom:7px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#42d885}.el-table .descending .sort-caret.descending{border-top-color:#42d885}.el-table .hidden-columns{visibility:hidden;position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td{background:#fafafa}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td{background-color:#ecfbf3}.el-table__body tr.hover-row.current-row>td,.el-table__body tr.hover-row.el-table__row--striped.current-row>td,.el-table__body tr.hover-row.el-table__row--striped>td,.el-table__body tr.hover-row>td{background-color:#f5f7fa}.el-table__body tr.current-row>td{background-color:#ecfbf3}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:1px solid #ebeef5;z-index:10}.el-table__column-filter-trigger{display:inline-block;line-height:34px;cursor:pointer}.el-table__column-filter-trigger i{color:#909399;font-size:12px;transform:scale(.75)}.el-table--enable-row-transition .el-table__body td{transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td{background-color:#f5f7fa}.el-table--fluid-height .el-table__fixed,.el-table--fluid-height .el-table__fixed-right{bottom:0;overflow:hidden}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:20px;line-height:20px;height:20px;text-align:center;margin-right:3px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:1px solid #ebeef5;border-radius:2px;background-color:#fff;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-sizing:border-box;margin:2px 0}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:14px}.el-table-filter__list-item:hover{background-color:#ecfbf3;color:#68e09d}.el-table-filter__list-item.is-active{background-color:#42d885;color:#fff}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid #ebeef5;padding:8px}.el-table-filter__bottom button{background:transparent;border:none;color:#606266;cursor:pointer;font-size:13px;padding:0 3px}.el-table-filter__bottom button:hover{color:#42d885}.el-table-filter__bottom button:focus{outline:none}.el-table-filter__bottom button.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:block;margin-right:5px;margin-bottom:8px;margin-left:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-date-table{font-size:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover div{background-color:#f2f6fc}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:#606266}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table.is-week-mode .el-date-table__row.current div{background-color:#f2f6fc}.el-date-table td{width:32px;height:30px;padding:4px 0;box-sizing:border-box;text-align:center;cursor:pointer;position:relative}.el-date-table td div{height:30px;padding:3px 0;box-sizing:border-box}.el-date-table td span{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;transform:translateX(-50%);border-radius:50%}.el-date-table td.next-month,.el-date-table td.prev-month{color:#c0c4cc}.el-date-table td.today{position:relative}.el-date-table td.today span{color:#42d885;font-weight:700}.el-date-table td.today.end-date span,.el-date-table td.today.start-date span{color:#fff}.el-date-table td.available:hover{color:#42d885}.el-date-table td.in-range div,.el-date-table td.in-range div:hover{background-color:#f2f6fc}.el-date-table td.current:not(.disabled) span{color:#fff;background-color:#42d885}.el-date-table td.end-date div,.el-date-table td.start-date div{color:#fff}.el-date-table td.end-date span,.el-date-table td.start-date span{background-color:#42d885}.el-date-table td.start-date div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table td.end-date div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td.disabled div{background-color:#f5f7fa;opacity:1;cursor:not-allowed;color:#c0c4cc}.el-date-table td.selected div{margin-left:5px;margin-right:5px;background-color:#f2f6fc;border-radius:15px}.el-date-table td.selected div:hover{background-color:#f2f6fc}.el-date-table td.selected span{background-color:#42d885;color:#fff;border-radius:15px}.el-date-table td.week{font-size:80%;color:#606266}.el-date-table th{padding:5px;color:#606266;font-weight:400;border-bottom:1px solid #ebeef5}.el-month-table{font-size:12px;margin:-1px;border-collapse:collapse}.el-month-table td{text-align:center;padding:8px 0;cursor:pointer}.el-month-table td div{height:48px;padding:6px 0;box-sizing:border-box}.el-month-table td.today .cell{color:#42d885;font-weight:700}.el-month-table td.today.end-date .cell,.el-month-table td.today.start-date .cell{color:#fff}.el-month-table td.disabled .cell{background-color:#f5f7fa;cursor:not-allowed;color:#c0c4cc}.el-month-table td.disabled .cell:hover{color:#c0c4cc}.el-month-table td .cell{width:60px;height:36px;display:block;line-height:36px;color:#606266;margin:0 auto;border-radius:18px}.el-month-table td .cell:hover{color:#42d885}.el-month-table td.in-range div,.el-month-table td.in-range div:hover{background-color:#f2f6fc}.el-month-table td.end-date div,.el-month-table td.start-date div{color:#fff}.el-month-table td.end-date .cell,.el-month-table td.start-date .cell{color:#fff;background-color:#42d885}.el-month-table td.start-date div{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-month-table td.end-date div{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-month-table td.current:not(.disabled) .cell{color:#42d885}.el-year-table{font-size:12px;margin:-1px;border-collapse:collapse}.el-year-table .el-icon{color:#303133}.el-year-table td{text-align:center;padding:20px 3px;cursor:pointer}.el-year-table td.today .cell{color:#42d885;font-weight:700}.el-year-table td.disabled .cell{background-color:#f5f7fa;cursor:not-allowed;color:#c0c4cc}.el-year-table td.disabled .cell:hover{color:#c0c4cc}.el-year-table td .cell{width:48px;height:32px;display:block;line-height:32px;color:#606266;margin:0 auto}.el-year-table td .cell:hover,.el-year-table td.current:not(.disabled) .cell{color:#42d885}.el-date-range-picker{width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{position:relative;text-align:center;height:28px}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__content{float:left;width:50%;box-sizing:border-box;margin:0;padding:16px}.el-date-range-picker__content.is-left{border-right:1px solid #e4e4e4}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;box-sizing:border-box}.el-date-range-picker__time-header>.el-icon-arrow-right{font-size:20px;vertical-align:middle;display:table-cell;color:#303133}.el-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-range-picker__time-picker-wrap .el-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:#fff}.el-date-picker{width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;box-sizing:border-box}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:1px solid #ebeef5}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#606266}.el-date-picker__header-label.active,.el-date-picker__header-label:hover{color:#42d885}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.selected:not(.disabled){color:#42d885;font-weight:700}.time-select-item.disabled{color:#e4e7ed;cursor:not-allowed}.time-select-item:hover{background-color:#f5f7fa;font-weight:700;cursor:pointer}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#c0c4cc;float:left;line-height:32px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:none;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::-ms-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::placeholder{color:#c0c4cc}.el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#c0c4cc;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor.is-active,.el-range-editor.is-active:hover{border-color:#42d885}.el-range-editor--medium.el-input__inner{height:36px}.el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.el-range-editor--medium .el-range-input{font-size:14px}.el-range-editor--medium .el-range__close-icon,.el-range-editor--medium .el-range__icon{line-height:28px}.el-range-editor--small.el-input__inner{height:32px}.el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.el-range-editor--small .el-range-input{font-size:13px}.el-range-editor--small .el-range__close-icon,.el-range-editor--small .el-range__icon{line-height:24px}.el-range-editor--mini.el-input__inner{height:28px}.el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.el-range-editor--mini .el-range-input{font-size:12px}.el-range-editor--mini .el-range__close-icon,.el-range-editor--mini .el-range__icon{line-height:20px}.el-range-editor.is-disabled{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:#e4e7ed}.el-range-editor.is-disabled input{background-color:#f5f7fa;color:#c0c4cc;cursor:not-allowed}.el-range-editor.is-disabled input::-webkit-input-placeholder{color:#c0c4cc}.el-range-editor.is-disabled input::-ms-input-placeholder{color:#c0c4cc}.el-range-editor.is-disabled input::placeholder{color:#c0c4cc}.el-range-editor.is-disabled .el-range-separator{color:#c0c4cc}.el-picker-panel{color:#606266;border:1px solid #e4e7ed;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#fff;border-radius:4px;line-height:30px;margin:5px 0}.el-picker-panel__body-wrapper:after,.el-picker-panel__body:after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#fff;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:none;cursor:pointer}.el-picker-panel__shortcut:hover{color:#42d885}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#42d885}.el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:none;font-size:12px}.el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:#303133;border:0;background:transparent;cursor:pointer;outline:none;margin-top:8px}.el-picker-panel__icon-btn:hover{color:#42d885}.el-picker-panel__icon-btn.is-disabled{color:#bbb}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;box-sizing:border-box;padding-top:6px;background-color:#fff;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__wrapper.is-arrow{box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#fff;cursor:default}.el-time-spinner__arrow{font-size:12px;color:#909399;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.el-time-spinner__arrow:hover{color:#42d885}.el-time-spinner__arrow.el-icon-arrow-up{top:10px}.el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__list{margin:0;list-style:none}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";display:block;width:100%;height:80px}.el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#606266}.el-time-spinner__item:hover:not(.disabled):not(.active){background:#f5f7fa;cursor:pointer}.el-time-spinner__item.active:not(.disabled){color:#303133;font-weight:700}.el-time-spinner__item.disabled{color:#c0c4cc;cursor:not-allowed}.el-time-panel{margin:5px 0;border:1px solid #e4e7ed;background-color:#fff;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-sizing:content-box}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content:after,.el-time-panel__content:before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #e4e7ed;border-bottom:1px solid #e4e7ed}.el-time-panel__content:after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content:before{padding-left:50%;margin-right:12%;margin-left:12%}.el-time-panel__content.has-seconds:after{left:66.66667%}.el-time-panel__content.has-seconds:before{padding-left:33.33333%}.el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:none;font-size:12px;color:#303133}.el-time-panel__btn.confirm{font-weight:800;color:#42d885}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{position:relative;text-align:center;padding:10px}.el-time-range-picker__cell{box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.el-time-range-picker__body{border-radius:2px;border:1px solid #e4e7ed}.el-popover{position:absolute;background:#fff;min-width:150px;border-radius:4px;border:1px solid #ebeef5;padding:12px;z-index:2000;color:#606266;line-height:1.4;text-align:justify;font-size:14px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);word-break:break-all}.el-popover--plain{padding:18px 20px}.el-popover__title{color:#303133;font-size:16px;line-height:1;margin-bottom:12px}.el-popover:focus,.el-popover:focus:active,.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.v-modal-enter{animation:v-modal-in .2s ease}.v-modal-leave{animation:v-modal-out .2s ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.el-popup-parent--hidden{overflow:hidden}.el-message-box{display:inline-block;width:420px;padding-bottom:10px;vertical-align:middle;background-color:#fff;border-radius:4px;border:1px solid #ebeef5;font-size:18px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.el-message-box__wrapper{position:fixed;top:0;bottom:0;left:0;right:0;text-align:center}.el-message-box__wrapper:after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box__header{position:relative;padding:15px;padding-bottom:10px}.el-message-box__title{padding-left:0;margin-bottom:0;font-size:18px;line-height:1;color:#303133}.el-message-box__headerbtn{position:absolute;top:15px;right:15px;padding:0;border:none;outline:none;background:transparent;font-size:16px;cursor:pointer}.el-message-box__headerbtn .el-message-box__close{color:#909399}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:#42d885}.el-message-box__content{position:relative;padding:10px 15px;color:#606266;font-size:14px}.el-message-box__input{padding-top:15px}.el-message-box__input input.invalid,.el-message-box__input input.invalid:focus{border-color:#ff6d6d}.el-message-box__status{position:absolute;top:50%;transform:translateY(-50%);font-size:24px!important}.el-message-box__status:before{padding-left:1px}.el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px}.el-message-box__status.el-icon-success{color:#42d885}.el-message-box__status.el-icon-info{color:#909399}.el-message-box__status.el-icon-warning{color:#f9c855}.el-message-box__status.el-icon-error{color:#ff6d6d}.el-message-box__message{margin:0}.el-message-box__message p{margin:0;line-height:24px}.el-message-box__errormsg{color:#ff6d6d;font-size:12px;min-height:18px;margin-top:2px}.el-message-box__btns{padding:5px 15px 0;text-align:right}.el-message-box__btns button:nth-child(2){margin-left:10px}.el-message-box__btns-reverse{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.el-message-box--center{padding-bottom:30px}.el-message-box--center .el-message-box__header{padding-top:30px}.el-message-box--center .el-message-box__title{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;transform:translateY(-1px)}.el-message-box--center .el-message-box__message{margin-left:0}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__content{text-align:center}.el-message-box--center .el-message-box__content{padding-left:27px;padding-right:27px}.msgbox-fade-enter-active{animation:msgbox-fade-in .3s}.msgbox-fade-leave-active{animation:msgbox-fade-out .3s}@keyframes msgbox-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes msgbox-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:after,.el-breadcrumb:before{display:table;content:""}.el-breadcrumb:after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#c0c4cc}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner.is-link,.el-breadcrumb__inner a{font-weight:700;text-decoration:none;transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner.is-link:hover,.el-breadcrumb__inner a:hover{color:#42d885;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover{font-weight:400;color:#606266;cursor:text}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.el-form--label-left .el-form-item__label{text-align:left}.el-form--label-top .el-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 10px}.el-form--inline .el-form-item{display:inline-block;margin-right:10px;vertical-align:top}.el-form--inline .el-form-item__label{float:none;display:inline-block}.el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.el-form--inline.el-form--label-top .el-form-item__content{display:block}.el-form-item{margin-bottom:22px}.el-form-item:after,.el-form-item:before{display:table;content:""}.el-form-item:after{clear:both}.el-form-item .el-form-item{margin-bottom:0}.el-form-item .el-input__validateIcon{display:none}.el-form-item--medium .el-form-item__content,.el-form-item--medium .el-form-item__label{line-height:36px}.el-form-item--small .el-form-item__content,.el-form-item--small .el-form-item__label{line-height:32px}.el-form-item--small.el-form-item{margin-bottom:18px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--mini .el-form-item__content,.el-form-item--mini .el-form-item__label{line-height:28px}.el-form-item--mini.el-form-item{margin-bottom:18px}.el-form-item--mini .el-form-item__error{padding-top:1px}.el-form-item__label-wrap{float:left}.el-form-item__label-wrap .el-form-item__label{display:inline-block;float:none}.el-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:14px;color:#606266;line-height:40px;padding:0 12px 0 0;box-sizing:border-box}.el-form-item__content{line-height:40px;position:relative;font-size:14px}.el-form-item__content:after,.el-form-item__content:before{display:table;content:""}.el-form-item__content:after{clear:both}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:#ff6d6d;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before{content:"*";color:#ff6d6d;margin-right:4px}.el-form-item.is-error .el-input__inner,.el-form-item.is-error .el-input__inner:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus{border-color:#ff6d6d}.el-form-item.is-error .el-input-group__append .el-input__inner,.el-form-item.is-error .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-error .el-input__validateIcon{color:#ff6d6d}.el-form-item--feedback .el-input__validateIcon{display:inline-block}.el-tabs__header{padding:0;position:relative;margin:0 0 15px}.el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:#42d885;z-index:1;transition:transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.el-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;transition:all .15s}.el-tabs__new-tab .el-icon-plus{transform:scale(.8)}.el-tabs__new-tab:hover{color:#42d885}.el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.el-tabs__nav-wrap:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#e4e7ed;z-index:1}.el-tabs__nav-wrap.is-scrollable{padding:0 20px;box-sizing:border-box}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:#909399}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;position:relative;transition:transform .3s;float:left;z-index:2}.el-tabs__nav.is-stretch{min-width:100%;display:-ms-flexbox;display:flex}.el-tabs__nav.is-stretch>*{-ms-flex:1;flex:1;text-align:center}.el-tabs__item{padding:0 20px;height:40px;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#303133;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:none}.el-tabs__item:focus.is-active.is-focus:not(:active){box-shadow:inset 0 0 2px 2px #42d885;border-radius:3px}.el-tabs__item .el-icon-close{border-radius:50%;text-align:center;transition:all .3s cubic-bezier(.645,.045,.355,1);margin-left:5px}.el-tabs__item .el-icon-close:before{transform:scale(.9);display:inline-block}.el-tabs__item .el-icon-close:hover{background-color:#c0c4cc;color:#fff}.el-tabs__item.is-active{color:#42d885}.el-tabs__item:hover{color:#42d885;cursor:pointer}.el-tabs__item.is-disabled{color:#c0c4cc;cursor:default}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid #e4e7ed}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid #e4e7ed;border-bottom:none;border-radius:4px 4px 0 0;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .el-icon-close{position:relative;font-size:12px;width:0;height:14px;vertical-align:middle;line-height:15px;overflow:hidden;top:-1px;right:-2px;transform-origin:100% 50%}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid #e4e7ed;transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:#fff}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close{width:14px}.el-tabs--border-card{background:#fff;border:1px solid #dcdfe6;box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:#f5f7fa;border-bottom:1px solid #e4e7ed;margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{transition:all .3s cubic-bezier(.645,.045,.355,1);border:1px solid transparent;margin-top:-1px;color:#909399}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:#42d885;background-color:#fff;border-right-color:#dcdfe6;border-left-color:#dcdfe6}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:#42d885}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:#c0c4cc}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),.el-tabs--top .el-tabs__item.is-top:nth-child(2){padding-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:last-child,.el-tabs--bottom .el-tabs__item.is-top:last-child,.el-tabs--top .el-tabs__item.is-bottom:last-child,.el-tabs--top .el-tabs__item.is-top:last-child{padding-right:0}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid #dcdfe6}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{right:auto;bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{height:100%;width:2px;bottom:auto;top:0}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{float:none}.el-tabs--left .el-tabs__item.is-left,.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-right{display:block}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left:after{left:auto;right:0}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid #e4e7ed;border-bottom:none;border-top:1px solid #e4e7ed;text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid #e4e7ed;border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid #e4e7ed;border-right-color:#fff;border-left:none;border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid #e4e7ed;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid #dfe4ed}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:transparent;border-top-color:#d1dbe5;border-bottom-color:#d1dbe5}.el-tabs--right .el-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid #e4e7ed}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid #e4e7ed;border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid #e4e7ed;border-left-color:#fff;border-right:none;border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid #e4e7ed;border-left:none}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid #dfe4ed}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:transparent;border-top-color:#d1dbe5;border-bottom-color:#d1dbe5}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{animation:slideInRight-enter .3s}.slideInRight-leave{position:absolute;left:0;right:0;animation:slideInRight-leave .3s}.slideInLeft-enter{animation:slideInLeft-enter .3s}.slideInLeft-leave{position:absolute;left:0;right:0;animation:slideInLeft-leave .3s}@keyframes slideInRight-enter{0%{opacity:0;transform-origin:0 0;transform:translateX(100%)}to{opacity:1;transform-origin:0 0;transform:translateX(0)}}@keyframes slideInRight-leave{0%{transform-origin:0 0;transform:translateX(0);opacity:1}to{transform-origin:0 0;transform:translateX(100%);opacity:0}}@keyframes slideInLeft-enter{0%{opacity:0;transform-origin:0 0;transform:translateX(-100%)}to{opacity:1;transform-origin:0 0;transform:translateX(0)}}@keyframes slideInLeft-leave{0%{transform-origin:0 0;transform:translateX(0);opacity:1}to{transform-origin:0 0;transform:translateX(-100%);opacity:0}}.el-tree{position:relative;cursor:default;background:#fff;color:#606266}.el-tree__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.el-tree__empty-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#909399}.el-tree__drop-indicator{position:absolute;left:0;right:0;height:1px;background-color:#42d885}.el-tree-node{white-space:nowrap;outline:none}.el-tree-node:focus>.el-tree-node__content{background-color:#f5f7fa}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:#42d885;color:#fff}.el-tree-node__content{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:26px;cursor:pointer}.el-tree-node__content>.el-tree-node__expand-icon{padding:6px}.el-tree-node__content>.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:#f5f7fa}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:#c0c4cc;font-size:12px;transform:rotate(0deg);transition:transform .3s ease-in-out}.el-tree-node__expand-icon.expanded{transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default}.el-tree-node__label{font-size:14px}.el-tree-node__loading-icon{margin-right:8px;font-size:14px;color:#c0c4cc}.el-tree-node>.el-tree-node__children{overflow:hidden;background-color:transparent}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:#f0fcf5}.el-alert{width:100%;padding:8px 16px;margin:0;box-sizing:border-box;border-radius:4px;position:relative;background-color:#fff;overflow:hidden;opacity:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;transition:opacity .2s}.el-alert.is-light .el-alert__closebtn{color:#c0c4cc}.el-alert.is-dark .el-alert__closebtn,.el-alert.is-dark .el-alert__description{color:#fff}.el-alert.is-center{-ms-flex-pack:center;justify-content:center}.el-alert--success.is-light{background-color:#ecfbf3;color:#42d885}.el-alert--success.is-light .el-alert__description{color:#42d885}.el-alert--success.is-dark{background-color:#42d885;color:#fff}.el-alert--info.is-light{background-color:#f4f4f5;color:#909399}.el-alert--info.is-dark{background-color:#909399;color:#fff}.el-alert--info .el-alert__description{color:#909399}.el-alert--warning.is-light{background-color:#fefaee;color:#f9c855}.el-alert--warning.is-light .el-alert__description{color:#f9c855}.el-alert--warning.is-dark{background-color:#f9c855;color:#fff}.el-alert--error.is-light{background-color:#fff0f0;color:#ff6d6d}.el-alert--error.is-light .el-alert__description{color:#ff6d6d}.el-alert--error.is-dark{background-color:#ff6d6d;color:#fff}.el-alert__content{display:table-cell;padding:0 8px}.el-alert__icon{font-size:16px;width:16px}.el-alert__icon.is-big{font-size:28px;width:28px}.el-alert__title{font-size:13px;line-height:18px}.el-alert__title.is-bold{font-weight:700}.el-alert .el-alert__description{font-size:12px;margin:5px 0 0}.el-alert__closebtn{font-size:12px;opacity:1;position:absolute;top:12px;right:15px;cursor:pointer}.el-alert__closebtn.is-customed{font-style:normal;font-size:13px;top:9px}.el-alert-fade-enter,.el-alert-fade-leave-active{opacity:0}.el-notification{display:-ms-flexbox;display:flex;width:330px;padding:14px 26px 14px 13px;border-radius:8px;box-sizing:border-box;border:1px solid #ebeef5;position:fixed;background-color:#fff;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s;overflow:hidden}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{margin-left:13px;margin-right:8px}.el-notification__title{font-weight:700;font-size:16px;color:#303133;margin:0}.el-notification__content{font-size:14px;line-height:21px;margin:6px 0 0;color:#606266;text-align:justify}.el-notification__content p{margin:0}.el-notification__icon{height:24px;width:24px;font-size:24px}.el-notification__closeBtn{position:absolute;top:18px;right:15px;cursor:pointer;color:#909399;font-size:16px}.el-notification__closeBtn:hover{color:#606266}.el-notification .el-icon-success{color:#42d885}.el-notification .el-icon-error{color:#ff6d6d}.el-notification .el-icon-info{color:#909399}.el-notification .el-icon-warning{color:#f9c855}.el-notification-fade-enter.right{right:0;transform:translateX(100%)}.el-notification-fade-enter.left{left:0;transform:translateX(-100%)}.el-notification-fade-leave-active{opacity:0}.el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.el-input-number .el-input{display:block}.el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.el-input-number__decrease,.el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#f5f7fa;color:#606266;cursor:pointer;font-size:13px}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:#42d885}.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#42d885}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #dcdfe6}.el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #dcdfe6}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:#e4e7ed;color:#e4e7ed}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:#e4e7ed;cursor:not-allowed}.el-input-number--medium{width:200px;line-height:34px}.el-input-number--medium .el-input-number__decrease,.el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.el-input-number--small{width:130px;line-height:30px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{transform:scale(.9)}.el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.el-input-number--mini{width:130px;line-height:26px}.el-input-number--mini .el-input-number__decrease,.el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.el-input-number--mini .el-input-number__decrease [class*=el-icon],.el-input-number--mini .el-input-number__increase [class*=el-icon]{transform:scale(.8)}.el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #dcdfe6}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #dcdfe6;border-radius:0 0 4px 0}.el-input-number.is-controls-right[class*=medium] [class*=decrease],.el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.el-input-number.is-controls-right[class*=mini] [class*=decrease],.el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing){outline-width:0}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow:after{content:" ";border-width:5px}.el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=top] .popper__arrow:after{bottom:1px;margin-left:-5px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=bottom] .popper__arrow:after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=right]{margin-left:12px}.el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=right] .popper__arrow:after{bottom:-5px;left:1px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=left]{margin-right:12px}.el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper[x-placement^=left] .popper__arrow:after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper.is-dark{background:#303133;color:#fff}.el-tooltip__popper.is-light{background:#fff;border:1px solid #303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow:after{border-top-color:#fff}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#303133}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow:after{border-bottom-color:#fff}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#303133}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow:after{border-left-color:#fff}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#303133}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow:after{border-right-color:#fff}.el-slider:after,.el-slider:before{display:table;content:""}.el-slider:after{clear:both}.el-slider__runway{width:100%;height:6px;margin:16px 0;background-color:#e4e7ed;border-radius:3px;position:relative;cursor:pointer;vertical-align:middle}.el-slider__runway.show-input{margin-right:160px;width:auto}.el-slider__runway.disabled{cursor:default}.el-slider__runway.disabled .el-slider__bar{background-color:#c0c4cc}.el-slider__runway.disabled .el-slider__button{border-color:#c0c4cc}.el-slider__runway.disabled .el-slider__button-wrapper.dragging,.el-slider__runway.disabled .el-slider__button-wrapper.hover,.el-slider__runway.disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.disabled .el-slider__button.dragging,.el-slider__runway.disabled .el-slider__button.hover,.el-slider__runway.disabled .el-slider__button:hover{transform:scale(1)}.el-slider__runway.disabled .el-slider__button.dragging,.el-slider__runway.disabled .el-slider__button.hover,.el-slider__runway.disabled .el-slider__button:hover{cursor:not-allowed}.el-slider__input{float:right;margin-top:3px;width:130px}.el-slider__input.el-input-number--mini{margin-top:5px}.el-slider__input.el-input-number--medium{margin-top:0}.el-slider__input.el-input-number--large{margin-top:-2px}.el-slider__bar{height:6px;background-color:#42d885;border-top-left-radius:3px;border-bottom-left-radius:3px;position:absolute}.el-slider__button-wrapper{height:36px;width:36px;position:absolute;z-index:1001;top:-15px;transform:translateX(-50%);background-color:transparent;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal}.el-slider__button-wrapper:after{content:"";height:100%}.el-slider__button-wrapper .el-tooltip,.el-slider__button-wrapper:after{display:inline-block;vertical-align:middle}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:grab}.el-slider__button-wrapper.dragging{cursor:grabbing}.el-slider__button{width:16px;height:16px;border:2px solid #42d885;background-color:#fff;border-radius:50%;transition:.2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:grab}.el-slider__button.dragging{cursor:grabbing}.el-slider__stop{position:absolute;height:6px;width:6px;border-radius:100%;background-color:#fff;transform:translateX(-50%)}.el-slider__marks{top:0;left:12px;width:18px;height:100%}.el-slider__marks-text{position:absolute;transform:translateX(-50%);font-size:14px;color:#909399;margin-top:15px}.el-slider.is-vertical{position:relative}.el-slider.is-vertical .el-slider__runway{width:6px;height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:6px;height:auto;border-radius:0 0 3px 3px}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:-15px;transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{transform:translateY(50%)}.el-slider.is-vertical.el-slider--with-input{padding-bottom:58px}.el-slider.is-vertical.el-slider--with-input .el-slider__input{overflow:visible;float:none;position:absolute;bottom:22px;width:36px;margin-top:15px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner{text-align:center;padding-left:5px;padding-right:5px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{top:32px;margin-top:-1px;border:1px solid #dcdfe6;line-height:20px;box-sizing:border-box;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease{width:18px;right:18px;border-bottom-left-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{width:19px;border-bottom-right-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase~.el-input .el-input__inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase{border-color:#c0c4cc}.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase{border-color:#42d885}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;transform:translateY(50%)}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:hsla(0,0%,100%,.9);margin:0;top:0;right:0;bottom:0;left:0;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-loading-spinner .el-loading-text{color:#42d885;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#42d885;stroke-linecap:round}.el-loading-spinner i{color:#42d885}.el-loading-fade-enter,.el-loading-fade-leave-active{opacity:0}@keyframes loading-rotate{to{transform:rotate(1turn)}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-row{position:relative;box-sizing:border-box}.el-row:after,.el-row:before{display:table;content:""}.el-row:after{clear:both}.el-row--flex{display:-ms-flexbox;display:flex}.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{-ms-flex-pack:center;justify-content:center}.el-row--flex.is-justify-end{-ms-flex-pack:end;justify-content:flex-end}.el-row--flex.is-justify-space-between{-ms-flex-pack:justify;justify-content:space-between}.el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.el-row--flex.is-align-middle{-ms-flex-align:center;align-items:center}.el-row--flex.is-align-bottom{-ms-flex-align:end;align-items:flex-end}[class*=el-col-]{float:left;box-sizing:border-box}.el-col-0{display:none;width:0}.el-col-offset-0{margin-left:0}.el-col-pull-0{position:relative;right:0}.el-col-push-0{position:relative;left:0}.el-col-1{width:4.16667%}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{position:relative;right:4.16667%}.el-col-push-1{position:relative;left:4.16667%}.el-col-2{width:8.33333%}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{position:relative;right:8.33333%}.el-col-push-2{position:relative;left:8.33333%}.el-col-3{width:12.5%}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{position:relative;right:12.5%}.el-col-push-3{position:relative;left:12.5%}.el-col-4{width:16.66667%}.el-col-offset-4{margin-left:16.66667%}.el-col-pull-4{position:relative;right:16.66667%}.el-col-push-4{position:relative;left:16.66667%}.el-col-5{width:20.83333%}.el-col-offset-5{margin-left:20.83333%}.el-col-pull-5{position:relative;right:20.83333%}.el-col-push-5{position:relative;left:20.83333%}.el-col-6{width:25%}.el-col-offset-6{margin-left:25%}.el-col-pull-6{position:relative;right:25%}.el-col-push-6{position:relative;left:25%}.el-col-7{width:29.16667%}.el-col-offset-7{margin-left:29.16667%}.el-col-pull-7{position:relative;right:29.16667%}.el-col-push-7{position:relative;left:29.16667%}.el-col-8{width:33.33333%}.el-col-offset-8{margin-left:33.33333%}.el-col-pull-8{position:relative;right:33.33333%}.el-col-push-8{position:relative;left:33.33333%}.el-col-9{width:37.5%}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{position:relative;right:37.5%}.el-col-push-9{position:relative;left:37.5%}.el-col-10{width:41.66667%}.el-col-offset-10{margin-left:41.66667%}.el-col-pull-10{position:relative;right:41.66667%}.el-col-push-10{position:relative;left:41.66667%}.el-col-11{width:45.83333%}.el-col-offset-11{margin-left:45.83333%}.el-col-pull-11{position:relative;right:45.83333%}.el-col-push-11{position:relative;left:45.83333%}.el-col-12{width:50%}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{position:relative;left:50%}.el-col-13{width:54.16667%}.el-col-offset-13{margin-left:54.16667%}.el-col-pull-13{position:relative;right:54.16667%}.el-col-push-13{position:relative;left:54.16667%}.el-col-14{width:58.33333%}.el-col-offset-14{margin-left:58.33333%}.el-col-pull-14{position:relative;right:58.33333%}.el-col-push-14{position:relative;left:58.33333%}.el-col-15{width:62.5%}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{position:relative;right:62.5%}.el-col-push-15{position:relative;left:62.5%}.el-col-16{width:66.66667%}.el-col-offset-16{margin-left:66.66667%}.el-col-pull-16{position:relative;right:66.66667%}.el-col-push-16{position:relative;left:66.66667%}.el-col-17{width:70.83333%}.el-col-offset-17{margin-left:70.83333%}.el-col-pull-17{position:relative;right:70.83333%}.el-col-push-17{position:relative;left:70.83333%}.el-col-18{width:75%}.el-col-offset-18{margin-left:75%}.el-col-pull-18{position:relative;right:75%}.el-col-push-18{position:relative;left:75%}.el-col-19{width:79.16667%}.el-col-offset-19{margin-left:79.16667%}.el-col-pull-19{position:relative;right:79.16667%}.el-col-push-19{position:relative;left:79.16667%}.el-col-20{width:83.33333%}.el-col-offset-20{margin-left:83.33333%}.el-col-pull-20{position:relative;right:83.33333%}.el-col-push-20{position:relative;left:83.33333%}.el-col-21{width:87.5%}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{position:relative;right:87.5%}.el-col-push-21{position:relative;left:87.5%}.el-col-22{width:91.66667%}.el-col-offset-22{margin-left:91.66667%}.el-col-pull-22{position:relative;right:91.66667%}.el-col-push-22{position:relative;left:91.66667%}.el-col-23{width:95.83333%}.el-col-offset-23{margin-left:95.83333%}.el-col-pull-23{position:relative;right:95.83333%}.el-col-push-23{position:relative;left:95.83333%}.el-col-24{width:100%}.el-col-offset-24{margin-left:100%}.el-col-pull-24{position:relative;right:100%}.el-col-push-24{position:relative;left:100%}@media only screen and (max-width:767px){.el-col-xs-0{display:none;width:0}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{position:relative;left:0}.el-col-xs-1{width:4.16667%}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{width:8.33333%}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{width:12.5%}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{width:16.66667%}.el-col-xs-offset-4{margin-left:16.66667%}.el-col-xs-pull-4{position:relative;right:16.66667%}.el-col-xs-push-4{position:relative;left:16.66667%}.el-col-xs-5{width:20.83333%}.el-col-xs-offset-5{margin-left:20.83333%}.el-col-xs-pull-5{position:relative;right:20.83333%}.el-col-xs-push-5{position:relative;left:20.83333%}.el-col-xs-6{width:25%}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{width:29.16667%}.el-col-xs-offset-7{margin-left:29.16667%}.el-col-xs-pull-7{position:relative;right:29.16667%}.el-col-xs-push-7{position:relative;left:29.16667%}.el-col-xs-8{width:33.33333%}.el-col-xs-offset-8{margin-left:33.33333%}.el-col-xs-pull-8{position:relative;right:33.33333%}.el-col-xs-push-8{position:relative;left:33.33333%}.el-col-xs-9{width:37.5%}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{width:41.66667%}.el-col-xs-offset-10{margin-left:41.66667%}.el-col-xs-pull-10{position:relative;right:41.66667%}.el-col-xs-push-10{position:relative;left:41.66667%}.el-col-xs-11{width:45.83333%}.el-col-xs-offset-11{margin-left:45.83333%}.el-col-xs-pull-11{position:relative;right:45.83333%}.el-col-xs-push-11{position:relative;left:45.83333%}.el-col-xs-12{width:50%}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{width:54.16667%}.el-col-xs-offset-13{margin-left:54.16667%}.el-col-xs-pull-13{position:relative;right:54.16667%}.el-col-xs-push-13{position:relative;left:54.16667%}.el-col-xs-14{width:58.33333%}.el-col-xs-offset-14{margin-left:58.33333%}.el-col-xs-pull-14{position:relative;right:58.33333%}.el-col-xs-push-14{position:relative;left:58.33333%}.el-col-xs-15{width:62.5%}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{width:66.66667%}.el-col-xs-offset-16{margin-left:66.66667%}.el-col-xs-pull-16{position:relative;right:66.66667%}.el-col-xs-push-16{position:relative;left:66.66667%}.el-col-xs-17{width:70.83333%}.el-col-xs-offset-17{margin-left:70.83333%}.el-col-xs-pull-17{position:relative;right:70.83333%}.el-col-xs-push-17{position:relative;left:70.83333%}.el-col-xs-18{width:75%}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{width:79.16667%}.el-col-xs-offset-19{margin-left:79.16667%}.el-col-xs-pull-19{position:relative;right:79.16667%}.el-col-xs-push-19{position:relative;left:79.16667%}.el-col-xs-20{width:83.33333%}.el-col-xs-offset-20{margin-left:83.33333%}.el-col-xs-pull-20{position:relative;right:83.33333%}.el-col-xs-push-20{position:relative;left:83.33333%}.el-col-xs-21{width:87.5%}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{width:91.66667%}.el-col-xs-offset-22{margin-left:91.66667%}.el-col-xs-pull-22{position:relative;right:91.66667%}.el-col-xs-push-22{position:relative;left:91.66667%}.el-col-xs-23{width:95.83333%}.el-col-xs-offset-23{margin-left:95.83333%}.el-col-xs-pull-23{position:relative;right:95.83333%}.el-col-xs-push-23{position:relative;left:95.83333%}.el-col-xs-24{width:100%}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;width:0}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{position:relative;left:0}.el-col-sm-1{width:4.16667%}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{width:8.33333%}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{width:12.5%}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{width:16.66667%}.el-col-sm-offset-4{margin-left:16.66667%}.el-col-sm-pull-4{position:relative;right:16.66667%}.el-col-sm-push-4{position:relative;left:16.66667%}.el-col-sm-5{width:20.83333%}.el-col-sm-offset-5{margin-left:20.83333%}.el-col-sm-pull-5{position:relative;right:20.83333%}.el-col-sm-push-5{position:relative;left:20.83333%}.el-col-sm-6{width:25%}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{width:29.16667%}.el-col-sm-offset-7{margin-left:29.16667%}.el-col-sm-pull-7{position:relative;right:29.16667%}.el-col-sm-push-7{position:relative;left:29.16667%}.el-col-sm-8{width:33.33333%}.el-col-sm-offset-8{margin-left:33.33333%}.el-col-sm-pull-8{position:relative;right:33.33333%}.el-col-sm-push-8{position:relative;left:33.33333%}.el-col-sm-9{width:37.5%}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{width:41.66667%}.el-col-sm-offset-10{margin-left:41.66667%}.el-col-sm-pull-10{position:relative;right:41.66667%}.el-col-sm-push-10{position:relative;left:41.66667%}.el-col-sm-11{width:45.83333%}.el-col-sm-offset-11{margin-left:45.83333%}.el-col-sm-pull-11{position:relative;right:45.83333%}.el-col-sm-push-11{position:relative;left:45.83333%}.el-col-sm-12{width:50%}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{width:54.16667%}.el-col-sm-offset-13{margin-left:54.16667%}.el-col-sm-pull-13{position:relative;right:54.16667%}.el-col-sm-push-13{position:relative;left:54.16667%}.el-col-sm-14{width:58.33333%}.el-col-sm-offset-14{margin-left:58.33333%}.el-col-sm-pull-14{position:relative;right:58.33333%}.el-col-sm-push-14{position:relative;left:58.33333%}.el-col-sm-15{width:62.5%}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{width:66.66667%}.el-col-sm-offset-16{margin-left:66.66667%}.el-col-sm-pull-16{position:relative;right:66.66667%}.el-col-sm-push-16{position:relative;left:66.66667%}.el-col-sm-17{width:70.83333%}.el-col-sm-offset-17{margin-left:70.83333%}.el-col-sm-pull-17{position:relative;right:70.83333%}.el-col-sm-push-17{position:relative;left:70.83333%}.el-col-sm-18{width:75%}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{width:79.16667%}.el-col-sm-offset-19{margin-left:79.16667%}.el-col-sm-pull-19{position:relative;right:79.16667%}.el-col-sm-push-19{position:relative;left:79.16667%}.el-col-sm-20{width:83.33333%}.el-col-sm-offset-20{margin-left:83.33333%}.el-col-sm-pull-20{position:relative;right:83.33333%}.el-col-sm-push-20{position:relative;left:83.33333%}.el-col-sm-21{width:87.5%}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{width:91.66667%}.el-col-sm-offset-22{margin-left:91.66667%}.el-col-sm-pull-22{position:relative;right:91.66667%}.el-col-sm-push-22{position:relative;left:91.66667%}.el-col-sm-23{width:95.83333%}.el-col-sm-offset-23{margin-left:95.83333%}.el-col-sm-pull-23{position:relative;right:95.83333%}.el-col-sm-push-23{position:relative;left:95.83333%}.el-col-sm-24{width:100%}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{display:none;width:0}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{position:relative;left:0}.el-col-md-1{width:4.16667%}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{width:8.33333%}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{width:12.5%}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{width:16.66667%}.el-col-md-offset-4{margin-left:16.66667%}.el-col-md-pull-4{position:relative;right:16.66667%}.el-col-md-push-4{position:relative;left:16.66667%}.el-col-md-5{width:20.83333%}.el-col-md-offset-5{margin-left:20.83333%}.el-col-md-pull-5{position:relative;right:20.83333%}.el-col-md-push-5{position:relative;left:20.83333%}.el-col-md-6{width:25%}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{width:29.16667%}.el-col-md-offset-7{margin-left:29.16667%}.el-col-md-pull-7{position:relative;right:29.16667%}.el-col-md-push-7{position:relative;left:29.16667%}.el-col-md-8{width:33.33333%}.el-col-md-offset-8{margin-left:33.33333%}.el-col-md-pull-8{position:relative;right:33.33333%}.el-col-md-push-8{position:relative;left:33.33333%}.el-col-md-9{width:37.5%}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{width:41.66667%}.el-col-md-offset-10{margin-left:41.66667%}.el-col-md-pull-10{position:relative;right:41.66667%}.el-col-md-push-10{position:relative;left:41.66667%}.el-col-md-11{width:45.83333%}.el-col-md-offset-11{margin-left:45.83333%}.el-col-md-pull-11{position:relative;right:45.83333%}.el-col-md-push-11{position:relative;left:45.83333%}.el-col-md-12{width:50%}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{width:54.16667%}.el-col-md-offset-13{margin-left:54.16667%}.el-col-md-pull-13{position:relative;right:54.16667%}.el-col-md-push-13{position:relative;left:54.16667%}.el-col-md-14{width:58.33333%}.el-col-md-offset-14{margin-left:58.33333%}.el-col-md-pull-14{position:relative;right:58.33333%}.el-col-md-push-14{position:relative;left:58.33333%}.el-col-md-15{width:62.5%}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{width:66.66667%}.el-col-md-offset-16{margin-left:66.66667%}.el-col-md-pull-16{position:relative;right:66.66667%}.el-col-md-push-16{position:relative;left:66.66667%}.el-col-md-17{width:70.83333%}.el-col-md-offset-17{margin-left:70.83333%}.el-col-md-pull-17{position:relative;right:70.83333%}.el-col-md-push-17{position:relative;left:70.83333%}.el-col-md-18{width:75%}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{width:79.16667%}.el-col-md-offset-19{margin-left:79.16667%}.el-col-md-pull-19{position:relative;right:79.16667%}.el-col-md-push-19{position:relative;left:79.16667%}.el-col-md-20{width:83.33333%}.el-col-md-offset-20{margin-left:83.33333%}.el-col-md-pull-20{position:relative;right:83.33333%}.el-col-md-push-20{position:relative;left:83.33333%}.el-col-md-21{width:87.5%}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{width:91.66667%}.el-col-md-offset-22{margin-left:91.66667%}.el-col-md-pull-22{position:relative;right:91.66667%}.el-col-md-push-22{position:relative;left:91.66667%}.el-col-md-23{width:95.83333%}.el-col-md-offset-23{margin-left:95.83333%}.el-col-md-pull-23{position:relative;right:95.83333%}.el-col-md-push-23{position:relative;left:95.83333%}.el-col-md-24{width:100%}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;width:0}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{position:relative;left:0}.el-col-lg-1{width:4.16667%}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{width:8.33333%}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{width:12.5%}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{width:16.66667%}.el-col-lg-offset-4{margin-left:16.66667%}.el-col-lg-pull-4{position:relative;right:16.66667%}.el-col-lg-push-4{position:relative;left:16.66667%}.el-col-lg-5{width:20.83333%}.el-col-lg-offset-5{margin-left:20.83333%}.el-col-lg-pull-5{position:relative;right:20.83333%}.el-col-lg-push-5{position:relative;left:20.83333%}.el-col-lg-6{width:25%}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{width:29.16667%}.el-col-lg-offset-7{margin-left:29.16667%}.el-col-lg-pull-7{position:relative;right:29.16667%}.el-col-lg-push-7{position:relative;left:29.16667%}.el-col-lg-8{width:33.33333%}.el-col-lg-offset-8{margin-left:33.33333%}.el-col-lg-pull-8{position:relative;right:33.33333%}.el-col-lg-push-8{position:relative;left:33.33333%}.el-col-lg-9{width:37.5%}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{width:41.66667%}.el-col-lg-offset-10{margin-left:41.66667%}.el-col-lg-pull-10{position:relative;right:41.66667%}.el-col-lg-push-10{position:relative;left:41.66667%}.el-col-lg-11{width:45.83333%}.el-col-lg-offset-11{margin-left:45.83333%}.el-col-lg-pull-11{position:relative;right:45.83333%}.el-col-lg-push-11{position:relative;left:45.83333%}.el-col-lg-12{width:50%}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{width:54.16667%}.el-col-lg-offset-13{margin-left:54.16667%}.el-col-lg-pull-13{position:relative;right:54.16667%}.el-col-lg-push-13{position:relative;left:54.16667%}.el-col-lg-14{width:58.33333%}.el-col-lg-offset-14{margin-left:58.33333%}.el-col-lg-pull-14{position:relative;right:58.33333%}.el-col-lg-push-14{position:relative;left:58.33333%}.el-col-lg-15{width:62.5%}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{width:66.66667%}.el-col-lg-offset-16{margin-left:66.66667%}.el-col-lg-pull-16{position:relative;right:66.66667%}.el-col-lg-push-16{position:relative;left:66.66667%}.el-col-lg-17{width:70.83333%}.el-col-lg-offset-17{margin-left:70.83333%}.el-col-lg-pull-17{position:relative;right:70.83333%}.el-col-lg-push-17{position:relative;left:70.83333%}.el-col-lg-18{width:75%}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{width:79.16667%}.el-col-lg-offset-19{margin-left:79.16667%}.el-col-lg-pull-19{position:relative;right:79.16667%}.el-col-lg-push-19{position:relative;left:79.16667%}.el-col-lg-20{width:83.33333%}.el-col-lg-offset-20{margin-left:83.33333%}.el-col-lg-pull-20{position:relative;right:83.33333%}.el-col-lg-push-20{position:relative;left:83.33333%}.el-col-lg-21{width:87.5%}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{width:91.66667%}.el-col-lg-offset-22{margin-left:91.66667%}.el-col-lg-pull-22{position:relative;right:91.66667%}.el-col-lg-push-22{position:relative;left:91.66667%}.el-col-lg-23{width:95.83333%}.el-col-lg-offset-23{margin-left:95.83333%}.el-col-lg-pull-23{position:relative;right:95.83333%}.el-col-lg-push-23{position:relative;left:95.83333%}.el-col-lg-24{width:100%}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;width:0}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{position:relative;left:0}.el-col-xl-1{width:4.16667%}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{width:8.33333%}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{width:12.5%}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{width:16.66667%}.el-col-xl-offset-4{margin-left:16.66667%}.el-col-xl-pull-4{position:relative;right:16.66667%}.el-col-xl-push-4{position:relative;left:16.66667%}.el-col-xl-5{width:20.83333%}.el-col-xl-offset-5{margin-left:20.83333%}.el-col-xl-pull-5{position:relative;right:20.83333%}.el-col-xl-push-5{position:relative;left:20.83333%}.el-col-xl-6{width:25%}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{width:29.16667%}.el-col-xl-offset-7{margin-left:29.16667%}.el-col-xl-pull-7{position:relative;right:29.16667%}.el-col-xl-push-7{position:relative;left:29.16667%}.el-col-xl-8{width:33.33333%}.el-col-xl-offset-8{margin-left:33.33333%}.el-col-xl-pull-8{position:relative;right:33.33333%}.el-col-xl-push-8{position:relative;left:33.33333%}.el-col-xl-9{width:37.5%}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{width:41.66667%}.el-col-xl-offset-10{margin-left:41.66667%}.el-col-xl-pull-10{position:relative;right:41.66667%}.el-col-xl-push-10{position:relative;left:41.66667%}.el-col-xl-11{width:45.83333%}.el-col-xl-offset-11{margin-left:45.83333%}.el-col-xl-pull-11{position:relative;right:45.83333%}.el-col-xl-push-11{position:relative;left:45.83333%}.el-col-xl-12{width:50%}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{width:54.16667%}.el-col-xl-offset-13{margin-left:54.16667%}.el-col-xl-pull-13{position:relative;right:54.16667%}.el-col-xl-push-13{position:relative;left:54.16667%}.el-col-xl-14{width:58.33333%}.el-col-xl-offset-14{margin-left:58.33333%}.el-col-xl-pull-14{position:relative;right:58.33333%}.el-col-xl-push-14{position:relative;left:58.33333%}.el-col-xl-15{width:62.5%}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{width:66.66667%}.el-col-xl-offset-16{margin-left:66.66667%}.el-col-xl-pull-16{position:relative;right:66.66667%}.el-col-xl-push-16{position:relative;left:66.66667%}.el-col-xl-17{width:70.83333%}.el-col-xl-offset-17{margin-left:70.83333%}.el-col-xl-pull-17{position:relative;right:70.83333%}.el-col-xl-push-17{position:relative;left:70.83333%}.el-col-xl-18{width:75%}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{width:79.16667%}.el-col-xl-offset-19{margin-left:79.16667%}.el-col-xl-pull-19{position:relative;right:79.16667%}.el-col-xl-push-19{position:relative;left:79.16667%}.el-col-xl-20{width:83.33333%}.el-col-xl-offset-20{margin-left:83.33333%}.el-col-xl-pull-20{position:relative;right:83.33333%}.el-col-xl-push-20{position:relative;left:83.33333%}.el-col-xl-21{width:87.5%}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{width:91.66667%}.el-col-xl-offset-22{margin-left:91.66667%}.el-col-xl-pull-22{position:relative;right:91.66667%}.el-col-xl-push-22{position:relative;left:91.66667%}.el-col-xl-23{width:95.83333%}.el-col-xl-offset-23{margin-left:95.83333%}.el-col-xl-pull-23{position:relative;right:95.83333%}.el-col-xl-push-23{position:relative;left:95.83333%}.el-col-xl-24{width:100%}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}.el-upload{display:inline-block;text-align:center;cursor:pointer;outline:none}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:#606266;margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;opacity:0;filter:alpha(opacity=0)}.el-upload--picture-card{background-color:#fbfdff;border:1px dashed #c0ccda;border-radius:6px;box-sizing:border-box;width:148px;height:148px;cursor:pointer;line-height:146px;vertical-align:top}.el-upload--picture-card i{font-size:28px;color:#8c939d}.el-upload--picture-card:hover,.el-upload:focus{border-color:#42d885;color:#42d885}.el-upload:focus .el-upload-dragger{border-color:#42d885}.el-upload-dragger{background-color:#fff;border:1px dashed #d9d9d9;border-radius:6px;box-sizing:border-box;width:360px;height:180px;text-align:center;cursor:pointer;position:relative;overflow:hidden}.el-upload-dragger .el-icon-upload{font-size:67px;color:#c0c4cc;margin:40px 0 16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:1px solid #dcdfe6;margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:#606266;font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:#42d885;font-style:normal}.el-upload-dragger:hover{border-color:#42d885}.el-upload-dragger.is-dragover{background-color:rgba(32,159,255,.06);border:2px dashed #42d885}.el-upload-list{margin:0;padding:0;list-style:none}.el-upload-list__item{transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:#606266;line-height:1.8;margin-top:5px;position:relative;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item:first-child{margin-top:10px}.el-upload-list__item .el-icon-upload-success{color:#42d885}.el-upload-list__item .el-icon-close{display:none;position:absolute;top:5px;right:5px;cursor:pointer;opacity:.75;color:#606266}.el-upload-list__item .el-icon-close:hover{opacity:1}.el-upload-list__item .el-icon-close-tip{display:none;position:absolute;top:5px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:#42d885}.el-upload-list__item:hover{background-color:#f5f7fa}.el-upload-list__item:hover .el-icon-close{display:inline-block}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:block}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:#42d885;cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon-close-tip,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip{display:none}.el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label{display:block}.el-upload-list__item-name{color:#606266;display:block;margin-right:40px;overflow:hidden;padding-left:4px;text-overflow:ellipsis;transition:color .3s;white-space:nowrap}.el-upload-list__item-name [class^=el-icon]{height:100%;margin-right:7px;color:#909399;line-height:inherit}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:#606266;display:none}.el-upload-list__item-delete:hover{color:#42d885}.el-upload-list--picture-card{margin:0;display:inline;vertical-align:top}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;box-sizing:border-box;width:148px;height:148px;margin:0 8px 8px 0;display:inline-block}.el-upload-list--picture-card .el-upload-list__item .el-icon-check,.el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon-close,.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;transform:rotate(45deg);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;text-align:center;color:#fff;opacity:0;font-size:20px;background-color:rgba(0,0,0,.5);transition:opacity .3s}.el-upload-list--picture-card .el-upload-list__item-actions:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:15px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-block}.el-upload-list--picture-card .el-progress{top:50%;left:50%;transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;box-sizing:border-box;margin-top:10px;padding:10px 10px 10px 90px;height:92px}.el-upload-list--picture .el-upload-list__item .el-icon-check,.el-upload-list--picture .el-upload-list__item .el-icon-circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{background:transparent;box-shadow:none;top:-2px;right:-12px}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name{line-height:70px;margin-top:0}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item-thumbnail{vertical-align:middle;display:inline-block;width:70px;height:70px;float:left;position:relative;z-index:1;margin-left:-80px;background-color:#fff}.el-upload-list--picture .el-upload-list__item-name{display:block;margin-top:20px}.el-upload-list--picture .el-upload-list__item-name i{font-size:70px;line-height:1;position:absolute;left:9px;top:10px}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:#13ce66;text-align:center;transform:rotate(45deg);box-shadow:0 1px 1px #ccc}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;transform:rotate(45deg);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-cover__label i{font-size:12px;margin-top:11px;transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.72);text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#fff;font-size:14px;cursor:pointer;vertical-align:middle;transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);margin-top:60px}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#fff;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:#303133}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#42d885}.el-progress.is-success .el-progress__text{color:#42d885}.el-progress.is-warning .el-progress-bar__inner{background-color:#f9c855}.el-progress.is-warning .el-progress__text{color:#f9c855}.el-progress.is-exception .el-progress-bar__inner{background-color:#ff6d6d}.el-progress.is-exception .el-progress__text{color:#ff6d6d}.el-progress-bar{padding-right:50px;display:inline-block;vertical-align:middle;width:100%;margin-right:-55px;box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:#ebeef5;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#42d885;text-align:right;border-radius:100px;line-height:1;white-space:nowrap;transition:width .6s ease}.el-progress-bar__inner:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#fff;font-size:12px;margin:0 5px}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}.el-time-spinner{width:100%;white-space:nowrap}.el-spinner{display:inline-block;vertical-align:middle}.el-spinner-inner{animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}@keyframes rotate{to{transform:rotate(1turn)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-message{min-width:380px;box-sizing:border-box;border-radius:4px;border:1px solid #ebeef5;position:fixed;left:50%;top:20px;transform:translateX(-50%);background-color:#edf2fc;transition:opacity .3s,transform .4s,top .4s;overflow:hidden;padding:15px 15px 15px 20px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.el-message.is-center{-ms-flex-pack:center;justify-content:center}.el-message.is-closable .el-message__content{padding-right:16px}.el-message p{margin:0}.el-message--info .el-message__content{color:#909399}.el-message--success{background-color:#ecfbf3;border-color:#d9f7e7}.el-message--success .el-message__content{color:#42d885}.el-message--warning{background-color:#fefaee;border-color:#fef4dd}.el-message--warning .el-message__content{color:#f9c855}.el-message--error{background-color:#fff0f0;border-color:#ffe2e2}.el-message--error .el-message__content{color:#ff6d6d}.el-message__icon{margin-right:10px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message__closeBtn{position:absolute;top:50%;right:15px;transform:translateY(-50%);cursor:pointer;color:#c0c4cc;font-size:16px}.el-message__closeBtn:focus{outline-width:0}.el-message__closeBtn:hover{color:#909399}.el-message .el-icon-success{color:#42d885}.el-message .el-icon-error{color:#ff6d6d}.el-message .el-icon-info{color:#909399}.el-message .el-icon-warning{color:#f9c855}.el-message-fade-enter,.el-message-fade-leave-active{opacity:0;transform:translate(-50%,-100%)}.el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{background-color:#ff6d6d;border-radius:10px;color:#fff;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #fff}.el-badge__content.is-fixed{position:absolute;top:0;right:10px;transform:translateY(-50%) translateX(100%)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary,.el-badge__content--success{background-color:#42d885}.el-badge__content--warning{background-color:#f9c855}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#ff6d6d}.el-card{border-radius:4px;border:1px solid #ebeef5;background-color:#fff;overflow:hidden;color:#303133;transition:.3s}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-card__header{padding:18px 20px;border-bottom:1px solid #ebeef5;box-sizing:border-box}.el-card__body{padding:20px}.el-rate{height:20px;line-height:1}.el-rate:active,.el-rate:focus{outline-width:0}.el-rate__item{font-size:0;vertical-align:middle}.el-rate__icon,.el-rate__item{display:inline-block;position:relative}.el-rate__icon{font-size:18px;margin-right:6px;color:#c0c4cc;transition:.3s}.el-rate__icon.hover{transform:scale(1.15)}.el-rate__decimal,.el-rate__icon .path2{position:absolute;left:0;top:0}.el-rate__decimal{display:inline-block;overflow:hidden}.el-rate__text{font-size:14px;vertical-align:middle}.el-steps{display:-ms-flexbox;display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:#f5f7fa}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;-ms-flex-flow:column;flex-flow:column}.el-step{position:relative;-ms-flex-negative:1;flex-shrink:1}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{-ms-flex-preferred-size:auto!important;flex-basis:auto!important;-ms-flex-negative:0;flex-shrink:0;-ms-flex-positive:0;flex-grow:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{color:#303133;border-color:#303133}.el-step__head.is-wait{color:#c0c4cc;border-color:#c0c4cc}.el-step__head.is-success{color:#42d885;border-color:#42d885}.el-step__head.is-error{color:#ff6d6d;border-color:#ff6d6d}.el-step__head.is-finish{color:#42d885;border-color:#42d885}.el-step__icon{position:relative;z-index:1;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;width:24px;height:24px;font-size:14px;box-sizing:border-box;background:#fff;transition:.15s ease-out}.el-step__icon.is-text{border-radius:50%;border:2px solid;border-color:inherit}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;font-weight:700;line-height:1;color:inherit}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{transform:translateY(1px)}.el-step__line{position:absolute;border-color:inherit;background-color:#c0c4cc}.el-step__line-inner{display:block;border-width:1px;border-style:solid;border-color:inherit;transition:.15s ease-out;box-sizing:border-box;width:0;height:0}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{font-weight:700;color:#303133}.el-step__title.is-wait{color:#c0c4cc}.el-step__title.is-success{color:#42d885}.el-step__title.is-error{color:#ff6d6d}.el-step__title.is-finish{color:#42d885}.el-step__description{padding-right:10%;margin-top:-5px;font-size:12px;line-height:20px;font-weight:400}.el-step__description.is-process{color:#303133}.el-step__description.is-wait{color:#c0c4cc}.el-step__description.is-success{color:#42d885}.el-step__description.is-error{color:#ff6d6d}.el-step__description.is-finish{color:#42d885}.el-step.is-horizontal{display:inline-block}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:-ms-flexbox;display:flex}.el-step.is-vertical .el-step__head{-ms-flex-positive:0;flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{padding-left:10px;-ms-flex-positive:1;flex-grow:1}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.el-step.is-simple .el-step__head{width:auto;font-size:0;padding-right:10px}.el-step.is-simple .el-step__icon{background:transparent;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:stretch;align-items:stretch;-ms-flex-positive:1;flex-grow:1}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;word-break:break-all}.el-step.is-simple .el-step__arrow{-ms-flex-positive:1;flex-grow:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.el-step.is-simple .el-step__arrow:after,.el-step.is-simple .el-step__arrow:before{content:"";display:inline-block;position:absolute;height:15px;width:1px;background:#c0c4cc}.el-step.is-simple .el-step__arrow:before{transform:rotate(-45deg) translateY(-4px);transform-origin:0 0}.el-step.is-simple .el-step__arrow:after{transform:rotate(45deg) translateY(4px);transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-carousel{position:relative}.el-carousel--horizontal{overflow-x:hidden}.el-carousel--vertical{overflow-y:hidden}.el-carousel__container{position:relative;height:300px}.el-carousel__arrow{border:none;outline:none;padding:0;margin:0;height:36px;width:36px;cursor:pointer;transition:.3s;border-radius:50%;background-color:rgba(31,45,61,.11);color:#fff;position:absolute;top:50%;z-index:10;transform:translateY(-50%);text-align:center;font-size:12px}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:rgba(31,45,61,.23)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{position:absolute;list-style:none;margin:0;padding:0;z-index:2}.el-carousel__indicators--horizontal{bottom:0;left:50%;transform:translateX(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:26px;text-align:center;position:static;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:#c0c4cc;opacity:.24}.el-carousel__indicators--labels{left:0;right:0;transform:none;text-align:center}.el-carousel__indicators--labels .el-carousel__button{height:auto;width:auto;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:12px 4px}.el-carousel__indicator--vertical{padding:4px 12px}.el-carousel__indicator--vertical .el-carousel__button{width:2px;height:15px}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{display:block;opacity:.48;width:30px;height:2px;background-color:#fff;border:none;outline:none;padding:0;margin:0;cursor:pointer;transition:.3s}.carousel-arrow-left-enter,.carousel-arrow-left-leave-active{transform:translateY(-50%) translateX(-10px);opacity:0}.carousel-arrow-right-enter,.carousel-arrow-right-leave-active{transform:translateY(-50%) translateX(10px);opacity:0}.el-carousel__item{position:absolute;top:0;left:0;width:100%;height:100%;display:inline-block;overflow:hidden;z-index:0}.el-carousel__item.is-active{z-index:2}.el-carousel__item--card,.el-carousel__item.is-animating{transition:transform .4s ease-in-out}.el-carousel__item--card{width:50%}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:2}.el-carousel__mask{position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;opacity:.24;transition:.2s}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:height .3s ease-in-out,padding-top .3s ease-in-out,padding-bottom .3s ease-in-out}.horizontal-collapse-transition{transition:width .3s ease-in-out,padding-left .3s ease-in-out,padding-right .3s ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;transform:translateY(-30px)}.el-opacity-transition{transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-collapse{border-top:1px solid #ebeef5;border-bottom:1px solid #ebeef5}.el-collapse-item.is-disabled .el-collapse-item__header{color:#bbb;cursor:not-allowed}.el-collapse-item__header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:48px;line-height:48px;background-color:#fff;color:#303133;cursor:pointer;border-bottom:1px solid #ebeef5;font-size:13px;font-weight:500;transition:border-bottom-color .3s;outline:none}.el-collapse-item__arrow{margin:0 8px 0 auto;transition:transform .3s;font-weight:300}.el-collapse-item__arrow.is-active{transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:#42d885}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:#fff;overflow:hidden;box-sizing:border-box;border-bottom:1px solid #ebeef5}.el-collapse-item__content{padding-bottom:25px;font-size:13px;color:#303133;line-height:1.769230769230769}.el-collapse-item:last-child{margin-bottom:-1px}.el-popper .popper__arrow,.el-popper .popper__arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;filter:drop-shadow(0 2px 12px rgba(0,0,0,.03))}.el-popper .popper__arrow:after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#ebeef5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow:after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#ebeef5}.el-popper[x-placement^=bottom] .popper__arrow:after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#ebeef5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow:after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#ebeef5}.el-popper[x-placement^=left] .popper__arrow:after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.el-tag{background-color:#ecfbf3;border:1px solid #d9f7e7;display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#42d885;border-radius:4px;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#42d885}.el-tag .el-tag__close{color:#42d885}.el-tag .el-tag__close:hover{color:#fff;background-color:#42d885}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#fff;background-color:#909399}.el-tag.el-tag--success{background-color:#ecfbf3;border-color:#d9f7e7;color:#42d885}.el-tag.el-tag--success.is-hit{border-color:#42d885}.el-tag.el-tag--success .el-tag__close{color:#42d885}.el-tag.el-tag--success .el-tag__close:hover{color:#fff;background-color:#42d885}.el-tag.el-tag--warning{background-color:#fefaee;border-color:#fef4dd;color:#f9c855}.el-tag.el-tag--warning.is-hit{border-color:#f9c855}.el-tag.el-tag--warning .el-tag__close{color:#f9c855}.el-tag.el-tag--warning .el-tag__close:hover{color:#fff;background-color:#f9c855}.el-tag.el-tag--danger{background-color:#fff0f0;border-color:#ffe2e2;color:#ff6d6d}.el-tag.el-tag--danger.is-hit{border-color:#ff6d6d}.el-tag.el-tag--danger .el-tag__close{color:#ff6d6d}.el-tag.el-tag--danger .el-tag__close:hover{color:#fff;background-color:#ff6d6d}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close:before{display:block}.el-tag--dark{background-color:#42d885;color:#fff}.el-tag--dark,.el-tag--dark.is-hit{border-color:#42d885}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#fff;background-color:#68e09d}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#fff;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#42d885;border-color:#42d885;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#42d885}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#fff;background-color:#68e09d}.el-tag--dark.el-tag--warning{background-color:#f9c855;border-color:#f9c855;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#f9c855}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#fff;background-color:#fad377}.el-tag--dark.el-tag--danger{background-color:#ff6d6d;border-color:#ff6d6d;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#ff6d6d}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#fff;background-color:#ff8a8a}.el-tag--plain{background-color:#fff;border-color:#b3efce;color:#42d885}.el-tag--plain.is-hit{border-color:#42d885}.el-tag--plain .el-tag__close{color:#42d885}.el-tag--plain .el-tag__close:hover{color:#fff;background-color:#42d885}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#fff;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#b3efce;color:#42d885}.el-tag--plain.el-tag--success.is-hit{border-color:#42d885}.el-tag--plain.el-tag--success .el-tag__close{color:#42d885}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#fff;background-color:#42d885}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#fde9bb;color:#f9c855}.el-tag--plain.el-tag--warning.is-hit{border-color:#f9c855}.el-tag--plain.el-tag--warning .el-tag__close{color:#f9c855}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#fff;background-color:#f9c855}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#ffc5c5;color:#ff6d6d}.el-tag--plain.el-tag--danger.is-hit{border-color:#ff6d6d}.el-tag--plain.el-tag--danger .el-tag__close{color:#ff6d6d}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#fff;background-color:#ff6d6d}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;transform:scale(.7)}.el-cascader{display:inline-block;position:relative;font-size:14px;line-height:40px}.el-cascader:not(.is-disabled):hover .el-input__inner{cursor:pointer;border-color:#c0c4cc}.el-cascader .el-input{cursor:pointer}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-input__inner:focus{border-color:#42d885}.el-cascader .el-input .el-icon-arrow-down{transition:transform .3s;font-size:14px}.el-cascader .el-input .el-icon-arrow-down.is-reverse{transform:rotate(180deg)}.el-cascader .el-input .el-icon-circle-close:hover{color:#909399}.el-cascader .el-input.is-focus .el-input__inner{border-color:#42d885}.el-cascader--medium{font-size:14px;line-height:36px}.el-cascader--small{font-size:13px;line-height:32px}.el-cascader--mini{font-size:12px;line-height:28px}.el-cascader.is-disabled .el-cascader__label{z-index:2;color:#c0c4cc}.el-cascader__dropdown{margin:5px 0;font-size:14px;background:#fff;border:1px solid #e4e7ed;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-cascader__tags{position:absolute;left:0;right:30px;top:50%;transform:translateY(-50%);display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;line-height:normal;text-align:left;box-sizing:border-box}.el-cascader__tags .el-tag{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;max-width:100%;margin:2px 0 2px 6px;text-overflow:ellipsis;background:#f0f2f5}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag>span{-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{-ms-flex:none;flex:none;background-color:#c0c4cc;color:#fff}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:#909399}.el-cascader__suggestion-panel{border-radius:4px}.el-cascader__suggestion-list{max-height:204px;margin:0;padding:6px 0;font-size:14px;color:#606266;text-align:center}.el-cascader__suggestion-item{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;height:34px;padding:0 15px;text-align:left;outline:none;cursor:pointer}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:#f5f7fa}.el-cascader__suggestion-item.is-checked{color:#42d885;font-weight:700}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{margin:10px 0;color:#c0c4cc}.el-cascader__search-input{-ms-flex:1;flex:1;height:24px;min-width:60px;margin:2px 0 2px 15px;padding:0;color:#606266;border:none;outline:none;box-sizing:border-box}.el-cascader__search-input::-webkit-input-placeholder{color:#c0c4cc}.el-cascader__search-input::-ms-input-placeholder{color:#c0c4cc}.el-cascader__search-input::placeholder{color:#c0c4cc}.el-color-predefine{display:-ms-flexbox;display:flex;font-size:12px;margin-top:8px;width:280px}.el-color-predefine__colors{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-color-predefine__color-selector{margin:0 0 8px 8px;width:20px;height:20px;border-radius:4px;cursor:pointer}.el-color-predefine__color-selector:nth-child(10n+1){margin-left:0}.el-color-predefine__color-selector.selected{box-shadow:0 0 3px 2px #42d885}.el-color-predefine__color-selector>div{display:-ms-flexbox;display:flex;height:100%;border-radius:3px}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{position:relative;box-sizing:border-box;width:280px;height:12px;background-color:red;padding:0 2px}.el-color-hue-slider__bar{position:relative;background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);height:100%}.el-color-hue-slider__thumb{position:absolute;cursor:pointer;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-svpanel{position:relative;width:280px;height:180px}.el-color-svpanel__black,.el-color-svpanel__white{position:absolute;top:0;left:0;right:0;bottom:0}.el-color-svpanel__white{background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.el-color-svpanel__black{background:linear-gradient(0deg,#000,transparent)}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{cursor:head;width:4px;height:4px;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;transform:translate(-2px,-2px)}.el-color-alpha-slider{position:relative;box-sizing:border-box;width:280px;height:12px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-alpha-slider__bar{position:relative;background:linear-gradient(90deg,hsla(0,0%,100%,0) 0,#fff);height:100%}.el-color-alpha-slider__thumb{position:absolute;cursor:pointer;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:linear-gradient(180deg,hsla(0,0%,100%,0) 0,#fff)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-dropdown{width:300px}.el-color-dropdown__main-wrapper{margin-bottom:6px}.el-color-dropdown__main-wrapper:after{content:"";display:table;clear:both}.el-color-dropdown__btns{margin-top:6px;text-align:right}.el-color-dropdown__value{float:left;line-height:26px;font-size:12px;color:#000;width:160px}.el-color-dropdown__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:none;font-size:12px}.el-color-dropdown__btn[disabled]{color:#ccc;cursor:not-allowed}.el-color-dropdown__btn:hover{color:#42d885;border-color:#42d885}.el-color-dropdown__link-btn{cursor:pointer;color:#42d885;text-decoration:none;padding:15px;font-size:12px}.el-color-dropdown__link-btn:hover{color:tint(#42d885,20%)}.el-color-picker{display:inline-block;position:relative;line-height:normal;height:40px}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.el-color-picker--medium{height:36px}.el-color-picker--medium .el-color-picker__trigger{height:36px;width:36px}.el-color-picker--medium .el-color-picker__mask{height:34px;width:34px}.el-color-picker--small{height:32px}.el-color-picker--small .el-color-picker__trigger{height:32px;width:32px}.el-color-picker--small .el-color-picker__mask{height:30px;width:30px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker--mini{height:28px}.el-color-picker--mini .el-color-picker__trigger{height:28px;width:28px}.el-color-picker--mini .el-color-picker__mask{height:26px;width:26px}.el-color-picker--mini .el-color-picker__empty,.el-color-picker--mini .el-color-picker__icon{transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker__mask{height:38px;width:38px;border-radius:4px;position:absolute;top:1px;left:1px;z-index:1;cursor:not-allowed;background-color:hsla(0,0%,100%,.7)}.el-color-picker__trigger{display:inline-block;box-sizing:border-box;height:40px;width:40px;padding:4px;border:1px solid #e6e6e6;border-radius:4px;font-size:0;position:relative;cursor:pointer}.el-color-picker__color{position:relative;display:block;box-sizing:border-box;border:1px solid #999;border-radius:2px;width:100%;height:100%;text-align:center}.el-color-picker__color.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-picker__color-inner{position:absolute;left:0;top:0;right:0;bottom:0}.el-color-picker__empty{color:#999}.el-color-picker__empty,.el-color-picker__icon{font-size:12px;position:absolute;top:50%;left:50%;transform:translate3d(-50%,-50%,0)}.el-color-picker__icon{display:inline-block;width:100%;color:#fff;text-align:center}.el-color-picker__panel{position:absolute;z-index:10;padding:6px;box-sizing:content-box;background-color:#fff;border:1px solid #ebeef5;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#fff;background-image:none;border:1px solid #dcdfe6;border-radius:4px;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#c0c4cc}.el-textarea__inner::-ms-input-placeholder{color:#c0c4cc}.el-textarea__inner::placeholder{color:#c0c4cc}.el-textarea__inner:hover{border-color:#c0c4cc}.el-textarea__inner:focus{outline:none;border-color:#42d885}.el-textarea .el-input__count{color:#909399;background:#fff;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#c0c4cc}.el-textarea.is-exceed .el-textarea__inner{border-color:#ff6d6d}.el-textarea.is-exceed .el-input__count{color:#ff6d6d}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner,.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#c0c4cc;font-size:14px;cursor:pointer;transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input .el-input__count .el-input__count-inner{background:#fff;line-height:normal;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #dcdfe6;box-sizing:border-box;color:#606266;display:inline-block;font-size:inherit;height:40px;line-height:40px;outline:none;padding:0 15px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input__inner::-ms-input-placeholder{color:#c0c4cc}.el-input__inner::placeholder{color:#c0c4cc}.el-input__inner:hover{border-color:#c0c4cc}.el-input__inner:focus{outline:none;border-color:#42d885}.el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#c0c4cc;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{position:absolute;left:5px;top:0;color:#c0c4cc}.el-input__icon,.el-input__prefix{height:100%;text-align:center;transition:all .3s}.el-input__icon{width:25px;line-height:40px}.el-input__icon:after{content:"";height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__inner{outline:none;border-color:#42d885}.el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner::placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#ff6d6d}.el-input.is-exceed .el-input__suffix .el-input__count{color:#ff6d6d}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #dcdfe6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{border-left:0}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-color:#dcdfe6;color:#606266;-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:none;margin:0;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button.is-round{padding:12px 20px}.el-button:focus,.el-button:hover{color:#42d885;border-color:#c6f3da;background-color:#ecfbf3}.el-button:active{color:#3bc278;border-color:#3bc278;outline:none}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#fff;border-color:#42d885;color:#42d885}.el-button.is-plain:active{background:#fff;outline:none}.el-button.is-active,.el-button.is-plain:active{border-color:#3bc278;color:#3bc278}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#fff;border-color:#ebeef5;color:#c0c4cc}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:"";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:hsla(0,0%,100%,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#fff;background-color:#42d885;border-color:#42d885}.el-button--primary:focus,.el-button--primary:hover{background:#68e09d;border-color:#68e09d;color:#fff}.el-button--primary:active{outline:none}.el-button--primary.is-active,.el-button--primary:active{background:#3bc278;border-color:#3bc278;color:#fff}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#fff;background-color:#a1ecc2;border-color:#a1ecc2}.el-button--primary.is-plain{color:#42d885;background:#ecfbf3;border-color:#b3efce}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#42d885;border-color:#42d885;color:#fff}.el-button--primary.is-plain:active{background:#3bc278;border-color:#3bc278;color:#fff;outline:none}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8ee8b6;background-color:#ecfbf3;border-color:#d9f7e7}.el-button--success{color:#fff;background-color:#42d885;border-color:#42d885}.el-button--success:focus,.el-button--success:hover{background:#68e09d;border-color:#68e09d;color:#fff}.el-button--success:active{outline:none}.el-button--success.is-active,.el-button--success:active{background:#3bc278;border-color:#3bc278;color:#fff}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#fff;background-color:#a1ecc2;border-color:#a1ecc2}.el-button--success.is-plain{color:#42d885;background:#ecfbf3;border-color:#b3efce}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#42d885;border-color:#42d885;color:#fff}.el-button--success.is-plain:active{background:#3bc278;border-color:#3bc278;color:#fff;outline:none}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#8ee8b6;background-color:#ecfbf3;border-color:#d9f7e7}.el-button--warning{color:#fff;background-color:#f9c855;border-color:#f9c855}.el-button--warning:focus,.el-button--warning:hover{background:#fad377;border-color:#fad377;color:#fff}.el-button--warning:active{outline:none}.el-button--warning.is-active,.el-button--warning:active{background:#e0b44d;border-color:#e0b44d;color:#fff}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#fff;background-color:#fce4aa;border-color:#fce4aa}.el-button--warning.is-plain{color:#f9c855;background:#fefaee;border-color:#fde9bb}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#f9c855;border-color:#f9c855;color:#fff}.el-button--warning.is-plain:active{background:#e0b44d;border-color:#e0b44d;color:#fff;outline:none}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#fbde99;background-color:#fefaee;border-color:#fef4dd}.el-button--danger{color:#fff;background-color:#ff6d6d;border-color:#ff6d6d}.el-button--danger:focus,.el-button--danger:hover{background:#ff8a8a;border-color:#ff8a8a;color:#fff}.el-button--danger:active{outline:none}.el-button--danger.is-active,.el-button--danger:active{background:#e66262;border-color:#e66262;color:#fff}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#fff;background-color:#ffb6b6;border-color:#ffb6b6}.el-button--danger.is-plain{color:#ff6d6d;background:#fff0f0;border-color:#ffc5c5}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#ff6d6d;border-color:#ff6d6d;color:#fff}.el-button--danger.is-plain:active{background:#e66262;border-color:#e66262;color:#fff;outline:none}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#ffa7a7;background-color:#fff0f0;border-color:#ffe2e2}.el-button--info{color:#fff;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#fff}.el-button--info:active{outline:none}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#fff}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#fff;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#fff}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#fff;outline:none}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini{padding:7px 15px;font-size:12px;border-radius:3px}.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#42d885;background:transparent;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#68e09d;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3bc278;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover,.el-button--text:active{border-color:transparent}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group:after,.el-button-group:before{display:table;content:""}.el-button-group:after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:4px;border-bottom-left-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:active,.el-button-group>.el-button:focus,.el-button-group>.el-button:hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--primary:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--primary:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--success:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--success:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--warning:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--warning:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--danger:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--danger:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--info:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--info:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-transfer{font-size:14px}.el-transfer__buttons{display:inline-block;vertical-align:middle;padding:0 30px}.el-transfer__button{display:block;margin:0 auto;padding:10px;border-radius:50%;color:#fff;background-color:#42d885;font-size:0}.el-transfer__button.is-with-texts{border-radius:4px}.el-transfer__button.is-disabled,.el-transfer__button.is-disabled:hover{border:1px solid #dcdfe6;background-color:#f5f7fa;color:#c0c4cc}.el-transfer__button:first-child{margin-bottom:10px}.el-transfer__button:nth-child(2){margin:0}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button [class*=el-icon-]+span{margin-left:0}.el-transfer-panel{border:1px solid #ebeef5;border-radius:4px;overflow:hidden;background:#fff;display:inline-block;vertical-align:middle;width:200px;max-height:100%;box-sizing:border-box;position:relative}.el-transfer-panel__body{height:246px}.el-transfer-panel__body.is-with-footer{padding-bottom:40px}.el-transfer-panel__list{margin:0;padding:6px 0;list-style:none;height:246px;overflow:auto;box-sizing:border-box}.el-transfer-panel__list.is-filterable{height:194px;padding-top:0}.el-transfer-panel__item{height:30px;line-height:30px;padding-left:15px;display:block}.el-transfer-panel__item+.el-transfer-panel__item{margin-left:0}.el-transfer-panel__item.el-checkbox{color:#606266}.el-transfer-panel__item:hover{color:#42d885}.el-transfer-panel__item.el-checkbox .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;box-sizing:border-box;padding-left:24px;line-height:30px}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;margin:15px;box-sizing:border-box;display:block;width:auto}.el-transfer-panel__filter .el-input__inner{height:32px;width:100%;font-size:12px;display:inline-block;box-sizing:border-box;border-radius:16px;padding-right:10px;padding-left:30px}.el-transfer-panel__filter .el-input__icon{margin-left:5px}.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-transfer-panel .el-transfer-panel__header{height:40px;line-height:40px;background:#f5f7fa;margin:0;padding-left:15px;border-bottom:1px solid #ebeef5;box-sizing:border-box;color:#000}.el-transfer-panel .el-transfer-panel__header .el-checkbox{display:block;line-height:40px}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{font-size:16px;color:#303133;font-weight:400}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{position:absolute;right:15px;color:#909399;font-size:12px;font-weight:400}.el-transfer-panel .el-transfer-panel__footer{height:40px;background:#fff;margin:0;padding:0;border-top:1px solid #ebeef5;position:absolute;bottom:0;left:0;width:100%;z-index:1}.el-transfer-panel .el-transfer-panel__footer:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{padding-left:20px;color:#606266}.el-transfer-panel .el-transfer-panel__empty{margin:0;height:30px;line-height:30px;padding:6px 15px 0;color:#909399;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-transfer-panel .el-checkbox__inner{height:14px;width:14px;border-radius:3px}.el-transfer-panel .el-checkbox__inner:after{height:6px;width:3px;left:4px}.el-container{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;box-sizing:border-box;min-width:0}.el-container.is-vertical{-ms-flex-direction:column;flex-direction:column}.el-header{padding:0 20px}.el-aside,.el-header{box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-aside,.el-main{overflow:auto}.el-main{display:block;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;padding:20px}.el-footer,.el-main{box-sizing:border-box}.el-footer{padding:0 20px;-ms-flex-negative:0;flex-shrink:0}.el-timeline{margin:0;font-size:14px;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline-item{position:relative;padding-bottom:20px}.el-timeline-item__wrapper{position:relative;padding-left:28px;top:-3px}.el-timeline-item__tail{position:absolute;left:4px;height:100%;border-left:2px solid #e4e7ed}.el-timeline-item__icon{color:#fff;font-size:13px}.el-timeline-item__node{position:absolute;background-color:#e4e7ed;border-radius:50%;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.el-timeline-item__node--normal{left:-1px;width:12px;height:12px}.el-timeline-item__node--large{left:-2px;width:14px;height:14px}.el-timeline-item__node--primary,.el-timeline-item__node--success{background-color:#42d885}.el-timeline-item__node--warning{background-color:#f9c855}.el-timeline-item__node--danger{background-color:#ff6d6d}.el-timeline-item__node--info{background-color:#909399}.el-timeline-item__dot{position:absolute;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.el-timeline-item__content{color:#303133}.el-timeline-item__timestamp{color:#909399;line-height:1;font-size:13px}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-link{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:none;cursor:pointer;padding:0;font-size:14px;font-weight:500}.el-link.is-underline:hover:after{content:"";position:absolute;left:0;right:0;height:0;bottom:0;border-bottom:1px solid #42d885}.el-link.is-disabled{cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default{color:#606266}.el-link.el-link--default:hover{color:#42d885}.el-link.el-link--default:after{border-color:#42d885}.el-link.el-link--default.is-disabled{color:#c0c4cc}.el-link.el-link--primary{color:#42d885}.el-link.el-link--primary:hover{color:#68e09d}.el-link.el-link--primary:after{border-color:#42d885}.el-link.el-link--primary.is-disabled{color:#a1ecc2}.el-link.el-link--primary.is-underline:hover:after{border-color:#42d885}.el-link.el-link--danger{color:#ff6d6d}.el-link.el-link--danger:hover{color:#ff8a8a}.el-link.el-link--danger:after{border-color:#ff6d6d}.el-link.el-link--danger.is-disabled{color:#ffb6b6}.el-link.el-link--danger.is-underline:hover:after{border-color:#ff6d6d}.el-link.el-link--success{color:#42d885}.el-link.el-link--success:hover{color:#68e09d}.el-link.el-link--success:after{border-color:#42d885}.el-link.el-link--success.is-disabled{color:#a1ecc2}.el-link.el-link--success.is-underline:hover:after{border-color:#42d885}.el-link.el-link--warning{color:#f9c855}.el-link.el-link--warning:hover{color:#fad377}.el-link.el-link--warning:after{border-color:#f9c855}.el-link.el-link--warning.is-disabled{color:#fce4aa}.el-link.el-link--warning.is-underline:hover:after{border-color:#f9c855}.el-link.el-link--info{color:#909399}.el-link.el-link--info:hover{color:#a6a9ad}.el-link.el-link--info:after{border-color:#909399}.el-link.el-link--info.is-disabled{color:#c8c9cc}.el-link.el-link--info.is-underline:hover:after{border-color:#909399}.el-divider{background-color:#dcdfe6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#fff;padding:0 20px;font-weight:500;color:#303133;font-size:14px}.el-divider__text.is-left{left:20px;transform:translateY(-50%)}.el-divider__text.is-center{left:50%;transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;transform:translateY(-50%)}.el-image__error,.el-image__inner,.el-image__placeholder{width:100%;height:100%}.el-image{position:relative;display:inline-block;overflow:hidden}.el-image__inner{vertical-align:top}.el-image__inner--center{position:relative;top:50%;left:50%;transform:translate(-50%,-50%);display:block}.el-image__error,.el-image__placeholder{background:#f5f7fa}.el-image__error{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;font-size:14px;color:#c0c4cc;vertical-align:middle}.el-image__preview{cursor:pointer}.el-image-viewer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0}.el-image-viewer__btn{position:absolute;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;opacity:.8;cursor:pointer;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-image-viewer__close{top:40px;right:40px;width:40px;height:40px;font-size:40px}.el-image-viewer__canvas{width:100%;height:100%;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.el-image-viewer__actions{left:50%;bottom:30px;transform:translateX(-50%);width:282px;height:44px;padding:0 23px;background-color:#606266;border-color:#fff;border-radius:22px}.el-image-viewer__actions__inner{width:100%;height:100%;text-align:justify;cursor:default;font-size:23px;color:#fff;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around}.el-image-viewer__prev{left:40px}.el-image-viewer__next,.el-image-viewer__prev{top:50%;transform:translateY(-50%);width:44px;height:44px;font-size:24px;color:#fff;background-color:#606266;border-color:#fff}.el-image-viewer__next{right:40px;text-indent:2px}.el-image-viewer__mask{position:absolute;width:100%;height:100%;top:0;left:0;opacity:.5;background:#000}.viewer-fade-enter-active{animation:viewer-fade-in .3s}.viewer-fade-leave-active{animation:viewer-fade-out .3s}@keyframes viewer-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes viewer-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}.el-calendar{background-color:#fff}.el-calendar__header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #ebeef5}.el-calendar__title{color:#000;-ms-flex-item-align:center;align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{padding:12px 0;color:#606266;font-weight:400}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:#c0c4cc}.el-calendar-table td{border-bottom:1px solid #ebeef5;border-right:1px solid #ebeef5;vertical-align:top;transition:background-color .2s ease}.el-calendar-table td.is-selected{background-color:#f2f8fe}.el-calendar-table td.is-today{color:#42d885}.el-calendar-table tr:first-child td{border-top:1px solid #ebeef5}.el-calendar-table tr td:first-child{border-left:1px solid #ebeef5}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{box-sizing:border-box;padding:8px;height:85px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:#f2f8fe}.el-backtop{position:fixed;background-color:#fff;width:40px;height:40px;border-radius:50%;color:#42d885;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;font-size:20px;box-shadow:0 0 6px rgba(0,0,0,.12);cursor:pointer;z-index:5}.el-backtop:hover{background-color:#f2f6fc}.el-page-header{display:-ms-flexbox;display:flex;line-height:24px}.el-page-header__left{display:-ms-flexbox;display:flex;cursor:pointer;margin-right:40px;position:relative}.el-page-header__left:after{content:"";position:absolute;width:1px;height:16px;right:-20px;top:50%;transform:translateY(-50%);background-color:#dcdfe6}.el-page-header__left .el-icon-back{font-size:18px;margin-right:6px;-ms-flex-item-align:center;align-self:center}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{font-size:18px;color:#303133}.el-checkbox{color:#606266;font-weight:500;font-size:14px;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #dcdfe6;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#42d885}.el-checkbox.is-bordered.is-disabled{border-color:#ebeef5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox__input{white-space:nowrap;cursor:pointer;outline:none;display:inline-block;line-height:1;position:relative;vertical-align:middle}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#dcdfe6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{cursor:not-allowed;border-color:#c0c4cc}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#f2f6fc;border-color:#dcdfe6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:#c0c4cc}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#f2f6fc;border-color:#dcdfe6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:#c0c4cc;border-color:#c0c4cc}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#c0c4cc;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:#42d885;border-color:#42d885}.el-checkbox__input.is-checked .el-checkbox__inner:after{transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#42d885}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#42d885}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#42d885;border-color:#42d885}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{content:"";position:absolute;display:block;background-color:#fff;height:2px;transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #dcdfe6;border-radius:2px;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#42d885}.el-checkbox__inner:after{box-sizing:content-box;content:"";border:1px solid #fff;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;transform:rotate(45deg) scaleY(0);width:3px;transition:transform .15s ease-in .05s;transform-origin:center}.el-checkbox__original{opacity:0;outline:none;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button,.el-checkbox-button__inner{position:relative;display:inline-block}.el-checkbox-button__inner{line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:none;margin:0;transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#42d885}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:none;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#42d885;border-color:#42d885;box-shadow:-1px 0 0 0 #8ee8b6}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#42d885}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#ebeef5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #dcdfe6;border-radius:4px 0 0 4px;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#42d885}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-radio{color:#606266;font-weight:500;line-height:1;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;outline:none;font-size:14px;margin-right:30px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #dcdfe6;box-sizing:border-box;height:40px}.el-radio.is-bordered.is-checked{border-color:#42d885}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#ebeef5}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--medium.is-bordered .el-radio__label{font-size:14px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__label{font-size:12px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{white-space:nowrap;cursor:pointer;outline:none;display:inline-block;line-height:1;position:relative;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{background-color:#f5f7fa;border-color:#e4e7ed;cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner:after{cursor:not-allowed;background-color:#f5f7fa}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#f5f7fa;border-color:#e4e7ed}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:#c0c4cc}.el-radio__input.is-disabled+span.el-radio__label{color:#c0c4cc;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#42d885;background:#42d885}.el-radio__input.is-checked .el-radio__inner:after{transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#42d885}.el-radio__input.is-focus .el-radio__inner{border-color:#42d885}.el-radio__inner{border:1px solid #dcdfe6;border-radius:100%;width:14px;height:14px;background-color:#fff;position:relative;cursor:pointer;display:inline-block;box-sizing:border-box}.el-radio__inner:hover{border-color:#42d885}.el-radio__inner:after{width:4px;height:4px;border-radius:100%;background-color:#fff;content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .15s ease-in}.el-radio__original{opacity:0;outline:none;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px #42d885}.el-radio__label{font-size:14px;padding-left:10px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;transition:opacity .34s ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:hsla(220,4%,58%,.3);transition:background-color .3s}.el-scrollbar__thumb:hover{background-color:hsla(220,4%,58%,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;transition:opacity .12s ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-cascader-panel{display:-ms-flexbox;display:flex;border-radius:4px;font-size:14px}.el-cascader-panel.is-bordered{border:1px solid #e4e7ed;border-radius:4px}.el-cascader-menu{min-width:180px;box-sizing:border-box;color:#606266;border-right:1px solid #e4e7ed}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap{height:204px}.el-cascader-menu__list{position:relative;min-height:100%;margin:0;padding:6px 0;list-style:none;box-sizing:border-box}.el-cascader-menu__hover-zone{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.el-cascader-menu__empty-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#c0c4cc}.el-cascader-node{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:0 30px 0 20px;height:34px;line-height:34px;outline:none}.el-cascader-node.is-selectable.in-active-path{color:#606266}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:#42d885;font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:#f5f7fa}.el-cascader-node.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{-ms-flex:1;flex:1;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-cascader-node>.el-checkbox,.el-cascader-node>.el-radio{margin-right:0}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-avatar{display:inline-block;box-sizing:border-box;text-align:center;overflow:hidden;color:#fff;background:#c0c4cc;width:40px;height:40px;line-height:40px;font-size:14px}.el-avatar>img{display:block;height:100%;vertical-align:middle}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:4px}.el-avatar--icon{font-size:18px}.el-avatar--large{width:40px;height:40px;line-height:40px}.el-avatar--medium{width:36px;height:36px;line-height:36px}.el-avatar--small{width:28px;height:28px;line-height:28px}@keyframes el-drawer-fade-in{0%{opacity:0}to{opacity:1}}@keyframes rtl-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rtl-drawer-out{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes ltr-drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes ltr-drawer-out{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes ttb-drawer-in{0%{transform:translateY(-100%)}to{transform:translate(0)}}@keyframes ttb-drawer-out{0%{transform:translate(0)}to{transform:translateY(-100%)}}@keyframes btt-drawer-in{0%{transform:translateY(100%)}to{transform:translate(0)}}@keyframes btt-drawer-out{0%{transform:translate(0)}to{transform:translateY(100%)}}.el-drawer{position:absolute;box-sizing:border-box;background-color:#fff;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);overflow:hidden}.el-drawer.rtl{animation:rtl-drawer-out 225ms cubic-bezier(0,0,.2,1) 0ms}.el-drawer__open .el-drawer.rtl{animation:rtl-drawer-in 225ms cubic-bezier(0,0,.2,1) 0ms}.el-drawer.ltr{animation:ltr-drawer-out 225ms cubic-bezier(0,0,.2,1) 0ms}.el-drawer__open .el-drawer.ltr{animation:ltr-drawer-in 225ms cubic-bezier(0,0,.2,1) 0ms}.el-drawer.ttb{animation:ttb-drawer-out 225ms cubic-bezier(0,0,.2,1) 0ms}.el-drawer__open .el-drawer.ttb{animation:ttb-drawer-in 225ms cubic-bezier(0,0,.2,1) 0ms}.el-drawer.btt{animation:btt-drawer-out 225ms cubic-bezier(0,0,.2,1) 0ms}.el-drawer__open .el-drawer.btt{animation:btt-drawer-in 225ms cubic-bezier(0,0,.2,1) 0ms}.el-drawer__header{-ms-flex-align:center;align-items:center;color:#72767b;display:-ms-flexbox;display:flex;margin-bottom:32px;padding:20px;padding-bottom:0}.el-drawer__header>:first-child{-ms-flex:1;flex:1}.el-drawer__title{margin:0;-ms-flex:1;flex:1;line-height:inherit;font-size:1rem}.el-drawer__close-btn{border:none;cursor:pointer;font-size:20px;color:inherit;background-color:transparent}.el-drawer__body{-ms-flex:1;flex:1}.el-drawer__body>*{box-sizing:border-box}.el-drawer.ltr,.el-drawer.rtl{height:100%;top:0;bottom:0}.el-drawer.btt,.el-drawer.ttb{width:100%;left:0;right:0}.el-drawer.ltr{left:0}.el-drawer.rtl{right:0}.el-drawer.ttb{top:0}.el-drawer.btt{bottom:0}.el-drawer__container{position:relative;left:0;right:0;top:0;bottom:0;height:100%;width:100%}.el-drawer-fade-enter-active{animation:el-drawer-fade-in 225ms cubic-bezier(0,0,.2,1) 0ms}.el-drawer-fade-leave-active{animation:el-drawer-fade-in 225ms cubic-bezier(0,0,.2,1) 0ms reverse}.dark-themes #app,.dark-themes body,.dark-themeshtml{background-color:#161616;color:#a7a7a7}.dark-themes .h1,.dark-themes .h2,.dark-themes .h3,.dark-themes .h4,.dark-themes .h5,.dark-themes .h6,.dark-themes h1,.dark-themes h2,.dark-themes h3,.dark-themes h4,.dark-themes h5,.dark-themes h6,.dark-themes p{color:#a7a7a7;font-weight:400}.dark-themes .el-table:not(.el-table--public){color:#a7a7a7!important;border:1px solid #292929;background-color:transparent!important}.dark-themes .el-table:not(.el-table--public) .el-table__empty-block,.dark-themes .el-table:not(.el-table--public) th,.dark-themes .el-table:not(.el-table--public) tr{background-color:#1f1d1d!important}.dark-themes .el-table:not(.el-table--public) .el-table__header-wrapper,.dark-themes .el-table:not(.el-table--public) td,.dark-themes .el-table:not(.el-table--public) th.is-leaf{border-bottom:1px solid #161616}.dark-themes .el-table:not(.el-table--public) .el-table__header-wrapper .cell{color:#ddd!important}.dark-themes .el-table:not(.el-table--public) .el-table__expanded-cell{background-color:#242327}.dark-themes .el-table:not(.el-table--public) .el-table__body-wrapper .el-table__body tr.current-row>td{background-color:transparent}.dark-themes .el-table:not(.el-table--public) .el-table__body-wrapper .el-table__body tr:hover td{background-color:#393a3e!important;color:#ddd!important}.dark-themes .el-table:not(.el-table--public) .el-table__body-wrapper .el-table__body tr:last-child td{border-bottom:none}.dark-themes .el-table__body tr.hover-row.current-row>td,.dark-themes .el-table__body tr.hover-row.el-table__row--striped.current-row>td,.dark-themes .el-table__body tr.hover-row.el-table__row--striped>td,.dark-themes .el-table__body tr.hover-row>td,.dark-themes .el-table__body tr:hover>td{background-color:#393a3e!important}.dark-themes .el-table__fixed,.dark-themes .el-table__fixed-right{box-shadow:0 0 10px rgba(0,0,0,.48)}.dark-themes .el-checkbox .el-checkbox__input.is-checked+.el-checkbox__label{color:#606266}.dark-themes .el-select:not(.el-select--public) .el-input__inner{background-color:transparent!important;color:#a7a7a7}.dark-themes .el-select:not(.el-select--public) .el-input__inner:focus,.dark-themes .el-select:not(.el-select--public) .el-input__inner:hover{border-color:#737373}.dark-themes .el-select:not(.el-select--public).select-radius .el-input__inner{border-color:#37363d!important}.dark-themes .el-select:not(.el-select--public):hover .el-input__inner{border-color:#737373!important}.dark-themes .el-dialog:not(.el-dialog--private) .el-dialog__body{padding:10px 20px}.dark-themes .el-select-dropdown:not(.el-select--public){border-color:#373737;background-color:#373737;border-left:none;border-right:none}.dark-themes .el-select-dropdown:not(.el-select--public) .el-select-dropdown__item{color:#a7a7a7!important}.dark-themes .el-select-dropdown:not(.el-select--public) .el-select-dropdown__item.hover,.dark-themes .el-select-dropdown:not(.el-select--public) .el-select-dropdown__item.selected,.dark-themes .el-select-dropdown:not(.el-select--public) .el-select-dropdown__item:hover{background-color:#282828}.dark-themes .el-select-dropdown:not(.el-select--public) .popper__arrow,.dark-themes .el-select-dropdown:not(.el-select--public) .popper__arrow:after{border-bottom-color:#373737}.dark-themes .el-date-picker .el-popper[x-placement^=bottom] .popper__arrow,.dark-themes .el-date-picker .el-popper[x-placement^=bottom] .popper__arrow:after{border-bottom-color:#fff!important}.dark-themes .el-form:not(.el-form--public) .el-form-item .el-checkbox__label,.dark-themes .el-form:not(.el-form--public) .el-form-item .el-form-item__label,.dark-themes .page-title .el-form-item .el-checkbox__label,.dark-themes .page-title .el-form-item .el-form-item__label{color:#a7a7a7!important}.dark-themes .el-form:not(.el-form--public) .el-input .el-input__inner,.dark-themes .el-form:not(.el-form--public) .el-input .el-textarea__inner,.dark-themes .el-form:not(.el-form--public) .el-textarea .el-input__inner,.dark-themes .el-form:not(.el-form--public) .el-textarea .el-textarea__inner,.dark-themes .page-title .el-input .el-input__inner,.dark-themes .page-title .el-input .el-textarea__inner,.dark-themes .page-title .el-textarea .el-input__inner,.dark-themes .page-title .el-textarea .el-textarea__inner{background-color:transparent!important;color:#a7a7a7!important;border-color:#37363d!important}.dark-themes .el-form:not(.el-form--public) .el-input.is-disabled .el-input__inner,.dark-themes .el-form:not(.el-form--public) .el-input.is-disabled .el-textarea__inner,.dark-themes .el-form:not(.el-form--public) .el-textarea.is-disabled .el-input__inner,.dark-themes .el-form:not(.el-form--public) .el-textarea.is-disabled .el-textarea__inner,.dark-themes .page-title .el-input.is-disabled .el-input__inner,.dark-themes .page-title .el-input.is-disabled .el-textarea__inner,.dark-themes .page-title .el-textarea.is-disabled .el-input__inner,.dark-themes .page-title .el-textarea.is-disabled .el-textarea__inner{background-color:#242325!important;border-color:#242325!important}.dark-themes .el-form:not(.el-form--public) .el-input.is-disabled:hover .el-input__inner,.dark-themes .el-form:not(.el-form--public) .el-input.is-disabled:hover .el-textarea__inner,.dark-themes .el-form:not(.el-form--public) .el-textarea.is-disabled:hover .el-input__inner,.dark-themes .el-form:not(.el-form--public) .el-textarea.is-disabled:hover .el-textarea__inner,.dark-themes .page-title .el-input.is-disabled:hover .el-input__inner,.dark-themes .page-title .el-input.is-disabled:hover .el-textarea__inner,.dark-themes .page-title .el-textarea.is-disabled:hover .el-input__inner,.dark-themes .page-title .el-textarea.is-disabled:hover .el-textarea__inner{border-color:#242325!important}.dark-themes .el-form:not(.el-form--public) .el-input.input-radius .el-input__inner,.dark-themes .el-form:not(.el-form--public) .el-textarea.input-radius .el-input__inner,.dark-themes .page-title .el-input.input-radius .el-input__inner,.dark-themes .page-title .el-textarea.input-radius .el-input__inner{border-color:#37363d!important;border-radius:40px}.dark-themes .el-form:not(.el-form--public) .el-input:hover .el-input__inner,.dark-themes .el-form:not(.el-form--public) .el-input:hover .el-textarea__inner,.dark-themes .el-form:not(.el-form--public) .el-textarea:hover .el-input__inner,.dark-themes .el-form:not(.el-form--public) .el-textarea:hover .el-textarea__inner,.dark-themes .page-title .el-input:hover .el-input__inner,.dark-themes .page-title .el-input:hover .el-textarea__inner,.dark-themes .page-title .el-textarea:hover .el-input__inner,.dark-themes .page-title .el-textarea:hover .el-textarea__inner{border-color:#737373!important}.dark-themes .el-form:not(.el-form--public) input::-webkit-input-placeholder,.dark-themes .el-form:not(.el-form--public) textarea::-webkit-input-placeholder,.dark-themes .page-title input::-webkit-input-placeholder,.dark-themes .page-title textarea::-webkit-input-placeholder{color:hsla(0,0%,65%,.5)!important}.dark-themes .el-form:not(.el-form--public) input:-moz-placeholder,.dark-themes .el-form:not(.el-form--public) input::-moz-placeholder,.dark-themes .el-form:not(.el-form--public) textarea:-moz-placeholder,.dark-themes .el-form:not(.el-form--public) textarea::-moz-placeholder,.dark-themes .page-title input:-moz-placeholder,.dark-themes .page-title input::-moz-placeholder,.dark-themes .page-title textarea:-moz-placeholder,.dark-themes .page-title textarea::-moz-placeholder{color:hsla(0,0%,65%,.5)!important}.dark-themes .el-form:not(.el-form--public) input:-ms-input-placeholder,.dark-themes .el-form:not(.el-form--public) textarea:-ms-input-placeholder,.dark-themes .page-title input:-ms-input-placeholder,.dark-themes .page-title textarea:-ms-input-placeholder{color:hsla(0,0%,65%,.5)!important}.dark-themes .el-form.el-form--public .el-input.is-disabled .el-input__inner,.dark-themes .el-form.el-form--public .el-input.is-disabled .el-textarea__inner,.dark-themes .el-form.el-form--public .el-input.is-disabled:hover .el-input__inner,.dark-themes .el-form.el-form--public .el-input.is-disabled:hover .el-textarea__inner{border-color:#f5f7fa!important}.dark-themes .el-loading-mask{background-color:#232429!important}.dark-themes .el-button.is-plain{color:#a7a7a7!important;background-color:transparent!important;border-color:#44444c!important}.dark-themes .el-button.is-plain.el-button--success:hover{border-color:#42d885!important;background-color:#42d885!important;color:#fff!important}.dark-themes .el-button.is-plain.el-button--warning:hover{border-color:#f9c855!important;background-color:#f9c855!important;color:#fff!important}.dark-themes .el-button.is-plain.el-button--danger:hover{border-color:#ff6d6d!important;background-color:#ff6d6d!important;color:#fff!important}.dark-themes .el-card.el-card--self{color:#a7a7a7!important;background-color:#1f1d1d!important}.dark-themes .el-card.el-card--self .el-card__header{color:#fff!important}.dark-themes .cache-btn{color:#a7a7a7!important}.dark-themes .cache-btn:hover{color:#42d885!important}.dark-themes .refresh-btn{color:#fff!important}.dark-themes .page-title,.dark-themes .refresh-btn:hover{color:#fff}.dark-themes .page-title .el-breadcrumb .el-breadcrumb__inner{color:#e8e8e8!important}.dark-themes .page-title .el-breadcrumb .el-breadcrumb__inner:hover{color:#fff!important}.dark-themes .page-title .el-breadcrumb .el-breadcrumb__item.breadcrumb-name .el-breadcrumb__inner,.dark-themes .page-title .el-breadcrumb .el-breadcrumb__item.breadcrumb-name:hover .el-breadcrumb__inner{color:#929299!important}.dark-themes .overview-view .card-box .card-title{color:#fff}.dark-themes .overview-view .card-item{background-color:#1f1d1d;border:1px solid #292929}.dark-themes .overview-view .card-item .icon{color:#227d51;border-color:#227d51;background-color:#232d2e}.dark-themes .overview-view .card-item .desc h3{color:#fff}.dark-themes .overview-view .card-item .desc p{color:#929299}.dark-themes .status:before{background-color:#a7a7a7!important}.dark-themes .status.running{color:#227d51!important}.dark-themes .status.stopped.danger:before{background-color:#f56c6c!important}.dark-themes .status.running:before{background-color:#227d51!important}.dark-themes .el-pagination .el-select .el-input .el-input__inner{border-color:#37363d}.dark-themes .el-pagination.is-background{color:#a7a7a7!important}.dark-themes .el-pagination.is-background button{background-color:transparent!important}.dark-themes .el-pagination.is-background button:hover{color:#42d885}.dark-themes .el-pagination.is-background .el-pager .number{color:#a7a7a7!important;background-color:transparent!important}.dark-themes .el-pagination.is-background .el-pager .number:hover{color:#42d885!important}.dark-themes .el-pagination.is-background .el-pager .number.active{background-color:#42d885!important;color:#fff!important}.dark-themes .rule-create .form-block--wrapper{border-bottom:1px solid #37363d}.dark-themes .rule-create .sql-tips{border:4px dashed #37363d;color:#c0c4cc}.dark-themes .rule-create .sql-tips .title{color:#fff}.dark-themes .rule-create .sql-tips p{color:#c0c4cc}.dark-themes .rule-create .code{background-color:rgba(55,54,61,.5)}.dark-themes .rule-create .code-sql__editor{border:1px solid #37363d;background-color:#2b292d}.dark-themes .rule-create .code-sql__editor .CodeMirror-gutters{background-color:#2b292d!important;border-right-color:#37363d!important}.dark-themes .rule-create .code-sql__editor .CodeMirror-scroll{background-color:#1e1c1c}.dark-themes .rule-create .code-sql__editor .CodeMirror-line{color:#606266}.dark-themes .rule-create .code-sql__editor .cm-keyword,.dark-themes .rule-create .code-sql__editor .cm-operator{color:#f92371}.dark-themes .rule-create .payload-type{background-color:#37363d80;border:1px solid #37363d;border-top:none}.dark-themes .rule-actions .action-card{background:#37363d80}.dark-themes .rule-actions .action-card .action-footer{border-top:1px solid #37363d}.dark-themes .rule-actions .action-card .filed-item .title{color:#ddd}.dark-themes .monaco-container{height:100%;border:1px solid #37363d}.dark-themes .jwt-payload-desc{background:rgba(55,54,61,.5)}.dark-themes .clients-view .card-subtitle{color:#f8f8f8}.dark-themes .custom-pagination a{border:1px solid #292929}.dark-themes .topic-qos-radio .el-radio-button__inner{background:#1b1c20;color:#9e9e9f;border:1px solid #35363b}.dark-themes .topic-qos-radio .el-radio-button__orig-radio:checked+.el-radio-button__inner{background-color:#42d885;color:#fff;box-shadow:none}.dark-themes .topic-metrics .message-card.in{background:linear-gradient(90deg,#1d1e27,#272644)}.dark-themes .topic-metrics .message-card.out{background:linear-gradient(90deg,#1c2023,#1e322d)}.dark-themes .topic-metrics .message-card.drop{background:linear-gradient(90deg,#1a1f27,#212d44)}.dark-themes .alarms-view .table-title{color:#fff}.light-themes #app,.light-themes body,.light-themeshtml{background-color:#f6f7fb;color:#71737d}.light-themes .h1,.light-themes .h2,.light-themes .h3,.light-themes .h4,.light-themes .h5,.light-themes .h6,.light-themes h1,.light-themes h2,.light-themes h3,.light-themes h4,.light-themes h5,.light-themes h6,.light-themes p{color:#71737d;font-weight:400}.light-themes .el-table:not(.el-table--public){color:#71737d;border:1px solid #f1f1f1;background-color:transparent!important}.light-themes .el-table:not(.el-table--public) .el-table__empty-block,.light-themes .el-table:not(.el-table--public) th,.light-themes .el-table:not(.el-table--public) tr{background-color:#fff!important}.light-themes .el-table:not(.el-table--public) .el-table__header-wrapper,.light-themes .el-table:not(.el-table--public) td,.light-themes .el-table:not(.el-table--public) th.is-leaf{border-bottom:1px solid #f1f1f1}.light-themes .el-table:not(.el-table--public) .el-table__header-wrapper .cell{color:#606266!important}.light-themes .el-table:not(.el-table--public) .el-table__body-wrapper .el-table__body tr.current-row>td{background-color:transparent}.light-themes .el-table:not(.el-table--public) .el-table__body-wrapper .el-table__body tr:hover td{background-color:#f5f5f5!important;color:#71737d!important}.light-themes .el-table:not(.el-table--public) .el-table__body-wrapper .el-table__body tr:last-child td{border-bottom:none}.light-themes .el-table__body tr.hover-row.current-row>td,.light-themes .el-table__body tr.hover-row.el-table__row--striped.current-row>td,.light-themes .el-table__body tr.hover-row.el-table__row--striped>td,.light-themes .el-table__body tr.hover-row>td,.light-themes .el-table__body tr:hover>td{background-color:#f5f5f5!important}.light-themes .el-checkbox .el-checkbox__input.is-checked+.el-checkbox__label{color:#606266}.light-themes .el-select:not(.el-select--public) .el-input__inner{background-color:transparent!important;color:#71737d}.light-themes .el-select:not(.el-select--public) .el-input__inner:focus,.light-themes .el-select:not(.el-select--public) .el-input__inner:hover{border-color:#c0c4cc}.light-themes .el-dialog:not(.el-dialog--private) .el-dialog__body{padding:10px 20px}.light-themes .el-select-dropdown:not(.el-select--public){background-color:#fff}.light-themes .el-select-dropdown:not(.el-select--public) .el-select-dropdown__item{color:#71737d!important}.light-themes .el-select-dropdown:not(.el-select--public) .el-select-dropdown__item.hover,.light-themes .el-select-dropdown:not(.el-select--public) .el-select-dropdown__item.selected,.light-themes .el-select-dropdown:not(.el-select--public) .el-select-dropdown__item:hover{background-color:#f5f5f5}.light-themes .el-form:not(.el-form--public) .el-form-item .el-checkbox__label,.light-themes .el-form:not(.el-form--public) .el-form-item .el-form-item__label,.light-themes .page-title .el-form-item .el-checkbox__label,.light-themes .page-title .el-form-item .el-form-item__label{color:#71737d!important}.light-themes .el-form:not(.el-form--public) .el-input .el-input__inner,.light-themes .el-form:not(.el-form--public) .el-input .el-textarea__inner,.light-themes .el-form:not(.el-form--public) .el-textarea .el-input__inner,.light-themes .el-form:not(.el-form--public) .el-textarea .el-textarea__inner,.light-themes .page-title .el-input .el-input__inner,.light-themes .page-title .el-input .el-textarea__inner,.light-themes .page-title .el-textarea .el-input__inner,.light-themes .page-title .el-textarea .el-textarea__inner{background-color:transparent!important}.light-themes .el-form:not(.el-form--public) .el-input.is-disabled .el-input__inner,.light-themes .el-form:not(.el-form--public) .el-input.is-disabled .el-textarea__inner,.light-themes .el-form:not(.el-form--public) .el-textarea.is-disabled .el-input__inner,.light-themes .el-form:not(.el-form--public) .el-textarea.is-disabled .el-textarea__inner,.light-themes .page-title .el-input.is-disabled .el-input__inner,.light-themes .page-title .el-input.is-disabled .el-textarea__inner,.light-themes .page-title .el-textarea.is-disabled .el-input__inner,.light-themes .page-title .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f5f5!important;border-color:#f5f5f5!important}.light-themes .el-form:not(.el-form--public) .el-input.is-disabled:hover .el-input__inner,.light-themes .el-form:not(.el-form--public) .el-input.is-disabled:hover .el-textarea__inner,.light-themes .el-form:not(.el-form--public) .el-textarea.is-disabled:hover .el-input__inner,.light-themes .el-form:not(.el-form--public) .el-textarea.is-disabled:hover .el-textarea__inner,.light-themes .page-title .el-input.is-disabled:hover .el-input__inner,.light-themes .page-title .el-input.is-disabled:hover .el-textarea__inner,.light-themes .page-title .el-textarea.is-disabled:hover .el-input__inner,.light-themes .page-title .el-textarea.is-disabled:hover .el-textarea__inner{border-color:#f5f5f5!important}.light-themes .el-form:not(.el-form--public) .el-input.input-radius .el-input__inner,.light-themes .el-form:not(.el-form--public) .el-textarea.input-radius .el-input__inner,.light-themes .page-title .el-input.input-radius .el-input__inner,.light-themes .page-title .el-textarea.input-radius .el-input__inner{border-radius:40px}.light-themes .el-form:not(.el-form--public) .el-input.input-radius .el-input__inner:focus,.light-themes .el-form:not(.el-form--public) .el-input.input-radius .el-input__inner:hover,.light-themes .el-form:not(.el-form--public) .el-textarea.input-radius .el-input__inner:focus,.light-themes .el-form:not(.el-form--public) .el-textarea.input-radius .el-input__inner:hover,.light-themes .page-title .el-input.input-radius .el-input__inner:focus,.light-themes .page-title .el-input.input-radius .el-input__inner:hover,.light-themes .page-title .el-textarea.input-radius .el-input__inner:focus,.light-themes .page-title .el-textarea.input-radius .el-input__inner:hover{border-color:#c0c4cc}.light-themes .el-form.el-form--public .el-input.is-disabled .el-input__inner,.light-themes .el-form.el-form--public .el-input.is-disabled .el-textarea__inner,.light-themes .el-form.el-form--public .el-input.is-disabled:hover .el-input__inner,.light-themes .el-form.el-form--public .el-input.is-disabled:hover .el-textarea__inner{border-color:#f5f7fa!important}.light-themes .el-loading-mask{background-color:#f5f5f5!important}.light-themes .el-button.is-plain{color:#71737d!important;background-color:transparent!important;border-color:#d6d9e2!important}.light-themes .el-button.is-plain.el-button--success:hover{border-color:#42d885!important;background-color:#42d885!important;color:#fff!important}.light-themes .el-button.is-plain.el-button--warning:hover{border-color:#f9c855!important;background-color:#f9c855!important;color:#fff!important}.light-themes .el-button.is-plain.el-button--danger:hover{border-color:#ff6d6d!important;background-color:#ff6d6d!important;color:#fff!important}.light-themes .el-card.el-card--self{color:#71737d!important;background-color:#fff!important}.light-themes .cache-btn,.light-themes .el-card.el-card--self .el-card__header{color:#71737d!important}.light-themes .cache-btn:hover{color:#42d885!important}.light-themes .refresh-btn{color:#71737d!important}.light-themes .refresh-btn:hover{color:#444!important}.light-themes .page-title{color:#444}.light-themes .page-title .el-breadcrumb .el-breadcrumb__inner{color:#6e6e75!important}.light-themes .page-title .el-breadcrumb .el-breadcrumb__inner:hover{color:#444!important}.light-themes .page-title .el-breadcrumb .el-breadcrumb__item.breadcrumb-name .el-breadcrumb__inner,.light-themes .page-title .el-breadcrumb .el-breadcrumb__item.breadcrumb-name:hover .el-breadcrumb__inner{color:#929299!important}.light-themes .overview-view .card-box .card-title{color:#606266}.light-themes .overview-view .card-item{background-color:#fff!important;border:1px solid #f1f1f1}.light-themes .overview-view .card-item .icon{color:#34c388;border-color:#34c388;background-color:#eaf9f3}.light-themes .overview-view .card-item .desc h3{color:#444}.light-themes .overview-view .card-item .desc p{color:#71737d}.light-themes .status:before{background-color:#a7a7a7!important}.light-themes .status.running{color:#34c388!important}.light-themes .status.stopped.danger:before{background-color:#f56c6c!important}.light-themes .status.running:before{background-color:#34c388!important}.light-themes .el-pagination .el-select .el-input .el-input__inner{border-color:#c0c4cc}.light-themes .el-pagination.is-background{color:#71737d!important}.light-themes .el-pagination.is-background button{background-color:transparent!important}.light-themes .el-pagination.is-background button:hover{color:#42d885}.light-themes .el-pagination.is-background .el-pager .number{color:#71737d!important;background-color:transparent!important}.light-themes .el-pagination.is-background .el-pager .number:hover{color:#42d885!important}.light-themes .el-pagination.is-background .el-pager .number.active{background-color:#42d885!important;color:#fff!important}.light-themes .rule-create .form-block--wrapper{border-bottom:1px solid #dcdfe6}.light-themes .rule-create .sql-tips{border:4px dashed #d8d8d8;color:#71737d}.light-themes .rule-create .sql-tips .title{color:#666}.light-themes .rule-create .sql-tips p{color:#71737d}.light-themes .rule-create .code{background-color:hsla(0,0%,87%,.8)}.light-themes .rule-create .code-sql__editor{border:1px solid #dcdfe6;background-color:hsla(0,0%,87%,.8)}.light-themes .rule-create .code-sql__editor .CodeMirror-gutters{background-color:hsla(0,0%,87%,.8)!important;border-right-color:hsla(0,0%,87%,.8)!important}.light-themes .rule-create .code-sql__editor .CodeMirror-scroll{background-color:#fff}.light-themes .rule-create .code-sql__editor .CodeMirror-line{color:#71737d}.light-themes .rule-create .code-sql__editor .cm-keyword,.light-themes .rule-create .code-sql__editor .cm-operator{color:#a11}.light-themes .rule-create .payload-type{background-color:#dfdfdfcc;border:1px solid #dcdfe6;border-top:none}.light-themes .rule-actions .action-card{background:#dfdfdfcc}.light-themes .rule-actions .action-card .action-footer{border-top:1px solid #dcdfe6}.light-themes .rule-actions .action-card .filed-item .title{color:#6e6e75}.light-themes .left-bar{box-shadow:none}.light-themes .help-view{width:80%}.light-themes .help-view .help-item h3{color:#444}.light-themes .help-view .help-item p{color:#606266}.light-themes .help-view .help-item .follow-link{background:#ececec;color:#606266}.light-themes .help-view .el-divider{background-color:#dcdfe6}.light-themes .el-tabs.normal-tabs>.el-tabs__header .el-tabs__item{background:#fff;border-bottom:1px solid #fff}.light-themes .el-tabs.normal-tabs>.el-tabs__header .el-tabs__item.is-active{background:#fff;border:1px solid #fff;border-left:2px solid;color:#34c388}.light-themes .clients-basic .clients-basic-form .form-subtitle{color:#343434;font-size:14px;margin:24px 0}.light-themes .clients-basic .clients-basic-form .el-form-item__content{color:#343434}.light-themes .custom-pagination a{border:1px solid #e6e6e6}.light-themes .monaco-container{height:100%;border:1px solid #dcdfe6}.light-themes .jwt-payload-desc{background:hsla(0,0%,87%,.8)}.light-themes .clients-view .card-subtitle{color:#6e6e75}.light-themes .topic-metrics .message-card{color:#fff}.light-themes .topic-metrics .message-card.in{background:linear-gradient(90deg,#3e3ab4,#4c5ae0)}.light-themes .topic-metrics .message-card.out{background:linear-gradient(90deg,#0c7cd1,#19bcc2)}.light-themes .topic-metrics .message-card.drop{background:linear-gradient(90deg,#00ac70,#34c388)}.light-themes .alarms-view .table-title{color:#444}.el-form--label-top .el-form-item__label{padding:0}.el-table:not(.el-table--public){border-radius:4px}.el-table:not(.el-table--public).el-table--small{font-size:14px}.el-table:not(.el-table--public):before{height:0}.el-table:not(.el-table--public).el-table--border:after,.el-table:not(.el-table--public).el-table--group:after{width:0}.el-table:not(.el-table--public) td,.el-table:not(.el-table--public) th{border-right:none}.el-table:not(.el-table--public) th{border-bottom:none}.el-table__fixed-right:before,.el-table__fixed:before{display:none}.el-checkbox .el-checkbox__inner{width:18px;height:18px;border-radius:4px}.el-checkbox .el-checkbox__inner:after{border-left:0;border-top:0;height:8px;left:5px;position:absolute;top:2px;width:4px}.el-select.el-select--small .el-input__inner{height:40px!important}.el-select.select-radius{width:240px}.el-select.select-radius .el-input__inner{border-radius:40px}.el-select-dropdown{min-height:40px}.el-input.input-radius,.el-textarea.input-radius{width:240px}.el-input.input-radius .el-input__inner,.el-textarea.input-radius .el-input__inner{border-radius:40px}.el-input .el-input__suffix,.el-textarea .el-input__suffix{width:30px;font-size:16px;cursor:pointer}.el-input .el-input__suffix .el-input__suffix-inner,.el-textarea .el-input__suffix .el-input__suffix-inner{font-weight:bolder}.el-button.el-button--mini{padding:4px}.el-button.is-plain{font-weight:400!important}.el-card{border:none!important;font-size:16px;font-weight:600}.el-card .el-card__header{border-bottom:1px solid #f1f1f1}.el-card.el-card--self{font-weight:400}.el-card.el-card--self .el-card__header{border-bottom:none!important}.cache-btn{cursor:pointer;font-weight:500}.el-switch__input:focus~.el-switch__core{outline:none!important}.el-dialog .el-dialog__header{border-bottom:1px solid #f1f1f1!important}.el-loading-mask{opacity:.8}.el-tabs.normal-tabs{margin-top:24px}.el-tabs.normal-tabs>.el-tabs__header{border-bottom:0;margin-bottom:0}.el-tabs.normal-tabs>.el-tabs__header .el-tabs__nav{border:none}.el-tabs.normal-tabs>.el-tabs__header .el-tabs__item{min-width:120px;text-align:center;background:#1d1e24;border-radius:4px 4px 0 0;margin-right:8px;border:1px solid transparent;border-bottom:1px solid #1f1d1d;line-height:38px;color:#adafb4;transition:all .5s;font-size:16px}.el-tabs.normal-tabs>.el-tabs__header .el-tabs__item.is-active{background:#1f1d1d;border:1px solid #1f1d1d;border-left:2px solid;color:#34c388}.el-dropdown{cursor:pointer}.el-pagination{float:none!important}#app,body,html{height:100%;margin:0}@font-face{font-family:Roboto;font-style:normal;font-weight:300;src:local("Roboto Light"),local("Roboto-Light"),url(/static/fonts/Roboto-Light.woff) format("woff"),url(/static/fonts/Roboto-Light.ttf) format("truetype")}body{font-family:Roboto,Helvetica Neue,Helvetica,Work sans,Arial,sans-serif;-webkit-font-smoothing:subpixel-antialiased;font-size:14px;font-weight:400}body #nprogress .bar{background:#42d885}body #nprogress .peg{box-shadow:0 0 10px #42d885,0 0 5px #42d885}*{box-sizing:border-box}a{color:#42d885;text-decoration:none!important}.clear-fix{clear:both}::-ms-clear,::-ms-reveal{display:none}.page-title{font-size:24px;text-transform:capitalize;padding:30px 0 10px!important}.page-title .el-select{float:right}.page-title .el-select input{height:40px!important}.page-title .el-breadcrumb{margin-top:2px;font-size:24px}.page-title .el-breadcrumb .uppercase{text-transform:Capitalize}.operation-area{margin-top:20px}.operation-area .el-button.el-button--text{padding-right:20px}.cache-btn,.confirm-btn{min-width:80px}input{line-height:normal!important}.empty-content{width:100%;height:200px;line-height:200px;margin-top:-20px;text-align:center}.desc--text{font-size:14px;font-weight:400;line-height:1.4}.el-pagination{margin:20px 0;float:right}.el-card.thin__body .el-card__body{padding:0 20px;font-size:16px}.el-card .card-header--like{padding:18px 0;color:#6e6e75}.status:before{content:"";display:inline-block;height:8px;width:8px;margin-right:3px;border-radius:4px}.btn{cursor:pointer;color:#34c388}.a-line:hover{text-decoration:underline}.blank{max-width:500px;width:100%;margin:100px auto;text-align:center;height:200px}.blank .icon{width:80px;height:80px;margin:4px auto;border:2px solid #42d885;border-radius:50%;font-size:36px;color:#42d885;line-height:80px}.guide-doc{text-align:left}.emq-link{cursor:pointer;color:#42d885}.dialog-preview .option-item{margin:0 auto;padding:6px;min-height:32px;line-height:32px;clear:both}.dialog-preview .option-item .option-title{width:48%;float:left;color:#888}.dialog-preview .option-item .option-value{width:48%;float:left;color:#000}.dialog-preview .option-item .option-all{clear:both;width:100%}.dialog-preview .option-item .option-all .option-item{padding:6px 0}.status-circle{width:8px;height:8px;display:inline-block;border-radius:50%;margin-right:5px}.connected{color:#34c388}.connected.status-circle{background:#34c388}.disconnected{color:#ff6d6d}.disconnected.status-circle{background:#ff6d6d}.center-align{text-align:center}.data-table .cell .el-input__inner{border-color:transparent}.data-table .cell .el-input__inner:focus{border-color:#dcdfe6}.data-table .data-input{position:relative}.data-table .data-input .el-input-group__append{background-color:#fff;border:none;font-size:12px;color:#ff6d6d}.data-table .oper-icon{width:40px;height:26px;line-height:28px;visibility:hidden;cursor:pointer;text-align:center}.data-table td{padding:2px 0!important}.data-table .cell{padding:0 4px}.data-table .el-table__row.hover-row .el-icon-close{visibility:visible}.data-table .el-input__inner{border-radius:0}.data-table .el-input.is-error .el-input__inner{border-width:2px;border-color:#ff6d6d}.data-table .data-value,.data-table.disable .el-input{display:none}.data-table.disable .data-value{display:inline-block}.data-table .value-column .cell{display:-ms-flexbox;display:flex}.data-table .value-column .cell .data-input{-ms-flex:1;flex:1}.data-table th.is-leaf{font-weight:400} \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/css/font-awesome.min.css b/apps/emqx_dashboard/priv/www/static/css/font-awesome.min.css new file mode 100644 index 000000000..540440ce8 --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/apps/emqx_dashboard/priv/www/static/css/iconfont.css b/apps/emqx_dashboard/priv/www/static/css/iconfont.css new file mode 100644 index 000000000..3b6afc896 --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/css/iconfont.css @@ -0,0 +1,1237 @@ +@font-face {font-family: "iconfont"; + src: url('iconfont.eot?t=1567498326614'); /* IE9 */ + src: url('iconfont.eot?t=1567498326614#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'), + url('iconfont.woff?t=1567498326614') format('woff'), + url('iconfont.ttf?t=1567498326614') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ + url('iconfont.svg?t=1567498326614#iconfont') format('svg'); /* iOS 4.1- */ +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-logout:before { + content: "\e838"; +} + +.icon-facebook:before { + content: "\e645"; +} + +.icon-icons-google_groups:before { + content: "\ee07"; +} + +.icon-youtube:before { + content: "\e733"; +} + +.icon-tiaoshi:before { + content: "\eb61"; +} + +.icon-changjingguanli:before { + content: "\eb62"; +} + +.icon-bianji:before { + content: "\eb63"; +} + +.icon-guanlianshebei:before { + content: "\eb64"; +} + +.icon-guanfangbanben:before { + content: "\eb65"; +} + +.icon-gongnengdingyi:before { + content: "\eb66"; +} + +.icon-jichuguanli:before { + content: "\eb67"; +} + +.icon-jishufuwu:before { + content: "\eb68"; +} + +.icon-hezuohuobanmiyueguanli:before { + content: "\eb69"; +} + +.icon-ceshishenqing:before { + content: "\eb6a"; +} + +.icon-jiedianguanli:before { + content: "\eb6b"; +} + +.icon-jinggao:before { + content: "\eb6c"; +} + +.icon-peiwangyindao:before { + content: "\eb6d"; +} + +.icon-renjijiaohu:before { + content: "\eb6e"; +} + +.icon-shiyongwendang:before { + content: "\eb6f"; +} + +.icon-quanxianshenpi:before { + content: "\eb70"; +} + +.icon-yishouquan:before { + content: "\eb71"; +} + +.icon-tianshenpi:before { + content: "\eb72"; +} + +.icon-shujukanban:before { + content: "\eb73"; +} + +.icon-yingyongguanli:before { + content: "\eb74"; +} + +.icon-yibiaopan:before { + content: "\eb75"; +} + +.icon-zhanghaoquanxianguanli:before { + content: "\eb76"; +} + +.icon-yuanquyunwei:before { + content: "\eb77"; +} + +.icon-slack:before { + content: "\e641"; +} + +.icon-jizhanguanli:before { + content: "\eb78"; +} + +.icon-gongju:before { + content: "\e600"; +} + +.icon-guanbi:before { + content: "\eb79"; +} + +.icon-zidingyi:before { + content: "\eb7a"; +} + +.icon-xiajiantou:before { + content: "\eb7b"; +} + +.icon-shangjiantou:before { + content: "\eb7c"; +} + +.icon-icon_loading:before { + content: "\eb80"; +} + +.icon-icon_renwujincheng:before { + content: "\eb88"; +} + +.icon-icon_rukou:before { + content: "\eb89"; +} + +.icon-icon_yiwenkongxin:before { + content: "\eb8a"; +} + +.icon-icon_fabu:before { + content: "\eb8b"; +} + +.icon-icon_tianjia:before { + content: "\eb8c"; +} + +.icon-icon_yulan:before { + content: "\eb8d"; +} + +.icon-icon_zhanghao:before { + content: "\eb8e"; +} + +.icon-icon_wangye:before { + content: "\eb8f"; +} + +.icon-icon_shezhi:before { + content: "\eb90"; +} + +.icon-icon_baocun:before { + content: "\eb91"; +} + +.icon-icon_yingyongguanli:before { + content: "\eb92"; +} + +.icon-icon_shiyongwendang:before { + content: "\eb93"; +} + +.icon-icon_bangzhuwendang:before { + content: "\eb94"; +} + +.icon-biaodanzujian-shurukuang:before { + content: "\eb95"; +} + +.icon-biaodanzujian-biaoge:before { + content: "\eb96"; +} + +.icon-biaodanzujian-xialakuang:before { + content: "\eb97"; +} + +.icon-tubiao-bingtu:before { + content: "\eb98"; +} + +.icon-biaodanzujian-anniu:before { + content: "\eb99"; +} + +.icon-gongyezujian-yibiaopan:before { + content: "\eb9a"; +} + +.icon-tubiao-qiapian:before { + content: "\eb9b"; +} + +.icon-gongyezujian-zhishideng:before { + content: "\eb9c"; +} + +.icon-tubiao-zhexiantu:before { + content: "\eb9d"; +} + +.icon-xingzhuang-juxing:before { + content: "\eb9e"; +} + +.icon-xingzhuang-jianxing:before { + content: "\eb9f"; +} + +.icon-gongyezujian-kaiguan:before { + content: "\eba0"; +} + +.icon-tubiao-zhuzhuangtu:before { + content: "\eba1"; +} + +.icon-xingzhuang-tupian:before { + content: "\eba2"; +} + +.icon-xingzhuang-wenzi:before { + content: "\eba3"; +} + +.icon-xingzhuang-tuoyuanxing:before { + content: "\eba4"; +} + +.icon-xingzhuang-sanjiaoxing:before { + content: "\eba5"; +} + +.icon-xingzhuang-xingxing:before { + content: "\eba6"; +} + +.icon-guize:before { + content: "\ebb7"; +} + +.icon-shebeiguanli:before { + content: "\ebb8"; +} + +.icon-gongnengdingyi1:before { + content: "\ebb9"; +} + +.icon-jishufuwu1:before { + content: "\ebce"; +} + +.icon-yunyingzhongxin:before { + content: "\ebd0"; +} + +.icon-yunyingguanli:before { + content: "\ebd1"; +} + +.icon-zuzhixiaxia:before { + content: "\ebd8"; +} + +.icon-zuzhizhankai:before { + content: "\ebd9"; +} + +.icon-zuzhiqunzu:before { + content: "\ebda"; +} + +.icon-dakai:before { + content: "\ebdf"; +} + +.icon-yingwen:before { + content: "\ebe0"; +} + +.icon-zhongwen:before { + content: "\ebe2"; +} + +.icon-miwen:before { + content: "\ebe3"; +} + +.icon-xianhao:before { + content: "\ebe4"; +} + +.icon-kongxinduigou:before { + content: "\ebe5"; +} + +.icon-huixingzhen:before { + content: "\ebe6"; +} + +.icon-duigou:before { + content: "\ebe7"; +} + +.icon-stack-overflow:before { + content: "\e970"; +} + +.icon-xiayibu:before { + content: "\ebef"; +} + +.icon-shangyibu:before { + content: "\ebf0"; +} + +.icon-kongjianxuanzhong:before { + content: "\ebf1"; +} + +.icon-kongjianweixuan:before { + content: "\ebf2"; +} + +.icon-kongjianyixuan:before { + content: "\ebf3"; +} + +.icon--diangan:before { + content: "\ebfb"; +} + +.icon-rongxuejirongjiechi:before { + content: "\ebfc"; +} + +.icon-lubiantingchechang:before { + content: "\ebfd"; +} + +.icon--lumingpai:before { + content: "\ebfe"; +} + +.icon-jietouzuoyi:before { + content: "\ebff"; +} + +.icon--zhongdaweixian:before { + content: "\ec00"; +} + +.icon--jiaotongbiaozhipai:before { + content: "\ec01"; +} + +.icon-gongcezhishipai:before { + content: "\ec02"; +} + +.icon-fangkuai:before { + content: "\ec06"; +} + +.icon-fangkuai-:before { + content: "\ec07"; +} + +.icon-shuaxin:before { + content: "\ec08"; +} + +.icon-baocun:before { + content: "\ec09"; +} + +.icon-fabu:before { + content: "\ec0a"; +} + +.icon-xiayibu1:before { + content: "\ec0b"; +} + +.icon-shangyibu1:before { + content: "\ec0c"; +} + +.icon-xiangxiazhanhang:before { + content: "\ec0d"; +} + +.icon-xiangshangzhanhang:before { + content: "\ec0e"; +} + +.icon-tupianjiazaishibai:before { + content: "\ec0f"; +} + +.icon-fuwudiqiu:before { + content: "\ec10"; +} + +.icon-suoxiao:before { + content: "\ec13"; +} + +.icon-fangda:before { + content: "\ec14"; +} + +.icon-huanyuanhuabu:before { + content: "\ec15"; +} + +.icon-quanping:before { + content: "\ec16"; +} + +.icon-biaodanzujian-biaoge1:before { + content: "\ec17"; +} + +.icon-APIshuchu:before { + content: "\ec18"; +} + +.icon-APIjieru:before { + content: "\ec19"; +} + +.icon-wenjianjia:before { + content: "\ec1a"; +} + +.icon-DOC:before { + content: "\ec1b"; +} + +.icon-BMP:before { + content: "\ec1c"; +} + +.icon-GIF:before { + content: "\ec1d"; +} + +.icon-JPG:before { + content: "\ec1e"; +} + +.icon-PNG:before { + content: "\ec1f"; +} + +.icon-weizhigeshi:before { + content: "\ec20"; +} + +.icon-gengduo:before { + content: "\ec21"; +} + +.icon-yunduanxiazai:before { + content: "\ec22"; +} + +.icon-yunduanshangchuan:before { + content: "\ec23"; +} + +.icon-dian:before { + content: "\ec24"; +} + +.icon-mian:before { + content: "\ec25"; +} + +.icon-xian:before { + content: "\ec26"; +} + +.icon-shebeizhuangtai:before { + content: "\ec27"; +} + +.icon-fenzuguanli:before { + content: "\ec28"; +} + +.icon-kuaisubianpai:before { + content: "\ec29"; +} + +.icon-APPkaifa:before { + content: "\ec2a"; +} + +.icon-wentijieda:before { + content: "\ec2e"; +} + +.icon-kefu:before { + content: "\ec2f"; +} + +.icon-ruanjiankaifabao:before { + content: "\ec30"; +} + +.icon-sousuobianxiao:before { + content: "\ec32"; +} + +.icon-sousuofangda:before { + content: "\ec33"; +} + +.icon-dingwei:before { + content: "\ec34"; +} + +.icon-wumoxing:before { + content: "\ec35"; +} + +.icon-gaojing:before { + content: "\ec36"; +} + +.icon-renwujincheng:before { + content: "\ec37"; +} + +.icon-xiaoxitongzhi:before { + content: "\ec38"; +} + +.icon-youhui:before { + content: "\ec39"; +} + +.icon-gaojing1:before { + content: "\ec3a"; +} + +.icon-zhihangfankui:before { + content: "\ec3b"; +} + +.icon-gongdanqueren:before { + content: "\ec3c"; +} + +.icon-guangbo:before { + content: "\ec3d"; +} + +.icon-gongdan:before { + content: "\ec3e"; +} + +.icon-xiaoxi:before { + content: "\ec3f"; +} + +.icon-ditu-qi:before { + content: "\ec40"; +} + +.icon-ditu-dibiao:before { + content: "\ec41"; +} + +.icon-ditu-cha:before { + content: "\ec42"; +} + +.icon-ditu-qipao:before { + content: "\ec43"; +} + +.icon-ditu-tuding:before { + content: "\ec44"; +} + +.icon-ditu-huan:before { + content: "\ec45"; +} + +.icon-ditu-xing:before { + content: "\ec46"; +} + +.icon-ditu-yuan:before { + content: "\ec47"; +} + +.icon-chehuisekuai:before { + content: "\ec48"; +} + +.icon-shanchusekuai:before { + content: "\ec49"; +} + +.icon-fabusekuai:before { + content: "\ec4a"; +} + +.icon-xinhao:before { + content: "\ec4b"; +} + +.icon-lanya:before { + content: "\ec4c"; +} + +.icon-Wi-Fi:before { + content: "\ec4d"; +} + +.icon-chaxun:before { + content: "\ec4e"; +} + +.icon-dianbiao:before { + content: "\ec4f"; +} + +.icon-anquan:before { + content: "\ec50"; +} + +.icon-daibanshixiang:before { + content: "\ec51"; +} + +.icon-bingxiang:before { + content: "\ec52"; +} + +.icon-fanshe:before { + content: "\ec53"; +} + +.icon-fengche:before { + content: "\ec54"; +} + +.icon-guandao:before { + content: "\ec55"; +} + +.icon-guize1:before { + content: "\ec56"; +} + +.icon-guizeyinqing:before { + content: "\ec57"; +} + +.icon-huowudui:before { + content: "\ec58"; +} + +.icon-jianceqi:before { + content: "\ec59"; +} + +.icon-jinggai:before { + content: "\ec5a"; +} + +.icon-liujisuan:before { + content: "\ec5b"; +} + +.icon-hanshu:before { + content: "\ec5c"; +} + +.icon-lianjieliu:before { + content: "\ec5d"; +} + +.icon-ludeng:before { + content: "\ec5e"; +} + +.icon-shexiangji:before { + content: "\ec5f"; +} + +.icon-rentijiance:before { + content: "\ec60"; +} + +.icon-moshubang:before { + content: "\ec61"; +} + +.icon-shujuwajue:before { + content: "\ec62"; +} + +.icon-wangguan:before { + content: "\ec63"; +} + +.icon-shenjing:before { + content: "\ec64"; +} + +.icon-chucun:before { + content: "\ec65"; +} + +.icon-wuguan:before { + content: "\ec66"; +} + +.icon-yunduanshuaxin:before { + content: "\ec67"; +} + +.icon-yunhang:before { + content: "\ec68"; +} + +.icon-luyouqi:before { + content: "\ec69"; +} + +.icon-bug:before { + content: "\ec6a"; +} + +.icon-get:before { + content: "\ec6b"; +} + +.icon-PIR:before { + content: "\ec6c"; +} + +.icon-zhexiantu:before { + content: "\ec6d"; +} + +.icon-shuibiao:before { + content: "\ec6e"; +} + +.icon-js:before { + content: "\ec6f"; +} + +.icon-zihangche:before { + content: "\ec70"; +} + +.icon-liebiao:before { + content: "\ec71"; +} + +.icon-qichedingwei:before { + content: "\ec72"; +} + +.icon-dici:before { + content: "\ec73"; +} + +.icon-mysql:before { + content: "\ec74"; +} + +.icon-qiche:before { + content: "\ec75"; +} + +.icon-shenjing1:before { + content: "\ec76"; +} + +.icon-chengshi:before { + content: "\ec77"; +} + +.icon-tixingshixin:before { + content: "\ec78"; +} + +.icon-menci:before { + content: "\ec79"; +} + +.icon-chazuo:before { + content: "\ec7a"; +} + +.icon-ranqijianceqi:before { + content: "\ec7b"; +} + +.icon-kaiguan:before { + content: "\ec7c"; +} + +.icon-chatou:before { + content: "\ec7d"; +} + +.icon-xiyiji:before { + content: "\ec7e"; +} + +.icon-yijiankaiguan:before { + content: "\ec7f"; +} + +.icon-yanwubaojingqi:before { + content: "\ec80"; +} + +.icon-wuxiandianbo:before { + content: "\ec81"; +} + +.icon-fuzhi:before { + content: "\ec82"; +} + +.icon-tuite:before { + content: "\e615"; +} + +.icon-shanchu:before { + content: "\ec83"; +} + +.icon-bianjisekuai:before { + content: "\ec84"; +} + +.icon-ishipinshixiao:before { + content: "\ec85"; +} + +.icon-iframetianjia:before { + content: "\ec86"; +} + +.icon-tupiantianjia:before { + content: "\ec87"; +} + +.icon-liebiaomoshi_kuai:before { + content: "\ec88"; +} + +.icon-qiapianmoshi_kuai:before { + content: "\ec89"; +} + +.icon-fenlan:before { + content: "\ec8a"; +} + +.icon-fengexian:before { + content: "\ec8b"; +} + +.icon-dianzan:before { + content: "\ec8c"; +} + +.icon-charulianjie:before { + content: "\ec8d"; +} + +.icon-charutupian:before { + content: "\ec8e"; +} + +.icon-quxiaolianjie:before { + content: "\ec8f"; +} + +.icon-wuxupailie:before { + content: "\ec90"; +} + +.icon-juzhongduiqi:before { + content: "\ec91"; +} + +.icon-yinyong:before { + content: "\ec92"; +} + +.icon-youxupailie:before { + content: "\ec93"; +} + +.icon-youduiqi:before { + content: "\ec94"; +} + +.icon-zitidaima:before { + content: "\ec95"; +} + +.icon-xiaolian:before { + content: "\ec96"; +} + +.icon-zitijiacu:before { + content: "\ec97"; +} + +.icon-zitishanchuxian:before { + content: "\ec98"; +} + +.icon-zitishangbiao:before { + content: "\ec99"; +} + +.icon-zitibiaoti:before { + content: "\ec9a"; +} + +.icon-zitixiahuaxian:before { + content: "\ec9b"; +} + +.icon-zitixieti:before { + content: "\ec9c"; +} + +.icon-zitiyanse:before { + content: "\ec9d"; +} + +.icon-zuoduiqi:before { + content: "\ec9e"; +} + +.icon-zitiyulan:before { + content: "\ec9f"; +} + +.icon-zitixiabiao:before { + content: "\eca0"; +} + +.icon-zuoyouduiqi:before { + content: "\eca1"; +} + +.icon-tianxie:before { + content: "\eca2"; +} + +.icon-huowudui1:before { + content: "\eca3"; +} + +.icon-yingjian:before { + content: "\eca4"; +} + +.icon-shebeikaifa:before { + content: "\eca5"; +} + +.icon-dianzan_kuai:before { + content: "\eca6"; +} + +.icon-zhihuan:before { + content: "\eca7"; +} + +.icon-tuoguan:before { + content: "\eca8"; +} + +.icon-duigoux:before { + content: "\eca9"; +} + +.icon-guanbi1:before { + content: "\ecaa"; +} + +.icon-aixin_shixin:before { + content: "\ecab"; +} + +.icon-ranqixieloubaojingqi:before { + content: "\ecac"; +} + +.icon-dianbiao_shiti:before { + content: "\ecad"; +} + +.icon-aixin:before { + content: "\ecae"; +} + +.icon-shuibiao_shiti:before { + content: "\ecaf"; +} + +.icon-zhinengxiaofangshuan:before { + content: "\ecb0"; +} + +.icon-ranqibiao_shiti:before { + content: "\ecb1"; +} + +.icon-shexiangtou_shiti:before { + content: "\ecb2"; +} + +.icon-shexiangtou_guanbi:before { + content: "\ecb3"; +} + +.icon-shexiangtou:before { + content: "\ecb4"; +} + +.icon-shengyin_shiti:before { + content: "\ecb5"; +} + +.icon-shengyinkai:before { + content: "\ecb6"; +} + +.icon-shoucang_shixin:before { + content: "\ecb7"; +} + +.icon-shoucang:before { + content: "\ecb8"; +} + +.icon-shengyinwu:before { + content: "\ecb9"; +} + +.icon-shengyinjingyin:before { + content: "\ecba"; +} + +.icon-zhunbeiliangchan:before { + content: "\ecbb"; +} + +.icon-shebeikaifa1:before { + content: "\ecbc"; +} + +.icon-document-circle:before { + content: "\e6b8"; +} + +.icon-git:before { + content: "\e64a"; +} + +.icon-Notificationlisttongzhiliebiao:before { + content: "\e782"; +} + +.icon-kongxinwenhao:before { + content: "\ed19"; +} + +.icon-cuowukongxin:before { + content: "\ed1a"; +} + +.icon-fangkuai1:before { + content: "\ed1b"; +} + +.icon-fangkuai2:before { + content: "\ed1c"; +} + +.icon-kongjianxuanzhong1:before { + content: "\ed1d"; +} + +.icon-kongxinduigou1:before { + content: "\ed1e"; +} + +.icon-xinxikongxin:before { + content: "\ed1f"; +} + +.icon-kongjian:before { + content: "\ed20"; +} + +.icon-gaojingkongxin:before { + content: "\ed21"; +} + +.icon-duigou_kuai:before { + content: "\ed22"; +} + +.icon-cuocha_kuai:before { + content: "\ed23"; +} + +.icon-jia_sekuai:before { + content: "\ed24"; +} + +.icon-jian_sekuai:before { + content: "\ed25"; +} + +.icon-fenxiangfangshi:before { + content: "\ed2e"; +} + +.icon-i18n:before { + content: "\e614"; +} + +.icon-gongju1:before { + content: "\e637"; +} + +.icon-bangzhu:before { + content: "\e638"; +} + +.icon-xitong:before { + content: "\e639"; +} + +.icon-guanli:before { + content: "\e63a"; +} + +.icon-jiankong:before { + content: "\e63b"; +} + +.icon-guize2:before { + content: "\e63c"; +} + +.icon-arrow:before { + content: "\e63d"; +} + +.icon-systemname:before { + content: "\e63e"; +} + +.icon-version:before { + content: "\e63f"; +} + +.icon-Systemtime:before { + content: "\e640"; +} + +.icon-uptime:before { + content: "\e642"; +} + +.icon-in:before { + content: "\e643"; +} + diff --git a/apps/emqx_dashboard/priv/www/static/css/iconfont.eot b/apps/emqx_dashboard/priv/www/static/css/iconfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..0ddb250fc17e28672ccb484273ed81a2daeba82d GIT binary patch literal 73944 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.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}")}catch(a){console&&console.log(a)}}!function(a){if(document.addEventListener)if(~["complete","loaded","interactive"].indexOf(document.readyState))setTimeout(a,0);else{var h=function(){document.removeEventListener("DOMContentLoaded",h,!1),a()};document.addEventListener("DOMContentLoaded",h,!1)}else document.attachEvent&&(c=a,i=v.document,o=!1,(z=function(){try{i.documentElement.doScroll("left")}catch(a){return void setTimeout(z,50)}l()})(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,l())});function l(){o||(o=!0,c())}var c,i,o,z}(function(){var a,h;(a=document.createElement("div")).innerHTML=l,l=null,(h=a.getElementsByTagName("svg")[0])&&(h.setAttribute("aria-hidden","true"),h.style.position="absolute",h.style.width=0,h.style.height=0,h.style.overflow="hidden",function(a,h){h.firstChild?function(a,h){h.parentNode.insertBefore(a,h)}(a,h.firstChild):h.appendChild(a)}(h,document.body))})}(window); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/css/iconfont.svg b/apps/emqx_dashboard/priv/www/static/css/iconfont.svg new file mode 100644 index 000000000..bb47f2b06 --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/css/iconfont.svg @@ -0,0 +1,941 @@ + + + + + +Created by iconfont + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/emqx_dashboard/priv/www/static/css/iconfont.ttf b/apps/emqx_dashboard/priv/www/static/css/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e0772f2bcee73e35fd5579ff5f94e437ac37878d GIT binary patch literal 73776 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 literal 0 HcmV?d00001 diff --git a/apps/emqx_dashboard/priv/www/static/css/iconfont.woff b/apps/emqx_dashboard/priv/www/static/css/iconfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..b0bae09a57203d187808ba93d68eaaa9978f92bc GIT binary patch literal 40720 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 CWZRMe literal 0 HcmV?d00001 diff --git a/apps/emqx_dashboard/priv/www/static/css/iconfont.woff2 b/apps/emqx_dashboard/priv/www/static/css/iconfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..538f1da1c30b12e831ab31e3e50447ec6ee9b34c GIT binary patch literal 32796 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 literal 0 HcmV?d00001 diff --git a/apps/emqx_dashboard/priv/www/static/editor.worker.js b/apps/emqx_dashboard/priv/www/static/editor.worker.js new file mode 100644 index 000000000..b596dd49a --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/editor.worker.js @@ -0,0 +1 @@ +!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s="/p8O")}({"/p8O":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!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 i(e){u(e)||r.onUnexpectedError(e)}function o(e){return e instanceof Error?{$isError:!0,name:e.name,message:e.message,stack:e.stacktrace||e.stack}:e}var s="Canceled";function u(e){return e instanceof Error&&e.name===s&&e.message===s}var a=!1,l="__is_disposable_tracked__";function h(e){if(a&&e&&e!==m.None)try{e[l]=!0}catch(e){}}function c(e){if(!a)return e;var t=new Error("Potentially leaked disposable").stack;return setTimeout(function(){e[l]||console.log(t)},3e3),e}function f(){for(var e=[],t=0;tr?e[a]=o[u++]:u>i?e[a]=o[s++]:t(o[u],o[s])<0?e[a]=o[u++]:e[a]=o[s++]}(t,n,r,s,i,o)}(e,t,0,e.length-1,[]),e}var E=function(){function e(e,t,n,r){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=r}return e.prototype.getOriginalEnd=function(){return this.originalStart+this.originalLength},e.prototype.getModifiedEnd=function(){return this.modifiedStart+this.modifiedLength},e}();function S(e){return{getLength:function(){return e.length},getElementAtIndex:function(t){return e.charCodeAt(t)}}}function w(e,t,n){return new T(S(e),S(t)).ComputeDiff(n)}var A,P=function(){function e(){}return e.Assert=function(e,t){if(!e)throw new Error(t)},e}(),M=function(){function e(){}return e.Copy=function(e,t,n,r,i){for(var o=0;o0||this.m_modifiedCount>0)&&this.m_changes.push(new E(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}(),T=function(){function e(e,t,n){void 0===n&&(n=null),this.OriginalSequence=e,this.ModifiedSequence=t,this.ContinueProcessingPredicate=n,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,n,r,i){var o=this.ComputeDiffRecursive(e,t,n,r,[!1]);return i?this.PrettifyChanges(o):o},e.prototype.ComputeDiffRecursive=function(e,t,n,r,i){for(i[0]=!1;e<=t&&n<=r&&this.ElementsAreEqual(e,n);)e++,n++;for(;t>=e&&r>=n&&this.ElementsAreEqual(t,r);)t--,r--;if(e>t||n>r){var o=void 0;return n<=r?(P.Assert(e===t+1,"originalStart should only be one more than originalEnd"),o=[new E(e,0,n,r-n+1)]):e<=t?(P.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),o=[new E(e,t-e+1,n,0)]):(P.Assert(e===t+1,"originalStart should only be one more than originalEnd"),P.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),o=[]),o}var s=[0],u=[0],a=this.ComputeRecursionPoint(e,t,n,r,s,u,i),l=s[0],h=u[0];if(null!==a)return a;if(!i[0]){var c=this.ComputeDiffRecursive(e,l,n,h,i),f=[];return f=i[0]?[new E(l+1,t-(l+1)+1,h+1,r-(h+1)+1)]:this.ComputeDiffRecursive(l+1,t,h+1,r,i),this.ConcatenateChanges(c,f)}return[new E(e,t-e+1,n,r-n+1)]},e.prototype.WALKTRACE=function(e,t,n,r,i,o,s,u,a,l,h,c,f,d,m,p,g,_){var v,y,C=null,b=new O,L=t,N=n,S=f[0]-p[0]-r,w=Number.MIN_VALUE,A=this.m_forwardHistory.length-1;do{(y=S+e)===L||y=0&&(e=(a=this.m_forwardHistory[A])[0],L=1,N=a.length-1)}while(--A>=-1);if(v=b.getReverseChanges(),_[0]){var P=f[0]+1,M=p[0]+1;if(null!==v&&v.length>0){var T=v[v.length-1];P=Math.max(P,T.getOriginalEnd()),M=Math.max(M,T.getModifiedEnd())}C=[new E(P,c-P+1,M,m-M+1)]}else{b=new O,L=o,N=s,S=f[0]-p[0]-u,w=Number.MAX_VALUE,A=g?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{(y=S+i)===L||y=l[y+1]?(d=(h=l[y+1]-1)-S-u,h>w&&b.MarkNextChange(),w=h+1,b.AddOriginalElement(h+1,d+1),S=y+1-i):(d=(h=l[y-1])-S-u,h>w&&b.MarkNextChange(),w=h,b.AddModifiedElement(h+1,d+1),S=y-1-i),A>=0&&(i=(l=this.m_reverseHistory[A])[0],L=1,N=l.length-1)}while(--A>=-1);C=b.getChanges()}return this.ConcatenateChanges(v,C)},e.prototype.ComputeRecursionPoint=function(e,t,n,r,i,o,s){var u,a=0,l=0,h=0,c=0,f=0,d=0;e--,n--,i[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];var m,p,g=t-e+(r-n),_=g+1,v=new Array(_),y=new Array(_),C=r-n,b=t-e,L=e-n,N=t-r,S=(b-C)%2==0;for(v[C]=e,y[b]=t,s[0]=!1,u=1;u<=g/2+1;u++){var w=0,A=0;for(h=this.ClipDiagonalBound(C-u,u,C,_),c=this.ClipDiagonalBound(C+u,u,C,_),m=h;m<=c;m+=2){for(l=(a=m===h||mw+A&&(w=a,A=l),!S&&Math.abs(m-b)<=u-1&&a>=y[m])return i[0]=a,o[0]=l,p<=y[m]&&u<=1448?this.WALKTRACE(C,h,c,L,b,f,d,N,v,y,a,t,i,l,r,o,S,s):null}var P=(w-e+(A-n)-u)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(w,this.OriginalSequence,P))return s[0]=!0,i[0]=w,o[0]=A,P>0&&u<=1448?this.WALKTRACE(C,h,c,L,b,f,d,N,v,y,a,t,i,l,r,o,S,s):[new E(++e,t-e+1,++n,r-n+1)];for(f=this.ClipDiagonalBound(b-u,u,b,_),d=this.ClipDiagonalBound(b+u,u,b,_),m=f;m<=d;m+=2){for(l=(a=m===f||m=y[m+1]?y[m+1]-1:y[m-1])-(m-b)-N,p=a;a>e&&l>n&&this.ElementsAreEqual(a,l);)a--,l--;if(y[m]=a,S&&Math.abs(m-C)<=u&&a<=v[m])return i[0]=a,o[0]=l,p>=v[m]&&u<=1448?this.WALKTRACE(C,h,c,L,b,f,d,N,v,y,a,t,i,l,r,o,S,s):null}if(u<=1447){var O=new Array(c-h+2);O[0]=C-h+1,M.Copy(v,h,O,1,c-h+1),this.m_forwardHistory.push(O),(O=new Array(d-f+2))[0]=b-f+1,M.Copy(y,f,O,1,d-f+1),this.m_reverseHistory.push(O)}}return this.WALKTRACE(C,h,c,L,b,f,d,N,v,y,a,t,i,l,r,o,S,s)},e.prototype.PrettifyChanges=function(e){for(var t=0;t0,s=n.modifiedLength>0;n.originalStart+n.originalLength=0;t--){n=e[t],r=0,i=0;if(t>0){var a=e[t-1];a.originalLength>0&&(r=a.originalStart+a.originalLength),a.modifiedLength>0&&(i=a.modifiedStart+a.modifiedLength)}o=n.originalLength>0,s=n.modifiedLength>0;for(var l=0,h=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength),c=1;;c++){var f=n.originalStart-c,d=n.modifiedStart-c;if(fh&&(h=m,l=c)}n.originalStart-=l,n.modifiedStart-=l}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 n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))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 n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1},e.prototype._boundaryScore=function(e,t,n,r){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,r)?1:0)},e.prototype.ConcatenateChanges=function(e,t){var n=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){var r=new Array(e.length+t.length-1);return M.Copy(e,0,r,0,e.length-1),r[e.length-1]=n[0],M.Copy(t,1,r,e.length,t.length-1),r}r=new Array(e.length+t.length);return M.Copy(e,0,r,0,e.length),M.Copy(t,0,r,e.length,t.length),r},e.prototype.ChangesOverlap=function(e,t,n){if(P.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),P.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 r=e.originalStart,i=e.originalLength,o=e.modifiedStart,s=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(i=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(s=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new E(r,i,o,s),!0}return n[0]=null,!1},e.prototype.ClipDiagonalBound=function(e,t,n,r){if(e>=0&&e=n?I:{done:!1,value:e[t++]}}}},e.from=function(t){return t?Array.isArray(t)?e.fromArray(t):t:e.empty()},e.map=function(e,t){return{next:function(){var n=e.next();return n.done?I:{done:!1,value:t(n.value)}}}},e.filter=function(e,t){return{next:function(){for(;;){var n=e.next();if(n.done)return I;if(t(n.value))return{done:!1,value:n.value}}}}},e.forEach=function(e,t){for(var n=e.next();!n.done;n=e.next())t(n.value)},e.collect=function(e,t){void 0===t&&(t=Number.POSITIVE_INFINITY);var n=[];if(0===t)return n;for(var r=0,i=e.next();!(i.done||(n.push(i.value),++r>=t));i=e.next());return n},e.concat=function(){for(var e=[],t=0;t=e.length)return I;var t=e[n].next();return t.done?(n++,this.next()):t}}}}(A||(A={}));(function(e){function t(t,n,r,i){return void 0===n&&(n=0),void 0===r&&(r=t.length),void 0===i&&(i=n-1),e.call(this,t,n,r,i)||this}x(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}})(function(){function e(e,t,n,r){void 0===t&&(t=0),void 0===n&&(n=e.length),void 0===r&&(r=t-1),this.items=e,this.start=t,this.end=n,this.index=r}return e.prototype.first=function(){return this.index=this.start,this.current()},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}()),function(){function e(e,t){this.iterator=e,this.fn=t}e.prototype.next=function(){return this.fn(this.iterator.next())}}();var R,U=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),k=/^\w[\w\d+.-]*$/,D=/^\//,F=/^\/\//,K=!0;var q="",V="/",B=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,Y=function(){function e(e,t,n,r,i,o){void 0===o&&(o=!1),"object"==typeof e?(this.scheme=e.scheme||q,this.authority=e.authority||q,this.path=e.path||q,this.query=e.query||q,this.fragment=e.fragment||q):(this.scheme=function(e,t){return t||K?e||q:(e||(console.trace("BAD uri lacks scheme, falling back to file-scheme."),e="file"),e)}(e,o),this.authority=t||q,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==V&&(t=V+t):t=V}return t}(this.scheme,n||q),this.query=r||q,this.fragment=i||q,function(e,t){if(!e.scheme){if(t||K)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'+e.authority+'", path: "'+e.path+'", query: "'+e.query+'", fragment: "'+e.fragment+'"}');console.warn('[UriError]: Scheme is missing: {scheme: "", authority: "'+e.authority+'", path: "'+e.path+'", query: "'+e.query+'", fragment: "'+e.fragment+'"}')}if(e.scheme&&!k.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!D.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(F.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,o))}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 z(this)},enumerable:!0,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,r=e.path,i=e.query,o=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=q),void 0===n?n=this.authority:null===n&&(n=q),void 0===r?r=this.path:null===r&&(r=q),void 0===i?i=this.query:null===i&&(i=q),void 0===o?o=this.fragment:null===o&&(o=q),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&o===this.fragment?this:new W(t,n,r,i,o)},e.parse=function(e,t){void 0===t&&(t=!1);var n=B.exec(e);return n?new W(n[2]||q,decodeURIComponent(n[4]||q),decodeURIComponent(n[5]||q),decodeURIComponent(n[7]||q),decodeURIComponent(n[9]||q),t):new W(q,q,q,q,q)},e.file=function(e){var t=q;if(p.c&&(e=e.replace(/\\/g,V)),e[0]===V&&e[1]===V){var n=e.indexOf(V,2);-1===n?(t=e.substring(2),e=V):(t=e.substring(2,n),e=e.substring(n)||V)}return new W("file",t,e,q,q)},e.from=function(e){return new W(e.scheme,e.authority,e.path,e.query,e.fragment)},e.prototype.toString=function(e){return void 0===e&&(e=!1),X(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new W(t);return n._formatted=t.external,n._fsPath=t._sep===j?t.fsPath:null,n}return t},e}(),j=p.c?1:void 0,W=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return U(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=z(this)),this._fsPath},enumerable:!0,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?X(this,!0):(this._formatted||(this._formatted=X(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=j),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}(Y),H=((R={})[58]="%3A",R[47]="%2F",R[63]="%3F",R[35]="%23",R[91]="%5B",R[93]="%5D",R[64]="%40",R[33]="%21",R[36]="%24",R[38]="%26",R[39]="%27",R[40]="%28",R[41]="%29",R[42]="%2A",R[43]="%2B",R[44]="%2C",R[59]="%3B",R[61]="%3D",R[32]="%20",R);function G(e,t){for(var n=void 0,r=-1,i=0;i=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o)-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),void 0!==n&&(n+=e.charAt(i));else{void 0===n&&(n=e.substr(0,i));var s=H[o];void 0!==s?(-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),n+=s):-1===r&&(r=i)}}return-1!==r&&(n+=encodeURIComponent(e.substring(r))),void 0!==n?n:e}function Q(e){for(var t=void 0,n=0;n1&&"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,p.c&&(t=t.replace(/\//g,"\\")),t}function X(e,t){var n=t?Q:G,r="",i=e.scheme,o=e.authority,s=e.path,u=e.query,a=e.fragment;if(i&&(r+=i,r+=":"),(o||"file"===i)&&(r+=V,r+=V),o){var l=o.indexOf("@");if(-1!==l){var h=o.substr(0,l);o=o.substr(l+1),-1===(l=h.indexOf(":"))?r+=n(h,!1):(r+=n(h.substr(0,l),!1),r+=":",r+=n(h.substr(l+1),!1)),r+="@"}-1===(l=(o=o.toLowerCase()).indexOf(":"))?r+=n(o,!1):(r+=n(o.substr(0,l),!1),r+=o.substr(l))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2))(c=s.charCodeAt(1))>=65&&c<=90&&(s="/"+String.fromCharCode(c+32)+":"+s.substr(3));else if(s.length>=2&&58===s.charCodeAt(1)){var c;(c=s.charCodeAt(0))>=65&&c<=90&&(s=String.fromCharCode(c+32)+":"+s.substr(2))}r+=n(s,!0)}return u&&(r+="?",r+=n(u,!1)),a&&(r+="#",r+=t?a:G(a,!1)),r}var Z=function(){function e(e,t){this.lineNumber=e,this.column=t}return e.prototype.with=function(t,n){return void 0===t&&(t=this.lineNumber),void 0===n&&(n=this.column),t===this.lineNumber&&n===this.column?this:new e(t,n)},e.prototype.delta=function(e,t){return void 0===e&&(e=0),void 0===t&&(t=0),this.with(this.lineNumber+e,this.column+t)},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.lineNumbern||e===n&&t>r?(this.startLineNumber=n,this.startColumn=r,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=r)}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.lineNumbere.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.columne.endColumn))},e.prototype.containsRange=function(t){return e.containsRange(this,t)},e.containsRange=function(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)))},e.prototype.strictContainsRange=function(t){return e.strictContainsRange(this,t)},e.strictContainsRange=function(e,t){return!(t.startLineNumbere.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,n){var r,i,o,s;return n.startLineNumbert.endLineNumber?(o=n.endLineNumber,s=n.endColumn):n.endLineNumber===t.endLineNumber?(o=n.endLineNumber,s=Math.max(n.endColumn,t.endColumn)):(o=t.endLineNumber,s=t.endColumn),new e(r,i,o,s)},e.prototype.intersectRanges=function(t){return e.intersectRanges(this,t)},e.intersectRanges=function(t,n){var r=t.startLineNumber,i=t.startColumn,o=t.endLineNumber,s=t.endColumn,u=n.startLineNumber,a=n.startColumn,l=n.endLineNumber,h=n.endColumn;return rl?(o=l,s=h):o===l&&(s=Math.min(s,h)),r>o?null:r===o&&i>s?null:new e(r,i,o,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 Z(this.endLineNumber,this.endColumn)},e.prototype.getStartPosition=function(){return new Z(this.startLineNumber,this.startColumn)},e.prototype.toString=function(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"},e.prototype.setEndPosition=function(t,n){return new e(this.startLineNumber,this.startColumn,t,n)},e.prototype.setStartPosition=function(t,n){return new e(t,n,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,n){return void 0===n&&(n=t),new e(t.lineNumber,t.column,n.lineNumber,n.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.endLineNumbere.startLineNumber},e}();String.fromCharCode(65279);var $=5e3,ee=3;function te(e,t,n,r){return new T(e,t,n).ComputeDiff(r)}var ne=function(){function e(t){for(var n=[],r=[],i=0,o=t.length;i=0;n--){var r=e.charCodeAt(n);if(32!==r&&9!==r)return n}return-1}(e);return-1===n?t:n+2},e.prototype.getCharSequence=function(e,t,n){for(var r=[],i=[],o=[],s=0,u=t;u<=n;u++)for(var a=this._lines[u],l=e?this._startColumns[u]:1,h=e?this._endColumns[u]:a.length+1,c=l;c1&&m>1;){if(c.charCodeAt(d-2)!==f.charCodeAt(m-2))break;d--,m--}(d>1||m>1)&&this._pushTrimWhitespaceCharChange(i,o+1,1,d,s+1,1,m);for(var p=ne._getLastNonBlankColumn(c,1),g=ne._getLastNonBlankColumn(f,1),_=c.length+1,v=f.length+1;p<_&&g255?255:0|e}function le(e){return e<0?0:e>4294967295?4294967295:0|e}var he=function(){return function(e,t){this.index=e,this.remainder=t}}(),ce=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=le(e);var n=this.values,r=this.prefixSum,i=t.length;return 0!==i&&(this.values=new Uint32Array(n.length+i),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+i),this.values.set(t,e),e-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.changeValue=function(e,t){return e=le(e),t=le(t),this.values[e]!==t&&(this.values[e]=t,e-1=n.length)return!1;var i=n.length-e;return t>=i&&(t=i),0!==t&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(r.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=le(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 n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];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=0,n=this.values.length-1,r=0,i=0,o=0;t<=n;)if(r=t+(n-t)/2|0,e<(o=(i=this.prefixSum[r])-this.values[r]))n=r-1;else{if(!(e>=i))break;t=r+1}return new he(r,e-o)},e}(),fe=(function(){function e(e){this._cacheAccumulatedValueStart=0,this._cache=null,this._actual=new ce(e),this._bustCache()}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/?";var me=function(e){void 0===e&&(e="");for(var t="(-?\\d*\\.\\d\\w*)|([^",n=0,r=de;n=0||(t+="\\"+i)}return t+="\\s]+)",new RegExp(t,"g")}();var pe=function(){function e(t){var n=ae(t);this._defaultValue=n,this._asciiMap=e._createAsciiMap(n),this._map=new Map}return e._createAsciiMap=function(e){for(var t=new Uint8Array(256),n=0;n<256;n++)t[n]=e;return t},e.prototype.set=function(e,t){var n=ae(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)},e.prototype.get=function(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue},e}(),ge=(function(){function e(){this._actual=new pe(0)}e.prototype.add=function(e){this._actual.set(e,1)},e.prototype.has=function(e){return 1===this._actual.get(e)}}(),function(){function e(e){for(var t=0,n=0,r=0,i=e.length;rt&&(t=u),s>n&&(n=s),a>n&&(n=a)}var l=new ue(++n,++t,0);for(r=0,i=e.length;r=this._maxCharCode?0:this._states.get(e,t)},e}()),_e=null;var ve=null;var ye=function(){function e(){}return e._createLink=function(e,t,n,r,i){var o=i-1;do{var s=t.charCodeAt(o);if(2!==e.get(s))break;o--}while(o>r);if(r>0){var u=t.charCodeAt(r-1),a=t.charCodeAt(o);(40===u&&41===a||91===u&&93===a||123===u&&125===a)&&o--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:o+2},url:t.substring(r,o+1)}},e.computeLinks=function(t,n){void 0===n&&(null===_e&&(_e=new ge([[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]])),n=_e);for(var r=function(){if(null===ve){ve=new pe(0);for(var e=0;e<" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".length;e++)ve.set(" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".charCodeAt(e),1);for(e=0;e<".,;".length;e++)ve.set(".,;".charCodeAt(e),2)}return ve}(),i=[],o=1,s=t.getLineCount();o<=s;o++){for(var u=t.getLineContent(o),a=u.length,l=0,h=0,c=0,f=1,d=!1,m=!1,p=!1;l=0?((r+=n?1:-1)<0?r=e.length-1:r%=e.length,e[r]):null},e.INSTANCE=new e,e}();n("tZcU");var be,Le=function(){function e(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}return e.Undefined=new e(void 0),e}(),Ne=function(){function e(){this._first=Le.Undefined,this._last=Le.Undefined,this._size=0}return Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),e.prototype.isEmpty=function(){return this._first===Le.Undefined},e.prototype.clear=function(){this._first=Le.Undefined,this._last=Le.Undefined,this._size=0},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 n=this,r=new Le(e);if(this._first===Le.Undefined)this._first=r,this._last=r;else if(t){var i=this._last;this._last=r,r.prev=i,i.next=r}else{var o=this._first;this._first=r,r.next=o,o.prev=r}this._size+=1;var s=!1;return function(){s||(s=!0,n._remove(r))}},e.prototype.shift=function(){if(this._first!==Le.Undefined){var e=this._first.element;return this._remove(this._first),e}},e.prototype.pop=function(){if(this._last!==Le.Undefined){var e=this._last.element;return this._remove(this._last),e}},e.prototype._remove=function(e){if(e.prev!==Le.Undefined&&e.next!==Le.Undefined){var t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===Le.Undefined&&e.next===Le.Undefined?(this._first=Le.Undefined,this._last=Le.Undefined):e.next===Le.Undefined?(this._last=this._last.prev,this._last.next=Le.Undefined):e.prev===Le.Undefined&&(this._first=this._first.next,this._first.prev=Le.Undefined);this._size-=1},e.prototype.iterator=function(){var e,t=this._first;return{next:function(){return t===Le.Undefined?I:(e?e.value=t.element:e={done:!1,value:t.element},t=t.next,e)}}},e.prototype.toArray=function(){for(var e=[],t=this._first;t!==Le.Undefined;t=t.next)e.push(t.element);return e},e}(),Ee=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();!function(e){function t(e){return function(t,n,r){void 0===n&&(n=null);var i,o=!1;return i=e(function(e){if(!o)return i?i.dispose():o=!0,t.call(n,e)},null,r),o&&i.dispose(),i}}function n(e,t){return s(function(n,r,i){return void 0===r&&(r=null),e(function(e){return n.call(r,t(e))},null,i)})}function r(e,t){return s(function(n,r,i){return void 0===r&&(r=null),e(function(e){t(e),n.call(r,e)},null,i)})}function i(e,t){return s(function(n,r,i){return void 0===r&&(r=null),e(function(e){return t(e)&&n.call(r,e)},null,i)})}function o(e,t,r){var i=r;return n(e,function(e){return i=t(i,e)})}function s(e){var t,n=new Pe({onFirstListenerAdd:function(){t=e(n.fire,n)},onLastListenerRemove:function(){t.dispose()}});return n.event}function u(e){var t,n=!0;return i(e,function(e){var r=n||e!==t;return n=!1,t=e,r})}e.None=function(){return m.None},e.once=t,e.map=n,e.forEach=r,e.filter=i,e.signal=function(e){return e},e.any=function(){for(var e=[],t=0;t1)&&l.fire(e),a=0},n)})},onLastListenerRemove:function(){o.dispose()}});return l.event},e.stopwatch=function(e){var r=(new Date).getTime();return n(t(e),function(e){return(new Date).getTime()-r})},e.latch=u,e.buffer=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=[]);var r=n.slice(),i=e(function(e){r?r.push(e):s.fire(e)}),o=function(){r&&r.forEach(function(e){return s.fire(e)}),r=null},s=new Pe({onFirstListenerAdd:function(){i||(i=e(function(e){return s.fire(e)}))},onFirstListenerDidAdd:function(){r&&(t?setTimeout(o):o())},onLastListenerRemove:function(){i&&i.dispose(),i=null}});return s.event};var a=function(){function e(e){this.event=e}return e.prototype.map=function(t){return new e(n(this.event,t))},e.prototype.forEach=function(t){return new e(r(this.event,t))},e.prototype.filter=function(t){return new e(i(this.event,t))},e.prototype.reduce=function(t,n){return new e(o(this.event,t,n))},e.prototype.latch=function(){return new e(u(this.event))},e.prototype.on=function(e,t,n){return this.event(e,t,n)},e.prototype.once=function(e,n,r){return t(this.event)(e,n,r)},e}();e.chain=function(e){return new a(e)},e.fromNodeEventEmitter=function(e,t,n){void 0===n&&(n=function(e){return e});var r=function(){for(var e=[],t=0;t0?new Ae(this._options&&this._options.leakWarningThreshold):void 0}return Object.defineProperty(e.prototype,"event",{get:function(){var t=this;return this._event||(this._event=function(n,r,i){t._listeners||(t._listeners=new Ne);var o=t._listeners.isEmpty();o&&t._options&&t._options.onFirstListenerAdd&&t._options.onFirstListenerAdd(t);var s,u,a=t._listeners.push(r?[n,r]:n);return o&&t._options&&t._options.onFirstListenerDidAdd&&t._options.onFirstListenerDidAdd(t),t._options&&t._options.onListenerDidAdd&&t._options.onListenerDidAdd(t,n,r),t._leakageMon&&(s=t._leakageMon.check(t._listeners.size)),u={dispose:function(){(s&&s(),u.dispose=e._noop,t._disposed)||(a(),t._options&&t._options.onLastListenerRemove&&(t._listeners&&!t._listeners.isEmpty()||t._options.onLastListenerRemove(t)))}},i instanceof d?i.add(u):Array.isArray(i)&&i.push(u),u}),this._event},enumerable:!0,configurable:!0}),e.prototype.fire=function(e){if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new Ne);for(var t=this._listeners.iterator(),n=t.next();!n.done;n=t.next())this._deliveryQueue.push([n.value,e]);for(;this._deliveryQueue.size>0;){var r=this._deliveryQueue.shift(),o=r[0],s=r[1];try{"function"==typeof o?o.call(void 0,s):o[0].call(o[1],s)}catch(n){i(n)}}}},e.prototype.dispose=function(){this._listeners&&this._listeners.clear(),this._deliveryQueue&&this._deliveryQueue.clear(),this._leakageMon&&this._leakageMon.dispose(),this._disposed=!0},e._noop=function(){},e}(),Me=(function(e){function t(t){var n=e.call(this,t)||this;return n._isPaused=0,n._eventQueue=new Ne,n._mergeFn=t&&t.merge,n}Ee(t,e),t.prototype.pause=function(){this._isPaused++},t.prototype.resume=function(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){var t=this._eventQueue.toArray();this._eventQueue.clear(),e.prototype.fire.call(this,this._mergeFn(t))}else for(;!this._isPaused&&0!==this._eventQueue.size;)e.prototype.fire.call(this,this._eventQueue.shift())},t.prototype.fire=function(t){this._listeners&&(0!==this._isPaused?this._eventQueue.push(t):e.prototype.fire.call(this,t))}}(Pe),function(){function e(){var e=this;this.hasListeners=!1,this.events=[],this.emitter=new Pe({onFirstListenerAdd:function(){return e.onFirstListenerAdd()},onLastListenerRemove:function(){return e.onLastListenerRemove()}})}Object.defineProperty(e.prototype,"event",{get:function(){return this.emitter.event},enumerable:!0,configurable:!0}),e.prototype.add=function(e){var t=this,n={event:e,listener:null};this.events.push(n),this.hasListeners&&this.hook(n);var r,i;return r=function(e){var t,n=this,r=!1;return function(){return r?t:(r=!0,t=e.apply(n,arguments))}}(function(){t.hasListeners&&t.unhook(n);var e=t.events.indexOf(n);t.events.splice(e,1)}),i=c({dispose:function(){h(i),r()}})},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&&e.listener.dispose(),e.listener=null},e.prototype.dispose=function(){this.emitter.dispose()}}(),function(){function e(){this.buffers=[]}e.prototype.wrapEvent=function(e){var t=this;return function(n,r,i){return e(function(e){var i=t.buffers[t.buffers.length-1];i?i.push(function(){return n.call(r,e)}):n.call(r,e)},void 0,i)}},e.prototype.bufferEvents=function(e){var t=[];this.buffers.push(t);var n=e();return this.buffers.pop(),t.forEach(function(e){return e()}),n}}(),function(){function e(){var e=this;this.listening=!1,this.inputEvent=be.None,this.inputEventListener=m.None,this.emitter=new Pe({onFirstListenerDidAdd:function(){e.listening=!0,e.inputEventListener=e.inputEvent(e.emitter.fire,e.emitter)},onLastListenerRemove:function(){e.listening=!1,e.inputEventListener.dispose()}}),this.event=this.emitter.event}Object.defineProperty(e.prototype,"input",{set:function(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.inputEventListener.dispose(),this.emitter.dispose()}}(),Object.freeze(function(e,t){var n=setTimeout(e.bind(t),0);return{dispose:function(){clearTimeout(n)}}}));!function(e){e.isCancellationToken=function(t){return t===e.None||t===e.Cancelled||t instanceof Te||!(!t||"object"!=typeof t)&&"boolean"==typeof t.isCancellationRequested&&"function"==typeof t.onCancellationRequested},e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:be.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Me})}(Se||(Se={}));var Oe,Te=function(){function e(){this._isCancelled=!1,this._emitter=null}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?Me:(this._emitter||(this._emitter=new Pe),this._emitter.event)},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._emitter&&(this._emitter.dispose(),this._emitter=null)},e}(),xe=function(){function e(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}return Object.defineProperty(e.prototype,"token",{get:function(){return this._token||(this._token=new Te),this._token},enumerable:!0,configurable:!0}),e.prototype.cancel=function(){this._token?this._token instanceof Te&&this._token.cancel():this._token=Se.Cancelled},e.prototype.dispose=function(){this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof Te&&this._token.dispose():this._token=Se.None},e}(),Ie=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}(),Re=new Ie,Ue=new Ie,ke=new Ie;!function(){function e(e,t,n,r){void 0===n&&(n=t),void 0===r&&(r=n),Re.define(e,t),Ue.define(e,n),ke.define(e,r)}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 Re.keyCodeToStr(e)},e.fromString=function(e){return Re.strToKeyCode(e)},e.toUserSettingsUS=function(e){return Ue.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return ke.keyCodeToStr(e)},e.fromUserSettings=function(e){return Ue.strToKeyCode(e)||ke.strToKeyCode(e)}}(Oe||(Oe={}));!function(){function e(e,t,n,r,i){this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=r,this.keyCode=i}e.prototype.equals=function(e){return 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.toChord=function(){return new dt([this])},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}}();var De,Fe,Ke,qe,Ve,Be,Ye,je,We,He,Ge,Qe,ze,Xe,Ze,Je,$e,et,tt,nt,rt,it,ot,st,ut,at,lt,ht,ct,ft,dt=function(){function e(e){if(0===e.length)throw(t="parts")?new Error("Illegal argument: "+t):new Error("Illegal argument");var t;this.parts=e}return e.prototype.equals=function(e){if(null===e)return!1;if(this.parts.length!==e.parts.length)return!1;for(var t=0;t "+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?0:1},t.prototype.setEndPosition=function(e,n){return 0===this.getDirection()?new t(this.startLineNumber,this.startColumn,e,n):new t(e,n,this.startLineNumber,this.startColumn)},t.prototype.getPosition=function(){return new Z(this.positionLineNumber,this.positionColumn)},t.prototype.setStartPosition=function(e,n){return 0===this.getDirection()?new t(e,n,this.endLineNumber,this.endColumn):new t(this.endLineNumber,this.endColumn,e,n)},t.fromPositions=function(e,n){return void 0===n&&(n=e),new t(e.lineNumber,e.column,n.lineNumber,n.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 n=0,r=e.length;n>>0)>>>0}(e,t)},e.CtrlCmd=2048,e.Shift=1024,e.Alt=512,e.WinCtrl=256,e}();var vt=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),yt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return vt(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 n=function(e,t,n,r){t.lastIndex=0;var i=t.exec(n);if(!i)return null;var o=i[0].indexOf(" ")>=0?function(e,t,n,r){var i,o=e-1-r;for(t.lastIndex=0;i=t.exec(n);){var s=i.index||0;if(s>o)return null;if(t.lastIndex>=o)return{word:i[0],startColumn:r+1+s,endColumn:r+1+t.lastIndex}}return null}(e,t,n,r):function(e,t,n,r){var i,o=e-1-r,s=n.lastIndexOf(" ",o-1)+1;for(t.lastIndex=s;i=t.exec(n);){var u=i.index||0;if(u<=o&&t.lastIndex>=o)return{word:i[0],startColumn:r+1+u,endColumn:r+1+t.lastIndex}}return null}(e,t,n,r);return t.lastIndex=0,o}(e.column,function(e){var t=me;if(e&&e instanceof RegExp)if(e.global)t=e;else{var n="g";e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),t=new RegExp(e.source,n)}return t.lastIndex=0,t}(t),this._lines[e.lineNumber-1],0);return n?new J(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null},t.prototype.getWordUntilPosition=function(e,t){var n=this.getWordAtPosition(e,t);return n?{word:this._lines[e.lineNumber-1].substring(n.startColumn-1,e.column-1),startColumn:n.startColumn,endColumn:e.column}:{word:"",startColumn:e.column,endColumn:e.column}},t.prototype.createWordIterator=function(e){var t,n,r=this,i=0,o=0,s=[],u=function(){if(o=r._lines.length?I:(n=r._lines[i],s=r._wordenize(n,e),o=0,i+=1,u())};return{next:u}},t.prototype.getLineWords=function(e,t){for(var n=this._lines[e-1],r=[],i=0,o=this._wordenize(n,t);ithis._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{var i=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>i&&(n=i,r=!0)}return r?{lineNumber:t,column:n}:e},t}(fe),Ct=function(){function e(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}return e.prototype.dispose=function(){this._models=Object.create(null)},e.prototype._getModel=function(e){return this._models[e]},e.prototype._getModels=function(){var e=this,t=[];return Object.keys(this._models).forEach(function(n){return t.push(e._models[n])}),t},e.prototype.acceptNewModel=function(e){this._models[e.url]=new yt(Y.parse(e.url),e.lines,e.EOL,e.versionId)},e.prototype.acceptModelChanged=function(e,t){this._models[e]&&this._models[e].onEvents(t)},e.prototype.acceptRemovedModel=function(e){this._models[e]&&delete this._models[e]},e.prototype.computeDiff=function(e,t,n){var r=this._getModel(e),i=this._getModel(t);if(!r||!i)return Promise.resolve(null);var o=r.getLinesContent(),s=i.getLinesContent(),u=new se(o,s,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0}).computeDiff(),a=!(u.length>0)&&this._modelsAreIdentical(r,i);return Promise.resolve({identical:a,changes:u})},e.prototype._modelsAreIdentical=function(e,t){var n=e.getLineCount();if(n!==t.getLineCount())return!1;for(var r=1;r<=n;r++){if(e.getLineContent(r)!==t.getLineContent(r))return!1}return!0},e.prototype.computeMoreMinimalEdits=function(t,n){var r=this._getModel(t);if(!r)return Promise.resolve(n);for(var i=[],o=void 0,s=0,u=n=N(n,function(e,t){return e.range&&t.range?J.compareRangesUsingStarts(e.range,t.range):(e.range?0:1)-(t.range?0:1)});se._diffLimit)i.push({range:l,text:h});else for(var d=w(f,h,!1),m=r.offsetAt(J.lift(l).getStartPosition()),p=0,g=d;p1)for(var n=1;n=0,o=a.indexOf("Macintosh")>=0,s=a.indexOf("Linux")>=0,u=!0,navigator.language;var d=i,m=u,p="object"==typeof self?self:"object"==typeof r?r:{}}).call(t,n("W2nU"),n("DuR2"))},tZcU:function(e,t,n){(function(e){(function(){"use strict";function t(e){var t=this.constructor;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){return t.reject(n)})})}var n=setTimeout;function r(){}function i(e){if(!(this instanceof i))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],l(e,this)}function o(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,i._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var r;try{r=n(e._value)}catch(e){return void u(t.promise,e)}s(t.promise,r)}else(1===e._state?s:u)(t.promise,e._value)})):e._deferreds.push(t)}function s(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if(t instanceof i)return e._state=3,e._value=t,void a(e);if("function"==typeof n)return void l((r=n,o=t,function(){r.apply(o,arguments)}),e)}e._state=1,e._value=t,a(e)}catch(t){u(e,t)}var r,o}function u(e,t){e._state=2,e._value=t,a(e)}function a(e){2===e._state&&0===e._deferreds.length&&i._immediateFn(function(){e._handled||i._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;t 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 literal 0 HcmV?d00001 diff --git a/apps/emqx_dashboard/priv/www/static/fonts/FontAwesome.otf b/apps/emqx_dashboard/priv/www/static/fonts/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..401ec0f36e4f73b8efa40bd6f604fe80d286db70 GIT binary patch literal 134808 zcmbTed0Z368#p`*x!BDCB%zS7iCT}g-at@1S{090>rJgUas+}vf=M{#z9E1d;RZp( zTk)*csx3XW+FN?rySCrfT6=x96PQ4M&nDV$`+NU*-_Pr^*_qjA=9!u2oM&cT84zXq}B5k!$BD4Vu&?bM+1pscNs?|}TanB=Gw z>T*v6IVvN? z<7If|L2rZi0%KIN{&DZI4@2I75Kod~vRI*C@Lrk$zoRI`^F$Oyi5HuU*7@mriz!*p z<-;A`Xy{#P=sl02_dFc|Je%0lCgxR=#y~GBP(blD-RPP8(7$Z9zY}6%V9+^PV9-}S zeJrBBmiT&{^*|I7AO`uM0Hi@<&?Gbsg`hd;akL06LCaAD+KeKR9vM(F+JQ1r4k|#^ zs1dcJZgd2lM9-ss^cuQ?K0u$NAJA{;Pc%#+ibshkZ%Rq2DJ}Id^(YlWJx)DIMNpAc z5|u*jq{^s9s)OpGj#8(nv(yXJOVn%B73xFkTk0q37wW$hrbawy4?hpJ#{`cMkGUR8 zJl1$@@QCv;d1QK&dhGIO_1Npt2c7Ttc++FR<7`t1o^76cJ&$`{^t|GE>K)k3GNh{I92zC*(@N#&?yeeKjuZ6dlx1V>2carxUub+37cb#{GcawLQFW@Wryy^!4biE!Rvyz z1Ro2&68s>zBluk~A`}Rv!iR*c@Dbr8VURFXxJ0-?Xb@%!i-a}8CSkYmfbf{`wD2Y2 zHQ|TCuZ2Gd?+E`8Iz?iUS~N~HT@)&sEqYwENVHt^j3`EwC^CsML}j8zQLCs&bWn6u zbWZe&=$hzV(PyIXMgJ8IdI`P!y)<59y>wnnyw-WednI|Lc%^yedzE{&dmZ&U;dS2Y zC9k)=KJoh6>nE?fUc)p+Gqf+QqQ}#Z(Ua+EbTA!ChtYHBC+G$AVtOSVNypHsw2f|| z57Ecylk_F}HTnwuKK%v#9sN5!#306#5i&|f&5UPs%mQXL6UD?a$&8iBWb&C3W*5`Q zv@>1IKIR~ElsV0uWu9j)F|RV0nGcyynO~Sc#7N8&dy5s~(c*F9N5zxH)5SV*n0T&u zzW7P;)8bX)2=RLHX7M(0tk@t<5~ql*;tX-NIA2^QwuyI%8^q1xc5#<@ulRuYi1@hp zwD_F(g7_uz8{)Uc?~6Yae=7b${Ehf~@h$Nk@$ce$;z9ASgp!CPGKrr=CDBO6NhV2x zB{L+mB~M7gB}*jBBr7HBBpW4LCDD>N$##iRVwR*yvLv~ZLP@ElQc@#nl(b4ZC3__M zB!?u&Bqt@$NzO|yNnVz`E_qY(w&Z=uhmubvUr4@@d@s2rxg+^qa!)cS8J1E~zSK)9 zk@`rL(f}zd9W5OveN;MGI$f%hhDqm2=Svq!mr7Si*GSh%H%hlkqor}u?NX!EEKQSU zNpq!z(o$)qv_@JlZIZT0cT0Pu`=y7aebQ6Xv(gu&FG^pLz9GFTeMkC%^dspF>6g-P zrT>xsB>hGDhxAYBkaR@mArr`GnN;R0^OLD$8rc}xc-dpJDY770sBD((aoGadV%bvJ z3fUUjI@w0qR#~(xPPScUl$m8|vMgDytWZ`etCZEq>Sax`HrZ}jk8Ho}u&ht^oa~~k zU-p{pitJt4N3t8TFJ<4#{v-QI_KWNf*`Kl@*@(A?x4@hBmU{bo`+2LpHQr;q$9q5K zJ;gi7JIs5Y_Y&_F-p_b%_Kxx1?!Ci1!#mHr)Vtc-?%nR)<9*2cg!eh`7rkHie#`s1 z_YLoFynpom)%#EHVIQ6kPx>cKQ_h zRQS~TH2duK+2?cA=d{lYJ}>)R@p;$hBcCsPzVo^5^M}u%FY*=oN_~BO1AIsMPVk-L ztMi@Xo9LSspA==WB&S*uVl4V7bBsZ6Ow%WsQuJUl%vOsv%FNx7`s5UAW~xPRj!Q^N zwi+UnqRjDntAR@;SgfW*vp(6Brq42&k|Pt0u7@erYKn`qB*Yt|l44BpR&$iaU;sM- z4d^4IlC0K*WWCuG6&q_xHzvW8D|?VmP2oxsjM1iyl%%N4$e09kOp@NLPtiwN&H6aA z-eTa;a#fN{F^O?WQSqF~OEH*?dP|xqDK%Li3CQoKxK{5cQ&V=BV@$F7Xc#FxtWojs zXNfkM61h7$%AA;DPB2qoM4Ov7+011Nf%sPRE(aRk;t@!SiLC) z(4}(2HO9bnN2Nq^J%e^*xrU$#s~$RKF+`d5K(ClYZt5*oeM)3>R7_%elsPso3MS`4 z=E0Mj$&@IdAbalxm6OD4U#Myq|K@ z-&JTzbUk*Y0-^+{&H*ME<4mrECC04R8!ZMC(2?u*ebPc5H;tpCU=m%_jxw7~>F%j@ zrQFl$N~Wf`Uvh+X%>u^=z!V8t`pCG{q@?>vOLA0Fl0G9QDJnVY@1Ddb#95Q{QE_nz z(2-1F6PRS~8IxqP=wV8rtMRU$!gLw+F;Pi+V=Q2cGRB&cV@%1(K)mFrc%%OB*-1@# zFgILx%zA6OUJtY}rKE5z#efjS0T1cTZVdO+9M=22Ow*gK34rH*)?hLxWC7zvB>|5{ z#sH12*7O8mIkT%*9G`Hk>dLs;G!k%{O^NzUkTT2tE?TUH)Z}POWNL~_)Z7`ae_Ylj z(7?KJE)jQ&Hb*3o*rWtwBJh@*Xep@{0}KNAUT+2=21z$2x`_$+QVf~#34kTq)f2bC zy5teaYIF&ri#6S?KM*c=&h^$+?f%Ff49eYLDyV~)MBo$Pac=%%%@&IxHZ~dv3zK7v z)+Z&!aB~(1vu4#BfHILT-f*QjQFJ9zQ(O;j%x->){2xR8tH4$FUnM|M7YE+2!8H+| zWQx|On?W8yq%DaSP+~AC(dGnwTuhWj&oP~wvyCRJen%=uy)iDqm|)FJ(pxO9f_SqD zCJAN`7%eq6S|0`S9FuB|F{OY|rnuN6A;l5}g3RfWXkb3jsU|ZpPHK`V$znApB!a$$ zM&b>rphC>h6sWK0Bt38=XbW>{Od`+XNK_^W~`uM1%SkU{?CLrT| z*5rU5a4DAt4QsU|SYaF~z_MnbZd3}WFFoi`11Pc7q-YRfpk=(?HFGY!oON*L+>FN= zrpV-2sAV;nKn7Cumed63yhYD(iyLEHoL(PiGR3;=k4uAd$Ws$QzZ>JBRtl%)qmlt( zlrcu1tdC7hu*PwHfTp+Wtez}SISAlE3{#BBi@~MV=s9VU~oa*A29jU;4uHLv)t`=cj zMkBD=0}Gn;Kx|?3|5QxeB>h7H-63>M1rORUPw)_81!IgVnE33zbVFL~|4d{TmH>B{(ST?=mZBvFKDQ zs6e71u%5ZNZgM&lh)@6d3N{!aL268{00aWAef0lv1i^_}z`hyP% zyasc1UyCFdAscUwN{$1kE)jexW8Cx^)1woB65NEk+OUEqN;12DT?I)dX#Iaq$3L>1 z0{Z(M#~c61xyK|v7Q!EnR;&(y&k3ik}S zXTlwpYD`!>eg3q#=~2@ogTnwcEEv)N8U~)gNue|5Zu9Vhq$UQ zm=4KMxM#pU6K(*VJ`HXtpAMkY0d#r@+&Z`cZaTnC2e|2O?BUZ~t%L(~5I_e3bPzxX z0dx>R2LW^tKnFpq!O&_jzy$+bFu(=7JFw8*!oumUh8A)!p+c~``Gq=nX{h@Ft%X3% z5Wo-u7(xI;2v-IbLfjP=0TLY`(Lp;p0M!Ag4nTDPssm6Rfa;(#p#T>OaG?Mf3UHzB z&MfAN0W@?*-1IoE7(i!0*$e=k0iZLWYz8zr1Dc!>3NSJ7geGSI+)RL*32;EO5TIEI z&@2RK76LR20h)yX%|d1ZTo}NG0UQu4Bn;rfLgIqB84nAECszh=Krr33X>d=6I|%Mz zxI^I9!5s?s47g{)9hRo&)&V*omkuiHfLuBtmk!9K19ItrTsk0^ZaOp=1PulO91uze zgwg?_bU-K_5K0Gx(gC4#Kqws$N(Y3}0ikq2C>;pDE*Ri~0WKKefIhllfC~Y*5P%B- zI3SA-$f5(X=zuIbAd3#jq6+~y9l!xibU+gw&_o9`(E&|#KocF%L`hz;)DWmLP3;5fv}-Kn^2%lD9|PpXcG#w z2?g4O0&PNpHlaY9P@qjH&?XdU6AH8m1=@rHZ9;)Ip+K8ZpiO9yi^YTHyZbQTB``tr zgIpb(AMAd(*f?muyEF4$ViPofhWp)2_v3ym^WC`x?nk)$vC#ck*h}=pfDBO)G+>I#QjVRoW zDBO)G+>I#QjVRoWDBO)G+>I#QjVRoWDBO)G+>OYsYl7UmCTO7>(Ly((g>FP{jT5xc zjcB18(Ly((g>FO(-G~;t5iN8hTIfc!(2Z!3d+HXsN3_U|XptMyA~&K%?h!3=BU%JB z4s&B!kI%_aQR>IrR=x#+$+m z;mzdD<1ON?aK+rWLd3m{XXDlKF7tlj5kBJc_#(bPKaf9_AIz`iH}m)K`}oiCFYx>M zm-%n=-{;@vV?KeH`Llwpf*3)(AW4u1G4l#RpWvL}qTr5jrf`mMv2dxdS=b@mD?BVb zC463ZN%*qxvhY3O_rhO=4pE>e9OBP801EGXWnOSFyAwG zTv6*$;wj=_@l5eN@nZ2Zh*qaSY`R=r4N>V1@qY0M@g?y!@q6OWAO?L){EI{=882BR ziIpTnM7d02lhi{L`JCic$vcvdC7(mg_&<_gB)>zHn1$%@bchNskS>9k@H5g)QoS@! z+A2K_vEG-ZuS?&8IPWLY-yx#=u>zUPB{q&{POCP9RCmd^r+u&(rp@QL@y@~QS|_v!Z8?{m!OIiHIVSH0@lOL9!ke`vC zm%k`~TmGs1M>&>{C?twN#iNRuig}8ainWUMip`2>g+Y;`$W@dm8Wf$1Ud1uRDa8fF z%Zkg2w-oOyK2dzBxT(0M_(gG7NhzgDwQ`Jdsxm}5Tls`?vGQr%R{`icA`e!hMW`33q-@SEfp919`B@V$_Hqg<(g&v8BX9I=vHqtmmC?CQiTI)~<@i|)VblQ3H8$=5wV+lKpUN(tkX3=CokeSoksl^f7X+{TA zIF)6dh2AY2%Q6!H89e$99_(Y*(NEJ_CXL1~&@gHZ!{tKhI3Nu-(Ha=IyBUSBv$eHT zgB60#)|^Z&R`8NoCM!ETi&2iFnc+MaF`j>W($I9M|{Fdn9I0?i2Fo&$U{Z$8c3Z@s||tuw%~3Wi@-Qn;%~T~t_BQle$H z(%4@xz~aD7*k|q?4X(!xeC$IzBLc~&skAbfW@1}K{oBs2(=e?$os8k2kr~4h zJ2O0>T)++~{L*NRd_Vq^9U6!SiC8JPP*C~V5;d_4fTOkv@S@>s{2b%v$CGe8J!BW$ zWJe|m8oOG%dsIDzy=8keLkF>xe{|R014mR+Y`{OWCs<;@^T<4GVD_^hV!}nQuYO;{ z5XCB*xT4s7O{^guzsd)gfXJQqzy2L25&H1IC#;IT7k4stQAl`4B!EN5{B z%pdSc|Jk$sj4=3m_)QJ7aLt;9j9?+l;Lq7qmdS+Ivq3g^vuWr9Ori3g?wip|f$O8$ zKoRc7K@j_H<&QM^hJ3>(Z90(msVr_2V938oGun{|A+`@ijA8@%`OHKb zX4RUNno+1Fsm@K#$_0FLSyEoIDzhc4IalLA zb%1SMvT*GQkdEyv6C56npQmv*NZ^3*=Jo3^6G|OS!ffJ!A0cyp)U<7ESpTewESXBe z$ZR6j5FVLIBA1gywK2K6+Nce~K6us!{FM628+DDZYQJ1{Yuj%-_7@*4Jyh0S(blr7 zQ-nqAuHCuK`7N>MB2OiJDPqjMF*dWAQ9BcC&ID(IiorKn=&gOoj_sZd&SY^p4GIN6 z$ujr8`Q{!onZ=4VG(+JDv?mkDM~vf;4L=7e7Nj%+!^8^nu>vGj-o{J^t(iXu^z1a6 z0mZ>6lSYiTBz1Onc}b2oGRqXbRTVgdgMEsSh7)?(We#mOJJ+mOJP0 z(|Qi(A6B=uRoAs@&vhI)^SmmM?4jyV%qZQ#(?JiOp< zO{!&p^j-9@LQu~-JXr0BLP+N0wPX}7F42$#vX!5n)@nGY9y%j9*xJ{XrX>k@D<2ov z;k9@ap064LgRzKg!4DG~FhVD&S$f$cv~yq~%`67qSK?$420t)W6Gjt0(Gb6%U_j&E zc%%E!0Zp~w;f&=Ih*)jhQCFX?&9BMdRk$mb@co-hTT9zZMTPrL6hE)Vh1dg|@K!K* zTZoNO{z3a$X(ofl(}7b#UtVCzXvSV&Z`U&KzyA9B4F4p{ELy#Kk(SYcNpULjSf-&I zC$NOGes#q~y9(8uDPS^NbFd%F(Htv)nK+TfCuw38tlM_BUwZ`qLE~4!4&lS}a0Gsy z)i@LaJOb1^3B(c{rnOE5SBkCp2Rcz0O>36T0c(Z(aF&Ay)hz3moP-^ynaT#zZENX=Dem$rBj#FkIX-f$24$w)OS~yvH)( z;A7l3ngKsZp>)h9ckmtOY_fr@okIf1XkZJh%-n6NwH5?e3U*p|sN8HWU{vQg zCL+RkEEHe`i*@)@mf6%Uu+exiEpRDX8aihIL)OnReaLhgw+fiIp;iYz59ArZ1N^$W z8he9^5ti4N)s@r@Zyem{Z|+Sm1c_1NM_Js=uBDk{aG(Y}0$W-k%aA^j1y>(PYAw(T z+zKnO1%98!@D$>A;fbvRM)^KWHGP|@VZn;bpoa!(Sl4WS1|n(q!%|jb6E0=7PP@Zy zghoFgO>licKEUwAAHdZF*9VMpB6Jp?IRcHAdma(6LTQ!$uG!tPgz^r867LH@VA>{RgLukD%WQ6OsZCj^x4qz~8LrOebNhkr? zhA-l$aTnNsJcl$2$S9Iwjw&rKE3POGC>Jna&>Jp23*GpIQ^=f)f@R}>BQhZ34VuY? zuC(OB3vdOMU^W>c_GFn)xdG!Q_8Z-3M%jIh-&wc2wL|T=E9h*@$t=;PE#qgFWaMP2 zop%M91+ATRTE++?hk@I073jMNb_UCs&9<0cGt&Zt&uwAA!5GR1s|QvN61bM;yqFCe zz`4P-q;?feYH=;olG|l#X$fGIj>qtqNu8Y&vpO-(hm zc5O#vb9>EhY+ptD@9Hhso7N_RG2mP_3t9*N6mMs3^hANHvM2Ut83!nEPIqgioI}Ap z1!jzd;1ZSz)l6Zhy;JQJHyHgbL5aKZA zb(hGdvC@4#?Ry)wjXk9YGCG;OyqzUk>a3l0&3WL4tcPibPCGDuVP>#WUrwqV58>0~87#&v_za1|68Z4FK;8kSI~i6PbuJ&@4!#2{Vqkt@6*CBW zq^@pPT}^!eGrVzlV@XL_NqKPqQ_g}FCW-|#)7xu1ZSDo{#df;4m&vN%*__AV_vnc< ztWQ9f&-r{KOo>#5r5CZsjn6eVW?h8olB$@4yBkiYA0i8Ii+|h6)AqA!ybzBiW646s z&sK&@$s>5K20Z3KVyGY+Z7N$isbziwvcf!l0qZni2*D?ux8bmZ{_kk7Z*FE>ejwv4 zbdHCs&{^n!r=t+A@o*I~+Qz*6`kiWWejWLhq>&kaPQ)SF!4UxyB<#v;-jSl>Gy!K9 z_c!nB>ePHEWR}vf9AoeXS}I(AX~Ua%53qTT!;@|Wis8qh2iyWg3#%=of#GLn7MRT{ zbECO46BI#;)taIiFG#WW?AHQuh+RiB*5cfVZ=^pjXXMwjsOc zkew0cLXVfj0@@R=uF#&k)P3!ms3YH}Sa6as z-+zA+GXolCB%%>8a~>xQfqOv4<#Gf8qw+ZQUkE=Sl(6)xtKZdNR{`&U2{nTY%Z=Gy zQU@?kaW+rLjjCYpK2>ky-cG170gvZ*bTZ5S3j(38Pj8ECkL-!*sp+ZT(;%wrtK`(y z01g4q*A56nU{!-dJel_Py5?r>pr_+!zTJ*f@D^OGV%D(a3?88IT_J;)u-qaoyN@E#8N z^ERHLWduYvems$BhX*iN))}m0fC1Zjm{SewU=_fC!sS8&%w(Ed<}e?+tO*DVTnibc zjb?5OCxLy>IcnXjVQj0odcrtYOZ@ACHWTkB^Kz9)IrK@#E)UG?-_@ zyb8?I6c$t!s-r5ImuYEjb4^RDid!giOzq+bATcBw*$R$JIHO+5-eYcF4-aNs#yc&Z9}$OTab3Op!K zsi#?r5kN3(ctA*k8KJ|2W*Y1@b#+WBhy@XXJaSCQxr>XI5JASqMq`;Kld-bAz#$00 ztpcFt_QsBe-J-5)tZZ$AWh9Fys_?{Bn4R>8<~U#wLVSWzwKg=i)@Xj{dgtn?uS85y zNkc=G_ASRGep6Lr12>{F&gJADOr+tAHu+dj#*69~_v}8z2!d$r2jgt0YpT~ab=W(b zJ47G74Bb=05~M-RRIo}0>@4_3J@h$l%(1K^1eme4Lj_D}-_=l8r>SE?z=CZ86S8e& zIUj#3z}tqF^W95v5&=;zj_qMSouCH^rw1L}n$iK99dvpj=Sq}-Dj0CFsFSua$FYND zPO;olnE~&00?SOH$8oJ(gUJSmPspUu-~}@~tUIj*+5$_hX?G^01!GoJsIuU3WGsOG zeQ|v1iw{E-Ah;}8oko^b*A#PdasuQbgi|n#U^C0)=GoF(@|bS?1w>+UwkN0(S{Y$D zjA$O7#}Jli^7AV*8gm0cg@;4M8|<=lUq&}-bjUY<-uw33dw(+NiCU5+%q}j@)-ak$ zV^=|)i7GM?C@UchsS@NB+89kuQDJqV8u;ga?>H6f4(GwZl=v*SS`x%#fq>y#dXDBC zQ-e)v&&jOPGW^b}cJMHP-VQ#;_zG|&m|oztI3heD0H^c?uuv@gfh7oFhvfqi-60R*koEXQCOtVrdnj{zmqE>_i9bPb`GX62 z%G49LQ6IZ8mJvQn#{n`8INIQ-m3v0MgE_nfH^4OB@{rAN`_R8NF9v=C!@fh5W57ik%-Mi>^{T} zAofqh{)IFXkmhluc?M}pk>(20Qb_wa(#9a|5E``xjrtsoo`yz$h{jApW459(SJ1=L z(8JwmtQd{mfyRE0#@D3Q85wBC1vJxu!iLbSwP*{{<~*LE-IaVGUYz04?rEOYWd2m!c<6qo?@jsR*<}jaD?G6O-_{*1Urv_MvB%pml+0-2t@jI9m56dX`1&r=tz)(Z<)&rip0N z%V={r+TxA2^rJ0KwAGFxC!)wO6uAUNnowi|iu?dYeupA|N0EP_ZFMNhA4M%e(V-~% zB^3P~idltXE~D59DE0=@uRw82P+SL!yMy8%NAaH_Lpd_MixMWIgnX3n9ojw$ZNGsM z(^1kml+=onXQ1RRl>7!t{uLR=BI9giT#1Y^$XJYwmyq!-Wc&=7#voHYGQEaUSd=mz zr96&O)}tL1+CifoImrAJGS?%^Ok|mbEOU^h8d<(XmLX)VM5&c1Z4OF*3Z)xR`T)vU zf->GgnWIo<5y~2mc7~#zsc7f(C|irN3sLq*DCb3#%SX9wDEBv%>qL3aq5N=^-+}T! zK?OdjU^yx%K?S!^VHhg%Mn&PMC>s^EqoT8@I0zNjppu!WWF0Emg-U)!rK?bBIV$r) zWihDiYgDd4V8{4#1uMy)hzZ9r`lYF~xgO{l#ab@ZdokJ0YwXm=&r zeFJqphPpCP*Bhw27InXa_PmAmhoA#-=-?D|$P*oU5*_*o9af{m&!8il(UITK(dp>u zPw3bW==d&l!UvtWicU^IC&SUnbae7CI{7?0wF#XXM5mucr@PUa{ph)JbXJ7UJ%Y}) zq32oj{2g>Y8l8U^z3?`=a2#EnjV^wUE-BEZqv*w@sDCGV`8;}c3VPiez21r5SdHE| zhAzjU%YEp|W9Z5!=*=tWYCF2tjNYn1Z&#tWucCJX&^y`a-EHXIBj|&T=z~r)@CX`s z1%0>_efSdkh(aIzfK(Dxss|NMo1u%aJ6M?c1+A06nYN$97~(e0z?XMgl_8M?Cr z-T4;%`ULv*F8b{&^t%cDu?78CgYHg8gHebqrBFBpTm7Eh6pu&oj!^t*6#son@FgXT zr-U~tQ3WOHr9@v*USlbUQ`6s4%nFKWqQotfWHBY3LU{*JJ_5=olk(j``F=<#Kc)Oa zD8KKhhlVKsbCjxyQct7;HB{hoDzJ@W=TMpwO1q01b(R|aI5qkkYRqhEjDZ^SCH1hJ zdbo-j8%>Rir^YX&#@A631k{9TYQkx1!e`WkFQ^G$QI7;tk6fZ2y+l1WhI(u-HL;PJ z_$4*z32IUbHR&uhc`-Hl87ky)D&!!g%cXR`QK3RAl%+z0snEx%&{}GS7d3MX71lz9 zy-m%UOwC?Q&Hj;^6GqJ;)Z7Ww+|AV7R%-4`)Z>2C6C0>`YpD6}Q420m3l-F&`PAYo z)RIc-$w#Osd#I=Q)KkgSvL)2hfz;EVP|LScD>hOqFHx&9sMYhRHBxHrIBIPYwe~M+ z-4W{9)71J|)cQ5l`hC>;@2CwTYQq+4!w1yHd}`y%)TW8lCL^`!3bi?w+FVC%iKn)1 zptk-%MFvrkH>qtpYTGp`Y7Z6l3l+0~iuI&oXH&7yQn6`NY&)eNO~v_BaX(P;CMy1I z%CLemyh0@;QrqWI+drieuTx21P|1aqv5PWwQz=erhk-KJQr7cSY9f`kfl7~~GJdAA z)=@jnRCXbiGnL8}P`S@jc|}ydlPWkt6+c52S5w6!RB0+zrlraiRK=TAivl7{e^0k;pVIJl=A~4Sr zmb^S=Ab*r20=5#I5klDC;VB10R?)*D;Aab@fkPikN5!xh;yZTFK>k%nmXhqoQ!w0D z`nqozt^_Q@9)>G(x>pzi$Zj&3k1q>vKz!ymnp_qFm9B;FD#iR^J1oBn=phB{wUU8ByI>H$ zx8!$q^&C71XwoQrfyNoM=PID%C?&UCEhwxkFVqYV5Ia96*Ay3}8rg(L(}Np?fUSV< zJO&x*C>!j`DNaJG(1B7|a?Yb+Ls8lddmB)K6#yE|o@S4?6&lz_NK%B zkq5-McvwqBqNhLl@$vtvtKdW3|Ni*N)sM7Ti$$=S=i!I3M{ifpp6J)(lYyQ1kItoa2CREud1?qW}t zM4Dkg^u(WZ_eR(ZM4m(7XDhLZ?W2K;DP&7Sv38K>`~~8??IrDMDYinNha}2FiOrT> z8fWDINp)=E?=H;RV^ycIj%P?dzqq-zv{ikudG9{VMbCj6I~)g<*PUTb3Et$Cl1&4S zF!BbzGapVPj0g@yT%AR8J2pNGeYam|7_VzY*!nqQF95f6X_??}N zy}c^XE;S%19?&dkI$yl~L4z+~*L5H4Us%Ws+y(Fdhs9L_Wq|Ns$Xsne`9HBgz|0BS zI@STA#{FWu!U-$<>onnZrtTk~;dZTr?qf9E#+Bd{t+{3f-o#en+%_)cTwCLKgmtMA7k=EzdSd(S4Zx%j-keF30X!bM3MnU- z8j66_NCc!Hx&=wlHNVnQJ)A2URP3aIH7R9BUVB!JhAcZ!a5U#=){%f?FPu1c?7XP9 zzNX%;g3X%JI!)9Yi{4y!QB+r42wTR5h2^k^M8=FVwk0x#IF2}DiCZ?|Z$P`9YMsJ2-1-0Jt2 z_iqvv*W1hNYCD9#;9S?}KM!Uf$~#;TaDY6`&#G?E?Nnnk?C&(U@6xtku6wKg%HhVt zEeG4Mh9EFTT+L%xjVB!0tF3bl7)na&HF3|!pG&ydez5sa(-FM{#m`cG+2uf29T+j|ZIiwhQQaBtkbmc4h zV*1L{>(re1uZ-E4u3bcC^U0g_kh{yHmH{o!S;O6yP*aK?eR8GlIrLf!WX=NQ} zl-0KC%4&`Cy2I$a?lkf%Dk~~fPAeR#xB?(fU;`Fg9OsoyEfw9lO~izk`a33NvE*4H zDaYHQ`j*(D3<1M2&fB^96=_Ym0dLN)Eomrgs0^@IHq_MD4nFDl(0}kr=ZE~#y84O+ z*T#55Rl}~@x;H=cmzD$PU^(bJoKBC1kexsZf?x%YLg6^$J~snT1>~(@NrtTWEt=dV zRujbWz^k~ed>8_3pfCq;1O%)v1quT_hi*GgD0fz6=Vhx&xga~cxxGreOSl(62#Z(X zA$BiBT+4)mHfOx@bpGk=;~J-K=pethAZ1UAn*0C&Z6t!9S(Tdu{5MOGncLb~rEP=Q zA4JN25TvA}nhUf}-N-?Hc6@$JjLO&$c~UbNA;^NWaaGzbFvNhS7h358Tb@~!1DmVx z_GH7kgD!P2M1wlDgH!Yx?Ti(0x{x0qw<&$Sdi|!Z<8fM|#({jN9*5Fk5_<})?K|KU zmm@-em$A+WVi)4C;e?7a!XImBM}#9{cW3Q^g1rIK4463J7MLW(%%QuEyEkF00SI&# ztib=vkwqK_V2*(>_Fql>G5CnGwz<5euo0wxz#mR_)WCtYqVkerExAsv^Gk}k5axK; zxQifne+6VXLfF#W&|Iq}e>l3s*zU9;pvZUhPy=xAB$!U%%Sjj>?+L1FtLmz2vB6R7 zKe%3i4bI}~(yEf`(g3_6S$RCaKj)Z+6gn>QkLJYeGpK>p4KX{m=V(cx^CCYdA%9)G z%9#ec&S$|3=!WwSJ$c>fO&aGJJdn|Bwx#C>r03)dc5? zAQ0>a{PHX8IojnXR?+w>n0uP|5v4zdlM-a@4YEOv+h{nRk@Oqv3y#+|w%B&(H3302 zFb9P-psFeh%SwwyME)q55Ke;Ccr1+{!rmJ~ZfWK3!4VwLFF=?C4hb%2TVh3I(i9Rll`K}nIa8lYHz#W$V$QxpPX|K7v9$=H{JrZm zcO;b$JTV5ZejGomcJT4@usihU*V?LTTTQj97t{otb%O!$v5Jf#YdC#@z-MFdPg<_)c3024Z7yxZ zX{0cYR~4RM2kwqx@c?f$?fNN&-YH+?3Lg9@h7}K-&Vd2f-t!U`HWFZyYv51X39AI~ zBX9(T6FB=2;R#CsyAn7C`_jOmcwiy~)DvNo8CR06cq{ZBo^VydlqG%zmI)R-aLjT5 z$dyKK>5V>R)dUhLoL@E5fxJJ2r+RwNoQHE^{mbI%NHP~hYPvefSlepSzD2Y|_7Y@a zY9_B;Mtrq9a*a8bouZ7Kyex}qI7>K%ZEmcoYtnoOJ5IB&!x3QPO*ozPv>IsY^U4*> z*B)%^X+5Emg1U4M0T>=S!tD|Oe|w&02Q^B^RHqOA)%h%3KIB*DR6=!)KK+QMYa?F1 zolmHPzs$mnI&mQlCiH1I%`|c5y19|sCC&VdHw&)4qr$J?mv9HZ1=mZYgS_%&!Lp3y znk9MsPa|jcPgEZfcCbf;nEB;%OdZtXwv~GsC3X${ug9SJyOXFjR#4I8w#6b(t)~he;onKx4+XoqKb%twrsn zZAAyN4`l6wgH|(%)(tK@K4CK-GAA#%E)mvA&e}}LB zbPKXq<#~VgU-fe&x{oiW!Qm^{3D50t!n3=}wnu%nO4-cj7ufO(*=D<~Nqwt`5sRB&PuCXhsj@dTi<<52H7)AFK>?QUJBFvcpvC)#G_5a`ys+bV zK%Y6Pd$W4DT9B1hT9&1)sv+{@MTCu79+c&8kM9}+SLzF>e;nb^MU4(oR}p)R0Md691%r!J&2P;SdP_oLMFu6B05;>kLWc4)lfKS#W5?wI%|hoq`hu zfx>*xp@_k|@M(qn0}BG5U2uozAAEj+p&UwrwSy6k5G4?GJvc;fo9Di~NbR%>7R`O; zDYJGxI8E>dA7Mun!eUxuWd+Mv?U2Gj!*NnrXHTVJbU#n}+OZll+_5Y9iNS;+y;7d? z0U39NOnr$=5>;koRA#6jd8DT55v}v3;fIx1->hl6s;zGAs%wRSh*vrmsjKW&cDt&} zw!3n-W=#W`Q1glEkfXx}Qs8t(5j3uAvN51y4j&X3@w_#tyW_a0#W72@XmpdFU zwJ9yH+wscx?pEEqr)oTK)^?2gpr4CX53 zcPo2r+|^&z-!C2~cl=iL+i$A+vuEqhsqt()|4CRs?j#ddlj!)ks=9cs^W=y`S&tXv zr`qw7n>R~ts_}XJHWt7kx;Qcy=3~uSSTJ3~f$!iYD%?V7I(K0-txXmcqySZXyRjTUA+J_CRG|P7^tz5RVVzNI33P*p{0cvi@F5gCc zd9^pcZTn6w?|%2a%F6e&m9M>#@!Fp5nmy`T)iJ zi=lMC;hb$h#99HCFYoKypK~Bm9XMDJ$omVwLyP3QFYmJ9%@>Y}x)1)@aYEgJAF9c2 z)i&ppg=eaWmym3&;~XW`(=}vo>PGl*;8;06R*8>kPqf&4t^!sXg3 zyyb<%qV~NwZ_jfNI?$F?O!A_$YqN7y!S&8$^IAY1T7g3=@eIwg!b&{JjXj_hEbf?M zEK@gLs48#JHgOB#!m5g1=*G$8(2d;8w4Btc06Xa<-6fg9;ABVdud~@CVJga}S!k|L*VRApay+;r@@byUz821q4~J zRS758;d>ePZy(nsI9jUgbCvnt|COeLwHvZ3H`A^ILubet?!ZuCk*cVsu&zYI9sA)v zGJ-=ekJDBN!^g7eup%3bP`Z!i!?_^tiz8UTLA=U2kV(7FZo5idXSW0S-A-#P3w{Nj z#x1Ip`*!wN8(l|0ir~;uNp7CjIl(!ekHdtIfqrddhhbmhzSf3??|2r^5;`V0C-8G2 zp!+swo#B{R1cZqcz)f(j2>j7O#ZZKi9kN3h(-{K00(PezY(t3a>=TKwvclWo?6?j! zLbP4j$>Kxc+4nnyU_25bKx%^sscYZxnb-e+vHdADl<>_>P5x zpDIf#N=i#L&Qs1){L)g$sB;VLEp^p(wY6HuDaR>(Z7pQfE%w4(?KAKd+3>*d0H5oW zaByI7fRDQ{d__>kl02Nt-)q_4nxIbDo@23U$t)7a?PuUwaDneIoL36}2_&4tfiFUa zAn?UGti?3u(<|zq-WQ>9P{VEf$gcA#7t|Nd??2bAb)dmE{=Qf0uU=8XY8@)wR>FsN zBLfiN2Ty$z&FzfXNgk*?ya#4VzDi!pZ9pg?WGC|4Kv;H%(9q*lmdqijRqPr8-i7{#0a<#Ka z5A34sT|ZkS-?m|P(&X__ha89P75E+j!zU9`_u}vNP>7p&4*P8`_~JPv#&?x#Z%=$x z0Jaepk7N=bf8zK}X)mnIE-WN}kU#tj3$rT=?S=NLHaPY82mZs~Zf~oy7m7Y}{zutT z)Rb4N$*aw+C@5IA%paJys7M9+aXkw`skXL?vNq5S%{6xW#f$#%HDzN(Q$=I3y>OSP zBQB;P24VoK*@;6T%HfdV5IzCM6%K|BhVbz;JWYAxgze3^6Pz33A9rH8EiP{ARDVt& ze)xgU1z#1V^kEjq555e8fJoOlWlN#ED>-F_g*&q|bJGh&`6b2qc`BH$^(^KI>T0X2 zYqckPp6|K@8%Z@yE$yn#?AHIo*qgvNRqXBKAkAX*;*td0q&cU`A_^i%0XJ5GB4sD+ zTiIy~rL^h3rEQvKY11T4_kE*4Tb5E4WZwiS2x8q)@hYHl-79m_N%8kgTD;!(zVGM% zH_{|0=ggTi=giD^d7ftyIjhwQxcS3R(fs)ulJ3q{k{2{UIQbT(B{>tpbN^YU_X^7vwhtHfNgl_b`YXRm)J{q|E5@CJ!g zqd#cHJIZvm>6|Iw1xR~&nWMOfhfi_;Qix(^97Aj)aHo)eB0q#H`mMKdbF;H^vRQ=2 zVBmv;+4#Vk*eU5@l*vE&JE!cgMz`2(7MnVsF%yp-?P++w|7v-X+Z(?wB z-|(ho*6{Fdb+_7=mXWfauYL@R9v*I8))ek1Oz})<3O{CTYVvcRcApmYC*Nz_E(~^$ zU|>Zo0g)MC>L1gzAaWu@9)-GGxE>E)aEz{EsPn)r19p)FYIyX81`QdH4=8}eMqssG zKt5B9(1>>n`XOm!@tl5Ln;C+#%^Q^l^1Zruv%mNQQm=6@C$X9~_U5k%z%Qh~zgP@= zf8qV#7|8q=jh`EDqWY*R*It!(U)Wpz{^Cbrw~Eq`h1eqeq1;n$ZQNS!-*wd;>$|l) zDtU{Fe5u(|pS-7>Llm54^d@bVd0by(#215ydrtv#`~HSdS??add23-sB}j>^dpU_i z)o{WWG=7XhBkEz$V7tGJT?ZmnuKWA7vEBVKTwptE)qaPlMA^oo@F=7|O%asHB0bQr zL^!34igLy6RU;+0*Hu*?#j}#raf#{v^dHJka0F;f@C*j~i)ZyEBf6^L8sz)?e83)T zib2jdUDKV|o#^|E#?9V(Xh&@H^TiIHMxoJHz#q~55^kb^uG{XX+2P%Z?nE4pA@gM% zE;M=?eLeVt_9fWVAamn)*s==J0r#r|L%H`I=RZmGGWI}-BQ?155^{-Q_FUpE>~WER zfyj83q@x|f<#GgI*ulLAbz`R<9ws@3$D?FhQzcqZqz7IT3RC6rJ=8r z*C}53n#6Fmi40de>LwDBhH?;3oQ!xvy!#OBQ)FOl6lXa$-n`ectPr*v zko3-Sb$L14c5{@dD9xFes7f>>;gswwY&W(sDNzLyL@esgShSB@J2moZf02*-O+qxD zgPwz|a;Qy`w>C(P-NUJSh%oHbw{DWzG7?K;h2g?5e7wa@XvpnGEm>>I`mp3k^LRWDvH1T?jtan@DV9 z6B+cTl=jWjkiHT!D1_j!H|Zd3c@Rl)q{aGS>LAfbOpv zKRSdAA!3;yTFATI`*{c*atr;zyNPPpM{M~62e22_;1iA#k#G`>6bB1-=eswvzBTw) z*0UOEqc44$JdOT5crfc%NOLyGgqMYvMdZmBaRfS-uIp2wzYL>Rfcpt0Jq_p242pl> z!OdsJaBibJOLTf{(-7KMbuWpYP%ivB>{rrHMNWZcWd?(%-)~{_zvhH3o)t=AJSeU| zGO{a3uRnUmdnSPN`XeK~{wPe~py3c4*S8(vSD+aXGq|$){A*k{V!4OOVNqRONpp(| z^nmC(ZqkRar^0*fsc62N@8(205-SU<)p2gVJAho4ee|)YuJ-;BwH!T6-WDNu^1-3= zSNNXuU>rV)D>{j+LQ86MbS>A-yZQTeT6juyG(TyQC|XB;(1g|LIC7Z2Eka#hTRk_3 z4IM#;=6=9ZHS{n&EQ)65u8ZbAnk3TIHG!*zz>wQpT3syr-n-TJnUZu9im%`Y_HcdF}k_D~uF=<@})!5YYhonVs3Y zQyu@&N21!gk|uVpN&cetzs?2A9p{>aU+>$WI@q7M!)T0NG!HYuk--+#>Uu3yT{J%# zSMI&0p7s>!*lBt$Du7w6z=;4~fYCOrUlNOZ?b9&!&kH?^7D+El_0vhPdbHBfaiYJY$^ zPrx*ddC;9L=n6IN8h2-ztUs0bi*EHT#vj~fim4&Iq$)n`ar+=o8&X~P@`35|dVDcl=B09QZcH;~+ee~(4 z5nb2_2K20<$h;5I++h%^t_}vFLfRHi8t&XzCWgrnWXO{|Ka-B5uX8I_uUWBtjWjJa z#gKqd|E|3i&XS^Hp5&7x5>JMbyJ|Lj3NEr-d1Dj0g=k#l%B5Nk`4L~wjL+!WASvDd z9Cgq*dQG*(w#5<3<;68D&X`Y^zdTSC>&$W`a;tV$ZoT-=^CaY$`rw^eNk{mtw|+{x zqb9@2u!C2Knnz@vBP+@3cG4~_Zg*a4XJK||cz9_&G!VKYj5^r^nLyWy!bIQIsU)`m zi+PRiB62RrV#*QinX`AqG@9?xhI-^GdW-1kYh)LdbC#SuizxiUmhavt`GU4ZkOM}A zd)Vbe2K5!RWDrs@7!!~{nMilhS@c6S{SbxDBG|zH03z1_gjhy?E?plKJN{Mhp2<#G z?5FF|HAlVz0{!DZ(5I!{8{lp2h>6)j#m_y5nPipB{Vn{}`b=aPIdU3>-Xv=&QBy*1 z(zO^*XYpyVnL1GK@FSGC`>P}yi|G&XXy*<%rr$(M-)Cg2>Eprs0B zgP}ULhGSvB$H-&!(JyCFA73IG|HF_EF@TJuMo2JBqi;n`roO(IS86e_#gL_Z>!H@8 zdyY$sYn;^$Xc;yJ5QPaYFB!wScmle3N^ci0DTRmtx;I@QF$*$fswFwSw}%%L^NGSL zk;7Ktw6h-W=rA2rxJ}JsEo2(`^;xzoQXOSe&z+O2(s^lACr_J|8YRvA) z%+D^c_~lq34}eGvf9DQ(R-k73G1^!WUQHf5JHTc3v)BO4P&=Kud3GS`?iA$Pi%ms- zG|)W@f!#58?zEG@;C8?M0VWw~YlmG73RocNJRxgpZ-V6&h@XKj@_t5Wzb_I|&6@TB zWWTH%dnqyEwE?7v4INC$2q+Rf|JXy&cI%XEC#~E2-t)a#bN`^8eKD?Ug7r9WhpZip zMi9^3y6(RU?I~-&423siei3y4bLanCkf|CqXB26Z#yz6zpprZ_gg)^lOOorrLq^Ph zSUXE#p5qUG-}c>^uccjG-3OI0>0J^!EEwU&f6V9CKeuj#c8ru3gN_=!mmE`L;D$iW zIm~%JJ$rtN@NYH9eEs<71yS=O7D{QKg|kLdzrRlMDaMOx2nh7!>(17n+jT}t`kc9V zi}frZ-*&i-+9x3?{8imB}-hQDf;E;tR8X9et2nNnd$w?yRZF35m(} zC@De+7L`4^I;keN)!ypdS3oAeMMi#sRDo1#eEX>BsG12nkydh-_j;1d4j2rpnucbC zgwRkI35F>l!6wgeME#En^O4{9m>d;`bN5_s@N~h%_Nv`g*#t*Jyg4e%GfZP8J@j4Q0){MqSXa@p0GkwiYhWH)s^sI;KZ@h78Ke` zfyH86edNLZBI?T{-HHMCp>j+B2{1WmE&Y89C*K7KF2gz8*IhDyj#>Qgx=Tr0S5NwH z-KDzBT4QaG?vi{QPAALhcANgend4zG<$b1djlMPRjCH?SE zxUM|3v~V+buR}bV$`%F9=jpee08vsxGU&dmkL&kwU4VNL*{Lh%c=D|fAS$aUt*cYf zJIK_e$vkau$TD*fK(;%`P5gN0I(hyYc}(r@5Cc>|cyDY4;B0o{eVYFY)!cJI9_Igu z&R`fve7qW#2C#(wl0FFfV0VS&Dttg#;D3c}$nKsPE^(zGf~r6_qAm{(f~Z@U3!ib2 zOUw>Y`U`plwG}KfF6|@k?)e$nakeX>#?-}twJtAejD-@~@U(Tkpxhp^dDFTGX-N;Znm8HfPX%B!iC5$rRL&dbFsRz#AdJHhgD9v z@v92*Emp26xjB8WMY`ZXXnTk1K;iz1J>2gw*Pefoyp|!&F13`GsfhIZ?}_yM>8N!F zxFfDZ6>W7%%fr^L+3}|1VBvvsDQ36D0UGyQ2p?=C$$kArkC9CButwN*Mn>k5*EH21 zYTgyz{GKQ-lP@&wEUb;7E1m#miedm5tYJnax$ad{m<52fjtf| zT~nr^mE8ld2@W_mx!{Gv!1a~16NShPT#}f|fW{#%B?RculHx7UDuNcpL4=kN(gjep znsr8`gSDuE_r0IH12xC zmAhyYDT7*HkF=TY`R8>zzJIwomdEr7b4c`Q=SiI2S4AS|F!C(jMz8n2w&B|_5&<0? z#mP@QIrr%9(SYQhX>UK{1@`hZl0@FQBZ{rQ{#=8)_V(>s9{pgOCOh_UEL!#!dr}pT zGa#dULKmK*BsdZtmvY*I`BSIOKYNX=$7AR7*SC8bx%2&VP%lET@g-$RdT|O+s>5qD z8q;>B?(}PH-Mw#Ds}!OW4yURSLqVS%b(}p5BMJf^W+MQqvKOL@q6&B9`{_W9C@~|E ztEO|rDQW2`*?j79qt>`AG9xNIDwRrZ`sR5Li~#udACYl95)tq^3^qev7T2_K_ol}6 zsZsi<%pLUkXkSFdlT%f6wj`w>wZzPk;nA+`MUf?uei0kCZHm|^h4KaD$0CRz+bt9ZLT*XdN{n;aOE!w+oRzx`lwePMlm19`sAw>Y<;v{;4A|1U~%Oco*| z-^k<>D%Sp-QN@uH2t?%gV6%Kmh)kY=pL%|f&%sX&P!0w^9K&uISa(RK(GL;7O1y1+V&ot2&<_2$EwcT0N3d7Hq*F&H4SI1QWS1z&0=&prF=_Fd6?qV`D7tp=xI;;ZU#v3%}Hw36h^ z?R}M}_yf>Q5$`23HNqD1xz(iKhs)4H^11eSGjJ>18@k#Bt5i61bXIg)EY}iVxqhW8 zJY{8UG>3iOwlt2~1em2oi9^pNo((_3IcjWmwJMzASn9E;x47JroYE3idu;oLW1L+g zf9oWfn*(+?XnktxBc>yuUa^c0;?pBu-nLy$(R6c9{?(8>#jQK8jM}}SWzF7@1MAp|nb3H6p8|Kf2UJp_-Dkw z^nUo-U+JDnlDcO~O1lD-uPYdJVIj&?m%7sCx(hY_9TdsY{mLAHD+IHS#fb$E_Ymr6A6=HRA6qzDZfUJTj*pk@D7$h z)P`!hwex{oLgt#KS*G;lji%D6-2vSJK{6KZU8HdbxC02bk@En1!Gu71Q^yk1ILNJN zX87e!$kGC&yt+7O`=(YqfK<3OMd-m=NhA~L@cz&WaUn>2_78y5+M`n;bTEuQQ7B#% zR=b~6(q(M`9QgmJx{H=gIZE|Ny&Ge9x;(`D=~3N-mX>M6!vI+DOgC@5vdnIW<*h42wveq+9)&bonRy7rn^5h8L%v`Y@9B zOl0u?mC7F3E{|5w`WB}pI+BnZ@`5q69xYJjAZ8$)0(TvcT93>Z8x|Orj-!3a6aGH? z;qnu16y^}bXB1B&i0X5gC;&5+I|Jk|AiSOCUamy6Y&m1Njo>0)q&|ihkW%Tlhl-c2 zj9IRh&kxv^RNKhERrAJSmE2x^J?gXTDw6d+X(p@5bKE;`ebjVir?lnkn|r@g%Z&k; zU_~p)L#?f@R&}1;YRTi}&PlGMoVfVa>8n?%78OQTuHeenyXYe;F+=1k+x5gxcaB4C z(wZ_#_8lrXd`R{Cy6aTTZP=K;kv>R8N9aRpxn&aVH)zwk!6+@@)vaSU1uc?nerdP!rjde;9Q??q^o2Mluhw;l}!xu)amWI!Z zpF2Y};=s5)W4W3+JLk1%JLv>O5Z96kPn`~ZC-Op!bnA_;Hh!mm?|fy`JN%*gGfmY; zrKQbf@9$%g)BA&6S0`gBu#w0++;xZ%wF$&nW$o^e4E-P4!^p)FWYxXn8wjE}(4P*G zcwP~nec{FnV?D2Uo)!7~eAeZX0JD~>$z(y~JIWntOVgvd*SFEfS4>yWn6tBXHcz*I zPBTcxD`dM=_ip5c_f%JpkjF3Y<_hYL7d5Eu4y)PDS7d!ihm>uX7RJ};bZh7nGdHN> zDxwM!xDToCt&zlcvNXM-KB21h5_#e+b!}~ozLIZDB10xS5~R5pS&SF}-4*By;32)` zFCK~Jpj> z9NuWMRJwgdl6J0&`kWp5&-vWq+-0R9byADfY*Eosq#v{|hi>BxkrCMu>e#qkTO8kp zPV&$Q@{~y$Nc&MhNr$N;qjGFJ_~*fZov@e$tA$(SQ$a6GEU}hYO8AS1PoI6OT?(9m z`yr?^eoc1u1-#{*eq9UwMV-pL$PxLpj~au|^I%Xocp5?T=~0s3Z6)uxt;8v5B}YZb zW6c-esC@^nJQ*eKKgwV9nSa;QWHO)}dx*Z>{VLfbKZI<=zY`$5JRU@(NZLlu4dz-6 zC3RJmmheKR8mGfv-OHGxOPOPLs zm&x0zuXbNKdWy@e+VSZde@NS_$kRius`3k$U6<6CE@vcO;H~88pW5TNH=f)vJ~K{w zbkXjhaVoG!X3V4$c_Yvb-3jiYtk3b#mm~uh27VBezxZL(tXq?6~(0hH^F} zXW2}4%ndeBd&~}#&1lY+?g_<^4Qh|w=&(5RY;A2*9Ms~LJY?RWRm4PEOaXJV?eI2{gG zE`GvPC;d0C1I@2R&_atmLYG!a25FH0=??q~Nd?JD%`nDI0awNKyrv!0o@ej~;RQ)H zyt%v-8GkX8iv&zJAsKpiKPDH$liXG*a3aQ{SD-+0X zn54b{OgD$-kX-r&d7A!KA+=bn7FKFn8lReGNJ6OtC1DNQTg;sBX{fN?v%cB$sWddV zaYu_9Iq`}zCs0botkiNT%d26i4a7eH%kjl+Ac1$h-x1KLXV^NV%>k9eUmqF>(hvnx zoiNf6S`4k!A@Qd#2s$MhCB%x#?Ult9YIm);qB1oR{_ZGGtcXm<@V7IwHnX0i%Y@%V z@9Sn9oviMz6;GbAd>YcE%RIk{GNUqekt*8Z)myzNtL{>hfAl3Uu+SPv7z&m{4TP=G zL3JL5+M`>AIO1kNg2dBk%-3}KIXeCJSW=k#F6sZ|m!qz~PbA|%Zv##Kp@Zb-2&f;f zK^2Bd5%xn#h@D(paCR!vc%EOBw1ljr4y^FuY?P8(32`xxa)na6~2q< z9D{ckzl!*shI%KNbJF(+o#%+EjB7CX)o1N=R#YPS#`z*g$B9ykD>EzA4rfk|gRgg1 zRXOU9ka@mj&SF#_JNmIpGt@68b9~9XBlV7|Drdc)!+UAc{$#kby;(tD>j^{r zaqVVDJKuKrz~SbT#nnYMMK#je!sA5Rs78S|J_;X(=V;i>St_C9-*Je)f)E~=xU|jr z=36QtP?Z0qqdC-sszT_*5%c+ND?`_9UMCHU2pY43InD5xQIqc8=)=XIHpN`vH~#*| zR^p>Z#G!hB@j=@gQZil)m2q$#NC1Lrxa4C*jsQ#$QLab7#kI4SJmN(>4j7;0dzaGJ z=mg}eafW_VjuII!k2qABQ)#Q<*4FCI9#+*k>WZp4`Suq>o8k|?t!gTHySk1w&h&Zj zT)lGP{ChkuOCI~;#bK9-LUre(rW-qtQIW2QE7BF|N@AK9A6V74N;;+e+NeL&O>h!{ zW%`k|FWL{a`2b!|#Jhif^o zxH+~srYNRJswi(81B157>**V` z-|{Jx#qV~-$LH7*__ewPx>f4vXh%^j9~!VfdiO}}z67dHKLQH3jE&s5PaJY?u7xY8A4g2Ey=^q|m{ z+oU7r(}^KerJ|$1fiLyy8*e+xT3NG!+KVQ{s2G4ABP9VG&Wsjr%{yGuQYl4k%q69k z5_Nlf^}%Dj-6E3j+fNo+ekUq23--LCQv-7^ud4)+>KQN@^fHe{jCAmPk^B&Vd;kZ^ zXFyhQtH~t|N~HMKbJ{sxd5&8n8ORWI zBY6YlhZwAnox=-Vv@__U(t92TqhzSco}wg?C`m$5M^Yz4VeATU9m8cz@8f=Pb_*bj z-vP1+OUm0O-ZJO0GUX_f)f_ER=WU6e3IY7sbJ;sI9*YFkoZr(d-rCu7{#_hLOsAoy zFE_i0rj$HhT2WbE3j3P|lD;EKtPOX|b81@15ZsF+WLooQUu4w0-PqtdQk8!qwu(qy z@-Lol(f@}j{y&#^kbi|e$WBj%ve1bPVs@d)m7SU)mH&v%S=mtUHoMHl+1VKl$)O2} zxzc<~RC10g!vYDv4&Z4_}n!6me}HSdsd^V&{SlxW)`I;n+x?$ski2O zN0K?qk*wF-Oy${``DqrDF+C$U(~(-RJu%rS&B@C)+jvu&!I_oaQ)7b>_z`1qR7!MC zq%^L0OQoK38F!mqc_j{Wp}ojn>~NIkyqO!e#h73M{KA|jHQVhuc6FZ3Zc{nZt4xj} zXIe={Zi+M|w>UXool>^ln9CQ&Rb*BbNHa|_dNY@9j<3!uv}Bu1CUbgGq9dcoY>RAj zP9dzilg$TFurRRbG+d-Lf3L#kA7~7p62h$Bg_>K4h8m_3%4P zx$7G&mOQ7$nPr#8Cl~BWw;||-Xx6#g*FU*)Qkvt)x8|!W%mvBC8M*fCe3RXlUzF>F ze^H#9pPl70)wa)zd?0h528FpM> zm{p`tPIp?GGmNQH2gLC6)hQ`{U0V&7YFoLr%Ft6niLn|_ zTb`rRuj2@_buvO+lsu`#iB%pXtn~$S=q*thCunr1`bsrgBw5vCUG% z6(m;`Ik^JIk#tv1a$@piC$gEKiL+m+jpo{)uWF+1{{@E~2rTuWh%!-DHd z&CANmC^Y3|NS%qMq}nW}xw6obEX{)xnxo1|aU_-J0&fv-HgQ=Q$+;OulO;OVW=buM zwIeIO4Izs;eD(9 z#i0;iXpfM&eT5g5^obKsbuJ-KbdT>I?|UEV`3JJNmu2n=?g=7ye<4U&l~x)TN0aH0 z_%Mzxx+?a-}=DwmHLVrl?oQ0E3%PCPMaq`bEC5si>{F2UFK$ z`2F?Q1GkA~qg~8NMT!;q<$Er;${7Hg0Epe2awdxI4&`Aa|9pD?AcRE~2(+~VQI+KH z^J%Y`37lUs(=bW*r2BdjB|s5yK>GJm$J~h$AzetnFKWUNHb_}2KutSA9;2P4uZDJlKju*+X(T|_ z_>1~=#lgp?gD@AC87|8NZM@6_?u{-f8Y;~?rqaxQ^##-qFZ>6+b8n?;{p!4uEIkSx zBvQtHA>O^P-(lJRw#*9Au;qk&Sux%{QLtAdWF$^2Ve%tAXF`&^SA7l%CLWYG5T%8i z@WYmT6mj#GswTI_R>LKStjSzO)dO$Ds;S&Y>t6;Nc*V~=QHkIC{QE<{+oWA*x*t=L z*u~^$dYB7EW`(CK@p_c-p?@tvF!t`VJqr*(1pZ%SEO?gwKHVFUNdel?D`+M_f=zkd zM(TmPj2$?Zs@1F31-WkjjLSE&Hl zZyj0BWcVQgw!5gdx{3>HZrpHOJzFM!tk3ZcjbY7PbyaQQE_HorypyftR*!Zw}*Q<8B_ zDZ3}A<^KAKQz8~E;+fpEXwl-WlP9Vs?0W6Amh;we(Wwu&eXRcM!=^K*`EN#x7HY#M zy{eMe^qIJ8%Be*h&|>RF+EX3dK2f8mdJA2@Y#&xao)iPMAq(F6OVXE42) zRE{9fgo9ke!P2*nlSWzaeBFjM9GN?T29qafm>NXHl$_)o=;jQc`XqvrK_@jp1pQMM zz`|91?=V^b`9|rnx?4oTz;?+uz=C6~xOUG#vB%ooBBBpXI{7SlQf&l07pAy zZTnt*=6GS%Tf74+M!K>{|0%xm%s#aLl#DEcAuGeLYR%HZh3e;qZd){#r+ueQADS`P zFn-s>vx}um&wLztQ!Ss{=ldUbpSr=52j0K>qw6(C3P@^}_pA z7u1K_(xMyq3kx?6p?!j+WV+y1LewNTH^*l4%Xd2R^Ya@Td_P;6k|~NyONIK89$+8( zvXTZ4+tHAjpOv4P?`O(2=a_97`M!w9VHH|NJB8a6+^zF;h=fjbea~m)b34SDY+V3x}2Jp%gDBiFvQMZ97*WtL%Tgf&op1gI_ zCf+j~hi=-mb@F0WH`F6=gwTdi_RGMIoJ2I$(?&y;@}I8K6ZC|He(#>B^nMaD0XXS7 zib25`zz>R{LLm5nSU~e9ID7Xxl}wfbkUu#Y+4GZxO*4-Yc^B5WA~y19-#paTf@!LV z$nl6LlVQqlHr<%@E{9b9r=o)!7S%3P(+9?kp$}+lwFfuw!U)d@aHk^y(T_>#oKFH8mN@We9wFK84Oj{SvKe?5tU17cH(ou#xL7cUOp39NB*9 zii$i5)P#gQb>-5wl}9+?H_z|hQeEomGiQ2A{S~pw52ifRHdqZT+AH7{Z5i^$GuK|@ z-4)&CqS^1>*a$6!kw~FEL`L!~k*7d=vxdj}2^pqah{7ob2yk$rGy{YI8fT@ZyMrmN zQU&YN9<;RJr3px?T9Z;rc+x^!M8&D)>*7`S7$mF<(N>BzELpG>VMlMQ6%MqrSIDE8 zH1`U5+{1mu$cfdRunemgh}zW|ps`{_tRXVR4R8^)puST$T8$ z`04ScKPtiJ2W0<2A|KQ#pQ#rf8>hUw=ERIL?gt_feS>8mhyNjwp9(lBk=Fz?HRm>| zEs~H8VM{l!YFOyoW@|SsRIT5XxMkzIs`^N7!Dtb7U45uM_M-atuiu3>UaniBd`c{T zAYd+)OKhK#ZOvq;>ZeyukC+&=VR{&MW1gt7eAn*1>gMW%P<|YZ-A-q#5^Q*Je2d^3CNzyBE}~D4|cajd*j-A?cb!F^7+;&ea?})XKFUx={78`txhs=DfqV zY~CBxGNi=p`&CwvO=K&}1v2MN@B&=xV&NJC7G&Ji9XMe zm(3Mq)@HQoNx*vF*bgt8PpiLt&slPkKUsXN_So*Dd-mKgXNwRaBEhKNAue_m@#ugiCkZPb|V#;zZ zeM{no9qZHLVq&-Iwnm2~ZP82P=LKg3sprotZJNuks|nwuYu$P(>AmdhDWuugLJ~x! zmdZNSr+II=3b^v(hWvx-H`{EEgS<;(ZqF$ZS&}0xYtp0Zsl33fU1(XLPFk32 ze~!0p*qF0Losw#`r1Ca&jzvYLQfq}p>My$L-<1XiCuqiEd2XOAhKal_@JbRZNQgJn zgYoKDHc$noVWjeDgh7E|Tn`1c<30tocg5e1o)v%bh_f{$cLKHJcI`y6%V!J*GMI#r z#O-1$D6<5Ph$-R@@fUCGyAyu^*xA`NR~c}Z(F^Yeh{%Wm@`70YGdKzm@^!s~><@#B-^0>eNJ0flHm`__ibB{HK#b)g zt+wFRsVcHpGx^hkV|=^#Z@C%8-@Y9CH2p*GG|}!JMP31efZ@P$;W<1*>$O_c)w-wtZA#C(ml() z6o3Bp&(&nek7O>{frJCnpL88fK?Z&bT|A>|<(^G^Nn&o6F)lkLGc-HZ7zZM?QyTEr zGJx$E$`@RyQlSr6kc+T>WgN&-uhJN5eR2Gu<2$(3bXrEJRh2X^Y+l4FY3%zS=s!kO zn}q^DaX*8lFb4ptG!(BK96kp#;KLdcEY3Qeaku6+tMiwnlZ!rT{Q!0Lx%AcbtIbPh zPhT@oH;j83b;e3#gZ>5H$9624>q8!eV0a?@tBF)QqiWS|)Hx~FV2o#VHl-Tly>)&P zb%va-ifkn_LB8oGZ(@PgO{nd0&>Ett>7@y89gpPJ(AQX{$So?#VJJLdX;MB0~bq;IOJ z4U0ssN2|DiOA|m!^iNcF#LqK3AWFk^g`X*>Xq|%vmCe|oS#ThoiL`o$y0R_Zl z0qri}_QkbW`qd?Yco!TE2zdbyi203iDcpU=AW^P=9_#&uGO>dWp@S>|;w^(IuXr(c zOP~OtOqJdHli^+ZwhKUYD!Mu#hw0IJwCMK+7Pm%tfyt!;_Sd_g75fPt=(b?LY6a~D z4QwOOR`C(ERp`O7+^jcmtpGw9V5z_Xb+WEbHwdVDn9Pt?_jE#eU2(4y;5|&uJwp|e z{%n})PQzOqswrqQ*l3oDEy3P;vkjlZ#Ybdj*Qf}-&1Z23ys(u1*1@eZXyPs zQzo4~Zs0`P*DJP8`wsm0-Elk}M;@ZDBDwrB5pAju-LYULk`XuOwf(ejGn3GwMzGj~;E z%eMu2238FJh5jPSKx98vg)F-(gWJ6=rg4>ehYs?6{N~UVn-}#i$|%4c z0;l2Bz9aiu_=?Jc+6L9(?KRtWa~ZB8W3jrp$nJs@iTbfXSY%|<){R)x%S&JX)6?fK z7WZA;Ek@$@KBDWGGIJ1AmIQ5(MwsM@QC?cz@>1-}k%OO_J!t3PowGZ4{#JAS>gmrM zzX*@}x?1*Dw`2e)*^*JUB{NhioT0x$pH<;j;9xC95uinBmE=Rs{WUD_VvYSfSD*Jo^h> z)_v3%TO3#<5k%ms%5K^Q|&OxjhJF!6tXXJZl+9IyZ!>?R9DwnsvjN%!w9VJBNzeM zy+`9foyTh&x?R9FfyJTl`l^9QzhXH8QFR#r+Ds zS3mm1(Gk-%t+JDMBd52@*kTod1A=$VSi78ykBLEqaO&8(Pp4Cnl*WtGiD>T6Q*Xr8 z##G1GNY@_S@m{+M-1aqCm-KaH@Ih5sLm#Fq5&9W`C}|Opgjn`~Yc0VnTSBD%zzhOXQLgGj!3au<~t<30!81F)>Lczcust)^ptahI1P)sxO{9 zaIS$rcYMz!Bn&c3_{NIz-OZ}HjM}7fuB_ZuTc>JHXo@K3^6%cdd-Y@K)sI`g{SEyP zP5hk<6A2LPUZE=gu4+7b_(Mu zjzI?o4Qp6$c%c(t@4!N)x*TBU@DSWD&>g5u1ksxV5UEpK(G!&Dq&i6g6x7)|jS$`c zo&1iK#R2bAyYfw04xV(s=6piTX1^)ef&(7jgXnHV<3tRDP_F{GQ$nGX_ekBuz8!IS)^gU^Pp~ww*BL z5jI!BBpR*BGFmJ~t~F-u&K2q`+1UlxYHOT@mAq#N_7;Xn^p!P+TF3-=@nVWmuY_&^cyLm?hAkz}3A_aL_-NCxL3E> z@)d2cqS!dC@FrQhI|l@l6ivIhi=mLw;>e`H6zbFEl7Oe#1}bSVzO^%UYW3eBZ0@sw zu>D`yw7-C9+`oZo{|hYbZ;lT@X-qtp-BnK%bWASS9ZIU zup-S~IoNi%pK$*FrJ-9O7p@;8>(*h7TZ}RDHBIf3f8q&ZX%=W*!?+WjWTP13jO4N= zV%L@}SlpcZ&u`rd$;&6Ed>qMjS7AjYca`MhohLf3tC%t~Xvi)xStR4T+nDGrQ>g{F z1#{L%8bq;PVlM69mp8cQ0@M%W4KHzJD0(2(DZ90!P_t0%?{ohn3vBit%^vfYyf7qu zU~xdAyD!J?YM&!RNKmURPcBX5g2jo+SQt8((cR0rb}SQ(u8vYVUf2Bp*y;bHjIo;O zOsx&;Qjyi5jT#w`6xKS>t&IB2%yl=+bu-L$Z_U}@Z)SayQP_TBji8W|MgLj%u^PE_ z>I5`jcN@xNrgu1knA*uQxk1!K7_k@ZR#0@j>H&9vjRRVii4Guw$wUW+!Aa?m$z@uv z0zrpFo;^))HQ{zZ*+49h+=EcF7E^8;ylKXE?Wr6*WUt%K>h}$*)#}xsU}FeID7m{D zeteLo*N@L}*s-cS^W%NxcTd{$3c)&&VrgG6lNBBp%qE39@DfC%WK`!J>k!buRM)0N zF-#m3&m8T5gTH0D*TKJg((BmeB!7>7n z$AIyK%ArF(DuZVRkIc#twWulv5&@@|-_`%S2H1*9U=yr69m~yP%9UW_J;i`GbyGaC~d(;h9^TFqXQ)@jnocO^>r&q`Vn_fX1_0n`m1*M?0IS zu3Z!iDJ4t+SA~DbhJl_h4i0Ze7C?R-AE}n;M8m}4;UcPS3MYz83Dri!vV)XPv?!A* z!oyL~rf`wG`HmQ8(}^H59f;#W=NI2WdDEGKRHq2vb?v0HNd$!pYm?PWlE*{z9dg3B zgFVdgZuFPUgM$Bh?WAi0QhOBjcSz`va}+1o1`68(2DM9#o<&T^61!GdoUKI zVB_K>#9Oy;g?~T<9sV=csL+zPHT}Kp2(1!AbR8ZSc8tV$vjc-Xth|mL%xgpxCorIg zL;=yd4%)#)>+t4Pt?K|`Zwq@6@zp64+5$A)X;_!J@1d^c{oKfUE5DF=G=le4Aj7O2 z4y$Oue{F+R!wxFOLBee`zMbu5hiKoQ=X<0#oTFPa;+t~U# zS=_N@ySz215k6xz=tK?J$xnH|y4!Gam=9z_4{9JuBeazuhnc^HDLWZgh;hr2tKus*svFgAdV_^LL1oe9v4<)!|`}_yfvd*_qPn~&EdoVR+inw z9>2)$xx8yJAt3UR=1p{abk&y_KZfbdGT}Se@*Pch3I#QU z+l+}A&#!A4+RBKr=vLh0?Qkm(!p38vG`0!9%5{B&TJn^VLD#3vUoe%;SJ%#-d!G}G zbe(bv8qcl8o4-%1$EdtE|Ln9anrUa}UxWO`y`^38%5Pr#V05Hx^arnf!y%cz9_bw? z_QPSQfRfw*=5u!+a!)4gL}BESA-~W^AZvwH<{@i^pn#q{@(V<;dL>R2z%TX+llhCE z^-7Zofl7ik(qNJ)4r?bGxl~xxv71l}-%6cD5Km=eEp^6{im*_B{!gvnE+Cpvx!bxNe z>{Tpc0d{-=Ei64bt;poUAGe*#d_?nT!3!YOC9H@^T z!hcU69&(kwpbia6oHR+bz%{=@%MGJG>w(xEqN4o@=|jhda0uLL1f`CYt05!tX9Glv zefeX*79!Z%57&Z0uM5mSB;UOK1d(5i3(U;okbPr9Wqg;GtY&@XHu?$cecJy+U<4(3 z3vu<7HeCZPK#*j`e+a)SlQU8?^c-a9{uHeZoffuO4egPbt6l|+xbz|8)zEBw8Ud9t$9PYM z5cHyKn+E+NROT&^oL7=D%Rr3jL&pOq4LC<1I%XNK53StNqHoskt1N7h-fjNr0|ut| z`RTQQX1*|VUwlhpb7AFPeTx(Ye*K~hHN2+z1U8MJ-7JHrn+`J*LgVOuFM6FJZ7^xW zD5gc=7p~Yz^vOdQBDF}dASa*|%j4lb;DaPk2AHp61uR}TbqH4cHZ9y zGjAaFkw4j|Pj~0v_H%dMLR0*EzkeS?9?{67CiQv!Z^f`pBkj$St(@22Vv;fqjyxpSR25^PuzM2`o8C-Mqr~?`-IdH1t^iw zGF0S4P6XHZ1;Z+^nFg|QY09wK^x=85pL#=RK2{alULraf@bqyyLM{IitnOEr%)uJ; z!X0R>z&5-{lwiIP>C(k_`ItA4rk^Cg$UGhi@>%ZPO8M$o+?CXo4eJiXuqBM9%H&_N z6^w{VM$XFQt4X3p{$)JYuZmG&Z6bLpRt%7myic8 zkfHC8#~o6N;Jmm&~1*wNS@4-q~@jCQytQ?&~$( zu05n>#}1^kJYouvk4-s0^a`6 z96KfwzUexlw3nw>B-&?}`zF~F(v69p2mQPL@Wrw$3FXFj6Mf5!6$SQk;X!}VL%#08 z-TYy1iXO%Vn^^osGclO~tg>9`c~W?ij7Hf{3QviyUV`V;1n^-3*#sir^BnlakPYad zyDFum^pcF^K~gr6a7%9t|AqRr&>0c5!IJDsDK$!=)@`+^iwYfucHUWx@clbv1CU{C zIn-L=W99OdMX#R+Uhx`vb>1FP*AfYo$3NOV_i{QBmWarbBIR3ero1uNg#}i9y(_Hl zOi3(BP+KJl2`Q1OJdN?J@K~nI%}81MW{98Ahu$6IF^Sd~%69Bg7nbDZm-50QqW7-G znpq0eyLwMq!&?S^j9?;vlDpo8N$#UP6a0PZl*RSN-Eo!DVsAz^J>3jM7yOHE#g5dJ zZO#b42xooVZl=xEA>LLMwadV<_^Mr9S5sV5h^0!+8c3c)J&aj5!YPb#Fi&rbJhvs? zibLMd65&*L-~tRo?%QHwC6=OMYgJmYUusdDH8l;gm{#BJ+fa+s$`E7HNhZQj?(QTo zsyZ=n?Z&tNN7#FSH*sxU!#1|0xeg%-@(^3HM)ZUddJQEeK!DJ}1TdJ6ZQOA0MY83h z<|?^Y+%edI4Vd10CqPJmgc2YLNeBt#jC5q)e~q1c-}`+3^L(F+Mw*#(&dg}$oU`{{ zdo4^D#t9J_>ihx^`irI)J@qfp6YF7Ey@1D7`U2(#TZ*sBu@oIQdeqM0R7!-=^!Pr$ zrxWloh&A*;rrnF}PBZq*KkcW~(#?I=(glk=p~sSe+765LFmm8taP6$z%HDA6(+yum1x| zJb9w=>$@^rhsBqbcDGBaNGy*nrH{!Imo6ma)an0$L3%6;oIX`HwQ>3hz#xC5KbFRp zCsrg0HJ1?$@)+v?!>l&f%4@4T!JM^Nl~N|MygMF;Z)<}o{hxE#B zpbfV;3$r$iuL!bE_7%aCS3W$93-}pri znC75zY!Fl~dpRi^VHGzUwl??*3YxxKgM1Cj`VN!G*U%UQ3iV%|8XKCi#$plyUowdg zBt3n=`tkyaByOUmc+e0Zm!6i^JXADgS9CU<(@AQMRY65i}8Fi087pn&=$&yPUEx zc-Rh;7*uiK3xitqM9UoZK%`g0N;%eg`^Iez!;tyb&3rP2}h+KgTIjb22@ptD}%PD z?%ykWkpH0YK4&!Np3Tf+j1uXtRD?gpAygutF|Gaq0GPx9WGOOYKlbc^K7%0~hdO@s z_(J9z5fB#61qG~4T`!+FF~9IrrP{a%#J-F)7)F#%h<9*>+Omvt{JSRJf1r9G-@8Aj zVY{+=Th;dF>w`}csf4CY`Y$EVt@A0pGw$@0)O2u#Cs49hT-5K%*j?ck)^=1JO3(P8*=d8T+U(WNl4LSI-&a!Ibsjdk~e9wsy2W0KZc zc$L$%ndMCjIPj+>?cAl=Ek~0GSx86+=@8l8CoV`WUPGOJq?}xEUn2N!u?KB3SR{nW zkB7bW7W}N%TW~x8_u))G>^+{FG;iYS6~T-k!0pk2nmh#F$xcsKhe=|a$UmaxH7X7c z4Xp_P)x7TgYx4O=q@14!Ger=3)uBsw>W2ueV8_FK*ORopfL9CMuyhx1LVP^P$?Dw1 zg19jyN8nyFYUEn2UYDV?c?=OHWT+CMp_zXO|i3Zw@LB<)lARuP;BMU!|$z z{0ld4k7LqIW~~{#6T*06G=KwsEAf@%8x+%C8$ZDp-cQ!ih7JO*A%w`gVF(`B$h`uS zN_>7|Q3fyrLqz`}U(L=z1UoM$%VZYp#&E#c?Sa);2Y6{E@CK!wUURlAt|$f(;iZ$P zk!EsB7B8B!aE9%@C>OO(jfe>iw>i6Ll8kX?)up*EU0OXD%?+7K((q6KYL24~8LG^r zyku9nrHELO0~{{&YMe>9DJRElFuPXp@7+9i_t{^~5EJxK8?w`E4?N?-cO+ZlKm8pU`{cIubI(!s`@qOJh=Gsj@6G z+dsvZe$jEug*+A`#6H22)hW%8i7-+o_&fWMJ}mKevU&2JE||seol76Zs{t-#rV~9! z&$&RS@f_Z}@>P7F&TK^TPg%?QuCk!4M@e#yoO8jR=Y+Y?t5?JaGa^r$XJ<+Kb`*r9 zLuWx?yo{&`jS73C2o~N>t^;0mPNLBMe-|ZHXyd=iLg_{Q-^cq3ZTq0@&f`SeX!X?q zp-ob?LO9s};Z;urJu@;L7A*1`-&#LoJI0BNq1j+@5wEnhQTnk+moA}iUq+DaA~IcE zh}7a0Uy+r^t4OrS#*0_;m~Am)H=0Hc!sF^@-N4_Zw03>TEIbvVn zCjQBR)PpHv5j_GbmUi)Gx>V#wXNed8^LZA1Zi}U3ZJ&~{4df#cJtCe#dCLM?VQGia zU+yLvi~2Atg0(7`jvwUMXu|SBK)r|H$w!RDiG1gT{3MI>X2HlyLeKJ#6w`kUUq~Ba<$5QwOz55w zC;uPbgojIrDZyj8R&dOD{O_WNo7D`eRo+=pz7;k@?*5+_P}W<+$X+3&Ei4`2frAzP z*C(tYIXyX*TyrWc)hXk_@-vZ4r0a{BSVJPYs>m^AnRMi0Ec9)4rSu}hgCEa;FscRx zii86EXi%L$vyB!CB%nZUZl+nsm&WoFZ4*mvAQ9bbUD_MW3^?2WC5ibzGgEozj!P_V zSOj|2stgtKC^ECv%BX@Q^pzH8$+m*ZiUO`8zXpoNh??JWsZbRlRUkYmGD-#EC%V>6 zY^Hn3-kv7}{iJ_BNVBab>vh(4-FBT^r`LJ>ifq*#aG7$*(nW5sVAs6m-&R-e)mMkP z3OT-=4_9?Ld-$;af#(sJHy^mTyVD+e_dD))^rXj~J5baU2*Xz%nW*<%=_>Vot9;9? zT&bUU#M2dQ7CrCWAwBeW++FXu>uC>ncK{E2x*Ya=pg(fhs49#-WQE@YJg>;2 z7Cao6;rbN+<7P)xFT4|uDhx2r4>350L$>V}!fUt4O(&Z(o2am0ve?O|)a8eUrWy35 zU<>@?QFX9pS|_skRq1tc<#6{qyM#5Y)Q1JpTj;{$qBDZc5y;g>zG{48g+`vOtQ&qGrAMArk!a)lzTg+)LDw2{?RB6gIl_4Q7 zSzs%6>C&7hw@{~tI5Z+YLWNAU%;1t}fwI`8i)&CID|RU<&#F^xW2#gU#i4MTS^g52 z3F^|qbqPXjF37<$t*Z;9R$>)8-haA4AL`@6`|v*h)di|a70AJy5#%|AJFC=Q|L=DW z{KvdIyL`Dw(EO4d0}P{>-@|J160}hJ+E4dG?Ms`09Lqsc_}ll@TpG8U!eg7&iG z3zoJa{>Hb#2EmOax^$^?#q;O8c3sf#@^%%}!*+S==X>LAJ82gVfHYfUJ7IU7OMJ0# z_k_fSheHSp!dij|T~1+=5|b#~cH8#<8Vj}q4u8NYx-6~UT8ZgCcOS=?YuDG-WVZy~3k zQe7Tf00u`WsuzVABUP>us>BGWWjjm43L~miT&1ekSYCt?=$1=qfw{aA)HAklI4<9M z3{_Y?R^h)B-W`UJmmWZzTr%@DMpzArwEvxCIaoK57*?B?mY0&9f+X&g3`RF2Y>XWI z4gG&3BcLGkp}4p(zc^D_O&pCTtvNN%H8&NB-g4Vov38GcXJ!+_$BRq;*+pzLWtdZQ zUGq|tv#^V=m<+l~`aC0(Z(fTv$V<~o%~_@U$Y>X1p3amGx+zUgijgs-kFDw_N79jr zE}%O`DF;DmL)>3+Rjl>ZZ#MWdbA%yh$2LkLjmK_h;B_D$E>+Mo z#9#dCn`=b$$D>&~1DBHq^+w3e3NWlciPXhhsDtc0lbs3%3gC?7G#By{6KS-Ph7FaV z!Vmi^ez8dh3&%OQzrwl*ZZ4o=l}^`4?(byPYv^}cy~$rJNu`_a(|I>J+V>>waqx}o z*^`R^M-3+L_C}+5sknAVvmq}h+jO4{bjdByf`~mm3l8#bbnP~V%)o)l0Vzm8Qs!(4 z-MkS{>Y;R=jAoJWk!1D^5CknFPOFE=sHo5KLC|{WO=Jcw2aV6nWF3Cf(=`1-=98Rc zh&3l=ry?b-H%atk=yVAf^h;5Cyn;-Z5Z`84xMRsWS&xnmOlT(nU)Y~~3LsxE2Wv0u zQC!B)#Hy2#hy2?Zk}zKJYAO12d}FR%Ul17p7MrJ=-FGW(BR_T;&|krSCZ_g5wA&&I zO=w5q5=kZhfS?vrFY+;+NygG;OiGR^-7F`|#fAB~aH!?vYl~7$@W{;vjgki)1UcfU zI>ZP**iJkcnEJTD@c=WvC6gYK$@a*AM0W1WUZuqb1^J%r!`J#JF4n$>WZ!tjUy@Rx zL#F;>a)tjU+pI^{wW~Q*ouiV|rD6b+lYlu~YMT(fHe!A3I@h?}ajjtosXsr(B|lY_ znmt=Ry@`7)%gw>yhz7FuNQKg~Pz^HB36!%`waB%*JBd$n(?_6TWOZOd?%M zwUUh+bh-^nq8C2TrP&glpPxPeZd>YW5J~6L2@)bQ!bFx`tnl#%|6nVUPxQJR5RU89 zhAll(=#1B0k?1|Q5KL9C`? z3`fpM9+R3nItTeFCfpB#`kNIV+yHTMQF4LWEWkKj)aE2pf{6ibnt|opI{sn3MU>t{ zVQsSs9}%_e(K&c_-d18e=ZBDJx3;rF@vhRYwg5gr(p4#A3#Jp`q(!O!Uvvad z#&UBQAbw^;SsiYpvKOM{`2WpXZ?dwmS==mx|rV* zMM9h)FYbrFv#XZm>*b0-%lbQ@p2iN=zQUd%X!8f`<3`n8J8h!LcbppCM78AtK4Ck8 z=nev7norPHU!Se@EzR`}Eg)sWv{iGj98^w7|W^;ZO zQ+KT4%mdk7J*e)&p%cojTc0#vwJ2$^YT>3$0Rdaq`FO2eJcPdEox%8JY~AW7>tH3m zjazr>xMtnC$cqt-H^RH})uf-iRQwI*Bl;})6T_9-eMfhZ&mM#-Vs`zb0_xv=Js_*=hTiiFzE^U z82M-7STXHK<*U7^opN5p!bo2ovqcxU)mJzXzxu79aNL#gg1)nVaf{c^b=w2>Y|39) zusDBF!Tf#ence83abfO02s{&VOsT3;n^T$?(kTAx@sqy{%Hxq|w(N#$(U~}q-scH( z^5MCoH;D69KJ^#441&m*+fT2oc~)>W=~DL9w37u_RA;lUT)Fyy1W8+N?XnIb39O$w zE?T9^&Q~F{i`zawJ6~RIj`dU0k-*sX%|>!p4|b};F*YKtVeYFolKd0kmieV#JA*jTdztW>4! zEOCe~K3x`@u1=1VhpS3=DlZe)ZzOv(^$F!%O-yj1pL|PjVraB7Av$&ICK+WVn{tDS zVz|)qy2NJr&icZ-GG!ikj*P{OA=gk;C9^HJ+-7&G$|57wFR#oPg?&SDJ z+X+P0Z?7At9}zX4OI*Ba-4YEGPZbo&1PY8ISQb--a!Ky0eTiq7s2}vt9ztC6k>OeS z_gvxGL;KF;FvU=sLjsHfG=*5k6F24Q)I;lv7BS@$^drV%?~ZhflBHhLh?hju5`Qf0 zM*M-;1Mvr#Z^g&y@}o#7ydx&7Z11w0G=T{?i|CL{O^h<3T+;x*aW9Z%Hx%LA z%W4aE%6HTzhL$UfqH}|A?!6??BJIw$N&QYWC{6+e9U@j{WOuB zk190USMDEBwkuG%YLsQjj}obPupJGQv@~ol+aYhRiT2J{=0+L)ykv-klV@f&NFSw5 z=Cn~MF{(JmH_ST*YGS^nJ42Mw)#^RR0VJ0kH|;L3;da(GmmZL}H^*+NRhEUCHh(4S z4~A-qS8@3Es=|WmY|fBvsA!QrOBCB)TL-XSiD7|33DpNU;w?E)w5_4BFx-oy-V)2k zjue(K@REcOM=s{OFV9RhF%_8lFVNHZkT%3J3L>jhlIJdtp3H<&M;$!b4DK2#(bM;8 z!8chp`SRksDNH0D(FJ-kUyfAB1^P+|(cR6vbf)|}riM5gFw{w8Z)4pYZR{*sGJ}+e z`iLv%SIw)M-!!aZrU}xf)h|i4guKi56Ol^#h&`UXCmQD%>Rak1U*j9QB~%$5n!M>N z87A^ynKqS&a9e7cW838inoD=qD9dY1t++Bz$WwNN?E`U8RCEGl>NI&pTA>FhsFd*z zBW#?+Co?QNo(nZqCN;=+?5x<^q6BPJWLNnNkuN~|-NccCckXA4h1Kf}$bH+*RVKw$ z`^aeu^j6X^Io7BR3Au@w$~U>_AQhmK(;SSdOLkjOEosq9}%9YwB^6;9~-Ebp$782!=8)GFAr-GiWcQ(n{$;pW_^*S zkp9S17oFZ#8L5EV6lAQ+^ zPoB=4W5!eSy9*9e&%yN-kY?89XTz?|Hf0sa$vkm=QA`|A9zAJ@UWdbU}g9=81z6%1e-kR?LS(EJ3C(+{X8{e8rWS3rg$c zWT7}eFFggMxl#1v-ik`Io8zyLR9nRlWqG}XkH*!CrkNr#-|{DPFl_JA%ox4WH+`yp z)^tYiu`G_h&qdP#20B15qizztjt(fN1Gp0U-boL=?AnZ{##RmP(|!rOx4_R2;lRvt zy|Ov$uKwChMt|~T3AnDy$p9Ted4lo=G9a1^;Nr;p9w+p&Szk}p`(`nEnptLhSMWXJ z`*yOw)QVvLKntk+pV4YQk$z2nA-hGqie|F(qapMK*@a1%PNy@7v=aIY-9g+%Po}3?TQUsq7j!qDK)x2)5-gzX z6+U4Tx}a^M9+$~zd(7-cBee6cAuJDcAQF_U8!*g|5qwHB_)6ANO(*OiBRZ;~jCO+r zvX(9M*;O*2V+(mM0@b58%Uf;cSL8jLl{bq3Tgw9kc?ciUfylrMc>0%h++;0C59?^_ z6s*b=NFg&7(wFXn`(N#`(5P2vt;ZiWwb9tQs7XXKYw`21U3CQnhrJ4kIN^T zN0{cG+jHth{sl8xxPy4;$il!Ysypiai<#4JD_FzM=F_W-;I~?78>^>B$;y~ym(;kD zK_!D~hPa*{M0)uB6-`$9lE8d2>-WD-#}SwM-xxB-x{S?k&f62V{j00vo2G1|TQAYL zJQ^9%N8LO2BX9Su12-j&tf3oQ>H22yQY_NXJidV;qA{eeHxWV^5hSRDEd2Rc-G!F? zOS?(X9ul+@!T`ejat=v*M#T5X_b;b_JJq2Z!Z1w&z#){54yL&OMy7bJ z4cQz;<+JEW75%v6qx}ALpI+G9s6UdjHM>Q7WMU)SC(yqinLm5@oP zWR%zG*mL2#SCvMj1*L~Er1YhL^SAs#vhA-~7dcpGkd16W{G!CQI)=(JLVmp=8q~ z*daO^e1{F+(s$D*T81{I^#u<=KN&v`N(U1q=h?iX>xVo|+IuBoM?#G9mGGGUa9E;4uH>o%75_!~|U-Aqd0&-}PDR+3W&s zVTzd&1TO@6xMZPJGRPNGIr^u~IYq4%q9#e%`Ii+xhWB!!y*q^`cq_XP7q5M{P+fjAIS!Lw81FD_!hmRn#@kn{* zaqAB?-!ZoCZjNR)R|gS0U5++aYobi>c+Zv7S56NZtNr+3*3O)5xh(}P)h#W1_ijH> zafB&9Y(CHilQ&gRpR`Qn>sWoqRND!OW$Gs)H&Li#2bQ)AmZ=h}-+1<|vSX0gs-z!? zS{06Og=NP`t5TrhvO1ATc>dR;uUrr7W&>Q3>m7KtbvGLsTUJ?FT2@(A8WR~A8xx`A zKkXIKwXUkNYh9$W<2aqiF7fhOsA!7R)N1E}uRtK6rt0I&n$QO*U#WTs7%h@b})NAG**!(}x0pKU!uTDJG+bqWa!n zb9{&`o;~f=zGSJ_nk8J5HP-)?T(vitI*x??*_n$NUUp%)#WTueTwl$L*a;aAHLtA+J9YQxP2 zCSOx#tWfGDj}usPmbxM+5h?s-*@kFyCPV+Sea7a2Coe5FH31W112!cX%gnijrXp>b zDTA@Rpp@OP1EX%nBqkzG8<(h*er#tqV&$R()G2K)Bkg5(-Y$JL;(R>F(-|v{Q%nup=QSzxj4|RepVe)+{vW z=$_m@Y~c8e&AJ3re9_u{hkdRTG-R8zw-+`QG?zDHpA5!+M@^2lT%8RSXuU=iA2K68 zLKBo6kh0!5*I3->RhyWbRZ&`IHr3=5Rx-xSlF~v`R;K>jO<=|CX4m`uEe3UnA%qDr z7DXUe+7KJ1&WKNox|rE$Y$`d`s%z2JuF*|l63>)ZL~=z5^C64I<+o^>lZwWtr4%iW z&;%#PnoDZUwdyM#=}R;6J}%Z4Yj+3Nr7@3V=dR3Oz)0V>%eE_=)n3*{zsytZRPUg@ z8|VichTq65F;r)pTWX(gBn}(zgzt}NNHQM?K0BspE>kwHz$bVlQ=-`eiH{D(a*fRZ zD2kK1J7(A=>p(cHG#S%!(%}_O)oRNM1UBB7^iYN$Pgk;;(4$H+MrEx&RJo0jGWK?M z_?nn*c6PbBSyAOlCF-KwtZ0UQLAJ0N>U5(_Tbxpa7#XTErsovGZmmqxg)t}K6-rZu zL)j%-lNytptIjJnW#wb9OtZSO0yNionv^`HNmB?l7>2*#hUac;*{t$Z(kmo9lfL_P z*uCH*Yv`aAIDH(!pe?cLDPK;WL!D|XartiLoQ=7d+?d{)Q9&nP1N4OBsxG zk)xg6%k+vrnzAc1tIo&$7V~;OnK=0eMyj&2bDVQy!}*ZM5x0|WW?j#D;z{0{a>lb| zYQ+~iW|Mbn{8lAp=EaRP_BRg6q}}rSC9aw^V%^fkOM?=bfS7;`-Os<$w`g#7w{Loyr5QVI3*==YtHYJv-YE`uv6{dV9 z$5fQLP1}&soKs$~y}Wo&!XajLT-H<3WCVJh4muqA*j!mrU-!+W(+#-iRd(*T zc9AI;>3iRF&bb`B(Ouzr)rMvo8#5eA(8iHenaQ)*5c z2M}o;4@o+xlYtLg{+w!d)79q144u#a#inFH6$f%}^l#uUXVI@YjE4OPBLo4!P5Lnu zvJAOgKDnFn2YIF}_b&4;@n(7xfPU{!px0zEnRP z5xWf_bR4fPWD1TP%RMfaA{I!7&L4mT0}^J7VN(n=>@bZCVx%k5^3w~_@)Mfko8q^V zf;X?pP^0lVbv#M?8R>9_IBGD9pG!2>DMDx#jCodfa@n$*90N?w(aZ<3bS+)+30(xP zr$sNxdndOaxxxKyro-Sid2)Ks(MulYQB_JhutkIb2z5M%OM;X2x;x{qMzrsYMuRocxkbW*B|3d@WCxQ1@Ugpe)a*iIA@vflZ zx@L1-u_9HyiaYY1-gEijzn2k&ijtG1v^;`Fl@_Kk1 z>goc65Z4OYN(W}dF>x8uTm9tvU_JF+o0RGs$mxT;X)(RVft%fsDYHHTSf!!KGObQ1 zSsm)HQIaL~fcn(?-lo0e9k9wUW2HTOhA&2@?P51;yKGK#SVam~k#a(_V>kL6J~lT` zFUvO@borHJoF0^x;<5(^3zX(I;=o_oMP@U4M{hctI@qqLH+0_4ZPr`lnF3G|XZ(+G zo?rp64OjwOIIsk!RSG_Qi4!2bLKNelwH72p32WhUCu1z8KM`I7cEx0`*D3_yNH|-b zTCOhU5X^8Eo!vP9&@{QtSv+n2szn=-geEA8$EQLrcDYkiV@X|^Fm?D@)J|Q*RBsy& z+*F1tsZ(v7)`;gHU3ng{3NfjI9bN+f-|WT_i?;)1JBEK3S+kek0s^eyH(j!A!qVFR5`B&J zw9WDwmB3alB8e=0#RmrO@+a^7an<$lsR!%!tz=?K>LQNGkJVR|l_>Wed9d%%(pR(n z={v#R3_o%evhwvlIZ7YPS2&g+(gIWTA(+fcb|_}EFo-v6Tkmi3hO!2 zKpR=0&Jaqavx&h4aa}`>$zaYfyJna{;+{#{U$~I75_1};-8r!C8`bHw{Sy~q=cJOY z`lL8le6a@F{X${fk(dApSLsiU{&p(TuET_k528tag z!!8P$`hO`QCDfp*QCEkTY}GNgQStO!`qVaBM!r^%qsVZWj%2M5;N`-N;nC^j0?Njt zGlXP9szO6EP?)A-Auke{44@7j3n0yKkfe@qy5uHO39IZfofbK5aY8CEZ~7KF<^ufK z9rnvQ{uam%!oftQe|ZJYX#9>+xT+Nh#7=YRcqpb=qgJ^7p&-JFIr@*NGprhRz>mGzrS)dr&*TG`SIBM*2UMKQ1(`|v@!cQ}4k0r#s4CK`Z%E1Q=_c7) zEWPd~Nw6ANeM0LPQ5 zlcC$VfZXuxPYwMIV|1P%!VL8()|O}NOWqd1=xa7)jpXvFaYcY$wkdK}^G9R@qhI`L z4czD{m2vr~J*FrmivxRDomR9yK3cDjk1O(1f(}Wb3(dxM5=Ik9P6>iD5=k?pcCf0X zOt*v6l3`zO)5~sDJ*A($n8WCAtvs0z9nUNgksIa`N4+e~ezU)@50c^1g}26QsAO(P9N(Ub4}D_N0$n=IkIiPIaxNy$UYc#_Qq zdCiaVs$5fglT4Tj1`yJ?>mI(p`O`u=<>JqLb?eqNaO0Uf-Ge17{Jaf3E2_y@}Aa->Gh zp+^E4X|_8(5`@T(ESfCGA0C}KaDZZ`SVn_;*?|0D_2-$bfo?^w}wcFtr#iqeuAn>1>|i zU3o-YP2ThU zVb~ADtEkk6I$*QPr($zUQcKeAih>qU#43)E5djc$b0WQjvB*vI=Z}a*2X0{j5ptyc z$dpyYb2T_S`r#~QQb%SXNb^3}LR{r=^nS4O9I;p0Qrtu)mcCs88P#jH_hoePHIPY& zsEi|(NZwhD@%k5;wHK{saq#?NHwx1^Y!qEGa)rYAMOl)Pm0ynbLYpTN;an0!p6-|A(?X8nC_ z4m|R4{A}AQGLl0Y!eicrR_SFKsr19t1-SJAr{!1KX3^NXfhL z-JSS*!i&<8IF5cs?YNG|Vrn;f1a(x-Mm?Yd9E&hJ3wfc};HUz`@*j#SBOrj#eZlrl+U?a|B*G zHc1^7C5tpimnI?g11nPU3)2hbLdQ(UECd-t7q}dAiZ(DZfZdE26677MdE^yK&1E37 z3#P!5Eme>&05T=xzgEVQ4@ER;0^o81G)+ctkOHuT-2h!@C>c+Z?{fT-zgX(|F^%R| zi7M6MMPYK=DsdcOO-OTdwoMXylf9zn>U-Zl>&$YQF?Y=u(HzXP2!r}XM}>=jR()ub z9Eci{Vha&PnztoXV|47~q6gfxGkv4Y>OtBt0M51kOfuk{>Td1Drc=AmApJLxE@D7# zJA^t9>L>ql**Wsg8f75q7D(*z%8+;be9mo_rv$}pS*cup_2i-Bhff@I{rb|Wrk1S7 zdB+!3(4JLPQ9M2m>GY!7+NF*1ZOtvW4=NAbsyUUpo4J%5+O$+29IQ#&sysnv{q>j( zOC#d+6Q67700uWts307!ClPdAqyT{m2aY9N8Z6xfpf->xbc}d_0$@i^T++-~CHjhg zIsJrxG6(3oF+ikclI~8#|B7fBmf)wvI~yS$3Nh~jHr4CA3ou8W0C0f7oo!vZQ z$$Z>D^z~NZ26`<{>D2q~gtGl#0O6Q#-?~=BdO`;5`L#tpW!$B?-~xL6b9L)=rS&fi1NR$6Z9#QwJ!PK3Yc~XO zpEin`sw#KvlI@Dz;a|l`3*Y`uE7=Xx28R!j2Z?{OZ4&Lch^hI-%S}y9%BCjVgJWL2 zVDw0>a^^_NUJ|%l4}xPJNB-*9@C~<>R=rqH19#Juy&S?*FZ9YGFEDnE@o!?9{6Xt2 z*MF%G;D({v9=%C3m|SoJy|ftE__&O;cqN^%v@fpq$P=Pd<%f=4klmYoW=ed5HXZ%Z zIFGN$Skc+2rLFVilfRrZIW99UJ6?GL;P{Jumm%14F3MxiJo%)#|K4&O*6PTwM2n&} zE}bu%bYa20l9J5q5{`^G@tR(tBmTYR)AI}OmzHJ;TRu5{l8zTGtT?&pqWs>atKXJn zl%y3aJ;(%d@y$s(5nE1S%XgQqd{?3swk$;krTbaYxyl{wmt+s-otwyYG}B_XFS$Z4 z{{0%H6g~LxOL$I90y^Iz%&F;ZTUV}c$1Skn3vja8l5MeN5!>Q_n)}<5pXM@t2haGN zm6LCs&Yo%6aZvfwrC-nde4)Cyvb?;KAqvNpixzGQ;YKYQwPe&{CUo;WFE6>*yaP3x zm7~v$I63+(v%Y@m*%LBvOpI=cPqnUDCJ>mK+K4YwUtZ#QZR0ckK& zwEms}aWCw+z2oXP#3X9^yY8DSGFv7D?qfSfi6XDxQr(e1eOOX|PpQq+BG-rECtI(v zS)s;|t+FXmV>b!Pmq{I;ibxD`g)>1HeOKfw#qTkbGx(AaE@;BA;>oy=p4I2)*ts|`qSlW9s?e!h~^c0<6P^2oE7D+Y-AoqA~tKyQRIiO)Px5xsJe}_pBCj38_;2xj!)&ukuPU6l& zn1D!BM5_>r_23&l6>k4Rut)s6Wf5z;iFCBIICya(%WKSzQ`&BlIWhFQi1tY#hY&J; zBPVajp>n4bB`?I0fwN4^=H8;?6Qvt6^sw&r>D~LkMc*e%OiNBmkR_Os3gH`i)NlS6 z=zgctf4Ods2;Q(twr1O==5TJYZKe(o?i`J)rYp$fAvT$^a&we9xtS)NX)!<3rFq-7 zJ?*lCp{<*%xI7|nCEZT9TYA$CE?LOF%|vQrR`>o^q5Z;aQ$Z0}3ic{2Bgjez%S$j7 zfSGh1{@0Rs$lB}VUsp)?dl-21_(GGtH>GWs`}ky=kiabi*Y!x6iV-UfWGoqwK2AmG z$H1icY}RQJLmbWygrS8N~0G4O+11aU-AuV{s z+rgk@NoHv&9%(9yfy*n1o|eP^;YR{7U8^L*vX~5dIoIQ~l58ekB0Nem`uR6>que$H zNP!o&DYhxV54_-~@Cz}uyUc%iG;OzLkFsM61aL^heyD)V0{7Ksd;SgH1dv${)_c5& zP035pr=&36-cyr2irFWYWExPV9Z|FLkY|YAo6*zjETMIZ9#;WV4(`Adi{c z--X0JsK?^GfpNywK8I-QFu;(8VR_EM`WZh2`9n}aOkn~7W~+dsnw`HrK-slQqtPej zY8cPMKd0Br>wnHVd{~*At1r+XpQwb4fUt`bdDcsK_5YLI81CyA%VotGLGKM`?L6ut z*czC?x{&cD#?s7UZcAxcbDQiGB0&wcNm1q8^+P{x|1;|xsdPcIQm#3JEMD(YTUcA# zDBs)cyMDbd{Fu$WsT)-va2uF8FdXF00o7#_lOzb&0H_5v)2zGZDhg3w? z)>c;5a->D_=IIY_-aH-GhXXH5It^v9_ZUzN*^PSqH%H!+oZI@eRz%;Egj7b>bQS4I z221F>ohYEEgoBrd3>xMpI*5yW9}m)Z|NP%~upYErX32*O$nrBHfNn?}U5<2y1gOES zz;%k@I_xA%yw)sT>eY^zSuyyJX^B1qh$OYZGz1525-iunB$4BJ39jC$Q#g4JBwjzU zv|fUkmr(E&2VrZvd@=p-yogpxXc7qimk<>Sd*D}%Q_dtMFlC%Cg)1mHrA5y4*;DPkqP<-@NcgNSZy6X z3Cr~laHd#DUmlmPu_O209G|gt553I%2Arn}#zGFUJFShzS zlJ#Qga%`jPC8TvC+c94veR7=KpGfc1@qDB8b1_|SYZQvLqF4v=sVCBV*wSGAT=LHr zoX?Mz_se;n%*I7OKzwks`H)q}DX(_0Zs!ZxM`X3)p%NW~JNpoCA1V2>w&^VFUOAjj zpRU`KQ|Jq|FbVb9AhNtKxtDdP<<$9Iduk69A7zY%g$BgEKSc`G06I&k1A0hZ1t+cF zlw0t>1@Dsul5P7A7ao>lPSdqFZzZ#F)hco$_mzOty%$N?pLr1(SG{`j2VrRZ(V`(A zN^jV?Ii7{LUssuakT@;QBk#Db3>A^lU+igwRKSY$sp=KV%xIzGSevvVz@NJoElO3T ztCD2W_f?;hK^J?==E5B_VBS__#(dsv;0z_?%T`fERzYbwsI*HW5~;#JErKi4L~oBk z(kW6;mD0f~|K!hfI~Lkv`?y4>C&fg|BFked>-lNF7oOrws$5lm3bXPC+!e+%@*jxP zx7Q9R^O5#dt~IWrjx*BynDjt{Z-6XbkLR4zY^%wzEyQAv(mEDvvaas%tjG8PaQj?g6JFwn2r%eJF&Yu@W+WaW`a5234W{oNY^SR@^D#$9$%Vly+phT6MwfgjIWysE>;lxf( z?7rDvvr{R(RZ;+_u!h-0By4W1MxCHZO4Vg1RWVgb>Z(QZMbVMrLCURRsuYBFq&4cI z%);{0^3uk-24s;p6l?3`bq(6Y3Z?XLMM6PfZY%?}#GUL{v7c;Q$Zc2@8nG&CK^Bt8 zmrluKG6z9aWD}h%9~e-yZHrP`v!Xfdq~W#^Pvv`<;Epg5Pb1(np1&j2?;&P|pWc&8 zcRbuSdbv{Qh`?d=kgQ#{gBx{fT-CT!%bP!cxZoC!NJanUyK24PxLM00-8VAx{OC_~ zjcvBfHivhhxA~zk%>O2bc@M5f74fq)6MuWSLHsN`!SZB1iEK`!jt!+_Vd)H^Ljwan zJtyfs54(CE(cL?8I6vP-*qW3ydUPOtzk!NeM?}t^I9Nu-&xaGyZx60LujGg$aBhuH z9yd0+5bP^ha3W}5siT^ znBJmYpkc=dr3G6KpN0lCcplc@KYZBr@Zo#*j&3B zO2Q$cg@S@-&l(8pM=WpzBu=M5Eu*N*qfmCCv zk-l>zHZLJ}OHo{I`;GeJS$Vm|hki!%I>%52E!XT=byx}$ma--=CL=a|X=IQ(NWCmB zA~hm4N|%(*7-F+h^|H*gg2cj%qV#PBb7sD=405~1tc-%JtgOtFg%vrKx!={9bs0(X zXwS&aOw?w;`#uc~iVF8y5|@;vZGax~j>;3)$|{eYKXAF_BxbX@8K+kltBciV{RCpP z!{J8EX4dnuY+(lSUgc_CU`l*iLV7@QVn$*{P*ysAO}+(*RS{(wCLL2z1L0+5aZXL4 zx!jnQotsh0fCYkOKcn-Bay@{gfwmj0wM1h1k|c=UmP+{j4_R*v3O<+D&~5{^lK_6l z%K$Q`V}Qu^${NA)H^>SwzDQ`X8#S`~J`acuiuQ|l^`zo)ar6WEK-#mdeWWrcadkto zT%D4l(jfMqrd;p?SvK#D{0DKvj+~qZB|ML<_m8#CaXEo|lkBtJ1uXZVh#w~@OwLm! zcXXrvS`BAA2^}Vzvt(S*f~X8#Dzt-BHCnAMO_#yEy(rNcbUJwGa?|qUX0U^#<(4P` zUA7caoqz&{J4i6Qgg?AH)G7N49xh=;8=^RPIj^A3UF@sG+0zN3LnXu!)`3WpjF%h_ zxb3}*6YgTsF7IjEzmj*1xg-Qnd=!?~Vkpd5Op>3MfB)Hjt|R^-YplWSuHE``-n%#NTBzUb4Txd1 zi_K9?qe*nv8dvYl`h~kTlXlwf(s5acNIHW;3rovogw#m8h~6a=5RvTd2@Y8YOQrQN zOL`9`xa5>w4Dv%q+WR*M5{)D58Cd$T`hT%Sv19-=C|05?v|m18FdYC%iWPX+yB+=G zSB~fESgNHzz#9jtg-3qBDiIYC{|JY=GqD>`Y*bY4j6oNAR;YeU|Oyq1AblpirOoIMMPTk zC4ni-!>U34J>2>=UC}A{5lnRTWBMWKv5H&MaY5v(trNJuJjBg)4b58R8p{O{>2c^W z!d|OEwbLaoLg0Cc71WTOhp`q7M2PYDb-XXZjJA;NSU_?uo&Pi!UVSZlV#}eGWn6~` zJSf=-@tN`R`1p*p1Z9T@^8Q!GY+1ET2GXR}wd>jTw)%b)NyC^p<7ATI`*bEJv3a|o1t0M!vfI{dm zv3)@o{QJ`w$*Q_F`y&P4c({lZI%NV&Vl=uMwMJd0PFU%Jm7@KXb?t{>>Njf1B7_qB zfC(OzOO|NK;=hSMrWuX=R|M!|()fU6Nt^B5Boo{mcfu~P<&pO#q`)?nB|R@rqwnT} z@>fi{=iR$Qy30#!575m_eMAN-Ed#}dVnay@a>$?|9D%9-cDfketvb33NrKDKJp_?H zzmd)0*$oj-2^+NGGr61f!Vy;bm5RJ1CnYcfNRPWKa0^L?Z=@n6JwWaV7zuiPcX_IH}UZON+LRO_5sMlq&wZg39#@y4S=i0 zg#^;+H-9HR3}jx`U7V;h0pulM#IvH6bIWI^HkGqe$=7!!LPEw!GMN9H4DRVB z_9KI(?QY^>aGqh1=|=3~7m-7e%pR{`M8j-Vh>2l6k;AXuk>3%^LV4N&zseyKPJFi> zRJ3hzZLw`}uhtXhNZYHnS1XBRKwH1PE?H$|#xj91wR2~sxBXYAz zuY(X&1i2$3D~(`87(-Udp*k}b(B9-)}y#>O0yJzIx5G8eo zH}De)Of(jp5u-V)$3O+u3+g;F@Hq&wbgqJrL0ICG9Xe|n5@fN&z^jei4fpeksGcQm z;)l{;%U#}qwaqA*TA-H&j#^H;wGJy^yU+7jIzJ)E#aLC$JBn-{^53(znWd!nSkYwq zf$u!{jD6?rSso-bc$e}da)T}ufobDk2QMH&svkYa zMyn7Z0I_MD&3@+$z3gcX>0WW-huXa*7lXk&OZZ2uH2d@akFocFi{fhAhgZYQZZ^gk zmm#pj&Zw~)V=S>p(b!F5Lu1E=Ac7#hvvgP%SlFfa-ocK&ml!ogi6$l*O;6OACzdnI zS$zK2pn2Z+`G4Q{`+ctLPC4hynRd#3U-xwpZp$Yq-~GbuM8P%;0rP%o;85%dPK|2< z9r3O-A%yrzFUuBRytGiSmEBQc>NZ$12w>1^sjY3k9RFF$B~jY6O%1Xz@G=o4tQoPLH-Xdc zq~s>&8x-On9iN#UBYY;mxova^KXH;i;yp1XCL$@0_X(}4ZYnLTG>PSZ{GR`Smsv5~ zr=br9Rf*nLdyj1AymtC+i_m9h>4mT8>vYC3x|AP2Au4pXm>e0O9L0P2)iyU5RWw<| zs=Ggy$V|!W$ck0(kdb0_WKO7`{6reLjoWN1R7Jk5hSij+7iashS zlHcUrv~Pb+6@q}9(A@Mcl-=>cBzEm!GDED2Dhl1Ig-v)EjASyot23*I9G|n@mmE2R znA6l$KVJk24xlw|K8!8XHkLH8RX+5L?OTSPA*Yn->9uu69-y9@_67zDCJ9MN2>5_}Qf79dn2ecxmbN=8P)}my7``0ohB1rDFs8fU}aav$ITQqfkjw zn5)38nGIlu;^Pw%;>8deT}BNIXu{3r>}-osC?^I6EMbYykGkL5gUg9G$HgXqI}66c zv@lyAp#&LXjoI-z(0(%K0RJxM>5#T^xpC%LJ!U7}DI;v22uDm|^hR?$ED{!TE>f1F z1~(-WmuHB}iQ)CJu`yzVEu)AgF)>C~(OiK( zH!4c6j}oG6*#$J7i8AKs3;2TE+yZ1NB=OAmxJX3?eI7<~F)w@XYwkcuHrm7XSuZ&Vsio+*lA* z%oi6F6eF{oJ%Z`HU&;Y0q#+vm&X%q5QQHJ!4umOxEiK>|ei#$vDh9Y{ftKUK7zlE4}-D2Hvcv!eBv|4sqXm#)fLSvgO2&<(1!H|n@f@QKt z4e1$~7_>jVPn5Q)f;|7RKjjrns!!H^Dh2+omWnTA9r0;Hb7xPy_sTz-HcNkP%FMngI{ijvH+8SzQ9&w}OCV%MdFWa>>x z-8%M$su;&43xL`Dg`0QDtiQ#lyU5^1A{MILzQ4cY5`VI=tRw>-S$bob5n6dhLu!fv)HW)Ool9y=N>pliYIJHOkhLfz{!H4DoH}5cRJ2dmFs`t+ zu&xlReN=5%>n@jm(lWDs(a{aqZD)zkNyv$p6AlX-<~!C?Wz`mO#_p-H0q-gr+Vwdl zt3}eICNv2H5}7s?0#efCZ1O7!QTNy3iaWyqhQ8)xztQZUwgqs8fM?JtJ($U4Gs`pb zjm4QoPGq38A55Yw8ED%tC&-9)GA5+QCu%d<^m1c8!z0m{%(NO~x`a zo|2}1^H_k=TH%bSVLtEAYA9`ga)a$h-c86!%t|&p!PT4rS926QiC=cI=@;$&tIo+n%Q;&>mXaW7*rI zy@hBz4;y6uhAF@Gry#F*A~|qifN88T<&=y2%gYX&(Vh(1=TR=?1^Z=zAi5VV?>;D$ zuBHcf+W)SGI1SGJMEB8fkvcex96IE#*+<7{zDHEJD@27lEy}JA$-+Ikd-n-MQsf)k z{W^uJP4TX;bgXqT$>->0a`}a| zePdUl7W=h7Xs}RqM}SWF`{op z^4`ii)#YznA3V}N@_ex1TOqJ6b8lT`ZNEmNKK2ME*e_C1_AzoM6X`6O zm4_Z>-M7n#;twq`Bc63AFdV5sUoHli z(Ey~Q2U#*gm`cYEqW$~#r^`qrok>2OCH$65sB`tfr|UBp4j_|y3-z3)^~K7cu%1F>p))fT1pfmLYP-DB`aKW7V}G%#fGiG2C{-V zi#fw<%>>aYlb>~QNaqC~kOShoo5^d~ClEPT*os)!#o8q~%Su)VQmE|#htq$p`7D^1 z&`DwU$uqI%`17Z8N={+}(l5nC`86+uykN`(fw=oR;#q>p>L=wxkYV+3}*Up#a&S9Y_LuG?BnmL?Zyna|hEyX%4yuY8!V^prJ6Z zE+&3ZjlHOq0}}9g@=svGMdAl7`h({M5~{R~`;c}}YMZ0A?UdfY%zGz3Z{V{Nhj3=* zhg5|0EhWLALXE^Tq8R1;pMgv9PA9gvB&PTa}!0kDY%!Pa``Iq#% zw7k4bWy(lQ#YC)x&IB5@IF{}KPM%uY+W`fFC1Pzz^Og4YzG>|T$VfT9ZRCM=4LNCj zHi+9~++^C4U3}M(4z8#6H%2~Pu+-77(Z4yk6%Lmr+X!S#z?AnEX^nTX{UQCv1zw51 z_LcUlyla(Lgh_Szdy03LwmL0sW2Y@4@R-WZLUZkvWwmGydVpr52r`vTP=KhJ! z=7K%_z5KivoOK)tv9RfMFe1)gRusRxC1F$2CW8}P$Mcn>)eLOgTd-aQsi?bjhYR|2 z+u03ALDVze5s>?>2Ua#N&O1U99J9T>GPd#CyiyXp#UnIfam-5Zts9)+%Nf66^|qx! zA2^YyDNLMSlCO`}$K-2)Vr%4-@()^;9sngW67AY>+~<6Z(;Aw{BsMlDOE0N2vl_)U zB=LOS@rGRokcN&waJ1!Y`KL}a@>|AIYpQF|HYC->L8&(CTgH}#KzGdXTH~n!{yUKd zpY?LAXsv3lZMeM5@%N|1{stLb7k<}qk9l9_KBLNd4fZ=C0_E@_VTGk$rJlv^`CFVO z`7)LB^WLAKoe}+h;C$h>Z`78Et)U)HXT6wHd|8Ww0pk z65Aaz)mVQAitn(mEPRT&P6wI!_z$$-sj`2jFJ?!J;QO3>kvLu;pFvNn>kbqNL%CCn zvNyUdk8@piDdB)DSJ!?t@093)+2rBC{VSJ-xPSa{#rD$}!YEFawH_16`~LLRHlq3J;DOI8gbd}5 z;+WcIZBy2srUI;eSib4*MGzAF{5@g!?2Zj>77iWCFFJsbdF6TA1TLdG4UM_vtgK9{ zPN@{2UKU){jlvmcDJ9_Az~#4GT{X<39$~=2r9igH=`81!V$#RS6pT72GT?9-Kp0!jKrqyLDFHaT>12N2&tX+v4zxs1peo-)K;{s#9__3b z{Bk~;-|k4iR&e9q3!6D-VD8U9{ZM%I^ZPMlfpkpfCU0LhZmh?N+ut{R^6Txkxh?|w z*RMIhIWt0B_{QZQ7Ikx24Z=Ws(cmjo{A-(-to%4o|G`S_@^ZIBz5-bGdw9&8LwjlI zCi3x8n6bBzQP)YBpt0AJR@=}w$w=*~`toBiEKY8GL^$%Ewmz{gwpOUks>!agsL0i> zDO~cwwDyBq$%^N0ziFR9{aMpS!-fr7+Y{ybG`HmS&|GAt2k4%Iw!7=M@H3*XofkE6 z3aQ5(WnF!8Jr4`!bfqRme>(NF8JamEtZ9eQ$49Ffpr1ZM3FA3ks>~=Y%P7kOsRfU8 z$*J^_QnP#momoxaBVHFi$*Dgn*gBl;Lb&V8u1%e?WcIY_=jYrMG#mPTeeTQaV(-K1 zpMZgnk(7UTE`8MZ?4y;BI(3gUUu%A|-tJtOXuq{%BxfBeaJUoko~~=r0zMl_h{Q5RZ!FJ=zRzoee%N( zPekc;Jx8w70#ZP))2{$^#P6tzQTrzg`8yk9Yx3b@6(xIL|`(=q!`i+2EmY& zY)IlgQUk-i6IEM0Vj`BIFC~YQZrmlqNS<##e zijUmzKSm`jJ$?CN>o-leO_`2}D>fL#odpNp+QXkICB0k8nD>bAF42I3EYX}^RZ?54 zJ+<@1j&{gSts*fi$Okm$Pp6hiBg)4DU_lk(s|Sj7$`lMeqv(g)kZ}D9Fam@JhpqS3 zh8e@N!-02fFb7-vlLOC(VA9u}7r5mf9+fJQ6jlVVzSHT)#%jC9VtA|J1t~UI` zRu6&drA#^Pa@XZZcd8Bl<+QKKX}5Y{$MdwOcFAc=WgU!zAJQvuF`+kqlis9NZ~&}< z%Vi>ZV2$`b=%BKQh6(%STG%gqWrZ=lQj9zje;f>KUtp-3L+)2q8qmB*KiST4pU2K7-MD54`My$OH^E7lCr--x$06?Z9 z&37l@P|~S1_u*g?n9tSZfll)sc(w);@4+ODCyRArmrUD!Sxp~<6j^hB8uk-ckjH@Y z4eDfY1X(R$@rRzoMm3NHUG~>>P$5&3SJ9Z-BOt90>4QIw^eq`H)so(QaVIjYuv<*>vJ%o4PO?Y?g z*zB>qN7QDY@elVN^ATHv(*|wT8W5$VhhtAKq(n!j#qeE=SWPLGGNMI8Zdy*RR_mX~*cNM~-=m2mKQ0+iSF4r#~-tQ{OPBJA9H2Jr6`U z1e@UU2<+@2f%bRg&|nTg1bgzB#j<5TkROsg*M%)Wj6lp5djqjI5J>%g&#(h4)CznoZp1{9|r$uDqn}9IP{{HLclK`p9`weAo^( z8IPTRAbwSS?+^0wnd3p8yG0`JG~hipYst$9DpKS7d47B^TUpWOj{LM2W5nPjEj}&Y zkPwe^l()3)K3;JKPH!ZarAe)27;SW7UJ03HL@B}IHOblT2pMI%WP%J6Jg=G#>GRIH zT!B}_R<9^(w|?~K^$5K5*9S)KiQdy$uy{Uu(y zR9&66&%fG9<39Iu#Hl4S?*HQQ^U}(r^G5&T7~QQa7!#cqk{A8UXmDRa;fgn#$y_K@ z(s1s%`rtc1JI3S(r^Q5*-*i8};#Ch-^^bIGf z&HI4ffQnz>zkXum9$ZVOxzcw=QhUrx5m1G?%6}`!NOA}x^o6oY(f`YTO=mrvu7Rt7 zo02+Ksih9;x(d|mI!%INyc%&Xk2y)hw$<0SiG;J|g1^_Je#b5Wh*jIZRcg&e#s8h{ z2bb|^Ynu~M$mCfd2;&`Qlo zQ-e-AU?(4f#Ua`R$)45t4edTMT;#xu$-t_POT==CblCe@UGaud8i zvyKDk%}>|+0J_|75lyw~*yOZTt89a81050M6fF&u1|2(^c5Br!r&UL>XSHphZIB}! zPKEp6vO zhgbd$x}}0LrimHep2@Bug&{@3Wyu*S_=J`ESk@ZoOUcwN2=N7dRMvOl2yfhtyq)*i zC%e{DrPwt}NhX-MrX!xmS8Pp4l0Pcz0_DB;zZnB@+&9=U@4q)f>{_5qFvXh^Oe=PI zu54O!X)5VGoP0E$uId_Vo!n1P?yC}w@FKsdElDm+E=*C;0YFW<&fhGMesSru8J#emS8!Tlt>8&d3XY?4CSrcC#R-m_l*rVb{6;`J@&i1$}=l%XU4YY7i1Qi+VhhhsjS1Pg6nQ);;#dA z_wjtQDhRLvL+P9SYqfWfQOr_`qq{`JUG}UGw%_Zl)%FE0% zm*!i_Q>(#-2+)N+KB;h-OosafLpu%qt6OS7_PijN5b{o4=(X+9YumG(_I7DqShv~( zv?rVCE%0<%SQz;Jzm`}HqeluLNV_^XvIVj>@Q~sV&s>#zbq-*Fm+yaeS!P9rwzFfg z`dJ5#C$|aCRt2j`G|3(tr6zR4vkr1l2RZ;9d4}O*gJciiY>)lU%4YjJotAvA1}5r$ zwMVIat-Cw5_gn2p0PCp{NhPV`s_<|Qtg?_U^^<;d=6O1l$FyqZ;{N@}U0sz>`1B#X zFhfX>Aq70CA=O+Z`ow`%W+Vq3ZZ56-lV(EGfmRO1%3Klri1G2-00QmFN+B0xE>Cir zM~s>{9sTYkF&UA5F#J~Gu$BKgEbvuXwjQvmJ>}_BTMu+6*nopqn$4Lea6Y<`2$BxJ z8>DeAlXT3Sut7{h=V<18lT6$c^jMKH;ALs|DH649oN>@Lv5a!*utlQ+0)ETy5H6 zHweRXtNqX5deZ+TgMXjBS*hVNl#Z!YGF_i5LC38s|v z)R_47F>aA=UL#jem^pXy^kHsP5imJyV)FY&m2u@}!)87pB03;N45M~o^rh}^yKs5g zPUV|i5?IHROtz)2x+PmoFFZ~D%q(SEvargxvjl{x=&EmD77MOtd=Y&C#!Apcv~uLF z_dql;;IvRPZ)oWT-u4H(W!nySh>1lycg|pTBvozoRN`j6pJ37CQl1)s4nI0 zYr4!|xL`0|5bqlA20%Xx3Q{ENz!h>jvHmnD+2B~ zXXU?T%$>3wu9>uiCT}uQh&de}5b16-I(O(TVwPlvv`gkVGxt}FNm**E|7|mW}kx1xyubs3w(V2d|HFg?GXQ1chGgFHWi3EW*nVqRJqJ5 zD%m39^{db`{wLewKjROdC_PXYT)v=D{Gf5-apSLO!Hop6C=>ZhC!(U8Md`gF0Q2Mn zz0F2`l?0ZK0Qz29D4&)P?mJbWGg)Gg?lAj{8}jz@2roudYR49})POgYPcF!B_P#yw zu6I){fX-`ktVg;%$G3>`)A~;vY8t+)Yx!kQXl3Z(hHH&qHZ(L`PTliGedBj^d+IMY zd|TfhotsfuMs8^m?u}U9`N-L>iKC@-N2+ZU*hqG$Tqh3m8NzFNo>C}ii;NP-liQ4M z{EFRK9zO7Ky)8Bez)?osj5Yz@i}hf(SZ|aBklwhdnya|ew;wbhAf$x=Y)+eDTT?wR z3~Mbzhc=v^C|d=6lBIWO3E82thIMV_!c&S9AU*)Lzl`D(Wkonws7#6m_#iQ#iA*Uo zDYK%p@)=VI8)N%`>&A4T_cZV+DH&`xft>uMjk8NOF@~g+{47=z*V9Fj4nzfS#JKeN z$IxpKmQwl5Bt|o!r(WSqU;CU3C=9I;G4R+999_y!qWFRu!ZC zaJl?`ilGYs2)X=z;M*i)-sfP=Ga4aMi+?gB9)475SOazi2pA*kot`G6LvSvsMpgF@ z`pMK@17!+5gF%HK17wrr^8_g*&Jj7})B-Z&5*Xy-@q(Pl_l{Vv3ich~ILC?=;RCu;|@0jA=(QoIOAm|vJ> z$rTHNn5c-*q!78zihi4S)EyAzy?yrA)$b9=SOW$u_fOBf>|Ap(-!O~YSJ%)ECeI!{dzKX>=?lcD0LHA>!_KDB<9!GS z58t`7IJ`>ChhjjkS%wcO6a@h|0DfblqLNXe1Vtacn=kGHNuA5#8Y=X-H*wwf#;0N5 zzJ}*_#UkRapaS}adF)(ecc#CI$jO`fWLXR;S#rIfS2;8mRhA3tGkpi)>z~)S&+{5% zcp`Go%ManVJ}-Y)8Sc78yo&PsC=~UyHx6*Lj7x|17v4ZT#0D^S4pjisWdwpsB?GCt zAJtU(QN_cHhgj1CjGo<#1{Gw$(z^e84McK$y7%_Pa=NiwQcQj`($dp=4FWzZ-6(YD zmEWFpqYCQ)aN3;hetzCwUXp&iavXE?ATY@X4!%F*tG;PZE|USDHC*0Lww05dQtRM) z^1*@2mblww#3jvF|8^l)tZBH4ClyW6je%uCS@6#6jeI!uD`xlCnoAI$h%}Yu`Hf9l zXZEklNcobYDX4gp5Hh%w-Ct3HcG7O5i?emv0&aECTKDaOrk|t2Z~IpLDqi047PB}m16jnzzB8x&_UtU&QkeC;3 z786X-CVz|Sql)0FL)udZ_nmKRiSe%!wz)C5S^CoO2y+PU8xj#5mK(b#O8m;NB4CA< zG>+z?b_68(@+kIjC zt9x{1{T@0`WV&<#_S10>RkkW+*RR%8Zph@xL*zD7KVha+iFtl)f^9D3?*?X!6Q3CE4sSnm93W)M){^%gW{5 zXRjad_+X`<*Xmdi%(jZhv>(D#t?zMPExs^QaF$f;%*Bglh|aW^a>n^Z9fGq`Vmr=X zfcHUaAXRN1=bBHiJ-zPq$ET0LlD+!OsUOFZVF_oJ5fxP-U}P)VN?p#lo!~yjOAR@}bg8mmFZbL zUVa1750{CqvhuS<@QuyC{8@F#=jJO*KR^7`^|WU8EYWM_FXgE1A6z?89Ha_Hs<%~g zbnGcI;4~UReNQ`;st+A-6jIAyPGvNT1V=^B0p;HtxIdpV5THTW{b&v>$O<%33jZ*D zprBEt^hA@QnE1u_Y(+_2fJpXda(=;xv!2W%A>K2E;*(p-vWjGXkv77exwCuUgMDwoqB@E>v!VGP|qt$=_K9FeZHm~JY$MJE^xI$QUUCf}%>t00UeQ)wF_SlkBU{8qtPlnn9 zsUhWJ1#wr_wI-no zq?dIv+p+kQe;(wIW{Ngm`3-^E#CvQ7Uf}-yT}Gp%cARBT7nL5DXf=Ca_<{S3RmIlS zCWn=Y71*UxbnkKr!sY3yP`M}+CCz&>ckv{htwbT%FW*x--H0Tz8#L$h4!!aeZEKL!(xzu{}XVwvqYg=^1ebL~K>W zTWOnS4d&+4sw*sJC$DqFflht*ytbk=qgWuXoTU!zs*O7ljL(rN-!9Pxhb2b{wC@tq zmp#{BaS7pwh$h1Wjei?9oubU@Bif3R47lIbXJIv5wc$n1n@iy{OhV4rmyp-lrd`=} zr6QeVU5eu_W+_V+GefBbrX$1!4rfQvZOjh#V|~-1-!4XeZV=CZpd7Vn?K|W4uKP*6 z-u=#L*_!Tm&JCd_6nEK0FF#X@e`V#kgneXaA$b{wbbHC2yw&LqGzumJnn-JuRW0?> z)duf6x@Xr>0r2o)2#7i0p1w^8V-u2+6A(JkugS=qXv@1Gl1FqH64wRqIwB`_?yQIJ z{g{sSWb}sEcs<1G$Qd07?#2JWNOL~^*>%Tt2gMV-J@o)aPe)qxdmc(t9 zA~~m)hNp8WX{o6Q$1>aOm_%q?B=FPNgv6}uysN+E7K#bw?~!1WHajajTe!~VSQ6qg z#CAIT33-Rf%FNEp=D%jMvl0?Ssn1cl8Y(6sH8C-spTuhBp(42u;6z0hYCuV1h#`Me5I3~-OWy<2e!qF1r z;nGx5o;zjPmbIP_WnnMrzDCVProAQWxLI^ohD!PJs6vXli%_{S4}Lp@dfdaM*OEWJ zB+*An?k+O?Jg8wHLfi<`Oi$1O*=tTbc4ptRzRGk=oIqo?@i)Up!H;t}hx8+CF7nGaQEdo_5lfwfOw(zSwa?1S09aWKg z&T5J8hsxr=51C7FZd^G-`FnEUnlqOk3vUna;TInWY2x#AI7qzSQ06RS_U5-#?B^{O zLn`Q!MddDpFk;tm+jgboP13p1A#*pm3F|hx#%|?<12VG%MLI%Bhx;>DCnYWzab(SF zncZ!>OAhddcZGY_iVg0CA5GEPJjq|2o2Q2x#>@6@o^9>zt*!X;bQ3|bY31~WZH5Ga z8rckQOHfg?3MEAslqJ^lM-Jqc?GlRyGX7f^M=s=NFE81(Rn(NLHtr3+^u3n6b@O*( zfAMJ0#%7^uW6@$4#3Eb8Er{x(mT$?*;ELeBR?D~F5?4?uvkq1lPV+@qW7iCDZyCXM z&XWGTW*5TCC0Ag5U)HH?ja`3n57b1d>x>3XFE`0twr+XekJc81T@E@1t6w30`CezYOESE;Fuu!J)6s+O7x}Sju0ET4qV(z^mSEN zDocj};`%@Je^L9p&Ws=Tys~m#9kbQXtLX$z#XYdw!PFM7>q{oV6{0zz`ChVsOk=Xn z>beHd_e&t;h7;v`VsV&^RjccCdA)n>#jb5+cDz7eVG(~6C(c%WK%M>GN7$@0Or?l61Dq7vXt&6#J3bI* zD*=tiW$n@v^)G7DLy6eHyw;%rM{K~S3WTkjs5=Op`;(v(1hJldJI4ays}pgkjcVb4 zy#AtG!mBz|a1j`7dJ)b#2#~Igu0dQ^<+ZSa{5T#1mqe=wv^;IUhS%HGz)%b7_t;Q_6ue!g>4#Z3{prwWXP znWgXxNS#KL!JLxel$ny0oy1c$n~)F-MI!yO)KKQms*%U&%RH^5J7MU#MkC2<2p`>! zE2y~f%|$W8E7!L)NafjhH0)x5NoFxxng!_a%jA+AFK-XFYqCuZ@JOXIgR$`IU{iB5 z0*2g|2GAhKHy;sJ?F2aZ)?ai^j|bQu+8#0i0nyvHX{no1HlBkL6aGVnxUnrw`BhaS zfYuKm4|oD$T(b3FIw#~00yeuZ>0=;na^X(SbiH#YWJnR$&Pp9Xe7GX+;yKRb8EUZz zpyJi*g0_2#U43mgn8nMz-kYMOQ*p-zlK1XhYdH(HcZ5U|5bJ(JhN`L#mjgxf$Ar({ z5uWvbhGK(asnh21)L#`C7aZl!LvHHt>a8MZ+J?|dMCR-vt3f-kJ5exPr9JE4y7BQ} z@U6jAZRtTas_p$EfEnQ=R=0|Ls>aVseq~Uo&o<4U(-{Lq!{t((LK&!Ezk*ln|q z&?&91cBHpXSSY!IwH|-}{ku?Rl84vwcx7ori`csFc>ACHgA?SO4lDbQw?E+jJdTyt zfA$=A^V}!;v{r;3=V3JO+{fL}Nfw6}U%iPF4hd=vn?3EY;kwyeZ5@oQW3LW@;9&oh zwUS^A)pFJh8R4>xtoQ+MgeX!f?c${UwgZg3`U76AZCV6&T+?+~K(!&4iug-r1H^~t zvc8eqg3Cn+M7(O-V%q`?a+G}YZMST<eKbYMH`QJ@9{KFOM8x*_a20e2yEhDGl@)BCf%YTUmV{v&=Rc^J@1oBqU1|N5CPmtfZEF2p077vizC_p1O zgF1UA8sF6<;5$s2R(~zhgx?<81ah6n#hDC8&l<9lj`@jBIV`%Ae^BgqOO=`(UzgP_ zT{pm)Q9r_|ARoZaXEL(Ii`gEj<^x8()g|xr+k+lz6zXlQn>SQuU_Y$ah?K$A3 z2C7M`44I&$B z>{hfO5=$Oa!|gvur@5iGW&ju@v1&lX4yn=eBlPrZ^@fH<-ul0VMwZ>>bF{+vb8W+WtAI zKMo6U?Lww?;mk5{I^58&QMcUB~-ZgaMe$7Wvh^x0u{ zvrpUJZ1EaMOB%9jDjNCD;cR0~kWZF)4a6oiSdw782=)`8fuXVP3@Wd!tthV%;g_u~ z5B3wKfnD3UTS=dUeJc!*Rx@NA90&L4?>zmTHjkj=LdAi$)lArwgpVd^Z4YsKPRXN@ zQ)p4q%rv0Gbs?9?^zVtw_n5X^A}&2}Cexi6Co&x`RJ+xcJM6w^jnK7}UE{uG?b_X2 zj)>N!?2+Aj4uk*S0T`=8^dO})2B70UWD!*go&B(P_mRWyyVr=%yx7Ro@n_C!0oghP z*OZM!%K|mPnk$88{ZOL&nzg&#kBFUKY@w@p*;?7Q9p1La z#@JZf>LpoAb1}hml(Vi~BWEQ`Sh^eIlD%{_xywtdB}QVU)#nn=>Q9S^fg z3uM6=zQOG6KacV@#%Gd9U&bK*Lnwr`=vz}-6Ly9M1_t@ZHpJBH>s9n%r#)Ah*HnAr z99`g^FQ7es#H0uKWdy(+sR|EEjgJ!D{{pz?>c6y8yVAJY_QSQe{-B%Z)d-fL%B6wY zu<#%_8Tz`+1no~n2mB~{=m7o5ooKoJDHs;1$NF%;n5gBeF7MePgw_OChg7RVLZZWc z&>{odrXh+iFQ4py^iXQHkY8lT$P+W)szY!X8?Va9t}uSG_2fnEpEvG(eMYD&Z_01Z zYsqgbtf@&YOD>HrQsJBnV&Y7p{BU|B3IO4>(ma!xlUrqki<}|5eP?_xwr@6!0kU|k z8+_>s+Do8zgQ)!yidK9JM6g)$@l-LoIi|Hut7#ZVS5dc+$sr!KMVu6Xf{Y0x#yZq+*4I-YXVB1K0x(N@r(Xk*}?#FA!rO+NL zrwqoKyh?xEPhSzuK>^tT{G`EyCV3aTOqyWGTA8 z6_C{14w_B3v-r`2tYkECeaTuQRdZA0w=bFlGL{g4c9mqz!EdjBzJK-jY!Tl10RW`p zb@3<_rF4g>@m}5OLjRNQvjeNgLr`UdoUYgNbO39;g0Qw|`tk>pgqV<^`0!}e+7IZV zu;*{%h0;SGieUx8=BQHDN4KL;#|kYe&nGWmgu;1oMNUb+>d-}Up_u&6li$gq@O7Vx z#WCgj{BYI92?gjA%eBN6<6mb<0pC1=*I2YRft`SV;S2*YtpCs7OPzt8136NQ5H){V zE7-OSg*X4?LmlQw)k+MldqenoxM)jw2sA)vH*x$>^)oxnA+a5M1X^vifP+KkjDO}j z5IQ^XQ)6iAPikQ$C0oN2-wjHV{?Dmk5?ILBB z+si_l1hSrODlKagZP8T4MJ6Of39f8pLUy4@!j;__h9f=smu@*5nfPLB2#OiWdWB-E zD;w3FHbZ&!$l)&q;=mqk4)rP#n@gHY5Awu`y?S`oaRL2iB29 zFi+%X<>ZK@nYA595Z_X=mg&6VOlNV^+2Wg*=BB2A{4?39zk_Wv`@to06wJ&fgdNkK zHXkm@kerGDmb>JhqcojeKtE-kO>*NBvl24nGLo|#$&b>@vefod#v9`wvQvpxXEM1+ zzgjq-vHj{`$V|lt4b*H$x%jq@}WbFYjlI<-U0$Dx< zFYi%$fnEY(lY0gSiYN%w?@~(PHgFocG2>aOx8%%8J*C$ec+As;j3nyVWyd_RikwYh z>rFpJ#K3%Mvs`PF!HIa=0BQ!1KnoEnQ#{~AuA~p>|GPUp@~xr;k5 zhkq7_a0Q-x3TAUH85j3i*cHEvHXl0Lrn0H&+csZS=kX=ncJjJA>9d}^dg5;DgMx>k z(Hla8Fyk0ZYyK|$bJvfjNw4+fH6+>IZQrsd6C#PO(;b>ea=5a_&spj2Y!}LXhgr_d zLv#`d#Hi@|9{AY40f0=bqdX5uo0;n-(>F!PHH~tH`Pan$bgR7WJ5l3z7E^SG79z+b zJ#VZX{FnIGUj)ot19)6lhiyyA>&WB&{kNgN@fyD_f$Zim9)8txCRK?Y=zd;pr8*w$ z=ngAqQ5U2neLAz4<4{R=swJ=Sn4rDkHvDh#{@>({cG8bWyXE8u$#0Cgo@FstsS9;D z4niZ1-`*B(vynPxpvR`nY^N_#Z?1_t@`!hK+VUYCArcnwtpkrpuS#OaqqllxO~1$D zUw;$!C>fX`UzK;rCTF|fLVA#$ux70L<;DNy#Ef3(J2Hv$3k>uV-e&y*D{DpTPGwzX zWv%cVTU!|jS<78rJIMl_R7XBi(}T7;d3nb3>*LN9e&t1?P2>a z55gWM${NJ+Yl!kNVJDDv7-0b?g&{lEhlk)tSzrXSr|Mz_Fv;#R5^Ul#{e^ zlw~!`H?IByR|QB>OkQ;4^{L!05~}m~hNU57w+>|Y|Bo-*uTwY#X96UOZx_t^`{UMu zWCI@;=)3jD78f{|q}RD0{;K%m-2RZ@6N1kYCWUPY`XF~J?>#GVy*LAas~&Wc7A*52 z^FCai)3j1({FKRHH3cnaq4#PA3pI>>qV10x{!@Cm=lYg;$IFkM67kh@m5Mn*XonLcgkzjkDUA%hD zVv)Yvl|`MeJ}#%Bi&%I zG>SGr7_4=+pLxv*S_6OLdRj;8U?y4u>n#jFw=k}GLo6xU-&U}CQPM0 z>8PdDnWvlSIGE_YL`@7#MMJQ-UXV&3bnTUZ9NmImbQCJF8esiFbOlb?5wv9|VduK3 z1KS+n$5IcqvQn*C`753rKmrqWQ0^f^bWj_yb!^Zfd8!Vn!xJK6VjzAAhEXt7k$Ro< zx{is-ODHPVy6B3F5@PZM%}Q7-K}c~(DVK3biK+~i`s%Wac`{E9dqZIjm|p93GPwlt zL>L3P!IG0*BN?)!A2cbg`Hb}=w(Eu*JoP6__F>9T3R!8pGX+)aNh^}wz^fS}n?g3o z`)XOT0X6_K$bojR7b1^r6Og%(i(^79A+Sm6*^tn<@EDoS&Jr4s?pYq_)ai;5Xmnn2 zLWvykm!Btgx^`O1E7My;tDNLvrUj354>H6ZC)0!AamD}cC1|$5R3ZCO@be9#^6WK+ zvzqL)&H!U`ngM4gPMmlfqKN-LevnB{HF`8IeYO8ygljt;2A|J@v$w%qD5$af_U+pf zfBxA=hw?OOvz)CrcXNkz&-ebXT@xowyoD5@Ve&Ocd;eKwYs8VwplX>7puq{HCT$+> zu*PtZ*rx!+{2Vu)HW2Jwn#5UHJHgV~OEyPEtf};L0*K`^2KQ{?!tNq*W^&=(HDpkO z=e1NxL!e^EY0?JbInfyE;Ti@KT|NrFXW?X6n0sL}g7FAKnLS9y1L^ATFG(E^c%Y`K z7v95mG7cuH5t8dY`B}TfG)XLH0C5>)J>!!yl4De}cE-4lrd%6&Wg{QMZft`YiQ`Ad zoW8nKgd}fDqB#{hF$POFO>8TbGjAx^ zB%suvsUJf>8oeDf74u1??z!Pl=3Kj{-h)>T&YS1PzdF5UyWUyVC8cmdm?sQFOvJL* zA*CZDCT{^fjEf_{#b?xm+3@g$m>5hL!RV%`)6ahVkEJe)_4Wz!P7*gKG@2$1J*OeYgXp0;Q!lv_XR9*Y+GGJ8=3Vj z2I74mi&y(G8V~)TQH!Xqh`yylMJqrPHwU9{uP7C&L7Kuq9I4+u%0@!38Qo}C-r$u^)Df^ zYJ}ASLh5qpBPkWK;;)4Z2r4MoL+Q(o4z`6ce)0aHzC7_%@9;0Jg(q;Sb<}Ly!uTfa z3;{ZbVRK{53F!u_o$XJ@n7pFIBEG07D=$y9z9ijGPd8`h%P#x-L7RkykaEnSavui4fYcrgx(`%w~1L0lW=_oPm$#0K6CQ2<# zcDPV@i0ozV<`7Wtb-HroH#iom=wDj|TIqu>Bp`@Z`$HZu5>!HGyi@>51^Pms6)LR| zsS6~5%2_%ZNb=bZ-7|~BZ1oy7LTGwGd;H0*d;5q=Rc?-`2;x6tgZ1$-m^X_{ zsBSn#4E$KCyHCU=VqTKo9L>*RgCc^0&Eh_)x;5hQM=H8>B*;@%{vW#D10ag4Z5sw< zcGpcF+p-3B*%?jj-H2Ud?_IHCK|rNT?;REvmbS3;4uT4(s9?i_(ZqsX)WpQZ5>2AU z_!#4vIp@Bw`?_eLip-I3kt1B+3NJIXV%O7Ezp^y5 zWBn*ZYq3v3jx#qvJ_|_~kDh3#r{J963=*aYHOVrP8R#l)$`b>!z)F(WNQ4y>Cd@vul}YL+oiUJbO3=>=<{-#^Peo zH)uI<$lElEw>FZFwm7`CF|&oyx{Q~#S7YfBkeMEGD};5^-#RU9p)6TNVWWK;LfY$ zt>!DLdD)-cxoBqKR5gNgV(Jneh+ngx?7w&V-i9ZxzsAT~FmRnZv+N*HTyI~#{fabe zuHGfcpBO^3h(f&gI6d*xI|V7}mbfDyX3;eM*t|mC_U?&h^c~8apgj%N0hc{4IGsip zKg){rlD`I6;cPRNcHXyf!L-T)*t_5mS{+EgMZ(W+ax?4+O(h0coWnMi(YzGDNCRdue3FKaJw1HfAk!_Jn6lWe0D=F?q-M!N?R751x z$!9yr@Cu?mhz!` zQ_Tz9^2IZ7%R3*3A0D-dL8GZN$__5(UcCJpcev#q?(lgHh#*}>f~wEt7#+-*Htqjm z6ux}`&~`tvPm`OgFOABx#*m>e!nkh#x1rF%Nd0ZDOqOjum2ltLiYCaGOcJ$9{#(Ts zvKd_(^nf>$Jk8HPGq}IDFkH5xlKOc!C{C5{rnk!RfZ#1B6`nHk#u-fOmE;!{IYs>; z=GIWlF7C(xn}Qf`!!!9Ak!5<(#$!LC zTDDEw9U(?ElF-`z%SL*OmYV1h=aUOOOersI)qo+?PFzb*Efl zEjcL$d5|kAMbK%JsHh7+&Lq=+IwRjpO@EN^u5HsT=qG0}j`_?1tR`SK6tzVt3ccmM5co6Fow>ZLm$!5iE}PKW=Zd-zyK3&sed`_ZzFmT5Q)Ao6;XJ8@QIao7}12p%J~Mo zu|?qIe1xazpIP2$Q6zr}`-L=7^lt$43DbzlshzX``=>a{0SU=VVto11+#jebXjmYM zUM}CJ!C;7@i}a3Y(Y=z)({S)5zLQS)Aa8pZ&!e612aQ{@NZ!#({gnh@tPTzFleDaw zQ9E88799_2V?MMqCj*nOQoKbfL4bbB8#BEEQl-ID+;lzzW5j zcgC+WvTnbssjRB5mQ4>v^YYipP9HX8Gwr3Oy@s5)KMW^ZP>_NeJJ@-gg{k`C>e>+iu71e_ZvYbDd}Dw$lt*(9*W&@JD6>|t_2#} zD$2(68~6Cnml^AJGj;cR4g8RglZ-C`(MJFJ#K-1n})As11 z29J1yQfS~YI61>NNce`12C&n27Pj(6z7;Z;6yC*GIt~A8+waO05b~z5LKY4wGa@1@ zOzj=z?~4qL6sc$V&OH$TZ4us4-2vNQfDtT3Vcjib7pKtmu zT?IBR{$I$%7vqU5aFP&kP1}9?%=*jz#BEb^%^61oI|m(gKIYb#e&q1En@4uuBlbsr zJWrN<|HG5sPn+*I+=qAaUv;rHX%kqB>Qdkcg^+5_Szd;CTk+*%D|%szx^^^_LY|O8oN;Cu+nQ; z5xXUKPIJgXnN8caKIKPuerp#mTdAd;i@)-^RKy<7z13WNP-gOi+SZ?srwkrEZc4v? zf+0#Dkq})RUKC!KQIuSONRS~sDJ(8DH!wFaTUM;ikIP`A4FQQE zA%SUu`e1MuM8!wN%2F!zmAh3LnJFn5+|``hCyMT6>`tkQ-xqy)+g_(aUAb?Kx53*G z?57QqB_P929h&5o5D^B1xGq^2l!~fSvoo^|Iq9YQ_h*5C5HiMTDgf<~JaH%WN$HW} zC(mR)iMtlt;(gEVut)jE;Kc1oA-Yvzv9e?_b!fDi*{<+)poZN3bnQ0_F3=p}L;n*% z4=$HM6s513S!?Kn@S9#kV~4oeZe8uQZ2RV|n>Jg0nRPbj%Y>al?!KO2c5KG&lX)e3 zrH2^9jJmIqiV_cREcOVrbM~GQw+JNO;^NqaS+*zE%RW2;N47i*ZcUOQ*#;RG$%)X| zRUJvHjVp1>NzB$7q8J5jAI3#r@{?;G#! zsSDU1=HL|taY6H*$R^Qx>AelUg)?q%xf%tGSccx9_SO6OsiKULnUQJ18G-shT}W|Y zdX!ccmyi$Qp-}EKn`1W7EG#Q5HD0UL>ci7R!^0xNqJkqbBK3*dgm^

    zA)4ApBHI0o=#zcPGS z;Z&!ro%w+kGBS6KGCVvbHIxgznSHPNtSni2yrej@II|?(+Ig1ml-NnKwsp?RQ^}|F zO}gZTzErxxGax!XBe5dpTEex+YhsT70Ytaq)>Q!VItrMO57SX_GJ&RFEXQ;dM}pfG z%CwLi`bm)1A@Wn5V`+F!62yc`u*X{|xAnJ@ft#TAO8dxuN%m!a+1X@J=KkBMxAk|B z4J=Lf$f9FIV`YFDu2ddRJCS-E*~8M4S`u4+j2P+A0(Gu7q4udQ#fn z^u1|&(+vJuc&TN$IOfr2^-D&yG(}gH)xhW z1L^au(#*n~q+;2Gc9}9_;exFT(~!+7W-QG~8+dWkofw3VW)O=Xe8sm7IW}L0H4P~n zhbobRk`&9Pk?G3V@~Ena-FRLs@H!=()}Kx}4Jab)24o^C4V8IW1(^j=xuMx9kf2UU z!=~BkIq6v$I7M?iv$9Uv8}otWv+2}k8?{3C82S@sR zM>JQ-kfTR~8^ex8Wa;$!thDBWvn6LL$Vdmm&LlQdgI4yf z(Y|p3)=_SeTXfrGyp6wd)9iuE=jayd795MXCW9vxY;I+bPyKeT@W$=+QH0jvjq?*7N7BtP1uUhKU2ONN>MIOxt0$MRYHGsf88a>kP!SoAn0w;bdwSIKH&eZG5rSRI(%=iaN$FRYKKv!9f7%q7{0*GQM%&{vh!d@VV zfPI*uB6wDn;`W|UNT_mMf#qd-8TLXi>r&5rp$as=jAj*)>4}|Z^ry}IR|v<(n+<1OR4D61r~_$K1@K4claWM_vn`DTi;Z|G_zd%>R1miu|hQ@}*$BTX^tN3{Q*2+i8MoIJCn)-T9+yPTxUvsxvq{HDiA^NnC^nE~-7`%bt?wo1x zU9tnAP5RJ8DzA7 z&bYa>r;7G`JeTy(VILZ zF(rjSW!xvizH`Ir&!d8=|gyfYv4Y};Bl%7xBm^uJ|jQY@+M|JV$E zSU}!Ivmkmn5$P@@7QOW?CQuUMQAXp8Uy9$Ok+FlidCPV?2I&qRmL|J@W^61PVTkxB zS2Q4!d){-KC#WaPT|2{@6Qah*`6x-rnqynf1!Ls-r|=H`+y!!scE-yU6=pl+!aE!0 zBgwgvW5-I)$>_o`CHYalb>~hbU$%Bwh(cOka+0iJv3~&Q4m~7}a0Hn3!S+}n7NVj1 zP|kMmFGrT-dZlk{sGqmWyOSoEY?%&Tg;K#>1)I&A!<|`5w%li5$@?RXsLxiNgVvGl zh?Qs?bVrY=5Kn3|Lz^cd6cLAFV*edWLM6n03h)!fl&Y`;Y(xjTQRO;n&bGghtRv=b z@COc5wb{dyqwM$;bOUQ3f~XTMfbz(_ zHHg|su{o=_<1bbL#Yt(cC&NQp^RGHbcJBJ3KYBZGh+8aL>bGSRhqd!P+%jF^W$ZVE zD&n}5gao~o|44%r=!JV1pWGrI0l5SWCGGOm1eT`Pjj|DH>b1|19wd{O`U?nUwVHi@y z)32?C$v{5(skX1+JHB!ys{o1rKR-fd#h&l}P2?)mXkIQC21wdvP`b+7B!?FNAe{JF?#Q4#O=aIHBWfx#3o2xvRn$>*WhQ&2 zopiy;6;~rzc-TiW@eyIVF!j<6r!OC?I&!3#BNOg2{4N@=-0I`x6vD!LZObIYgn_nc z!RDrG_b*jmtmYs{V8vwS7p4`eJMR+>H^nP&N@&*sjF)$)vy+N$l+uWPj8H3?v+BZa z4yncBlV?KrRHy(3dSi)OQ?u&!R~K#-7U&Yd`t)Ns56FT{Ia&gQYd_{pMcvu+IE7QU z)?b>NgOuA-2dc{(kE@8YJ9U;W+hDhJ+4>WgS#nBRlee#;jD-?yZ-!iwkblX!_R-Q6 zPU~0U?0z24L~dBCU5Cd`#3Z4I@S^i^vpkD&2I7n8pGUy~+_75B*mRdJtXR|t8Vsu( z(scl_R-0x?wuw1h6SFn$B26TJR6-5|)lBDh&Y>IBAtx9Z_i-e>zW9R`Zko!OYxdI) zPga|Cq!}&2d%k?l(XXSq#FCWK5*6Int+nl~l5IP7IYx3WN0aNDQP#Fv(r_rq z9qG5X+RK@Xlj;Tz>;wsl0|gU$W%lCGi9w$dKu4rFBVif-@D0^zDPJ=t zk~fUvH8JxUcAs`tQ`yidl)=ETN92eB=t;n}pAn4B1Ro|NKp)_*+L^H<%Y}U-3}6&L z4BGwE+_!3z^%0Ho>WQ^WVnrVUM~4CpUL~SA0-4jf#}A%Wx13zNG$u)07UMvbLUo)9 zyeI(3hcZRw)y6&Qn_t<@bqH{D_2Hlv+JgxV@Q(FXw=a@x-M;T=G&hJJ5dKy6R}o)X zQyK5eBxNNVjjGFMPG3HI+<9Xz`&t-|y-_Rv7$d@=Ac*+-a?_cXGskys$Ysd@;Wa}P z62%Y5aQ&k5aL)W~x?o4`iRBbr(|4lrGS<3xS}$tXX~pbtou3sco_UxoVZvI!TsoT* zuGeDRE9;zL$JDm`W0JvocCDyZvP1J_gZ)|-L_>?>7KJTlM}d{&10JT`@h?-RxLX8k zruez&=J~I0H696c+s#72WedYwN_nGLw`jjetwuN|t#ICwyID*|l>k!RSF~7;lBeHX zd{oB$3~68-Sjk=E{d>qNED{-Udk%R=dk2Sz7W>OB3udS6=zWGBV_xqVcC8<* z9c&&Fu}ECIj1dM%<6%r-E9C$F4knU&M1E!pE@oZ1q9Sua1MC0CmIuR*vW0FtGIyvI z2#$JWDn&B|I~N~;#2osZxf-$J~mrP)e6d$QNriN=;t-RK>c|lZSSV9a( zZRtD4Da6TVYo~RDvCGUy;F=s|E>>4wx({fiAE8RIk!fyn+X!sKCZU3XoIM_5E5T;eMy=TI+iZUF7d+?3K36U!tN=n4u|ZS^*^ud;pg2Qx`7A!i8Tx{9)W zc{PZZOD>;Szig@9hGiUe#>GZV(OGi5vHUcRsGuYj#i1kh@@XT&03p70<3(Uzwvaze_H{=Wzhv$c~?fVDIX*X%;X0YF$Zf_<> zHDHe_%1_aln#mbyQ2_)`+mOo$LDh)7P&Mr*iHwem1_;SVD2fl$hQxx?l}L1tPrL%QHGrOTs8Svl9!W- z6hN|)pLRlc#Dt~fM;1b=Tw)Zt+YOm%cx5}Krx4?M3xxZAVBG!5b2OvqS2jaW0+iWZ z+p0}>m18!n8_U9rxu5iq+}sl%UCJE^D0N(^It$(_ok5qO%aFZly7UL>p&~YO0X$+F z*#hUy#!uDsxlxV+;Qp4om#D?aKd~oLBN6$pPFQKsFF-jotZ)#6zB)l&wvVJwC}QGdd|e zE=HD^`1v3@QEig<5!W4zb=PCvHRmT_-JB$&HbY$3@b|i72Z^Z|Kev7L9`U{pemb;h z?&#l|x4===)#PvTR}LFS8j*UvhOQC(p_Pr#o!Kv6feac{Xfm!AWEmXpNu6XkFh!g2tgVdrrJGvTcj2(+FaXXR4nBRz$VN#fg>o^*S z41V8E(sgAZDS7moEPwsz0txvH!Tl~TdS_rV=kX)piX@MKps>(me(|G65F=+Elf}eB zvHwA{iQ^9{&unX4zi!*M_3Ik9ojudocou09u_?;4+Zxub+vd1VEIlihcI-}uI{Y|j z_&k39=i?{u{}ff?kt~p+>^lyc@sBar(VVO#BY;Qh1v4=cAhcc>s*l86FESDzl#`Jk zYDbr{7o4>tv0T*e!`fJ@CrEG=UE!0$3|1b=DYVgM9qV;Ungxit6U_oUj#)Io?oRLx zWZ@%Dfjk1OFBWp>=G{`#%dtSO7-)-%+(JN`-b!I_lZnLPFxe*ZNzOnT+cM|bWD>{w z30OM|geBNk+<{mp2sCvw{;F8qLFYmgT9`qw=86*XC+lhHL;AHElt70jfh2xCCzwkv z&OJ6FXOV2)a7Q#7y;bO{WaG)ci8pTCL(=D6XQf9s+#ZGVBpXp^XEG{ z>K8UR0V>oRw$p&xjlC5oH=91-k$UH>FwK3S!i?pM_Idgr^n>A z^R|u%U8+61&I%cHtM+>7H+gwk$HsbjZPI(~wcgk?_txxIx|*)G`cM*UwDQ`kKe>1B zsis@E?%X+Z)@qqySkb&=lbd(e)V35KJX3RhtxW%XHaKerKEI=9uQ#9ZDBdaCNdBV) zjrah3L~ii`uqN~I`DZGYv-}D&v9D%5wOk?M3x1|Q+enT>iRULpnc}961Ux+$AxBBZ z&zUox6AGn*AFqJkn=kLpD}Y<|WBEeq<~*Q%XZ{Fb7r94x_y=&pV8MzB4DgKdRO5xWVQf#?pGMMI zH#3EU$o74&zfylnuV=|}emXf|>i>*5AAWl2+?%wNV^#`>EShfr-Enlq-oYvGT-$c`PZ?V>8S3s@SQX~#TVl&hhI~OhK_C+My3gU$y~t(Q%;uL zjC>asgcCs+=*A)D6hfNX7h8!^iZ4w;q`T?Upm#6L^)F4k@H^^d*S3Yw0X*PQ;qKz+ z;pST7S9hSIrj9LGsf-R577If*JHU_ija6@4YTU9iL#x%&I+^na$lsxA2ogRHfESw`@s>+sYLz zgpND{z7UO1%}V0JuhThBbX4B~bcl6sT(ftC3S#o{arSkF7QqK{ z6Bl-a$w*Gm&Qxa^l4HT0zJSbvm?SZKO@>-WWp1j>1Nj_|xY08qo4rB09>fLwMD?hT zu#C3RHes1KC2jmNei`{^DweY^Awwv(Cr9ONy+mA3Q8LY;a-?Fpk-frHtDERHY$9^9 zBgz!&Y&9M1R3E__j(JW$eMmKA2(-<(=_78_8v%k^HN7Ten(1;5S9R!n+NeB1(8( zmHaAxh89AhGr)ULMqj^yqiV=oni)j>x4)Tv;1_H2lB_wP9{VEv z-IotYFWE1#`RDX1MSae3*QRk9wi#O|)1HCUBAA-JIgZ>YZh=)eS&2bU#mTFB)xpzg zmqM~vq*IHOSrySgq0c+}LK7XTqsu3*q+LTR`U2OGL-t#Nhdh(^7VaPq9qq<_bVM(L zPNWaK9cVq^c>4~ZZMhCzqq{bY4IH~jiF1BTgAp4C7q(i6gMi8ad0GFI! z0MGzll^u_fNcK55_fy)#iGHF6kah*|#1O3IhLMjKkS`Jl457YJ&t{Od*U1+z$;UD@ zkyhv#fYwS4d7K_jbKh~~Z2M>>$pv>s1X3m@vW@emS4>uq8t1uoIv5yc0D_%Ozg8h> zc_@Btoyo4b|HSiW^@Drm4L3MYeoe$<8%gp-zO48wCR^fd>JjwpcQM1lMl$(W*DwwL zQb}xFh_!QG- zC0Ub6rXg~$0_1Gu3j`+CWOD65xphJyE#X#?i2@(^Z)pQ2t%gG6sL9*xFp4NBV!^UU zd^B)}h@sb=8k0YgrrwQ_n_7_!@D9Ex|10t`Cr$Y?8;R9#U6Cg|RK9rKy2XIt{vus` zc3lfgc1s|sHO7&6Z6qPf$$=&C^^YQP_2(N;pFApSOYGA+>(a0jR4%v-vReOo+7EPu z`-G6y_P*;p7l)&5eR+qzIJ*2CfUdWK9u+K4x9yAt<|DM)7MYfDcdo2WbknHu#qM8w%quG z)6XorI{(J{`)&{2AH-ZtER}Wg$g_zRfvFw|kx9yPg2wx1 zW6}~6Qxnv&F|qx$W}0;9P6_&H%YxK zD{6aUWcbF4n2aP@(bo{k?w#AX6lcHY%C=jcGLJjogg;O}_@v@P z^kINJoWx!aBALi}UJ72X@L5RCi-9^~c7 zYTv+;liti#w8F!o8$^c3&>r5Pf0NR6@j{TDFdXh)VG(~i1VjCUY-V&;RCbI^e|_#x z6Ik@2{K0^td_%gZ+HC`spikR!h^W&s=7+8febz*_!tZG-2jayNf41b^*?+QV;Hdjk z1Dx*_1ejk+d=STbDfK}FO6sWb*MuO%D}5lADM^)PfQHSJ=NE&93?b(KF`ocHv8X5o z@T0(XcO(Q~&=vA?&}0k&Ju|9%PvE4x`}z83yhMT_?-iUXo$T54j#_(pHEq z){0Jrx?JncC!#u)?5x2of)AD;Z)7EY;tz=&m|saSgG3Le!=2XtQ>6{_34im0PF?Qi z6ILH85mpE*tf)7n%27!JZODr%)#v3}11D?*eTHlMiqAAh#p_inCvkwmM~~9jNTNpr zG968d<$Mo(we<*=19t+JKsYyWzQ(TD*iO0CAtT$7YyT`=WBN=Q#*AQnyk%o?Ux~O%Kc+au zH``Y&7+WM`G-Qm1TP(C9+Qm`hC=KGAyLV?7BQAjz!7bUby<-^CtkRKOCI*Zid233&AOfa?zja72g$abf2%fH$yI-X2Bu zHj>xo`Zn<)BflwypWxU=Y?FT~6^sxG!kIN8ijDJb!hB~rZ)^jFiZ~-Y{qM?8EwIji zw-W{QW(1i(w2^GWyoO_@zxrec^fC4&ZL!gHgTLJMR?jYo`!)ejGD9vRCetll|k zJ~fk3vw7>+x~jK2|3D`1;G&xRNiPqw$&)Po0=X|yYZ4}J>NjHQys5LN%=u=B)tT1D z-MQ-X&9-!Q6S%U+b^f=N(b-qO8~Z{HU(ho2&yIkg1O4&6=r(v}lFwzLRC+g&i)Q&x za&kr^tn2t)NpH~$@V#6hKBkY5+IX5VAt%9yo@T_A{Y{pyhQbEq5`T=~8}RwpVbRu+ z2E|!a&@Q8`$`_L6mrSjsc^LCTlIu2OBBS`RhT^s8d!g?t-`zDtGUEpZo}xa=B}uN! zxhc}PsCWo=he@`JNe-)pPb5L{y5c0342fXI33g9G_}rSw6sKkwN>qGrX%@6&+3ARO z-;t0np5FqmLbrFj=m=;c1u`uuVFiwA{*QLJq~1N2+%jUbtaNN9k>(>&;Af`GHj>h=EHA+K!nD_wMvZZ`bEdsvYt zGnq-(7d-so`t=_kF1S8%<$70pKUQGA4@nP>N(@1WM<}M7;^~5AR6WA_@Q(GBtJJg$ z`Uzd8o|u2#jf?k8baz)Fo7Due*2Vl1V#0HJvo5hVu7P|CQe##{Rh@`h7#rQ;dF8Q8uc2wIP=ADF1$crQIMaXU!l*BkS)6i>Cc~`cdabD zbdmc|SP-rc2oIO($TsCf)PXwj*IDNzye+(z+=hL9(HmZuK$|vu(yDl*xOvkQ0=FY5 z&?<-*FVBgrmP|49F_8Yej?M~ z%J_dt6_3D`=+HhXEP;2HwVB8Y2^qVK44h8j{09ifrB}=ik{7Gf43v#KT*P(6mlc0wv_gU=$@bQU|oAHvEjuXaV8CLEFG- z#1Y?H(|*uX{`S^f{}u#~FY(5WCdo?pGW!9rGo03|g+-JQ0uRO_OfUuYNh-#}fn*Q| zn$}(n=|7N8d_-rf=^5x(YVmy3Iaqo`hJ&b0lo;zCgJuGeN*nqPB|ecH7vQR~eWNlT1*rDdJmYo5Noo`HEmC9y0tDk67f z1Y)ELF;GoA>c*I5p}ajFcE45n68s^prcOi>vZkIv?XMG!EPG?xrKD&vV-1lhFw ztu`h~1&rZqY3=FiuPe{Xh*{Gq()E`5y<|r9t+g01=4i$}?)L$R)K@}B%%fu{yOis@ z35n73)gVgi;x*_YV#9wU5XeWrW1O@X`p1$Rr)ZbHCppSqzKML`5o)C6A<$$eC#|cI z4mDUlY?yTJM%Y6$d(Q8?_t);HWv17F6h;|hvbC%(12k@G10?AYBEkVP*%=sxsB*M9 zF&W6>#7UOJvtSWvDp1~AesKoia0aBF8uZe87oj^t=Jx>?59Au@tPe}*f;LNjE5!*Xt{Cm+qo(^ZW15Mi)XCJGk=PTjOYWh8yTERBY^C?=t=YN2Ha57 zd^~4Uscs@iH+bP)nnt&&XaKwoi%B4hyj3&{BVj*4GnUqeNZd%5#lNzC2kf(5{9OEE zH&wdGPR^^GJW(~lZ_1{5te=a~{(!$MHV>k#@C5Fz%qcJ6T3*zN#D6N#!jrL^$%wI} z59@bulMyxe$JnEWTb~|+A07iS%k8x1+*eeX?J{~$0-yfkd`xuh7ui!kP5oEuTEDa@_1t-K;=$F5H z|9C@ny#+@!fYp=!`nnw~tszT`PM;x~BV-&I2VYW@FhQ7ri;@M-taQ?4AURH17GEHB zSOYb3Q2R(`(qXv!!}Ns@nBNQUTlalU&)C3*sHRf@ zBf>%0hYT-eyE`FcP~tEG%ZYnnNSfP_}v#m8>LmRL)-%27it2F}N z7ooL33@x%vJ6S74{EFlu5UVz(c@h^2bqYgBZiIDYZgE_(8sPZi;w&)pX&D+;KksH@u2-haq3f&MV1d{xfrXGd_AOk0y zI)c-<5aMsq_k;68XVr+~!{Oja#Z!hHWHfNiHjr7>$}gg_JU6=!J&-V5PWfC;<)NZ?~>U5ktZ>u{{U2`DK`aoKZcbZGB zU~84;;_cz0lkuZk$a*=@(YBb7cfus4n{JnnTj$0uY2Gzy2Wok&e4wTpyn z|4Fo)4>wT2Vk?+khG<;|{+WdHAeP&9KbHR{I37(Y{WvUqK&5~tmV>4pZphHwc z)KmQWP7)4LJ{`B3`s-rSVhnNC@djf8gj-rb%8jg3ERTwTS~ZrFJ(|CkOruvZlMTlV z36SLHW#^}J-;?jfef_-z75M+pCErO3uv!{-p7^I_>u@C2e;>(*qr~!Du^KE#uhNM8 za0wEr&EMNFL%W(D@<3mI2dptcI!+fLb14*7grPe&gF0cbQnc|KE9yjq3F=0_03OkUI8_fU_5g9>tB8ddl-Pwg;!D{f= zFj+YndHHZtpf|n^h+7-8C-O47)JEc~)BIt&jdRmW2hvNiyRtnhL#$1FyPTmvwCR=P zhYmf?04It$bT~lD9bL0kAMHUm3cQt`ca*lh?;|d6uj|m8c$2)cIJ+ixkM%%uNl7>I z{D+mT#kCpU5l<@r1*yS%`4S4hz!>AXwFRovG>JY^dd!;?0>XOdWIE+rYW_O;r4^Bl zA=9UjH7So%Zf8E;CmSUdz9o;ak;xJp@y1#uKNaJ)SAPv0k>*1c2kFOGK4n)gcAGj* z1tpG+^b3*%$9Dg3iS#~Ol3b!MDZ$^z{i*am=|7E3R%7u-P;_p8?Dk-F3wPz+L70Dq zN<`;tVLCp16nuY?=mB$Tl7USBUoo}p%IBIGC9J$9$&m003;a^xmnj+jQ~IkOyt?F9 zJ|#WnCtfnP-3?xT!`j5qj02TP)3Ar)z3@r^XcXv|@2K}d?ne+QWk-md9T z7c(;YS}cl<1~huGwEbn<3nhkNLm7Ukge1|SN^n$sn0XYWe7Nx1q|Q1gEnGOMbNxxz z7Cr%KxB+c}TxZ4;W&-K4 z6m7f(&Bxy=@Kp3B+M#6WM3AH`MASwP+Urk{54 zes}>UztKfxKRsmi2Qt{ncMMiupTw`QvG~)5PXd2k`>r7Rg0$1aptrO|=8&z)SPL5Y z7UBr+$daSJ$|HzJmjXM5oi|^&=XonK95R&nSR^a}u16lj`mmP?cxnjiEXBV-=%_V*I>?fabSQ41!Dx+`70EkGp;?DBc^ai;h zSVJ1+2JM^@OnGa-eo)R^BNUC626U>w(cgqA!W8CO$72sj8#C!Y?R0lVE?Y%(0 zp17LdAnQyk$XawtN=!SI0TrG(9!Y{U$O_1c@V)ypkHs9ej;{`{@+pu(vsDO#JJP9g zLxQUZjiats4$g@S4sSiY^?Ks5BXCuYvm!%mX%TIv<{?8id@&2Kb;>dqt~@;OTn%W= z81$Ccj&Yf|dMSqm8s_I$=W#>(s~!hEbh!iZh%6UjX5z}D>%LC3PEJE=r25MfjpsAC zV|-KEzUX~{<#?g_&C1u`J$U`wlWO>6m$L+8N| zML1^GNC!mX6e`*b9v2-shrmU*qpd%)oeQ_Gp6@?fExvL6(RR0h$NaCi4XoQD3Y+Z4 z%LefEPpdSDpi2kA=KT)4Xad>yEDU%0(220x=zT)BM+vWWL|SlO3^AKzl?cicLOU~|NTN_@VC!eYW z3%Kwg+_O#2{a3UHf<5#Q;T9zU9QYuvcG zbH|UnHTN;cH$fvB4R3-GNt?Q~#LPs4Hr-m7$``|?RtCEku2C=B8RI94Ye9sUibLxY z^emHd>@gC34$#{*9ota!t^SgXYTsO;M(wg2@PfY3qjt0lBi_* zd&KE6Nn?}AdkQvTCOR)OORv)B<`(*}d{y{fL=L7zCp+8iVeh^p8~F;nL!) zQ}mKT*RM9-X>4uW@Tb>ZnSLBuGYpU&(^cUorT$Ygn_lAeY+Q7#p4CUkYExNqMTi72 zce-9x=4x;$$<4_OsSKqiHX89dCs+80(fvv@0jv20=qfcmW8U9!a8O5@NNS(A=KH1cVlP zfcUahM8Fvh+?VKa99t?0E(kAXL2pr9P*B2|uJb*VNWif}fH9AyWs>0V@L;YTsX%pR zSh0i^IaewqP=B%m+h`$2Mkg!vi6jAR%hOoJ!Dt60Hd2=)x)B#o2a9e)$FpZ7P{=dM zk(M!0^LN1rv0$NCp#JX~5WS*C8_8R9laXwd^X+tm(sj%RuV_{q9-b7gc5^ctK@dOj zl=JV4NI%(JGAtBN`Xm*ZR7CpUBE#6Lq~GD+$;4AKV{M(WPF+xtq%Gj~MnBu&s`6V) zzle5XwZ2J?!6CA!$iSq~O`CEysUrfD!O9XA8Mg&I34RkJ$J?rG^Tt}ErfU>X<1a@3gQ}xvwsvF){?VH#b zjjwOAQEWFa^RYKZJ=9zZ&3JB$oGs&^ddk zfm+Ki#L`_XN6%mwv3w0=^?y8(bYpiAE(C(_R!8R{cF-+Ta`0g8sv56_ZD0`g7f_2XS>Rrv;n&UcNv`a1iqR6 z?SSL7o6N_!JAAhoC`ilX>hg-}BkN>j$M?#4@Y~7BXg~#}GKFd=woC~03fz_9v^S8b z2EL^>7wKr3Pj+Q^l{zakB`piv7S%};4S2@0scx2Z*#YXlYg>zdGXk=WH z-GahgWm^Ka?%JUC@X9F-;9{~Ezw#)M?O=>``q-{57v=NbPL1@Tc*q*4Capa`gD2hW&<%t_^Mt%M6Za z)yGro0d%E5kcxw8sTCvuKJp5U-cjHI1TSr60&*%ME6{wTW@K{;XMm+XW)yYgsCPkf zesVz)gp*RCD2?3zk3U7gow-B0HggqCffwv6WQM57v1cuZg;chdi>(u$Lyhk!s{d9;6?zd9y1Nd$Yx;Wao` zjnto%h*axjNs=goE$$Qe3}!a%x|Z{|FI&~*FVp7c>GIVPkveS@XYU`ls={7IyEYSM zHtAu=OfjgVJ>0Y|>P=g+%eHZwDpm&hZ}PJ*UDf0#bGvaj^uBt3U0P->w`td!pq24! zwL9!H*UA)j_J)R?O={$dAsbZT{5tp9!Ec-0H#s?M+3x77UB2H@=3i1BwMSi6o>_o6 z*mz?7Z?dw2IAT;*YNfCv+sQ|Ji*oA2YoKb@*6`At|Kt~w-RrJx4PwW?=fK}ZM8*n>^i^Sn&@V*ZFO+Z~q+-J?AWOQM-nSW)`xEy$ zhJr|R|ACwBiYDL zBf-(ck1r+Lde?)Ua|{gRy)v+ znUV3A0RtNL1D9V}ZLC(eWNco`nG)LjEBC-RxzHz@&4}6sW>7fmB`cRvGfwe9m&R0* z2^ZiagojZNGEjylu!^HQU36L(j()Y4E~EdZhgI}EnFGN1IYVuF92+a8-NRdG_ZpMwxMoLO!Xj1%zxX2dW$h}p3L#B9; zo}XsO&y<~qk5^hxdZ}+-42ikH8IqaoJcwd+@9Pd3LL25NS<}^Y$MlEN%PZ11gmc@P zv-E@qw8nZ_g;a+-dM1HHbx7m4}jfjo6`o>nq%9}vYmZy z@~)PzJbyG}e{EKy^&Ngp=Ar1rzI(0dK=Orq{f;`vYHR8X|3_{}kReb#mu^vdl?K&l z_iGPi9VpwImX?;9mIiV4K~^sHtFoOu9NglU*EoVAOP87izP19ZgWEHbh}RCrw35HC zJgeJwY@OOJ*XJ!{S><#G&$oLp7$a56c(nk5cT;I1D;hp_qZQ&-!_nLpFd*Bs_Ezve2TP@ z=|B@r10uLDT|QkVbTO?_R+X1m0jUR8JUZ1UAi&2bpuFnKfM(~z>|y7%<#uXup5wb* zRf6>+lK~w5Q_{c9$-;j>$~^>)0nNaVF=7Pdr-0Wc5K9;u_f3= zBVtzs6r_vvp*QJ6laAOGjbe$45@U+dSV_^um~Nsb0o1I4HR^rWz!=Z@<(~h2p8tKW z<7TbB_Ue6o>-*lXW5{{HaFAa2Ejk z-y}#pgn^%9GI%K>&Yn%&c8bqCS$3lOsI+F`+@iTE`aV3TL4Ql%CTjPnkA_;b5``xj zr~)a^{v0s}v)Gd+90&U#;#LSCWw?XRT8|v<*TvzH{>&FxR02$c!A#uovjt@?bUC@^*#`aq*U3=of zrb{ZTqf9RL8~y4ZGKzPf1scO$`E^uEk^)yJBj|X#j+g(6?ZXHxerxf=L`K%1IG!AP zOcNWF5Re`qE%o1&4?*UU;KOyIL$JdVgOoB#BfkzbCt!Dz;YU-BMjr;&!rqcy<}Gh-*8CG>gX*|zw> zU5^WNaNb}k`SFRuKXq|@06#b6owui{)_B+L-J+4Ve0YEidX)dQRQ~JwQT=BO4VT8$ zCGOs>{O!h(JGK0U9j8w0JSRQ8Y{%SrN^%#vL5irOY!QtsJbUeDK5#?-0u^0KmXH5u=wzx%GTA^XgZ{m`j?;lX>D zm5KP*d411lcKBy|`6|8By)(S|%v`83s;w-qQ|&w$6{K;ewz^fy#9SO=`FF=(pYuzE zv@E?aAyx^|k38IYIImal=p|lf(eV=)IH^|#9W-+cT_g=#o;GEP(miiZ?i@ZfL7So7 z;J?dX<-0OugJw8cRX$!BlM#aIg3mUd@q^bToX0* zgTp6woKn@)WTw?x@LRL$;P-wRdYCZiiPLBa=*(g*VZ&NtUjIx{e@chPVNxuncwz_wv=UzH6xS zA}sFF;3WmxNwhOf-{vRHitw8VY0g=|oGb<>9(bR%bcP|DR%&Rh2j$_EmXVPLrK*{k z$~yo1Lr8p%G#8Rv(LazQD(rpCV-nA3s?w@-x(duizdII|rB=iiO1Gz{XQ!z~mr&nY zIw6Sq`Ofg775$}Io*}(`dE!It?l*(&ZxQs41-?&$6VLwkF)=&7=foZ|?CSCFj^C>! zQ+J-MKd~S9$0rGp9`x6U#w_dOb1nK3qSlwTockE`y1`&(+LgI0t)8a|u_WwvT+_BQ z!6%%kUtg$T9^>EWb9nuJCmh^nwv$b3cCD!PEOmOFhL@29QAln`c5p~=MraS0QmUOo z!aU0Ys7q{tg$eM^1ah^^j+?6JliPA$dg0t|;4hiYe zk0g}QFxOJg>J{~?oyexgfKnU1f8F7YjR8&|#m#h~n@@ZJzQc*@*TRZsqA#siCs=E*ussXGaL6GKD@6H>LzgWxXGpdMD^*?b2#zPu-il% zE6T0kUcXDZ&jDa3JHSKn1)xvL0Cn;exlNe)CHVq?DCP7v-=dc*p7qnqpY=1yMb8Q( z9WXoaE`q}x#j|Dlk)n>vl8$Bi5gp46BSgCbw?XgbvtUuFUxAO0(kIzB&X4zY znLdwNL`vy95^}Z>9Q-*ylVm;MJFFZ@gyDjM^c@9Mg&8(CA_R?2y5K1K75_8Pwo0+N9&Fq=IMl9oi&Q}{(kG%2Q(bz0d*!% zcwc*T-=SkX3w3P2-v(fy0Ta(*Lx3*{l{$24M-GAs9i-vtBHBeliKt0Fcbb(o2dN9hj&RgZXDIy?Jvu_(t=&VY2l)P|(61$=>dKQ4lNzhs|6nwk_o(|rt2ucY~ z4(8X)n;PV%!h+fZoArf{_C0F;MiVtVZq`gC9dd018QpYNSJcGk>|m%4O|>DO8pFJf z0SfokZ_S*!`m@WQp8V|k^^vKsEhG!uR&_9m;FI$7V)GrKd;o2`g44 zdO`kt=~u+*$GS)L-)g?R`A73pmD~nZvl{9(-=+&RsGw$uj0PxvjUqj#UEy~I`P6Sz zg>H?HjM0RWzH^|H&HRxxzo4kFNLjhQDkhKD6&*fQs)TB|^c?=M&(fM@DvzaM>!3m? zV(a#;D$HNv28v%Q-(gakp_YY4tU4(`)N$z%Hc@WBdh9@Pi_ z((Em)uG`N5tsqfiKL(Vyaz=f_PiLgTfjox+rNC}Vp?8PyMl7S)8DHfm^M1Dq(*>JSz`0-nXF7O8 zY^5w+TjKolu&?^uad9GJ7AjKChn?|1w)|7CE1s7&o?Lgr`((|P@n=>p!(GW1#|3Zo z*}mwS&&jMyM^1ujlID2)@cZ>pBsE!l`O`qJ;~LD!vqka<{jUZcFrXb!8kDNVM@F%Q zbfgkj99N)Y?xY@^0dLQV@L8%kymU_W+c*k~>9onXhn7N@onhiQ*|V_{!~#ZxPBAnG zHxO$m-I_OvO#Id9r<9+LU%2sk`DbTNe0sn1&WDG8km_fOQR1=SshBS#>wAgTk@b)* z>J%$#Fp^hqu_JUgW!Rs3ESc<6Goyi}^7Nu7gm%V%5vAC={r%ZciArZKO7%7sj zxBX_{zT;RNn;sFHFnK;TbHxT*WV}UWT>{9~ z>;~~dhlN607LgOHowa0;8`Rc_q~4wbhtE*q_6*3KprOqe`0Kl#8XTg`hI~G&IkseL zx;AFxJC0i1AeCuzf}I6_O}2uy#zV?+JFp2h7t;)p z;jVsy;w@0jGU%E!^lMR_RZrnaED$GwSD^$vx z+g-D1lIU4uM~h-4SR@b7sn-nNqK<0AdIiMbrepxiC5lWCJu3lWcBbARSDoXlz?}jS z{tpzhPZtnwdrn4fdbSgFd64}Cw52{G^2RU)4z9{-TpG;+WI5epa8l%^Lse-GSxkmG zW^V@pLzz=|kc4LxWHNN`Y??t-j`AvO=(3=K6z4w2bZiOJmFd)c{0HgTsafe6PPFIL zRAMb+sX-yE-FHOxi3nmyxw*;+{d!SOIx@j9Z-$AmF$8CiVFp#DW~8TXPjPx^*q9Sf zq~puuo#ZvcR;8wAKs%??E!>kOd^5d7>m+ZUw=tc0O>@c%IZLzhQXxi?>IlH*tei|~ zcJ}t|*%~PPjuYi%Z%59P$++Jq6*O2y6S!gvl-+3_))$W zNDkzjV&L1;C-a6D@#ME}{y}D(09?aN&E^YVc-&Rp{o=v_==Yv^f_hSPh^hKt6wrui ziSgZ+nNY3V7lgPjvoB}}K+xkmYz#*hsc}>B5Lgl(i`7HKxQ4eUOEHB=Dr3tczg1V3 zLAb=q831uzO!AD+fvF&}=q&AoIu92XaaRH?LWsQ~Vk88UCCGcxAjO8aW_!7+TxXv- z`j#dYI_(2!EbTqMdE9;A$&2qde}9h*2p|!3v8Drv_)M`tMa+((?I(fo;E5EE=|LZNwH( zPq6f(wwlgShJ0|=8Cv$q7#p0sgp>*+qN5{t!xeEvba}Pr14(sxc{Q)UBCalvj?gTY zkUXJ$5(@#e*L&fnP&&e}`g(P^`GX(qp?E4&LiO+s6!?i`y^JxcVFAMx)(@y@R^v;7 z@d}Mk#?p`x-T>_#%?B=j%WIly+FNJ#EZ5M{-mC;;FV4NG0oMM_i9Dls%>AEm+P0mwR#{94FO*>n4HHDg4c zs~+-9_YlHFL+BI9PSy@+3^8jAG!Eu1IG73t=TE_FBm++mN}yw6wU3FX0(cG@8VNa@ z5*00h0FDBho-~?WWd4^}-KW$^hx|z7^N2Ikpeq05;g1?JCG1N&X&0R@rD+}W74b4X zq)EUg!Nf6)(zuCWpzaR_>SVo(etQ%ZoIwKNCx@F3Cg7Gk1R0kmU&=b<%4}+G_|Xf0j)13&!pSbR9Nkb!5MSjNAae zv{C%ZY-RXf&!1^>;qJgM%;4)LB z$oe(1Ki0fRHUv3;`0pK-<#i&v;?=QShA~?a>q}oj1I%WeBOUqm>peo}spfg?Jhom# z9XGSQO*^yTBaMEF_@gr)wHWic1<9`uUT87*XsBIwuhOAi-8JB)WB6AtUYf_7Z<2ckLy- z-;n^J{cx&UHGr3|0HJvBeY#jBccoTC*DqV3IXhS+uPCYCoeSL!eOhqKW_1Y+Ch_an zq~ZwF36oRrHqL<;D$Nw=iqj} zBKn=?5LHSV5U@jzEnlS!h}i1y760U53Li?Gx3p5tXVUUb>q>o8@mtcP5{i=x(=?UZ z-M+<<(klP_;Ee!ENdj~|M!hRmMkN`(7*&yxSC^Ql(&_Swixame=4gD&!Ya4!m-;m& zHGK>+zWYw%bZ+yGGNmpjOLy=+kDxMMw{3gM)-CA)Ta;_6Hl5ymwEO^HA5*tenUj^B zQ&zt@p@84Hv3U7v3b@XhTa<}A5({-jd3l9=^X{vk9y}{ObF&JFc^y7m6g8Q(nKgV2 z30VX+SV}TmdfIm=v3g4t5*!rb)3mBCRC9Cc>A9yyNL%QjY7nI-D5=*1pzqtzk^Gj8 z*iD%EDYw=K*Zcyp_hmPZ^S_WGr*Y1ku7va-E>B6MLc4rR{JJ^{g=_$o>??|oPe=$; zm6L5Ea$BY!qvtBi!*!w2PKF}Tg@Uhp?Z`a%QJquA6Y~AB9Sxyz^PKc6XhXM%!)$dY z#?f<4AK7em2W-!bHa%3-Yhj5jNGz43=}e!*U)L-&VTexRtAsH~SrqL>J+zcQ!QtEu@9w0{+~Tjum|ICc1# zx~Ry0$n-*655#}n)z>Zst$vT6N}WpRwB?6DI`r&Jv}@u?GqWyds-MU^*S7eI;SQpxR`O|6jnVA$%< zJ@ijv)p8qq!R5y?xfJvof0T_OwL5G=X#g6|-i1cPTq@{nG3XZIEauz=c*o0yW`aZe z+67o}yuXW5%Day*vCs)Z;$Nc=PqLlo##~oAh6S7iLpozy^ z5FYMvVybR#h|`%BZ|{3k1th~~3@cnH7&3}&hQ_O(+k>x&&Gu{^iY$w*WLs(8{qjpU zz;gnkTzg7AL^c$>K4!o{XSoK0o(yUgG5tDpFsxNOws3DHj}$;#F*}H3vV@v#qN=wF z-YR;V-_du6bA3PQw90EypQ%2(R?$+asc+ly*N(^1qALZTeWuhO)w?S6a|{ylmtj#L zZ+I<~UZFR(8D5K`zX8ANENPblG9VO)3o=%D=-vVwQ3u8kMmsJ?o*Yu+8#?JoNWZZ4zmrJ^ zdf?Pd_5s6;t^RD!%1#q^F|~l-OD6vd9i8b=kjOg?ED|&^4#yfCq2Txo1Q=b%6GZjg z12H`@Jdw!%T8tOA16q!azTUXIN228Wj!yDD69p?Fn-y_!5m|AikSB_D#L+0W>y_Q) z_m3;hsxB>cVyq|Zv*{IIN=q@&aQ@or-6D#N;FWC!&r%V*S{clY1SuFsnh08%;-)KWNT*e;ols z+-vV2yb?Yz*F20}Byqb&}{B9jteD6c~o(?x4hIgJ)d^~$}XwbpHgXcdv z;3G9S(@aHCQC3AlkyI`gXtl*rSqWNgLRM69LXoy2tGHN7CQbz-W7h8Ia_^&#QRP8d z(b2xXj?q!z0*ZoK;|{lXy(^-2XO&ktH8gv^w#aR_v#Fy&UoPhWc9pWp}7AI6> z6%|1r_V0?5_vV~k(>U|W%ssDa<+qgaYqp0Z3<#AT&8~^eQig6^wqjB6gbkrzooFg5DJm)|OesjyWul-` zb?9RZlzweTrCB)Zx!-Q!%gT0E=LxEM@pwzp*=q*G#(QeLnS#cSjS8d!*mHS8gBqI*|zDzUdc7g-Ns4 zEn4g^%_{YYU4_jRP|L!kS!)W`Zs8x*om+W!Y~`kJGZGg{ zsZfCPSbyWGElCd(r#6^+m>Mf^e_M87ym!1!EX^R;SY@H#(M$A}qCUHq`ws|wi_YO45sJh4b*p)LNpdPP`QTwCx&FPPI(K(ac^Mx=k3`*;T#TSvy7ApNhMsZGC_ay;q$ z#`LuTkW2ZVCK}$Z1{#3FCeng?U02Ylra+VDmhHQW?+wjGJT|95uY8Lyx>|O=rcsI! zq#q0)EhDA7CK#S-CYTJkoFN>!DL) z=8o$-m)ZnU^_ppGhbB@hX;!*Fxcq3}N;>J6Eai~}#P`ilFk}i0eISOW;#b~CDnU1; zP9&|4%m#;7W{!%IM@XeqZ>y@`xjlQQ=3>f)+;f$CbbBgxRYFC?802o+&!oEcO7We7 zYYbCoI{`n`Cl`Jyg|x;9vm?hIp6DeE23!GTUergQMSMD*Y@+6yr=(L!&~sHUAq6bi z;f^^{nxtQ%AcyHTkU0+Fw~a>8!vIu)368o$pxZ`42!$MjlxX@zFCtuf*-+9^->Wm% zkWGGh{yiPvd9Rn~9OUHn&(2Ec(g%ttdY{$;-fH(79e2wDdkJqoE8QhcTUU#-61hGW zTZZT;`U~jz_PE!9JkUS?wYzL2@!QMy9|5faf{sFHdvUIj$!nZ%%H%f8Hjvqb%qC+t zGiEcdflaUmHn$^ZqQ!{?$vWsL5qGv=(=$f)tmQJ>9k|LmTBfocbTUa%%e6Ka)ba&3 zJJsc9Bs;;0EzFY1otc~czq?79o9N%&%$b|nf`1Du$b*}}3 z2(g_IO+TIMNOyuN#hy>+ig23E%2jCJDH-?L96J{?`X{ zoX7@n0?^MSNN;36(j0V$TCLkN+35lhrsq8ksN9ec>F*R7P`rL$6q)DjNGER+#kdty z;g>4p2`s_n(@RjGJPPTJqMu%xP#!{Uzm0MtlQ+?M&H+){^_2lml>tY!`zp!2r;Z*_ z_6(Wkb-V9?OSl=O8)-}#IaoaB(Z4QSc0w=49l$1|NH6{(#~0imeYf~iC+M6^G?oYD zYNO4&T`}bbe(l5nmFD%{7kRX}a-UP>KJBr93OesEN5J@iEWNUqFqy2xn0R0R7`^T$ zz=4zKwJLhE3Reh~m87K-$gl^{%Gb7$8{2RdQW;5Gq~uoTI0gNFHT_{V{u+dyP}$NH zX0VK-A>UDdG6pPPf6_l4$@eF_{_8E805;Q9tCyCMka4(f83V4sHqvT@(DLYsn|9GTvEfuFu0$N@MRE~T8V7Pw zbj(B1k0z6(e(g}O(6~Y|3Bq`bCfy~AMCAR|3d3~z1bfiw%*57nI-9~wCUZysb|9at z$s0hQ1gfB}HHJ*kKPG{1>c~{$c$LWRkr80@9acheT!3)j=MP4dn?}X~H$+|?(+h%t z7Zhc~=&XkI)$Rv2w3Oc}eIKh^P~JglLvCb_Ru!{dn;a7!7lFIA^Kl{TTzi+6e4VrN zH?k@BP)>DPZA5WIQD}5>d_oj1lOM+hOG8$L#BRtKnL6vMeZQ6-|B+lj_4U5@ziqr2 zvM=uV){>Mxar+udiuUiWDm#%Z-J4bsQM{ zu+Wt_eo*|T^tn6rSEN-(lx$1emKGn8yDc}OD!vL>s5aW_+>$C_*y*q0kQ`IzpC1+- z9-ZR9Bdk1Ze@b0>ZF&Cw=sM}M3MfU`c{uTmZ@uqMuf$Lv;1Dct2yF;CquY5{YODv@ zvxy2s7ktFCXk)NXaN@H1jqF4H#-_w0^+$H;&V?M2LbDeU>RVaG5$PZ6$Rg@;vI+>o zDUf{8zD}2cqzFF7F;H_pH@H9b{ew<`jzJ-qH^+WYPm)OQ>_rue4tYL+K-@e(qJEH@ zo0o%oFk6h)m7g3Z6R&4nulnQ!3MFJaKjH;IQ|WVk$3R8o?v44ukwM#1HdY2z1|3P+ zRk^z=|41a%Bq1YXfM1YS7hV>g8lD;(o*SMQRvTNJSDRN>n_3GcgmuqnD^hm_R|Ka9 zr$hzk2jvCtirSUGE3aZ#%5Leip`Er0`Mee3M^=>hg!_cYd)02N@i`rTxb{eG@tLjA zB^w9c?zHM{sQ3t0@u>Q$xa!=hywa-FYAIbzQWO#U))j8q8n88aU3EZpKx6X0>b*4u zjS>5>l>L`q&~CsZ?S|?s5Og@U7WC+0{M!@iZh&$5P|+Yadt@#!6Z90Q1V;qTW=>{( z%?6kaF&kkv+RW9=&1{C*+h+64)|>g5Z8i%ui!zHhOEOC{%Qf3&_MzD&vm0ign>{f5 z!>rwWn)yugx6S97FEaNuUuEuZ9%-ItUTEH6e$4!&`8o3s%s)22W`4{3OY`r|e>MNz zyxm-H!C6>a*jqSRs4a$DOtfgW_|oD#i(f4Muy|_GVew2T6iS3v!v4bH!imDyg;Rwy zg>!`qh0BHOgd2qc!cbv^Fk09wyej-f_)ugaau6v+ylA3mn&@rOJkcVNr)ZTZT$Ccp z5`84PCi+5jPb?M>6Gw@Y#M$B^agBJFc)z$o+$g>+ejxrs{8-{DnJZZ$@sg~S_(%dJ zp_2C`7bG7`u1H!WMDjw~M><+MQR*h0A)O~(B@L2plg3F;OYd3QTPiJ`Etgs@w_I(R zZCPYlVR_B+Tgx`f=Q0bKrOZlZD|3{MkWG=zlm*JtW#zI%vPRi^vL@MYvUXVqXU0i5 zp6kyI<=i-LE|iPr;<*$qlgr@>xE)+Aw~sr_o#ejeTDeZ{c@Og*c0FF}q3Yq>V_1(# zJ=}XN>9M|tPY?ed;XPt{B=$(_vA4&^J?{2+-qWI|rss&B^LsAsxxD9^o|}3G_6+YC z-E&9J6Foog`K0GFE1A`6Rw}FhR@1H4S%q4~S>;;ktV*q_t?I4zTD@m=-s+mwEvwsB z_pE-ldT8~h)njXswcL7`^(gBJ)>Eu!Si4)#xAw3Ouuiouw%%=h$oiD^dFzj?FI!)? zZn3^&{j2pK)}1y|n;tf{HcA_3n?W|iZN}TU+Dx}uXya+K#U|7y!=~Eipv`+W=WQ<9 zT($Ya=AO+jHox1n+5BZgZEbA(*-o-`vt45AXB%ysZCho#)AoSvVcSOA)3)brKe7GV z_K|J7?O(WRd|@ZHSmU7TH>U8!A_-5$Gl?M~WV zu>08Viro#nAM7655jlpuTqAdp50np+kCso9&z3I$G_{X>vpifLEsvL{$TQ{n@?v?F ze7F3d{FwZ-{G9xv{IdLp{7d;a^6%xp$e-E^?R(hU+V`?|u^(zb+J3720{eIDm)ozl z-(VkNA7LMBpJrcVztjGJeWU$*_UG*{+F!B1VSn5HJNw`4+w40PW(u)_Q#dL#iXn;# ziW!ReiX{p!#X5zbVv8b75vhn%BrEb16^gxzgNmbyCdDPi=Zd?EpA`=kkFl7UIaoSa zJIEcJ95fCt4uc$qJB)Fd;P9ryJO@vQ)eajR0v)0pQXKLeN*yX4>Kyhs9CUd1hD;A_ zolH?DZ}q0ko$0D~->kkIBI6{l2YODMto%Qx^x~c!lwP-gqx1p{`@c|n-TphJm(h0r zru619N-uU?kZFcw^E7~$gbl)|Ss)`va4`g`9`2O}%O3hM-jJ(mu|W(5j~ZNrI`Ft2 zWwh!VgIGBP*H^KT8h27JyDS+lDV>i3UQ;Aer&z&At2L zO=6^bUKUrDp&Z0RI8V(1w3181{4GgSqt(>L{P3WaGbt_&u@469rG%S_WF%9OgqO^e z$r&=h2tI339Ev>{R>#waGKuxR3IGCwdP|X6F;|#gm7?6X-zE=E^wnFd4T3 zRU}E0ae3+zS+$yD$iJK@1&m2a%B0-H{1l!WgT)SAGiE%~gp>kJb8(hK+k=sO{KDZlhYmtwtU8QFFs&!_^!XDr1R3 zc<01#s<|K(wCh&TW1x(Kz*-8bXPEl3m|J>cO*8l7o43$*-S>vTr-;Sy8y z#eh;3N1sC92LKeANdQgs6bD2vHOC;T@axSn{ZbmPOC4jNdO0dzV8LBpjBYSW&E3aU z!VVcXQf7saV87r}@_Emuchm;d_AD8z^Cjx0rXm@)lF=-D)LewDmqdVDpxH7`u>>;& zdi9t$-yFj&lew>y4dKL7P~SEn&Js^pO4Q^Yn(8vL!w`Oa)m%-!IvqU}DNByZIL2?{ zfgQVth2EpHWtO`0yrD%w($vpZcdQbfTQ>OEbd_OjtIRM~GX2=#bDn(1>St?2VRhs+ zbse-_#p|`?9b^NLW4H#D0E^3xy}hDan0U*KY9efSj_B%sRu`!xh}tc65UZ5UWf$H3kd@)B1zOeOj}+vqk)aY!c4P z5}?&`Swu$VkEmO{loY6$j?~zkxV(7WJ8S^Q{6^}bG(>=H zCJg)@wtQ$ocu52hqBqJi1y1{8BFTJNn%$XriX#C2Hsh z{EoR@l5s41OV^xeZa$&6ldW0Gb5B#%=mMlS2dyHG09IK?Ej26Xl1fugpG`me3hF5oWJi0U@2NL;O=KMF zK5oPpvk~T9E-Ge61=`x46so!UkYic(^-i2(4@RCI%}?X#e*9n>#;#eNleb2*D1VLj z#5YGQ>c7@$*L(FBs&4Ln=s30s=tsW~z??fsN%rHs8K)o1ciJ0t3T_GJMEypL&7taW z8P|K6D%ZmNNX;D}u`;lcK=Qahwbnqs2~vD)3bEkG0QKGmj-RuUsx!Uk zNfRYe*^%3$_}13SRu!m-&f&SFkLJ*JQ8p$!ow6dmBBPvtyN}uh-?>gl1XZAKPFc$H8nFmRbvPPxK~0d6Gz0} zBvJ<9pPW2i9|pXkqPzmgI)c%Mq{uiQuyX-=lk5HcxJt}I`ukv1jlq528)Bd)SwZM` z#=Vx5^ctS7hg@!^XmI4J*&5JkBP9VeMnt^~_c^F|)j2G|RsdpxV=zJIB#+z-DJn|W~c$4yYy({+$-H>epg<|ZW zFacvWe;t)0d=t|>o!9}{d@&dU=H4B5>BG{}!lFEYot22Pqs0lCadAozYbH~%-cQ2a zm9gIPj+z^bySi-{By8Ho0(oQMhckF?m+aebzn$=(e>u_!od!Y~SC~fpFr_;J_$~pQ z5#k@!nBE=5Ef~yaiDeEjZ}PW0ksIQ?OkGM&+8Ju;s1Mt`NKG$^XOPJv<6NYnEw128 z!p>nFXrI8^=D>$$#XxpEIMQEc!HMgz1=*?Q&d7}S*W4I2mMIk09%}>}b~-X2f0+tx zR9C&OV&`tw1I-aij64IR2dNZiq6&uVT+fhwdy}?@zcD?gRS5TnS6(lFRUU~Zt zGr1{hC|3h`TLCB8hxv3jN`Nj2MR4}m5racd&4tPII_`2TR%=j9ImQ`vjzNH&Ll)WH z1-sOJ-hxYArrYwF?q~QWU^~}I*jAW0sIi;kx}m(gkhr;8ETps%TQQKcfeua&b8)4( zppD}ylFQ>uxSJO*-sB{DHR&lT%hQ#VL4UNQD77dlpHIryW+$dYafZ~9BVO36iev>k z4Yb^{Qt=PPtU$mR2R0eDb4;ThHYq5Hha{>jrc!T(T?UPvE{aV}jE@Ckr6eIQp)iF{ z%g+Z+5k$VBQX6S6n$F>DU^SH5`D^+Z#)|^Q)COv%Y%piKs2_4*!Ux;SVKwfrF`e3T zB}LmI|DK<_Jy(@3(I%#*CM6`rI~hcVU7}I?ZzLR5PM3WnI+yb|?%3$yB}Zp;JX1*%x5s>9go16*%wbicZy09WXv?wq&avK*{Qjt=w>Vlf#O4VlEB6Sz1D)u;%-Sgin zfpm!(^;yP{)rrqCuuYl~pL5VQi&c4J6i8<_bcG6{JucWTRN$WWHApM_lc|U|A}c=L zY30iJ_^gPMI46!WR?g35dWRkBiJBjMXR}4vL??ZY77FL zEW*?ZV?Wdp9Ep6@sIwL96F0Vwqt=I=~*i~WsL39t`4h`JK%HrzPH$Gg5=^T`Ru3S@_KL-#SE+k}qR!BXk94+Ip z$;)Dm=)ox#du(`n=*mxSeSY%djjykcoyZ&h;@0vZ5fNJ>L!OLqEG{i6D=n7R)N=!; zPwVH>GPRYz|LN83s)E9z+@egbpA0;)+)>)5f4=56U#$%Xj7%8l^I8qJ9)jxkA^z8J zl*xe^#r!x)aCz9y1U|h$mr? zudY3Zy}d81x>tT#aF+a!l^d8~SX(~75;$H%F3~FrZAM~}R>gT#dK_G>0c@*IH0R7$ z8@^U?CwvdBUF++&W^IG-@#75*$9Xo+**e6Hz$OyRZYU{Bj$`|NOyR7>?a7xiY%Cc# z75mGPN3y+~-WGot-Gxi2#4UuXx+=G*5=S)>##x-gWj{8ioCzL~+){I{lc@P}YNdjL zck{D%CKSJah1mbDoZQl zK1Cm3jQ(z17W7baObWydUGun__0LYQ3}Uz32<He($3v zuqxuBQljJIdE+6Q=f?2QTErZ6Auil>fbVj~t|Rf=9dw8%0`Z~UyANr&9Z(SzkJ*9C8)Y3j&GGH&Bs>flCYs!aj; zrNJ5wcs#W`R9}h<^OKS?LCiwm#ex5l%u0`q3x^e1%&C@zZ42dk4bWSYyVH{Qxw(&%*v3;EmJp|@{S?_V*Kjj!&D*JJ8Gxj72wQlWCta%X47wF!J{zWT09y_I4KB73FXiH*hq|3)A}L ztd~D-Jd(S2FN@lbS8=K=1}`o=bK+|acLWmw*i`w;824fmm8Y}X3`(=+;7+>`0~cCd zqG}U&?@@9fV+*7L0m}z!15*VXqZ`b zE(sg<6!^ua2gi}8+##S=abQ7cz{;AK%+dY<5H~TWBS3=cN87{bE@fOc2a(cYkRz=i zJvefcwGxy#^Bi4)?$`&wKpvd17adFsdkMb~bK-`**qd%C@I@7cp_aosTQFMb3n0}W zRdbNhVq+b3#E$Ts0f##d(olUl0sff@>;x9f^75ZlAYt|wF9foeHp`bb3$d?Ro$MVkC`!#y>{y&H`tn$#R3otWWp1 zUU-8qybH|4Mju^&SjfLazx?nIPA|XxzqH7DSc=3)CDLR6w-Xhbbt1}bs7sMxg1}j@ zPtYJ}6nrH3s&}70e4jO~R;_&Nl-7Bzt6Dd<`n7Ipjcd(mt!iy(J=%J;_1o4zTA#OB zwef8O+6J}_Z=2FKuWeP^mbSRIoVKdAhPHEUSKGdA`=jl7yHz{iKBawL`>OUW?Q!in z?N#j!?dRIBwtw6H$5Ylf1W0-Bf21sEwQ23$>ejlTbxo^J>!#MAR&8ruYfbBs*5=mh zt>3k_wh7v7+MJQ{ptg~1Zfy(N*0cq+Y1{JJYTAypHMd=F`>w6EUC?gR-n-qceL?%0 z_MmocdtQ4@`;qqM_UrB6v6NqYkG{F$#lja;UyS_r{Kj~{{ciop`l0m$>)&vJcHjCJ>z}QEvi{Nf z2kY;xzq7t)eb@RM>#uRScH8o2Xpu>KrZZMUp%a*f8Gw)MX><*NVk?f>5=v7iS= z04HD<#~5~Im%r>6^Vw=^*QWvt<3JT$p6@!6CDAg<_q`V{p1-g(6EmL{2+{QqZ(U=~ zlGPu+|L3?dZ?w<~g3OxXPb=6e(jpmwU^R>VpC0zT+kGV)kO*UXH`>`dCJ2E9=BwWj zCK6${FgN4F{NQ16usGqSG{(o=wSv(mKPId6qbu&7rf|&7RBmQBy_?cDg@L);_-MQGZTt>9>d%e&!BS@| zAB&g08y{_Vxw^kunBHMBe?pkdUw0n=&188pK7W57%KDbcFKZ7|U3I7DhQ9iu+ujwI zDeQlmT7iQ3GnM<_@(lOxwzlauH=5#vf1xq`?)bXht(j@c7wScYcjV>o`mpSdll1}i zm}>=Yc#Q3Da%1Mpc)IKZyW=;yTfo2Zd$(!w&+=%h3sZUE&&}k<^1#@d)7OmB(0afuINbCe(I) zV{T^McIFq~#xaw*v$T!r!+bTK|FoO@!5n6hh%l%amLHZ5%n2|3YXutQSp#?D19y$_ z(RP)k+n>rjrnO`s}--{Qf`0zdj-yKcw-Ql|Znfx0~w!zqd?@PM#J($IXcPY%i zEZ_h1z^@g1Ol|+4@tg8wGTC=#XOF2am>qfKn907Io>$+Q-Sqy_u7zJb-R}@W`8!UQ zcf@Io%VaV)??c4o52#O#V%#1nXgU+|F>@jCcpKZ_J&A z@3MF03-+%5t`!Vm@tMZ>tLZTRq8EaGtY0v9QyVgOxLGr^J1@q*V@d<={Y-i7cC%-3 zywbm3mfe^J;$ivj&b!(ametFDK5R`erNd12{AYbi%)83U;>Nr+5`MbsN-G#{3WIoD znEk*1TOcrh-{|8tGo`?++wTaNU3N3C@eIPM{E6?6zA8c)@KO^scH4!o_z?+Q%*wmn#jm(a1a)TTyWOP%NAtDac1wZ1xhWn_FxWi1+ucgwYJT#~ zK%Cb7e0;;4r?1`W?L2GkmJN~4qeqVV*Kp^l{{GI!Pod5s-l5(hTfH|7pBcC%Y-)se zXkdW%%=z;?=1iS7X}-tI8Os*TU*xgWJ0#REaEtTU;p2yoG{&*O-+OJSH$rdp4si|( zbPn_NcK$oTQ1A6&%>Twfe8iWHh}$_VWbFp;fVCl;o!5qih4`%tH+tC;80NR$I~2)> zggJMo|95_U!@`0ljTphgukFg)aKFHRbQ}R(I`1u^-XjEW3IYW|f=EG#z)#>K@D+p! zoCVVbYXw^c-muMrZHr(7zB>y>3q}e?3H~J*4*OJrKYq@ygbFpjc?&`jF2opm1ANXz z>{}4$R6zvXL-7^>a}gdNK{#Sq3%@f3^9Az+9)daWH4PnaKI}6EGX%>73t(S_x2487 zLyxYu^5reqXbk0y)C1uXhO)6Q|5RQUW<7kE;@^l6 zA+LmC@2nIomJp<|0saGwdEX4TwQyzbeu8x<)8DadK`8dN9==1n>mmd$toB~5jen|b s)(&B4mq{38BT$mA^w<7dxZ%e9{-66Cfg0+{%@$)VvB8fK@L&J^FN3;7EdT%j literal 0 HcmV?d00001 diff --git a/apps/emqx_dashboard/priv/www/static/fonts/Roboto-Bold.ttf b/apps/emqx_dashboard/priv/www/static/fonts/Roboto-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..19090afb10e101b0524a4dbe1f5af074dcd2a1d3 GIT binary patch literal 32500 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%0D$XrKy88VgC}G`wV# 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�WGVne$kU>JWmkvONb;cDU8VZCK)IMc=2@vs}4_xoZi@-YX0qw)cp zqto`in^+9S;Hd>#I_^o*k^pU)V)LuIPo($qjvruLSP!zVr+7+QAAh-G!0wid*Br|O z(3?dPu0%hB$;DB%`p|hn<{q@2LEKiaS7!<>c>kvLXy(pUadEFLg{QkH=cnqZ+<+p{3_ zobVSI85gnP#ztX{^JURgo?Bhp*IVP{jBO3H>hSgz+Ew+j3RR3@9dmgmQ@fSBz<9~k z!-?JD_JaIe^+@SFC8%k9->d(NKWEHr7ar)(ZZfd9dqK1Ov6_5^c4wIgNT&B&Iw=Si zG+HjTWl7R1ev2X5tw2TL3{BdV7`AOuM-ku@{~gZvBLWOd{AvL!6)V#EYJRg%Ne` zZ>gA7VA#VZT%|v&>#SpHYk-ePgdI+?{yLinmSW3X!owk(be?Hz_B7>IDGBv+A28w# zl+%23p#`Ms9Kn2oyn$&1)2d*&TPEHak-W$k7VH)KFz?C>c1et66e={oaGa2>$s-wb zI6uEcxRBV41=BSUUFOetiG#zTKR?SL)yNExvCeL`+S=|Kg4FX^Fy&Go9@ zm~~(`u`+|&9s}zJybM$9>wt*5svwkoF!ZnN+*~OiPKc!r54hUec-&BR-QO_MckAH& zHheQ168#>OKmM2bDwLJS7v8B4%xvH;yl<0%J z;cT;fdl{!LvqJ5Vk#m)^$>AlJk?LZ7Ota(3P4ptFU=nb)g(c_KF#~>??%EC@xRorj z$=l4{O8|A=^GsT-xSo7hqTb(F7g_&Duc}#OvI! zg(O?b2#I}~Yy*AESX>!aqN0oNy~$B*tJSHyq8@Y>?%$8QE#DvARYDojU6?r(B0Gn2 zT*@D-yuF@%t!&I4O=F#Eck)vot^L~toZ`iJ#9sCqExpE5>*d%xYeD8!9nIoQUCw5Q zW`f^ckFsBdp%x()ziFz`oFTYYDz*YqqH*QRRtUEJr&}um=4oDt>&s*R+$^jrJVc2G1Re7$a^CPO{!(r9DEEhImcU$+0`%Rp_uOIHXr`8 z^!4Vjb(^ve*{Gh>&Gy#aS~F2yFm^X2f57IJDC5tWg`{T@qwQ|AkXK zg$X~HxnD7DMky9Uw3Q}!Art%FCS)l!$0+}Y+}XmJ)7tL1!I z!`8*eeryyY%s*m;(SO8PU}g28a8^vZ2U9I^>lWQEGMyH2BF!{f7gl>jLbR6K#zuQ% z%Dn1vM^c}%L)Z|q&XKaPTE%|uOTKz3|FFSx@>^`5uVU-$Z&b~^e;u8?Yvt4xc}+@p7lTZh4H5vy;o@A z{be2wfIl|({?g+L;NE$s_^pQv0C5`__md&7z5(-7r=)bmfd#lL&D+*~XNvjeexIqL zz~x5;0~1W@XH+?OwCP|hM0n~qJ3LO?fB}0;UY~I>(=Pza(}0IWx8M-us9u(1u0(b_ z9Ys&cRjlw!w^0hfF0zxF(8{x5Q7ah&aLz>{;jllf)bslLlj@&KPqQ*6s$loD@oHoK~(2wjL@k zk*D{vQlEMT8ht4izFGC-$}5siDj$SVZ>?ErLo6#==sJ4U`Hu+`-JRa47JxbqDKG7`i?fIND3BXl%t*>k3T+%+`!oi zRhdb1vwe$uLI-G;-(bKayr^>@sU%LSrwA-P>oxB$CI^pc_j<>5W8Epp{P{ygfzr7K zL$znh$8ATu~xCaA&CRv2x*ja=XtKC zoBYp7muyn%Wp$kH$VT7X!0*ol6|%A+C|tx&T*Ijy6PS;bso&ulXjWh z<9=(EgYWm=`~rST{t4Wzr_z;)2}-G7qnhUI?2s{psXdd$YV=}hWO6mT76_NdW~}$I zTc#L%dkhm&R@mK$=A;K;!=##{p3(W4(+H9QuRiSwct8ihBjKlqI7*MAax{iel1OS0 z`;hBk<$)9a`f$YvlqZAiVocqBd)X5*hs`p|Pq1U8+v|Y|K%B=Q#Ur^n>_HJK8qPB& z_f_43_=4h;-7u<;$B}orH^cR-1XXN9Pkdoozb!FN+D^!*AGaZ)QK1e~_FH$zf6}Il zGm(QcHu?+Y@%%ew^r}4v-HF&;AjMWB%$|>)ku0?k$GHpAQ7PcO#pIcZtz{^W+oK`K zQGojVGddig^CDxCgHjvra|R)?h*xCpR8wy?HA^?AXfo$}$`Nz9(Q?gVz_SROg}FtY zu?^A3#%(EeXgo21A7UUrHcm+`HH-A+3EI`^05#%^c}l~RjP*6rk}MG;#U|M$aooW# zJk^v!2k|!-cv6W6=PLkQ6`KB<#I;*hYN1kl+omJ*s~^vi@0lS6ne|3J#yz}X7y zqvadlYE%5HoAcQ$$!Fj^r_IiP@+ce3lD+0}XvP^Y5NoGqobzW+P?QI_BM45w^k`3d zpfp<+e{-i0X$?2$&V9*MzX3>9JE$xoKm`jH=zMT1Uwg?2|WDZo8CES`KI)hBf#{-iTj)F36g$G zYRgYd?*@|IQvHEFo4V9EtWQKnc0Lw+wKX&6>TS21;&e*JXVvZe`PTO0w@kz4=zZqZ zK{)4+=r;1D4S3a!JAw}C{@!?h6&*`0sZL1)7ES?XVFD>vU#~D@$)CK-mX&bz#SRT~ zw&u`v9PhSXZJBwLjV^l_iy5i}qK z13b>6e17+EUSVli5I}+4WEp6~&){GEuPK$;OK#Rja5=RW4sCU~+RYPPp3lNQZ>2dB zOE+)cXZf;Zhn;{M`yVZscZkVl>5ymV%8m}$hcfO}lQAAIbg857rJWQYQG1h(4g0~T zrjjX|XeO;PRzg)m8MLwIE45iGOR&}~HtcOMmaZ>s{gc@b3*dW=N?hgt=qb1WcOwTA zRNw8UZIUlo3G2ejf}JC?S~%&HGgZU3gJW$bJ~Iz-gy!cioUE?zo`#!t;)6q!PZP5% z&%Qr#W*A-iP-3HMas+uqjbY2;O}}WJSC!W-e3P_hUnuLQu-{hWD6jd@0gZB`XPw?T zVi#-IL}iljS@AcKwPi)mXlD+gm(vV9an7G!`XFd94rSYGBI{_9`@aCx2P^pZW?h6g zSlgg(<sO33dS%@*=f+n%T zr<1G=c!WAli8VIuXi(9*YRVkSbDT5z#j=#jq_wkAKs{Eq2}c}jiAN->lg?0Le>PpT zCJJT`fU>~t*lu1MDX}dMbW~bjpLoN|MB&og=sf00GutjtmsTtKFAgI;YBxPD?47Iu=x0>%fwDQ`>8@9$6 zY7?flv#pMD?{E=7T#D4A*{k*rYn^)E7F_1pJM6$Mct7hXtm{D5d-lrvhBIhSc#=)0 zRWRAJZ#aqiXyhqt!x@S?xNo4GfLcjUV$;jZ@<57%NUXjvp+k?HZKdv z>JC~{Rv&xAabgYz39YLeCSbXSR?Q4dg6+m~=$u)UE_T{hoK8teY{x*olY3+5T|a!Z zgU>&a0tEd40RR910ssJ-Y*^c04?Oh%8wdaZ0002Q@DVNm0002c+fIl2F#XjDhX`{3 z0RRaA0ssI20001Z0b^ifU|`Sr$HTzD+4aldpDAZMPy`j+1ps|h1>FF60d0~~)SW#L zh4-0E-ruNg+xBPMwo%)*ZQJcl&Fk8>ZJ$nRWvyq$!>vXl37>}T-AAYfdeS(w=Dorc zMClud)ve)b^F%A!FL#GfSa$kwby#O>gaw<$bKML~s$z|3*T(kR-JD zbRR+v=tV`)g!7^yPsC6zi>~T5YW!9Oo;m@)>0;=wnfaEhwj$bcL5LcKVag6~PDgLEXTn5P487S4;q)4fgxa(O$$S?h)NOcD zI!01?B*^&?wG^G@Z?N8uWUCN@tS*R=nmhkC2*jk?n4Y8p{p_QRmVQaWscu&L?=^VKb^+tO{55(-T zys;6ni}6UjVth<|ar{9dov4ynmy9NRCvPYJq^6`!raPwZq+bvgVjXdW)RBeANtB0b zLam~%QQv5Zu1n9MSI~#(%k&eb1hay9#@1q2asloJUy`3M1cWZa7||~-5wA*Ksk+oq zYAubH)=Oulo6=J`Cg+!H%RS`b@@yrgWL0J>@6?3aL4B*?jJdVx+B)rkc3pd^{Q*9Z z0@*-W&;)b`qrgJ21DpnT!58R)EX)h5!ZxrUoCue|-S8~D55FQSiX#o>MrBYv)CCPf zGtqi<4BbSp&>!r@JkE(r<3_kA9*yVX_4wd_4cmyI000000RR91-T;pP7648F1pom6 z000004gdfG00IaA1^@wg0acANdjkL%gx}g-in(iTB~xrWQ*86^=i=n~jJpGlNVCVz z{s}vr!=m5iSkt`UtNtjHlEoFSvrcmu0>64X_R$sP}QzTONvFs zD_&e!u;C}7{5;p60PeCQ2LJ$g0b^ih0E7Qo3@Hp)001f<0nq?>0o%Z%y@5fSVG|=4 zlQzS4MnesGF+K(k?d?o1RyqnoAQm%RjAdeZjFmEo#afo&Z6*t1v8l>S2y%m1>`rD{ za$p@CR{Ba3{2&&mnGTf2742=MB?)9PY~to(2imFNTAL~1vdMs#v3S!4ejpLR&segl a0Ynt=GnQ`R7YB;vi!+u207`fxkN^PiJMWMH literal 0 HcmV?d00001 diff --git a/apps/emqx_dashboard/priv/www/static/fonts/Roboto-Bold.woff2 b/apps/emqx_dashboard/priv/www/static/fonts/Roboto-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..11cde5d04c470947b1c88e42a684fcf0d5b396b0 GIT binary patch literal 14552 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 C(C%db literal 0 HcmV?d00001 diff --git a/apps/emqx_dashboard/priv/www/static/fonts/Roboto-Light.ttf b/apps/emqx_dashboard/priv/www/static/fonts/Roboto-Light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..66bc5ab8e299e9948a6fce6b7867cc638bc703c7 GIT binary patch literal 32664 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 Y*HI#Caj%iroiO*Eb-2?6SI}Yp4?d@FYybcN literal 0 HcmV?d00001 diff --git a/apps/emqx_dashboard/priv/www/static/fonts/Roboto-Thin.woff b/apps/emqx_dashboard/priv/www/static/fonts/Roboto-Thin.woff new file mode 100644 index 0000000000000000000000000000000000000000..06d40fa6e7c61137e0f768d3d452fa866674b539 GIT binary patch literal 18572 zcmYgXQ;=powEfyWZQHh{r)}G|ZM&y!+n%;<+qP|6xBpxB;ihU;YOS+&Y9}uzmF&36 ziiiM!06$GE5`g$$?=Sbm|5y2s{r@H^C#whm0R063!1@6Im?dVh=T%WfWdQ&HLg>e* z^@GqvvTOxeMS7+mE%%2j{Xj1lvDU}XTHo$Rd-#bj0suhR_5uhs3|*WE0DxbaKc4^M zg~*kFMosKYt$(zgA0PJ*I#h4e%1!khe`2A3ya1U01tb93)XLrDN237%SbzM+ciG&X zJ7z}KZUBJ5f8+gp1Dt%m-)xu}>l*<8f}lT~`qo(;rxB$uZlx0VO4aq>`wk ziO3Sv*Jq|LtymXySh>cm6*XF~n>coInyfdC;b9*(o?ms3jh)_cZiji;@8|8wg2Ba( zLGeU>uf0mDGCWD=yzI2M?pot}jkl-XUa@+;bfWBmr0(*`>OMSd7IuYvS2cUxbVgo! zgW|;U(2Xd4gJ*qW;HMsI?QdRfUPU@Obb5Aj>m<33xfjh}zUd@ooDFUMvgy)1>e{xn z>pt<>gm3Ro_Py!vx~aPT_e$J3SSMuZrL0~I>v0m6tOx%n4xt?ksGU86FNw9Xkv57l3XAD2Sr|rvU*?iBlXd0$L4BR z=W5>vZ-*bx09tc($mOXn<`ZX!V3=*#olZ^$wsApT79@&m%#h7U6Pc%VpwTc9Sj0h! zW8i}7A5v4C(BWfKIOV1SFaEMU#oKRC+#l%?mqGWwrZk$dD(k#gA##cs?)NDviLBU=3_{vL5`8QkOO^pA-p7e z|3LACZ*A%_BVD6BEs~UxBn8WR+|N%$eIJ_TaoD>Gi{k@#cmCvY=E|8NfmSiPIO;>! z19f+q>=bmP)(17I-b@eXKub^~x~itINopyd%78#})HewVzLxkJMuLPG639!tO4i z@7%vnLYH*Tn@2nVHIqvQ^pENDbfgHf3mlj3Zx*v%U-+IZ^5L-?4V?WpPaT~`(|+8- z`K5D-C-^{slPv)n^NHOn7f#dWH3%95=ciJh<*yQ*wC#Y77GwTrAWwUBf%3vd9owf=eCC7@~Eq5`gh%pE>4_7m|!0^mtfs$(mA!V?Eb z8?FAeq6)Ye7UW2R?EhF7d?B*oqu#)KlCg;s#^=f?bEfz!fa_7fPxkN3aPORgNixFjF~1e zi4$N6Dw{L}GE^g>Gc0Y%)Ku?9tw36qBdID1WUAWF*c0&?5E-&(J(S7|7KvJ%j}U2{ zAfds@@7wj*bqKg=k$;Iq1{#VWNJyQ4{1=L#C=4|(L^Yq5_a=p?mn=rCS(rd9a1ai2 zCq(v26akF*PfjS6Jbwb65iOK0Vt|wem3US$BYJ$0LM0TVe84Px07GIxO=1vZY@ot- zIC+XcLpw|nxpwh7<&get@`$gx(X8PJ$ik3C{~8nH-s*)zTMbB7iGpzAB&x)SWeXGN z^HD-!poAmc`xFHtZq$jq65)W7BM2l!Ka=`Q8!>t{;>6=d@`WM=#7lL_`n<#gUz#9q zad+=Qe8h0LQTJOSeZrCK*dHxXnRUj5aj)@Jc zBRFdS>d+`0(tiC3h~cS*!VJ!3i6@JVqf;3ilx(} z)BlU6+OUD-(OvPWheFY9{)N%;5)n6m2qA>E%gZ~3X^23$h~KIgiJ0#Rktz?H>jp$R z$O_cQ2LSX)(i15#*D%%^!+@)8gL9mq)%b&0&79Mci=$UD)j6{eT6~j}6N

    RQOCj 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 G1poj{?k;fv literal 0 HcmV?d00001 diff --git a/apps/emqx_dashboard/priv/www/static/fonts/Roboto.eot b/apps/emqx_dashboard/priv/www/static/fonts/Roboto.eot new file mode 100644 index 0000000000000000000000000000000000000000..d26bc8f519b5b90a0639f82a18bfef133599196a GIT binary patch literal 16227 zcmZ8{Wl$VU(B|&q&Z3LEyE|E6akt>^?(QxDg1fti;2zxFf(O^2fdozN{jTn+u5P+| z`k80Cdj8D(nC`at0088O0|21^1Rn4|_WuqbAQ|{SSV`?4Dqt^!3ZO>yf3}K%0LuS? zjp`(v|A+d23_3sq-~urJPd)!r008s9wH3ey;0165m;v1XV^{$n|6|+%9ss-lJe>av z#tmQxaQ-J;|H=Q%BLAEFAH@5g|NkEm0Fcy_Rr`OA{NE4`U}_2AAO&!21E{%iX3yg% zEH-seY`MAwIt5d33b+YaG6_A#JF4~vofCo7XauxS{_>0}y`~IVQ)AwCYT2He(!)v` z`tKC33ZET$c}`uDIP7{T^Xv!UHMe}@Zd5NebE01RDu+kZx^8)uV1+H$!C;cd zeCM6q`Fto+8C>M|v1}|sJSVFe092W&V{pQv&Q+fF8KSrudSaw>xy^v{_>ArBUXM1% z7`{H0Iix$i*~={H+s2oxqCp-6PL3Rnj&3rb&yj zNtO^2T4>7F)3&kteCCTHGTnj5=q@g%(+*uasXPPLk+5Txe!Q=dj+ zgjX`C)>x;$gmpP@4zW>uUPL@c>mbKDwW-}N_S}JbE962##(Hg|0VJv_l4mrY0SkhtqX;nj8Xy&L=KtKYr>S&EdU5Q%N*)5c{+PFze0I^5QVa zXpvsW@auNB4B_hi?_R0K={Kt3x6qu*lFTt)J8A15t=^AvaYnhs{$%^53k>FXgl1A^ z!SkFCBY3NJ?*Gud`@b!GyRuyrwtRT^oR+qg8~iRxW*m^O6g&ETsT}o1f*^T#yNt0p z3B$t}zjTj#TRS4fqM?4!aeAXv8C#2Z;|j+^y3zEROD#E$@&;_1e}LBV%^LZWKt=^S z#d?ayrK35k`9Qg0)FPtcfZYTQJUBTXi}DA_q3QYl_u-DLV3VhpyFU^4<5zLa1pRB` zzuA96)rLyPPFx3Axdjv4kj&0&x73u4y~#xi8Ql80ihn^WKjhPUamQH%SyI?M7PWIt zf-I>uvX?*;^(h;)EitSGauX%D0we`DvtnUbt?F7$GCU4jhhyWQsn~{>_}Bq ziLG3cMm8I!k}zf9o*8s1N5P$uOp{A#g(q2^2B-VUr;HLL&Gp}Nk0jRDaMy<#Fj8ws zY$495Lz;O;EWk-pkc3nhvAtGt$@ufiwzM71jJq~DD_mU+SDNvyBxlcb4uxw}Kk6+u zoG3$empbAy{N9S)d@+k&L?)u$gKnDeQY3EU?;4&fX-8;x)l4U)(5)P@HYX8s)6{si zct&@DhURZ@n5ZGeE0?xDikT8GtEuF+e?O6hhS}ms&9@&T;un;+YI7E!voP@y^h+~y z^R~T3Dt(mn-J4QdkfYm7p_@GDL2ldieP*QUQui1#oG^~hx<=PG9>ZQS?#y6Kt#keP z15_m5(kuUaMoP#UEmt0e5Y9nv6xkH}8ke4UkF^?(84$cz`eX0!oG1A2?x4|02n1lzz7k%v?SdkNg+2lJ?bmDcam~fJC=L@7V zn_j{cwC7V15~;J^g9Gt6$gF4%;`S_OEYV+?N-KV}sqTw>o?N}Fru;&g09px5^bfHI zL>Wi-h&{$#8XgHxu%Tt5p>1^6&6UeZ$;!Kz`eZ6!=%S0H+a%a5OVON{D^GE?N*~uH zH29@kiH|Nq(UqoW{yF;iY`ny!`@`93*+KbzZ>;aRuy2ed+keXb-S}i)>y&rQo47Jt znY5*eV22++j8meoith74a_Awc*P{BXUy}HePbHpkB(e0fPvrJF;iy?#}tRZ>~;+-uU;3M$6z9Zt6HSoE~2NTKCncNXW8 zo=fL;VOvu>*|BJXOaE^yOh!vnM<>S#=~Xk$VlA$cLt$KsAk*EUR@QIxpDT?X*(!LH z^~sdJ2vhIT>esknyu6%|FQGn2BXs&p5ac7JFp?yTGSUnWC~j)ay|Wy@d{jKpX*?W>eWo*R@d=>@8UZtF7=uL_{GN5V4^^S+Zfd)cQ@=Wz zeyfT##(FH9(xKL`ZaF-XdJCp{n23V{9eDP8!{o6Cy>w^_UaInK8t*uz3oKem~C=)mF04$cIiQBkw3A@_{_)VQ3onhg-(+WdUA^EjA{ zc5q#fStE7P<>kY)UUHv>DQnuN9(MxFMjEt1nV$(0Ix&+z&*@;08Gs0vCM-7_k7f1$ zJ95CQgpKCytn7a!G6^X#Jq&qmn1{&tpSt?FG0n<%j|$~hQLJ*(>*dqFds$_FD&4x7 zCvAe)s`=@YV4np5maiQs2nSm?a$RUC17Zp5+G{VIN&r!xHZ14l4G{Y)A8wp|&MTv=p>j(97Z#nIL?8OOaYtGSE zA$>4`S1-v=evc!7E2dF+V+>VUlx;+C7@YEP6hSJ&8N9W~&idHQ7G9l6YiTeXIZ-gu zvf36u^>sok0n^u=d8+)Ts-q zNCOXo=_9w}dK#m^3r&`D;K| zR1oo2R_U7MGj4X*G=jZ7>EQ6WR%WXmDSO~Q5m1u|WVEK*6Wbioc7{^Jo83fr>S`uD zO!u6(Q3K6Js&Vi97??K@-lizt57YvCY7%6v(YEuuhlrS}{?+D`y_jtVcqI&Yq62U5 zvSfr@rrHW0M^cN^Y<@pAk<_clJTBc)@s(|%-g6deA1|eU`-n(&H*mJ--ZLiv7tvHK z)||pPLB2eKfah|)jiUUjv`wb3bk(35)WqhIUw2&6Vc$ss#i>~0>{9zOS+N#hvSda* z2ne7`Vbyf}MNWD#Y#q0a#wgJgisXI+IY@!Om0$3qo}mjGv^4iF*D&kOL+V zGp+KqFLl!Wm$odMvsRK9b;Av(6%pkAck{3PNmhM8x+rsj>t!_E-wJzxA}A zMW5AYQ_Bl?E@aWPHTB#1o_`6EVil~F-}){)8T`Z*zPN{jHgtmV0s847+))To@+>|& zv`-dnLAp(gjvdNUU;&?D5?2;@hdQ%>T}C{>-h@g5`L%6&ZhA*##9P>2fm6@PD&ZEw zv^}US?JoJzM}o(4zz89`Y2aLrs1TomT%UAq!gQSo z&#hMaOQ`A;^q~gZ47(1IO;Qb=4W8a+{g>M689GxgDhljrU?AA65$@^?5=P2;?y?NohMqzU! z%>=vU#BtHmBCb;!tx)kSW^CyJEF;4zOf77)3L*1^L9Xt0c*WA|%H?F9qL{rWdVLlU z8l5==34N3gCDI%%6e+4N1SD$kcd>Mza;4-_don{^O4e8DS&y*vYNur0_;15UE%`x~ z0JEGXWD^nWFy z^^~2vhD4NMaZA79sggzY1_6vY9lO#Mu(J@ndJa|dwcTRNJ2;*BgV3(%H6TG6Jg2%E zPFb2WjR=@AnD4&gQ3%Oau}$e9G#nFKaf6{q7?KSzedfDN9y8bPwJRWR6EkxO0es88 zP+JG~rl>_vi54y|OS)T6P0|0O9(fNfJRGY5U%7VcTANCu;+rf-OnsRweS{#1`-;t& zBZ=Hs`Xb`fLY3=#2ZI6_<6oUXH`84j0c04H&S51gnaYaSS}`qv7TTToC0bear*VrGB$7)*5FTiNIVf zg&7}qsAr}RCfh6|u>LIJ{MJp*5%so_wKLUh$Is~<=%NzOkOCv$>{nSLsq6JG-XuZ> z(YK@JUx3oZ;s@Ug8roL(9{Qcb2lxHuBO>C`+|S+{PF40UEL|diOI{<3)ARqX_5|qa z7AEoVd+B~PAzMwi^`Nl?U@M0kwXLE*am*@`lfLU=<0(s(HivShU4Xw(Qk#-3!lExV z7u20tyKg<|l z)F(Bqr|jO>@)%_b^NXgv7*p>Y7!yNzUNv^|KUAv-lt#;@%%(TWwL~^eJ@l@_kMf`M z$>~h7vnzqU^qg^=Buz09JeeoMMErGCIHy$yd3m390-*4vaCw%O>$PAAPUL8vIWChP zw2cF|8MM)b&1NyX4i>Alzp{>`Y+fvdE`b9sOSTwM6Nzc4Kn8>mVYJuYH@G1@1q_Q_FAKy-a&obKD@N7U%Q^W(#c zZHA9$_{mA5jLOx`1woZwuk`ny9;4@+6ON9#t7%pGW}Qu&zub?nAEi=JuK1Mv6poHX zPD_h>0i|t5$aP|%gYLVUaVqPtBMPV@4ZTE6Ew7r^QPjmJI7X1?ua6Te$HvI=)SmqJ z73i*!MZo2L7O~~@BsG53w-8}0f?F#g_D&=O3j!|X=<4iJ5)GQ%ed8^~1)4emiI-HN z4i|(Zz^ef70z#e@13h|Rh(THmsqesb5M_k zm_mG>PbYCShe57(If8-#gEYN+SO)%3o&6`|tX?N}`bhXyK+a0HoP^vauL%=Yanw4_ zb~+o)PUF2`*+C64sqiI<> zL++RKw1P3Wt_#s8!bdMgnt~imjD~yXydLbAv@gDQ+o(Vx+0fC7975NMhoL4t))}RT zLAP)QkR}-sf=?3M>fn=NzY?|rLxs{Aa$1e2{XnUdh&iGQ`zAga=*hDOzMsfN zmxOKxlbWxF-8L|s{lxBP9*qw+v zhV>L2IGPgIKwU-ul39RszCvy@OHH-opW#?cE zuZdZJ>+F)clZ?#{L^(7Z;Rq!fFW)rH2c#TCt8vCqZy9s=#otPgl#C({>u;|t$fnT8 zp-Q76+>z}GVXO?MANf+^mr|1F7g$Jl@j?T6=54hKg(9o%Og4Tur2A_#1?2g1*%Des z&ugI~c*-K^2l060b>%>dH+K5A!5CO6lhEvRMy_-c0?tn|nHZ6C;Yof(HmBgdz#EIY)I^AC2^=MJ)WL3M zksNLFbXg>rSyduXvabL+)5vdK(sDURDqBl#pygtwlWplEbqOXe#P|wEeKn#wU9Ach zu!;JTgOzww-8Y%{hZL2@6h_p>i6aMT{}JzLd(RVqBEcirz^QOfKUS=eJUJ#QGV!3H zQF^xtcjgyBjq$D&QcEKaX@G2o0zb)C-*=2e8hVnOkh*CaU74v%AzD6_Ez6Pb;!WZl zd*MMojKs5T9wJWIMq}v-=#O8d$zo*(&qgoUSTtr z*GLZ$;Gw)=O&g zOJOh1mP`aE=aqlkiwG{98|H6xqD=;*2vX9nl7mI*QN;fyk^y2Sj9wa(49=d~xtxo& zsEb5zvc1hf9|ZqZl(<%cY|`JZkD*=yqiQDBzXu}(OQYc5&66bdV*4!jZgoY@@>NtP zh7hv0Lp2_Kse8A;Kph35kXyX`in64rR9UPe!o5!qK3o@iWa4@@(mls$9= z5e>nkQhuAp>&z28aMRDnL|ziQbkYXw#rr0u)ZG_ zoanp?B7rT^6?#}d3Y!i!otHIKr(BWFo)$2&_Od$Z=CVaP$?Ll@fSQcZ&X2Btf^5OJ z%!>hSvuy7*l7`INdJED=hx^slT&=E8mpdCzCXR!51mj!>5bs?ywNfl(1eya*3>(ws zA++J)(Yyt}i9Vule%WUKV96)9o;fLBG@NgiMyqBaD{tAo&k<(%&gUilrf?<&iL<$Vj(bYn7%vUsF@U$@6Yz9DFHi!F`JcyC&3Gh#qv0?Q#md{7%>E? zfx6+rVymc(>c15zEi^4m*IdY_glaK2@vfeGNuR<+Qocl7=5VO4dW3g7YYCTuXO7LV+=^a2nR36xuWUgi#K1esBZV`xFz+rEn?_d8!0y zp4lfE#XFOQ_m+<0dV>`}#eU#%al+Oh?+9 zQ{g0LrN)guQ0*_GCRi(|ld9-W+)@?{9^8O>Tb5sBSQWmDINB~=HuSX!r*;F7txE-V z$&!0Nl%h!1vR-^0{kVH4dDq1n;cxy_EUWPr`Wc3U?lov!Kt#Tsn?sb)s`JdUFSBUI z8vBPXPGN1bSe_nED(fxRR)B`d1R3G7tfjA8z*fs*PJk{;Z-KTlLOoopO^7Yf;&lBe zSjw0&a>X4r4ypk`!#al`Kx@408Ni3T*_t;QHeZVyAn?N7ai~z zu}SDBJ@n^34)V6fnuLr1RWH%Wl@+J5i8xjyKUNM$qlNZk*tElC0-i)DJXfekG{9Xe z9bz2HWW;=}m8M-z2g=V=#`|LcXRJYsv?7ld$0X>;PLa`Gx=gRIwf+nLw|QQ0(uz;J0me66U?7F1*1ul6+yD!VX=Tr1h`V?gu1F>ll_j~O=n62Fk6K~}F( zsmnr6fd)6l4LXiAF5YXYjN1CQIp5q?m2B{;)QXJ>`X6~CrFae-b$b6b9;UApHXaaB zK$GUvDmUA{iNhu6$f1GozWBunJw#`q0*99Lk3V_;0FM6kx5j6uXx7477avRW0CCc2 z@0>JqF8qjr7^4zCj*pWCSH(Jv5`x1jl@KvP2bjrfq}9@#PW1auaO!EqPlLsc(XZ12 zB@GVV1rA_A)4Cs6Z!#i+2Y(Jb3yQK9nT{v{SOn{-hB)Rt{~X2r*6l&s`ODoK_ux}u zw6d5BbbQ-{v*+1VSQ_(4wsWBl=$H0vxQ5<6Snad0I>N(bk4 zii+(yHQY48?G2+;t0o`nIb>8<3=Dhg-Z5K82U8gF=PkfT%MCe6M)E2xXufq{|}$bb% z$IRbz2pLcen=(AdC*StBCA9=g&wm<`8^HcfQUAc@u1aBD{?Io&v8@rHh!yEBC0uA< ztoV@)03g2u>__&6-${gwUz2J3G9@gi7=%|_Z$|3y>@W&8bqS?hpD8h&NMlJCl#^SO zJ0iVCMvr?AM8nH48)qB*E%4lC3X3iI0xxd~ZzGWHr62D=!V2(WpRhW~zZauhAvk0H z{Btlf7UOOb1J64P_{WtWmoCATG|%pj5s3Rdaa-gg<^&6URu-7-s1hBsn&Xt$p-}>5 z!vxGAM4N6->54o<5;7JEH!5ml&@%T5UZ8k%xyRc*Z68c8f$y8f)RnM4Bs9*pUGAc* zOFU06;gi1j-5ev;>}_6WWoZ8z4LAqUnMSR`o;C&I6wR}LUK zymYDAdizOAc^P;?D-pPIw{ZEc+t3^3(2eIC=JSbxlAeHG!MRuPS1coFk2$}Dh5s`P zi#U~6_s+kfnKsytmP~55-t9YK)F+WMb2506x-gKa9*&iCWaqa-?Rg0q=ApYEoC1IR zYf~OuqECNcl-Ug+Qki3iHv)ER1Y-dnBUB_u1Qd2w()HXyse$B|V+G%az5t=VC2GMi zS-CnbQYrmg?{+j?gr5gP44V^vaPKt3M0|3w;hFFb$7eQ-Wd_~2 zSZn{~j&-evi?3oa>j<~#{dM#=tRcwUl9Ix5Hcv;?+OS~uSTkm(LTyPEr$Jaj%!=)M zS=4^rB^cNzxZjp7B-$Q0C|nqO_U-~1I&%Gt+hM{qHt@}qi7029n{tU@ro@0K?AU3} zn!V_iF*ZFqfJevC-XkClNL;jHBcQeKTU_?qWL-tZUVg2@r6t3t0IrnaqQBpnK0Og9 z6}Rk>4jYa81Kl*-Q6@b}g_j33_HP%4khb9$N2{*vI(<)kB_QqM_5ih)yCQreA!j5c z*k}4x*kLcoFCaPQzd(h8fWDJF!-@!srw^S|(f*v)A($;g)4x)H_lb#*$c&ej;fty~ z3XZT1dY=Mwu+I^hy%A~nSGvDbvLi|>2)E8ZvOJV{{gZ2+NCn$CgTuNo)8gzTROM!H z(5U~bHxVlTavaF5&;1$c9!4vUnmzAw>%#6X`IsIrsxg~k5mMd(_lO>`$_k2gBIZ@L zGZMU}EliO)Hc`xXOyB`l!f>a*QV@ozSd5GNp|A?I-d9?25C7v%L@L4HIf*3x*%+FE#nai3ZqT6zf_Q zd8uB?K{*1U;cR>Ii#QK$FJ(Mlr0EBC{_r>3WAHXF@9SF@Yp!IJbE6=fE1n1z%Fn=V z!2y3sHId&DZaFEMupwc=60nQk9=_U+LiM)H*56|=%7&&CHMizKV3`;?dh`onhMda8 zt@VB7;?r%U7(vPobCB*5AZ;=8u{#1dm@Ukskl9`TBMvRwRcrgtd4>R<57d2I~JvcCBAyG;Rb(RDwA<-@>|fg`_dBb9PmFf#<);hBhQTW{hM%}fIgrUJ&M9)Eo+Is_dcnGKYN zxFw8_H`0BD$mz?vq3;Bzb?g@4_D{6ACWWcRkq`UxF{@}d2eEm&@~~bBFHNQp@({uklK$VD;CXlGZYpCZNdm#SaBdsKR;@&#M7G z^^al1X30y8xLKv9I7rk22XukB9q8n#Gu@B^{Kwn5>zC>>j0ref=>e-LS2#yM*&2ud zxZP2=4%#_(S;%~tXnxRrp&vEyK*2GvL@sx1R^p}yyAFcm!|gIyguUsOJN>pxD;ney z>2|(IU4Xsx4}nW}zxL0p3l4M9?E=`a7=Er>`0gS2=?qReQWN~+D)hw`m$}Eoy4_^e zurN&rlWNUpB0+;U?W~QfKZ}#Vr2W(u^(L_nb5#}w2}~wZT2N;wenJwCJq>B_$S7Cw z*!hE-_DRR_lY6)Mh2nd^EtA+`HXEq&TJgfDlp&NTsLQIn9UouLc&}=?5_%0hthsQ3 zr2S2p3hvHLHyM@q_-M&rM8jO~7vI})VNefDFd+RFriiT-h=M-7H1!6VWm?am5UcuS zG%**Le?fBZg6E^4YB!eH3(f7)#q;2PStW))93dQgHOODw~3toXiZ z&VhqL&-Je7@ljBLDGlyf6z$~S1gIQ`3=vG|mP=fc>A-Q7W;1P>;YR9n1RN`hyl>^& z;;)F$k8fb*jGqr}w}RwrnU>SW`2Q2wA}B?Dgyd88!iIaylI**|tOsp2&l~j9TZDzC;UulTR@+ zMgFfW*}IZhr7Cr5IW_yhr0u8_vf?xglyko1eZ}~$?R}f)z~ArQiI|q4JdCM2c?ZNs z97{Gh7fpYWf78XhxZa&p&8vI|&NiJs$Eg?91W29fSqA~R_0^_@SgbYVw11dlqg9`4 zdMil>W|aP7@Ej30o)w~X^CwLB_{oXUk0FW;GzROES0ruMVpY{z!@R3*Fv)boo71;t zN1IAJnzs@dx;rlHg^w(%ghwfCpo`To{F-BL@4Y|yUw0gngh%WP*%t(kxUTv!3OU3k z?G97TCY~iK53-*^07(KZi>F9e;FP0h9}K0%-#m6b_fqwMxs;nT1=CW!=kL{~ZhX%>sz ze9V>0Q_1~@Qj5M#ZeZd-8bWphI<5D%TAHqcDPA#ZAHp+&I_PN7V$l9!p0HkjrKz&r z&BFa$5tME~B?}iP)PnYv%_RMTt9NqrwwBH?`D(x64NdpbMc$UG@wNaR^Iz?hFhhl` zd9`mw)V1`mEIVnVP}aR%xjU3JNzgPz9VWbG{uuuq56BseP%6kAZNIGpq#gNftBAz{ zEcRHiW5=gDMRdlrtIs_C?V@SwZ`LGbrKF*MD)u5i)CA!QJ-ysIZXI4yd9S6AeSWh z2Dl0QJ__;vN+fLh8sS#dOOcCb{wciTUQLU`J>yJ6X+4MbSI_92W|(dq5H+XWE4baE zLuOGTxo`+$l%Ni%v#zO5`<2hI?vFN^-=={yuB}u>Cz{z23FCb;7G+24tZ0C`c==53 z!!K6RBy%;b$ost3b+{uE5Qs_+_lOQ2dWMY|CjtKj4;~D~w*}n_V0&bTdvWt7Ro}E1{YfKul(xv3puo)nmLre}0fD zM0%(d#SZ+}oV)kVTiDrm%okf(;UYoF(s82Xpd)Ms?<g%iQpVL`)V{qAJWT7sG_))yvc6V<_=G+QV#y|<-v$!b`{LSlvUEGCY(AQ zQD6aYC|Lb6veqKzX|dDK(3D>K!=9>SSJ=b56nZqwE(bf`b|_5*hb}q$4<^#FHoix8 zQT#M9^~V1@w0GbR6z_6~*#;2YQd2iOl? zVVcd05ECJMouRSCw66_Ahie}JJ5cAdh+uUG_wY(Z_Q_d48CEkFXbGm>bl!&kb_Y#8 zJu;fYDcgIOPI4I<^7U#dRs8IxW3}ft5ckgX&?!x(c_r~lX9*fxRUjI?yFat5sl+o( z8uQyD;5d~B*tz#~gt^cqIAt1 zGM!0_P_e#|lp(qU{Gdm|b^3$1IQ`UKwD+PJ`M7wr$1x-U%Tr@ve_$>$Y6P(>GJjMJ z-}Ud$8rQ_v;EnBv)$;bg@NVnpNoTb4D|lsgRY8q3*uT*XQ=%@D+z_`_$X~PQC{R>+ zx#nXTv5e%%&dy3`&2lA95e^(gl1JhIP3AeVXQ=1!$UQy4{r&On<V5_bMzu zUcpKu8;S4)Z^p)hxXe{e$A^VI93ue~M;l6k1z@=y4lRW(w76Tr)iVQ-6V$ECeU z?_p7vCB2RE){wx&m2qKUyv}Ft$6Zm(cr@LhxA0Q<2#QXao7C+4ymXyVZm+$(yfpJ) zqgYFDL~ex_gU}{k4Lg+i$C%-EWr}-rdIjIr(}$9`G{LOGx!UMGV!o_ML)-j4um6m`^|Cug|Pfvy->F5SB7Gdz;QE;PO}+K zQA&nymjbBPzJD#OA0-H`@POKvAk}7pd3adCa0g$AM#McYpzbqD5DquziM_X7M#*uv zn0@(rgg7QPyssk2b|2IUrQ;;4{BD7I9#KC9{CGg?cwHX>GyaD6)8X4q3?LGQdv#vb zv4iBbqZy`-Dv5?KyDIYHU*YbGj}Z!Walc>kgSYsR7Mp}421q(X`-FLVCZ-eyCGOUoC^9Z*8D?c`Hh5kNBu|COYZ znzG`gZoP@Of6KsD>90q!o8t%Zok%02Y6*2x-KP| zcFtw2dg+im1`&>>T`mug)EyGV2$Y1CtZ6RrUhoUi(q2186W-exlSY3y!r~Dv2`Iy) z!>IepUTQJEaI4gW1~UEC+MO8WlyY6sq092Ss9pnpiOh2v8;0kuE(J`C=IRJ?JQI$1 zb|z+4*4@59xqYkV+zzrk1M+=E!{t)>X0MYv3*`f|kt|gi&ib%mwp{`QX3qr_Zo8Q2Rl>Y3h zVqAh$ayAPWV4czN2ziq-5w*WJ{4)!1WVJ`Br0W;BeRnOT9pyB9t7Rhn`L8e}LGgk* zUMf7Q&XZV_$M=|PFA5MPi0&W_>g)qS{h#p%X{+*VM|9QAXZ$Nl(I4(<|CkE`B16=Q zB+$W-1rl974JL)NfwHs(FrcLwJ(=~u#WF^kBp_OPUCT*%lafX88MBhMn3CiAPaJNp2>dMRjj_0N z>4_woe5g5{mFlLo9-^t~XH1rB2}LxXDwZ?7P2SKFNlKM_$AUv!lQIUUa;UDL0G{%^ zq{9f-O#L!5*Q1(i;B{Q4R+WDER5b0XLRdNgWe(TA=-7EH4vdiu5X_x48D!j*I@&U% zzoH|x%K@JKxE{llyCIQd@jJrQO#@$gK^Mz%W^2z-aCPrnVb{Ix?}1!!2fB7^$cr5J zePVwxh;+Fv=IzdB0@@`)XHH#tFQtS`S4-n$npGRdC4wH0k3z2G#Y-8ajh!+|f)r`% z6?hRdJQ97=8aT=A7P&VMBjZhA}LN8 zynI21(PG(7f_s@?H2Fc9X*geja@o7X$$4=pN-Xs8HmX73><$l%d5#*mY6w2vcXmf! z@6Oo`Q-8fJ5VdqT)6>L8c(FD1_tG7Ntk%dSs|IAu4z&^7xpEslwUHacuqY*gT%w~^ zu?R!!kNP-2ocTeVS&{^<1+%n~^JwwU3vWs6#ToToq5d3vlpwh*_b}LvDW=A|yeaG% z1RP&=PUmm$T<)G4fQ&Bn0{Nb6;Zo3y6}+L}?tmQ3#63@6Gq%&r_4G zNl?v>pwI>TX-4&Z^dJnFr!;~_!mQ*2L~^HMvVtWO zrO0n@%AJynDEgDAPTytubn`bMjbjvKcg(QC%!eseYp6@|@}W#A}VD+a@jOIEe0JN8%x41dde3}XIi8DYgIBfQ!|g|M=ou?fxan^ZB{>2 zG<}3_l@a-mYMu5)_T5sp>@S)uHnBp#Pn=H!u9OBL?y%&gGC(eb({b4jx22|2n;%{% z`IAYe8h^X%D(fL?nMl(bu4nhc`E5^wNNdyLKzt7EykGRyF8m@- zX7jktHzOlyUmwX!&70c8W(>}A+2LwBsIkK(ivGFo6`u(yuHt10AlBg?ER&rr1|_sxB0W|K!$otb;(k3Ob4K~NdC!J1TI@2J zyNtdPVPm>92&Qia!t!jHkwG|UF?FoS#Fl~ZkT66_#|B#Gt_$qJ zzBtiW%P5-q>Zpk`AtC|Wi4#RHuF^r-wvlxI^+vow(vNNfMc>gS=@^ymMzsjTPYc2} z#uH$rqg?5kgO(%H<_a<;)0ECL2=5IGuTC&2rvLKiO%ziLt)VD}t}Wb1bB~+Rm=%t8 zi?$in$UN28?ug598CFAjN^*0NhkC!wSr>gU$fyF{v+#CC&-Lj@|9M65FRaiCaIr9j zqMi@QhwQoJxvkOAK;tFI;(HV1MDE!IQ~%=2$y`b(7}=Md@Mz*R z(M+)dLZPDNevx4y_;Hx`#`r+sE>j0na=)8tZCVy>>H`~VU^|aoAF)^7AF!R2JMRta zvQ4bifD%;@G# zwipJlmixX+7!MsAwR_PhyEWsEsSflZ;A&_}>dxlD15$7mF$0-9AnYqbGzE`hV4M^8 zCEV~wc|$DFjOmj`KAmooW}peu9y7N*PF+1Ms5I>9D|rek7c5<^+I}yA*gdS03c(jrBfJ%UZtNO8ClNQN#topdhS}r`^zuH8@=nb z6+V?-sk7kkM*8&fwhpfHGi$?G0d!dQqf>CPH8cvysvl`jj@nq5>8Tu2%vBD>_fJ9$ z!pl94YmXN(M1$&WdpNV2AMF_2mqyF0@eWNSxRutI`rNUp-Z0CZ1NcO^QW?eUJGj{0 zr3Vd(>2Sgo79=+gqkTaluzs#u`+c~i5&FUGYzR4mt&)1s&Rm{?u< zreEj-2Ss_%fV%@qtYGk;^Sre`kPlcT`rVXSmITpL<@yFTab{hJa7V`~RGz-!wqeAh v#g4%>=-%`rNTT$Q3+IGsv=@uepU+g& + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/emqx_dashboard/priv/www/static/fonts/Roboto.ttf b/apps/emqx_dashboard/priv/www/static/fonts/Roboto.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7b25f3ce940cbba3001420d38b7d0f12fb7f2142 GIT binary patch literal 32652 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 N6K0jQ!xePm{|7p>-q!#C literal 0 HcmV?d00001 diff --git a/apps/emqx_dashboard/priv/www/static/fonts/Roboto.woff b/apps/emqx_dashboard/priv/www/static/fonts/Roboto.woff new file mode 100644 index 0000000000000000000000000000000000000000..941dfa4bae83483cf1784641063ce1deceda1406 GIT binary patch literal 18520 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 literal 0 HcmV?d00001 diff --git a/apps/emqx_dashboard/priv/www/static/fonts/element-icons.535877f.woff b/apps/emqx_dashboard/priv/www/static/fonts/element-icons.535877f.woff new file mode 100644 index 0000000000000000000000000000000000000000..02b9a2539e425a7a8c244faba92527602be76212 GIT binary patch literal 28200 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

    %#5t+7yTm^Z{)9pPFdh-)p? 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 G*yFsbY~cLNXLP73aA74Mq6M9f^&YV`isWW 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

    5q!RY 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 + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/emqx_dashboard/priv/www/static/fonts/fontawesome-webfont.ttf b/apps/emqx_dashboard/priv/www/static/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..35acda2fa1196aad98c2adf4378a7611dd713aa3 GIT binary patch literal 165548 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 z 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

    ');var l=xt.d.isBasicASCII(u,t.mightContainNonBasicASCII()),d=xt.d.containsRTL(u,l,t.mightContainRTL()),h=Object(St.d)(new St.c(n.fontInfo.isMonospace&&!n.viewInfo.disableMonospaceOptimizations,n.fontInfo.canUseHalfwidthRightwardsArrow,u,!1,l,d,0,a,c,i,n.fontInfo.spaceWidth,n.viewInfo.stopRenderingLineAfter,n.viewInfo.renderWhitespace,n.viewInfo.renderControlCharacters,n.viewInfo.fontLigatures,null),s);s.appendASCIIString("
    ");var f=h.characterMapping.getAbsoluteOffsets();return f.length>0?f[f.length-1]:0},t}(Li);function Mi(e){return e.modifiedEndLineNumber>0}function Ti(e){return e.originalEndLineNumber>0}Object(Qn.f)(function(e,t){var n=e.getColor(Jn.j);n&&(t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { background-color: "+n+"; }"),t.addRule(".monaco-diff-editor .line-insert, .monaco-diff-editor .char-insert { background-color: "+n+"; }"),t.addRule(".monaco-editor .inline-added-margin-view-zone { background-color: "+n+"; }"));var i=e.getColor(Jn.l);i&&(t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { background-color: "+i+"; }"),t.addRule(".monaco-diff-editor .line-delete, .monaco-diff-editor .char-delete { background-color: "+i+"; }"),t.addRule(".monaco-editor .inline-deleted-margin-view-zone { background-color: "+i+"; }"));var r=e.getColor(Jn.k);r&&t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+r+"; }");var o=e.getColor(Jn.m);o&&t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+o+"; }");var s=e.getColor(Jn._37);s&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px "+s+"; }");var a=e.getColor(Jn.i);a&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid "+a+"; }")});var Pi=n("lthF"),Ai=n("sKqm"),Ri=n("C3c5"),Fi=n("NqM+"),ji=n("xJaW"),Wi=n("44YW"),Bi=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Vi=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Hi=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},zi=0,Ui=!1;var Ki=function(e){function t(t,n,i,r,o,s,a,u,c,l){var d=this;return(n=n||{}).ariaLabel=n.ariaLabel||bn.g.editorViewAccessibleLabel,n.ariaLabel=n.ariaLabel+";"+(Bn.j?bn.g.accessibilityHelpMessageIE:bn.g.accessibilityHelpMessage),(d=e.call(this,t,n,{},i,r,o,s,u,c,l)||this)._standaloneKeybindingService=a instanceof En?a:null,Ui||(Ui=!0,Vn.b(document.body)),d}return Bi(t,e),t.prototype.addCommand=function(e,t,n){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;var i="DYNAMIC_"+ ++zi,r=un.a.deserialize(n);return this._standaloneKeybindingService.addDynamicKeybinding(i,e,t,r),i},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"),G.a.None;var n=e.id,i=e.label,r=un.a.and(un.a.equals("editorId",this.getId()),un.a.deserialize(e.precondition)),o=e.keybindings,s=un.a.and(r,un.a.deserialize(e.keybindingContext)),a=e.contextMenuGroupId||null,u=e.contextMenuOrder||0,c=function(){return Promise.resolve(e.run(t))},l=new G.b,d=this.getId()+":"+n;if(l.add(Q.a.registerCommand(d,c)),a){var h={command:{id:d,title:i},when:r,group:a,order:u};l.add(Ri.c.appendMenuItem(7,h))}if(Array.isArray(o))for(var f=0,p=o;f=0}}(e);tr.push(n),n.userConfigured?ir.push(n):nr.push(n),t&&!n.userConfigured&&tr.forEach(function(e){e.mime===n.mime||e.userConfigured||(n.extension&&e.extension===n.extension&&console.warn("Overwriting extension <<"+n.extension+">> to now point to mime <<"+n.mime+">>"),n.filename&&e.filename===n.filename&&console.warn("Overwriting filename <<"+n.filename+">> to now point to mime <<"+n.mime+">>"),n.filepattern&&e.filepattern===n.filepattern&&console.warn("Overwriting filepattern <<"+n.filepattern+">> to now point to mime <<"+n.mime+">>"),n.firstline&&e.firstline===n.firstline&&console.warn("Overwriting firstline <<"+n.firstline+">> to now point to mime <<"+n.mime+">>"))})}function or(e,t){var n;if(e)switch(e.scheme){case X.b.file:n=e.fsPath;break;case X.b.data:n=$.a.parseMetaData(e).get($.a.META_DATA_LABEL);break;default:n=e.path}if(!n)return[er];n=n.toLowerCase();var i=Object($i.basename)(n),r=sr(n,i,ir);if(r)return[r,Qi];var o=sr(n,i,nr);if(o)return[o,Qi];if(t){var s=function(e){Object(J.L)(e)&&(e=e.substr(1));if(e.length>0)for(var t=tr.length-1;t>=0;t--){var n=tr[t];if(n.firstline){var i=e.match(n.firstline);if(i&&i.length>0)return n.mime}}return null}(t);if(s)return[s,Qi]}return[er]}function sr(e,t,n){for(var i=null,r=null,o=null,s=n.length-1;s>=0;s--){var a=n[s];if(t===a.filenameLowercase){i=a;break}if(a.filepattern&&(!r||a.filepattern.length>r.filepattern.length)){var u=a.filepatternOnPath?e:t;Object(Ji.a)(a.filepatternLowercase,u)&&(r=a)}a.extension&&(!o||a.extension.length>o.extension.length)&&Object(J.m)(t,a.extensionLowercase)&&(o=a)}return i?i.mime:r?r.mime:o?o.mime:null}var ar=n("9XyG"),ur=n("RWr8"),cr=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),lr=Object.prototype.hasOwnProperty,dr=function(e){function t(t,n){void 0===t&&(t=!0),void 0===n&&(n=!1);var i=e.call(this)||this;return i._onDidChange=i._register(new A.a),i.onDidChange=i._onDidChange.event,i._warnOnOverwrite=n,i._nextLanguageId2=1,i._languageIdToLanguage=[],i._languageToLanguageId=Object.create(null),i._languages={},i._mimeTypesMap={},i._nameMap={},i._lowercaseNameMap={},t&&(i._initializeFromRegistry(),i._register(ar.a.onDidChangeLanguages(function(e){return i._initializeFromRegistry()}))),i}return cr(t,e),t.prototype._initializeFromRegistry=function(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={};var e=ar.a.getLanguages();this._registerLanguages(e)},t.prototype._registerLanguages=function(e){for(var t=this,n=0,i=e;n0&&((n=e.mimetypes).push.apply(n,t.mimetypes),r=t.mimetypes[0]),r||(r="text/x-"+i,e.mimetypes.push(r)),Array.isArray(t.extensions))for(var o=0,s=t.extensions;o0){var f=t.firstLine;"^"!==f.charAt(0)&&(f="^"+f);try{var p=new RegExp(f);J.E(p)||rr({id:i,mime:r,firstline:p},this._warnOnOverwrite)}catch(e){Object(be.e)(e)}}e.aliases.push(i);var g=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(g=0===t.aliases.length?[null]:t.aliases),null!==g)for(var m=0,v=g;m0;if(b&&null===g[0]);else{var y=(b?g[0]:null)||i;!b&&e.name||(e.name=y)}t.configuration&&e.configurationFiles.push(t.configuration)},t.prototype.isRegisteredMode=function(e){return!!lr.call(this._mimeTypesMap,e)||lr.call(this._languages,e)},t.prototype.getModeIdForLanguageNameLowercase=function(e){return lr.call(this._lowercaseNameMap,e)?this._lowercaseNameMap[e].language:null},t.prototype.extractModeIds=function(e){var t=this;return e?e.split(",").map(function(e){return e.trim()}).map(function(e){return lr.call(t._mimeTypesMap,e)?t._mimeTypesMap[e].language:e}).filter(function(e){return lr.call(t._languages,e)}):[]},t.prototype.getLanguageIdentifier=function(e){if(e===ge.b||0===e)return ge.a;var t;if("string"==typeof e)t=e;else if(!(t=this._languageIdToLanguage[e]))return null;return lr.call(this._languages,t)?this._languages[t].identifier:null},t.prototype.getModeIdsFromFilepathOrFirstLine=function(e,t){if(!e&&!t)return[];var n=or(e,t);return this.extractModeIds(n.join(","))},t}(G.a),hr=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),fr=function(e){function t(t,n){var i=e.call(this)||this;return i._onDidChange=i._register(new A.a),i.onDidChange=i._onDidChange.event,i._selector=n,i.languageIdentifier=i._selector(),i._register(t(function(){return i._evaluate()})),i}return hr(t,e),t.prototype._evaluate=function(){var e=this._selector();e.id!==this.languageIdentifier.id&&(this.languageIdentifier=e,this._onDidChange.fire(this.languageIdentifier))},t}(G.a),pr=function(){function e(e){var t=this;void 0===e&&(e=!1),this._onDidCreateMode=new A.a,this.onDidCreateMode=this._onDidCreateMode.event,this._onLanguagesMaybeChanged=new A.a,this.onLanguagesMaybeChanged=this._onLanguagesMaybeChanged.event,this._instantiatedModes={},this._registry=new dr(!0,e),this._registry.onDidChange(function(){return t._onLanguagesMaybeChanged.fire()})}return e.prototype.isRegisteredMode=function(e){return this._registry.isRegisteredMode(e)},e.prototype.getModeIdForLanguageName=function(e){return this._registry.getModeIdForLanguageNameLowercase(e)},e.prototype.getModeIdByFilepathOrFirstLine=function(e,t){var n=this._registry.getModeIdsFromFilepathOrFirstLine(e,t);return n.length>0?n[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.create=function(e){var t=this;return new fr(this.onLanguagesMaybeChanged,function(){var n=t.getModeId(e);return t._createModeAndGetLanguageIdentifier(n)})},e.prototype.createByFilepathOrFirstLine=function(e,t){var n=this;return new fr(this.onLanguagesMaybeChanged,function(){var i=n.getModeIdByFilepathOrFirstLine(e,t);return n._createModeAndGetLanguageIdentifier(i)})},e.prototype._createModeAndGetLanguageIdentifier=function(e){var t=this.getLanguageIdentifier(e||"plaintext")||ge.a;return this._getOrCreateMode(t.language),t},e.prototype.triggerMode=function(e){var t=this.getModeId(e);this._getOrCreateMode(t||"plaintext")},e.prototype._getOrCreateMode=function(e){if(!this._instantiatedModes.hasOwnProperty(e)){var t=this.getLanguageIdentifier(e)||ge.a;this._instantiatedModes[e]=new Xi(t),this._onDidCreateMode.fire(this._instantiatedModes[e])}return this._instantiatedModes[e]},e}(),gr=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),mr=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},vr=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}};function _r(e){return e.toString()}var br=function(){function e(e,t,n){this._modelEventListeners=new G.b,this.model=e,this._languageSelection=null,this._languageSelectionListener=null,this._modelEventListeners.add(e.onWillDispose(function(){return t(e)})),this._modelEventListeners.add(e.onDidChangeLanguage(function(t){return n(e,t)}))}return e.prototype._disposeLanguageSelection=function(){this._languageSelectionListener&&(this._languageSelectionListener.dispose(),this._languageSelectionListener=null),this._languageSelection&&(this._languageSelection.dispose(),this._languageSelection=null)},e.prototype.dispose=function(){this._modelEventListeners.dispose(),this._disposeLanguageSelection()},e.prototype.setLanguage=function(e){var t=this;this._disposeLanguageSelection(),this._languageSelection=e,this._languageSelectionListener=this._languageSelection.onDidChange(function(){return t.model.setMode(e.languageIdentifier)}),this.model.setMode(e.languageIdentifier)},e}(),yr=ye.c||ye.d?1:2,wr=function(e){function t(t,n){var i=e.call(this)||this;return i._onModelAdded=i._register(new A.a),i.onModelAdded=i._onModelAdded.event,i._onModelRemoved=i._register(new A.a),i.onModelRemoved=i._onModelRemoved.event,i._onModelModeChanged=i._register(new A.a),i.onModelModeChanged=i._onModelModeChanged.event,i._configurationService=t,i._resourcePropertiesService=n,i._models={},i._modelCreationOptionsByLanguageAndResource=Object.create(null),i._configurationServiceSubscription=i._configurationService.onDidChangeConfiguration(function(e){return i._updateModelOptions()}),i._updateModelOptions(),i}return gr(t,e),t._readModelOptions=function(e,t){var n=T.c.tabSize;if(e.editor&&void 0!==e.editor.tabSize){var i=parseInt(e.editor.tabSize,10);isNaN(i)||(n=i),n<1&&(n=1)}var r=n;if(e.editor&&void 0!==e.editor.indentSize&&"tabSize"!==e.editor.indentSize){var o=parseInt(e.editor.indentSize,10);isNaN(o)||(r=o),r<1&&(r=1)}var s=T.c.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(s="false"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));var a=yr,u=e.eol;"\r\n"===u?a=2:"\n"===u&&(a=1);var c=T.c.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(c="false"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));var l=T.c.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(l="false"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));var d=T.c.largeFileOptimizations;return e.editor&&void 0!==e.editor.largeFileOptimizations&&(d="false"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations)),{isForSimpleWidget:t,tabSize:n,indentSize:r,insertSpaces:s,detectIndentation:l,defaultEOL:a,trimAutoWhitespace:c,largeFileOptimizations:d}},t.prototype.getCreationOptions=function(e,n,i){var r=this._modelCreationOptionsByLanguageAndResource[e+n];if(!r){var o=this._configurationService.getValue("editor",{overrideIdentifier:e,resource:n}),s=this._resourcePropertiesService.getEOL(n,e);r=t._readModelOptions({editor:o,eol:s},i),this._modelCreationOptionsByLanguageAndResource[e+n]=r}return r},t.prototype._updateModelOptions=function(){var e=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);for(var n=Object.keys(this._models),i=0,r=n.length;i=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Or=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},kr=function(e){function t(t,n){void 0===n&&(n=q.s());var i=e.call(this)||this;return i._decorationOptionProviders=new Map,i._styleSheet=n,i._themeService=t,i}return xr(t,e),t.prototype.registerDecorationType=function(e,t,n){var i=this._decorationOptionProviders.get(e);if(!i){var r={styleSheet:this._styleSheet,key:e,parentTypeKey:n,options:t||Object.create(null)};i=n?new Nr(this._themeService,r):new Er(this._themeService,r),this._decorationOptionProviders.set(e,i)}i.refCount++},t.prototype.removeDecorationType=function(e){var t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach(function(t){return t.removeDecorations(e)})))},t.prototype.resolveDecorationOptions=function(e,t){var n=this._decorationOptionProviders.get(e);if(!n)throw new Error("Unknown decoration type key: "+e);return n.getOptions(this,t)},t=Lr([Or(0,Qn.c)],t)}(Sr),Nr=function(){function e(e,t){this._parentTypeKey=t.parentTypeKey,this.refCount=0,this._beforeContentRules=new Dr(3,t,e),this._afterContentRules=new Dr(4,t,e)}return e.prototype.getOptions=function(e,t){var n=e.resolveDecorationOptions(this._parentTypeKey,!0);return this._beforeContentRules&&(n.beforeContentClassName=this._beforeContentRules.className),this._afterContentRules&&(n.afterContentClassName=this._afterContentRules.className),n},e.prototype.dispose=function(){this._beforeContentRules&&(this._beforeContentRules.dispose(),this._beforeContentRules=null),this._afterContentRules&&(this._afterContentRules.dispose(),this._afterContentRules=null)},e}(),Er=function(){function e(e,t){var n=this;this._disposables=new G.b,this.refCount=0;var i=function(i){var r=new Dr(i,t,e);if(n._disposables.add(r),r.hasContent)return r.className};this.className=i(0);var r,o=(r=new Dr(1,t,e),n._disposables.add(r),r.hasContent?{className:r.className,hasLetterSpacing:r.hasLetterSpacing}:null);o&&(this.inlineClassName=o.className,this.inlineClassNameAffectsLetterSpacing=o.hasLetterSpacing),this.beforeContentClassName=i(3),this.afterContentClassName=i(4),this.glyphMarginClassName=i(2);var s=t.options;this.isWholeLine=Boolean(s.isWholeLine),this.stickiness=s.rangeBehavior;var a=s.light&&s.light.overviewRulerColor||s.overviewRulerColor,u=s.dark&&s.dark.overviewRulerColor||s.overviewRulerColor;void 0===a&&void 0===u||(this.overviewRuler={color:a||u,darkColor:u||a,position:s.overviewRulerLane||fe.d.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.dispose()},e}(),Ir={color:"color:{0} !important;",opacity:"opacity:{0};",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:{0} center center no-repeat;",gutterIconSize:"background-size:{0};",contentText:"content:'{0}';",contentIconPath:"content:{0};",margin:"margin:{0};",width:"width:{0};",height:"height:{0};"},Dr=function(){function e(e,t,n){var i=this;this._theme=n.getTheme(),this._ruleType=e,this._providerArgs=t,this._usesThemeColors=!1,this._hasContent=!1,this._hasLetterSpacing=!1;var r=Mr.getClassName(this._providerArgs.key,e);this._providerArgs.parentTypeKey&&(r=r+" "+Mr.getClassName(this._providerArgs.parentTypeKey,e)),this._className=r,this._unThemedSelector=Mr.getSelector(this._providerArgs.key,this._providerArgs.parentTypeKey,e),this._buildCSS(),this._usesThemeColors?this._themeListener=n.onThemeChange(function(e){i._theme=n.getTheme(),i._removeCSS(),i._buildCSS()}):this._themeListener=null}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,n,i=this._providerArgs.options;switch(this._ruleType){case 0:e=this.getCSSTextForModelDecorationClassName(i),t=this.getCSSTextForModelDecorationClassName(i.light),n=this.getCSSTextForModelDecorationClassName(i.dark);break;case 1:e=this.getCSSTextForModelDecorationInlineClassName(i),t=this.getCSSTextForModelDecorationInlineClassName(i.light),n=this.getCSSTextForModelDecorationInlineClassName(i.dark);break;case 2:e=this.getCSSTextForModelDecorationGlyphMarginClassName(i),t=this.getCSSTextForModelDecorationGlyphMarginClassName(i.light),n=this.getCSSTextForModelDecorationGlyphMarginClassName(i.dark);break;case 3:e=this.getCSSTextForModelDecorationContentClassName(i.before),t=this.getCSSTextForModelDecorationContentClassName(i.light&&i.light.before),n=this.getCSSTextForModelDecorationContentClassName(i.dark&&i.dark.before);break;case 4:e=this.getCSSTextForModelDecorationContentClassName(i.after),t=this.getCSSTextForModelDecorationContentClassName(i.light&&i.light.after),n=this.getCSSTextForModelDecorationContentClassName(i.dark&&i.dark.after);break;default:throw new Error("Unknown rule type: "+this._ruleType)}var r=this._providerArgs.styleSheet.sheet,o=!1;e.length>0&&(r.insertRule(this._unThemedSelector+" {"+e+"}",0),o=!0),t.length>0&&(r.insertRule(".vs"+this._unThemedSelector+" {"+t+"}",0),o=!0),n.length>0&&(r.insertRule(".vs-dark"+this._unThemedSelector+", .hc-black"+this._unThemedSelector+" {"+n+"}",0),o=!0),this._hasContent=o},e.prototype._removeCSS=function(){q.H(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&&t.push(J.r(Ir.contentIconPath,q.n(F.a.revive(e.contentIconPath)))),"string"==typeof e.contentText){var n=e.contentText.match(/^.*$/m)[0].replace(/['\\]/g,"\\$&");t.push(J.r(Ir.contentText,n))}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&&(t.push(J.r(Ir.gutterIconPath,q.n(F.a.revive(e.gutterIconPath)))),void 0!==e.gutterIconSize&&t.push(J.r(Ir.gutterIconSize,e.gutterIconSize))),t.join("")},e.prototype.collectBorderSettingsCSSText=function(e,t){return!!this.collectCSSText(e,["border","borderColor","borderRadius","borderSpacing","borderStyle","borderWidth"],t)&&(t.push(J.r("box-sizing: border-box;")),!0)},e.prototype.collectCSSText=function(e,t,n){for(var i=n.length,r=0,o=t;rt)return 1;return 0}(e.token,t.token);return 0!==n?n:e.index-t.index});for(var n=0,i="000000",r="ffffff";e.length>=1&&""===e[0].token;){var o=e.shift();-1!==o.fontStyle&&(n=o.fontStyle),null!==o.foreground&&(i=o.foreground),null!==o.background&&(r=o.background)}for(var s=new Wr,a=0,u=t;a>>0,this._cache.set(t,n)}return(n|e<<0)>>>0},e}(),Vr=/\b(comment|string|regex|regexp)\b/;var Hr,zr,Ur,Kr=function(){function e(e,t,n){this._fontStyle=e,this._foreground=t,this._background=n,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,n){-1!==e&&(this._fontStyle=e),0!==t&&(this._foreground=t),0!==n&&(this._background=n),this.metadata=(this._fontStyle<<11|this._foreground<<14|this._background<<23)>>>0},e}(),qr=function(){function e(e){this._mainRule=e,this._children=new Map}return e.prototype.match=function(e){if(""===e)return this._mainRule;var t,n,i=e.indexOf(".");-1===i?(t=e,n=""):(t=e.substring(0,i),n=e.substring(i+1));var r=this._children.get(t);return void 0!==r?r.match(n):this._mainRule},e.prototype.insert=function(t,n,i,r){if(""!==t){var o,s,a=t.indexOf(".");-1===a?(o=t,s=""):(o=t.substring(0,a),s=t.substring(a+1));var u=this._children.get(o);void 0===u&&(u=new e(this._mainRule.clone()),this._children.set(o,u)),u.insert(s,n,i,r)}else this._mainRule.acceptOverwrite(n,i,r)},e}();var Gr={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:(Hr={},Hr[Jn.o]="#FFFFFE",Hr[Jn.x]="#000000",Hr[Jn.E]="#E5EBF1",Hr[$n.h]="#D3D3D3",Hr[$n.a]="#939393",Hr[Jn.J]="#ADD6FF4D",Hr)},Zr={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:(zr={},zr[Jn.o]="#1E1E1E",zr[Jn.x]="#D4D4D4",zr[Jn.E]="#3A3D41",zr[$n.h]="#404040",zr[$n.a]="#707070",zr[Jn.J]="#ADD6FF26",zr)},Yr={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:(Ur={},Ur[Jn.o]="#000000",Ur[Jn.x]="#FFFFFF",Ur[$n.h]="#FFFFFF",Ur[$n.a]="#FFFFFF",Ur)},Xr="vs",$r="vs-dark",Jr="hc-black",Qr=ur.a.as(Jn.a.ColorContribution),eo=ur.a.as(Qn.a.ThemingContribution),to=function(){function e(e,t){this.themeData=t;var n=t.base;e.length>0?(this.id=n+" "+e,this.themeName=e):(this.id=n,this.themeName=n),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=new Map;for(var t in this.themeData.colors)e.set(t,Ar.a.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){var n=io(this.themeData.base);for(var t in n.colors)e.has(t)||e.set(t,Ar.a.fromHex(n.colors[t]))}this.colors=e}return this.colors},e.prototype.getColor=function(e,t){var n=this.getColors().get(e);return n||(!1!==t?this.getDefault(e):void 0)},e.prototype.getDefault=function(e){var t=this.defaultColors[e];return t||(t=Qr.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 Xr:return"light";case Jr: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 n=io(this.themeData.base);e=n.rules,n.encodedTokensColors&&(t=n.encodedTokensColors)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=Br.createFromRawTokenTheme(e,t)}return this._tokenTheme},enumerable:!0,configurable:!0}),e}();function no(e){return e===Xr||e===$r||e===Jr}function io(e){switch(e){case Xr:return Gr;case $r:return Zr;case Jr:return Yr}}function ro(e){var t=io(e);return new to(e,t)}var oo=function(){function e(){this.environment=Object.create(null),this._onThemeChange=new A.a,this._onIconThemeChange=new A.a,this._knownThemes=new Map,this._knownThemes.set(Xr,ro(Xr)),this._knownThemes.set($r,ro($r)),this._knownThemes.set(Jr,ro(Jr)),this._styleElement=q.s(),this._styleElement.className="monaco-colors",this.setTheme(Xr)}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(!no(t.base)&&!no(e))throw new Error("Illegal theme base!");this._knownThemes.set(e,new to(e,t)),no(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,n=this;if(t=this._knownThemes.has(e)?this._knownThemes.get(e):this._knownThemes.get(Xr),this._theme===t)return t.id;this._theme=t;var i=[],r={},o={addRule:function(e){r[e]||(i.push(e),r[e]=!0)}};eo.getThemingParticipants().forEach(function(e){return e(t,o,n.environment)});var s=t.tokenTheme.getColorMap();return o.addRule(function(e){for(var t=[],n=1,i=e.length;n=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},uo=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},co="data-keybinding-context",lo=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}(),ho=function(e){function t(){return e.call(this,-1,null)||this}return so(t,e),t.prototype.setValue=function(e,t){return!1},t.prototype.removeValue=function(e){return!1},t.prototype.getValue=function(e){},t.INSTANCE=new t,t}(lo),fo=function(e){function t(t,n,i){var r=e.call(this,t,null)||this;return r._configurationService=n,r._values=new Map,r._listener=r._configurationService.onDidChangeConfiguration(function(e){if(6===e.source){var t=Object(Jt.d)(r._values);r._values.clear(),i.fire(new mo(t))}else{for(var n=[],o=0,s=e.affectedKeys;o1){var i=n.shift();i&&(r.focusItemByElement(i.container),n.push(i)),r.mnemonics.set(t,n)}}})),ye.c&&r._register(Object(q.h)(o,q.d.KEY_DOWN,function(e){var t=new qt.a(e);t.equals(14)||t.equals(11)?(r.focusedItem=r.viewItems.length-1,r.focusNext(),q.c.stop(e,!0)):(t.equals(13)||t.equals(12))&&(r.focusedItem=0,r.focusPrevious(),q.c.stop(e,!0))})),r._register(Object(q.h)(r.domNode,q.d.MOUSE_OUT,function(e){var t=e.relatedTarget;Object(q.E)(t,r.domNode)||(r.focusedItem=void 0,r.scrollTopHold=r.menuElement.scrollTop,r.updateFocus(),e.stopPropagation())})),r._register(Object(q.h)(r.domNode,q.d.MOUSE_UP,function(e){q.c.stop(e,!0)})),r._register(Object(q.h)(r.actionsList,q.d.MOUSE_OVER,function(e){var t=e.target;if(t&&Object(q.E)(t,r.actionsList)&&t!==r.actionsList){for(;t.parentElement!==r.actionsList&&null!==t.parentElement;)t=t.parentElement;if(Object(q.C)(t,"action-item")){var n=r.focusedItem;r.scrollTopHold=r.menuElement.scrollTop,r.setFocusedItem(t),n!==r.focusedItem&&r.updateFocus()}}}));var s={parent:r};return r.mnemonics=new Map,r.push(n,{icon:!0,label:!0,isMenu:!0}),r.scrollableElement=r._register(new Zn.a(o,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0})),r.scrollableElement.getDomNode().style.position=null,o.style.maxHeight=Math.max(10,window.innerHeight-t.getBoundingClientRect().top-30)+"px",r.menuDisposables.add(r.scrollableElement.onScroll(function(){r._onScroll.fire()},r)),r._register(Object(q.h)(r.menuElement,q.d.SCROLL,function(e){void 0!==r.scrollTopHold&&(r.menuElement.scrollTop=r.scrollTopHold,r.scrollTopHold=void 0),r.scrollableElement.scanDomNode()})),t.appendChild(r.scrollableElement.getDomNode()),r.scrollableElement.scanDomNode(),r.viewItems.filter(function(e){return!(e instanceof No)}).forEach(function(e,t,n){e.updatePositionInSet(t+1,n.length)}),r}return wo(t,e),t.prototype.style=function(e){var t=this.getContainer(),n=e.foregroundColor?""+e.foregroundColor:null,i=e.backgroundColor?""+e.backgroundColor:null,r=e.borderColor?"2px solid "+e.borderColor:null,o=e.shadowColor?"0 2px 4px "+e.shadowColor:null;t.style.border=r,this.domNode.style.color=n,this.domNode.style.backgroundColor=i,t.style.boxShadow=o,this.viewItems&&this.viewItems.forEach(function(t){(t instanceof Oo||t instanceof No)&&t.style(e)})},t.prototype.getContainer=function(){return this.scrollableElement.getDomNode()},Object.defineProperty(t.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollOffset",{get:function(){return this.menuElement.scrollTop},enumerable:!0,configurable:!0}),t.prototype.focusItemByElement=function(e){var t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()},t.prototype.setFocusedItem=function(e){for(var t=0;t"+e.substr(i.index+i[0].length)),e=e.replace(/&&/g,"&"),this.item.setAttribute("aria-keyshortcuts",(n[1]?n[1]:n[3]).toLocaleLowerCase())}else e=e.replace(/&&/g,"&")}this.label.innerHTML=e.trim()}},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=on.a({key:"titleLabel",comment:["action title","action keybinding"]},"{0} ({1})",e,this.options.keybinding))),e&&(this.item.title=e)},t.prototype.updateClass=function(){this.cssClass&&Object(q.J)(this.item,this.cssClass),this.options.icon?(this.cssClass=this.getAction().class||"",Object(q.f)(this.label,"icon"),this.cssClass&&Object(q.g)(this.label,this.cssClass),this.updateEnabled()):Object(q.I)(this.label,"icon")},t.prototype.updateEnabled=function(){this.getAction().enabled?(this.element&&Object(q.I)(this.element,"disabled"),Object(q.I)(this.item,"disabled"),this.item.tabIndex=0):(this.element&&Object(q.f)(this.element,"disabled"),Object(q.f)(this.item,"disabled"),Object(q.L)(this.item))},t.prototype.updateChecked=function(){this.getAction().checked?(Object(q.f)(this.item,"checked"),this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked","true")):(Object(q.I)(this.item,"checked"),this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked","false"))},t.prototype.getMnemonic=function(){return this.mnemonic},t.prototype.applyStyle=function(){if(this.menuStyle){var e=this.element&&Object(q.C)(this.element,"focused"),t=e&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,n=e&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:this.menuStyle.backgroundColor,i=e&&this.menuStyle.selectionBorderColor?"thin solid "+this.menuStyle.selectionBorderColor:null;this.item.style.color=t?""+t:null,this.check.style.backgroundColor=t?""+t:null,this.item.style.backgroundColor=n?""+n:null,this.container.style.border=i}},t.prototype.style=function(e){this.menuStyle=e,this.applyStyle()},t}(Gn.c),ko=function(e){function t(t,n,i,r){var o=e.call(this,t,t,r)||this;return o.submenuActions=n,o.parentData=i,o.submenuOptions=r,o.submenuDisposables=o._register(new G.b),o.showScheduler=new _e.d(function(){o.mouseOver&&(o.cleanupExistingSubmenu(!1),o.createSubmenu(!1))},250),o.hideScheduler=new _e.d(function(){o.element&&!Object(q.E)(document.activeElement,o.element)&&o.parentData.submenu===o.mysubmenu&&(o.parentData.parent.focus(!1),o.cleanupExistingSubmenu(!0))},750),o}return wo(t,e),t.prototype.render=function(t){var n=this;e.prototype.render.call(this,t),this.element&&(Object(q.f)(this.item,"monaco-submenu-item"),this.item.setAttribute("aria-haspopup","true"),this.submenuIndicator=Object(q.m)(this.item,Object(q.a)("span.submenu-indicator")),this.submenuIndicator.setAttribute("aria-hidden","true"),this._register(Object(q.h)(this.element,q.d.KEY_UP,function(e){var t=new qt.a(e);(t.equals(17)||t.equals(3))&&(q.c.stop(e,!0),n.createSubmenu(!0))})),this._register(Object(q.h)(this.element,q.d.KEY_DOWN,function(e){var t=new qt.a(e);document.activeElement===n.item&&(t.equals(17)||t.equals(3))&&q.c.stop(e,!0)})),this._register(Object(q.h)(this.element,q.d.MOUSE_OVER,function(e){n.mouseOver||(n.mouseOver=!0,n.showScheduler.schedule())})),this._register(Object(q.h)(this.element,q.d.MOUSE_LEAVE,function(e){n.mouseOver=!1})),this._register(Object(q.h)(this.element,q.d.FOCUS_OUT,function(e){n.element&&!Object(q.E)(document.activeElement,n.element)&&n.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(function(){n.parentData.parent.focus(!1),n.cleanupExistingSubmenu(!1)})))},t.prototype.onClick=function(e){q.c.stop(e,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!1)},t.prototype.cleanupExistingSubmenu=function(e){this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)&&(this.parentData.submenu.dispose(),this.parentData.submenu=void 0,this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0))},t.prototype.createSubmenu=function(e){var t=this;if(void 0===e&&(e=!0),this.element)if(this.parentData.submenu)this.parentData.submenu.focus(!1);else{this.submenuContainer=Object(q.m)(this.element,Object(q.a)("div.monaco-submenu")),Object(q.g)(this.submenuContainer,"menubar-menu-items-holder","context-view"),this.parentData.submenu=new Lo(this.submenuContainer,this.submenuActions,this.submenuOptions),this.menuStyle&&this.parentData.submenu.style(this.menuStyle);var n=this.element.getBoundingClientRect(),i=this.submenuContainer.getBoundingClientRect(),r=getComputedStyle(this.parentData.parent.domNode),o=parseFloat(r.paddingTop||"0")||0;window.innerWidth<=n.right+i.width?(this.submenuContainer.style.left="10px",this.submenuContainer.style.top=this.element.offsetTop-this.parentData.parent.scrollOffset+n.height+"px"):(this.submenuContainer.style.left=this.element.offsetWidth+"px",this.submenuContainer.style.top=this.element.offsetTop-this.parentData.parent.scrollOffset-o+"px"),this.submenuDisposables.add(Object(q.h)(this.submenuContainer,q.d.KEY_UP,function(e){new qt.a(e).equals(15)&&(q.c.stop(e,!0),t.parentData.parent.focus(),t.parentData.submenu&&(t.parentData.submenu.dispose(),t.parentData.submenu=void 0),t.submenuDisposables.clear(),t.submenuContainer=void 0)})),this.submenuDisposables.add(Object(q.h)(this.submenuContainer,q.d.KEY_DOWN,function(e){new qt.a(e).equals(15)&&q.c.stop(e,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(function(){t.parentData.parent.focus(),t.parentData.submenu&&(t.parentData.submenu.dispose(),t.parentData.submenu=void 0),t.submenuDisposables.clear(),t.submenuContainer=void 0})),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu}},t.prototype.applyStyle=function(){if(e.prototype.applyStyle.call(this),this.menuStyle){var t=this.element&&Object(q.C)(this.element,"focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator.style.backgroundColor=t?""+t:null,this.parentData.submenu&&this.parentData.submenu.style(this.menuStyle)}},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)},t}(Oo),No=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return wo(t,e),t.prototype.style=function(e){this.label.style.borderBottomColor=e.separatorColor?""+e.separatorColor:null},t}(Gn.b);var Eo=n("Yqb6"),Io=n("Gxst"),Do=n("b1X/"),Mo=function(){function e(e,t,n,i,r){this.contextViewService=e,this.telemetryService=t,this.notificationService=n,this.keybindingService=i,this.themeService=r,this.options={blockMouse:!0}}return e.prototype.configure=function(e){this.options=e},e.prototype.showContextMenu=function(e){var t,n=this,i=e.getActions();i.length&&(this.focusToReturn=document.activeElement,this.contextViewService.showContextView({getAnchor:function(){return e.getAnchor()},canRelayout:!1,anchorAlignment:e.anchorAlignment,render:function(r){var o=e.getMenuClassName?e.getMenuClassName():"";o&&(r.className+=" "+o),n.options.blockMouse&&(n.block=r.appendChild(Object(q.a)(".context-view-block")));var s=new G.b,a=e.actionRunner||new Yn.b;return a.onDidBeforeRun(n.onActionRun,n,s),a.onDidRun(n.onDidActionRun,n,s),t=new Lo(r,i,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:a,getKeyBinding:e.getKeyBinding?e.getKeyBinding:function(e){return n.keybindingService.lookupKeybinding(e.id)}}),s.add(Object(Eo.c)(t,n.themeService)),t.onDidCancel(function(){return n.contextViewService.hideContextView(!0)},null,s),t.onDidBlur(function(){return n.contextViewService.hideContextView(!0)},null,s),Object(Io.a)(window,q.d.BLUR)(function(){n.contextViewService.hideContextView(!0)},null,s),Object(Io.a)(window,q.d.MOUSE_DOWN)(function(e){if(!e.defaultPrevented){var t=new Do.b(e),i=t.target;if(!t.rightButton){for(;i;){if(i===r)return;i=i.parentElement}n.contextViewService.hideContextView(!0)}}},null,s),Object(G.e)(s,t)},focus:function(){t&&t.focus(!!e.autoSelectFirstItem)},onHide:function(t){e.onHide&&e.onHide(!!t),n.block&&(Object(q.K)(n.block),n.block=null),n.focusToReturn&&n.focusToReturn.focus()}}))},e.prototype.onActionRun=function(e){this.telemetryService&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1),this.focusToReturn&&this.focusToReturn.focus()},e.prototype.onDidActionRun=function(e){e.error&&this.notificationService&&this.notificationService.error(e.error)},e}(),To=n("3ciN"),Po=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ao=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Ro=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Fo=function(e){function t(t,n,i,r,o){var s=e.call(this)||this;return s._onDidContextMenu=s._register(new A.a),s.contextMenuHandler=new Mo(i,t,n,r,o),s}return Po(t,e),t.prototype.configure=function(e){this.contextMenuHandler.configure(e)},t.prototype.showContextMenu=function(e){this.contextMenuHandler.showContextMenu(e),this._onDidContextMenu.fire()},t=Ao([Ro(0,To.a),Ro(1,vn.a),Ro(2,hi.b),Ro(3,Fi.a),Ro(4,Qn.c)],t)}(G.a),jo=(n("+Tn7"),n("vbff")),Wo=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();function Bo(e,t,n){var i=n.offset+n.size;return 0===n.position?t<=e-i?i:t<=n.offset?n.offset-t:Math.max(e-t,0):t<=n.offset?n.offset-t:t<=e-i?i:0}var Vo=function(e){function t(t){var n=e.call(this)||this;return n.container=null,n.delegate=null,n.toDisposeOnClean=G.a.None,n.toDisposeOnSetContainer=G.a.None,n.view=q.a(".context-view"),q.D(n.view),n.setContainer(t),n._register(Object(G.h)(function(){return n.setContainer(null)})),n}return Wo(t,e),t.prototype.setContainer=function(e){var n=this;if(this.container&&(this.toDisposeOnSetContainer.dispose(),this.container.removeChild(this.view),this.container=null),e){this.container=e,this.container.appendChild(this.view);var i=new G.b;t.BUBBLE_UP_EVENTS.forEach(function(e){i.add(q.k(n.container,e,function(e){n.onDOMEvent(e,!1)}))}),t.BUBBLE_DOWN_EVENTS.forEach(function(e){i.add(q.k(n.container,e,function(e){n.onDOMEvent(e,!0)},!0))}),this.toDisposeOnSetContainer=i}},t.prototype.show=function(e){this.isVisible()&&this.hide(),q.p(this.view),this.view.className="context-view",this.view.style.top="0px",this.view.style.left="0px",q.Q(this.view),this.toDisposeOnClean=e.render(this.view)||G.a.None,this.delegate=e,this.doLayout(),this.delegate.focus&&this.delegate.focus()},t.prototype.layout=function(){this.isVisible()&&(!1!==this.delegate.canRelayout?(this.delegate.layout&&this.delegate.layout(),this.doLayout()):this.hide())},t.prototype.doLayout=function(){if(this.isVisible()){var e,t=this.delegate.getAnchor();if(q.F(t)){var n=q.x(t);e={top:n.top,left:n.left,width:n.width,height:n.height}}else e={top:t.y,left:t.x,width:t.width||1,height:t.height||2};var i,r=q.B(this.view),o=q.A(this.view),s=this.delegate.anchorPosition||0,a=this.delegate.anchorAlignment||0,u={offset:e.top-window.pageYOffset,size:e.height,position:0===s?0:1};i=0===a?{offset:e.left,size:0,position:0}:{offset:e.left+e.width,size:0,position:1};var c=Bo(window.innerHeight,o,u)+window.pageYOffset;jo.a.intersects({start:c,end:c+o},{start:u.offset,end:u.offset+u.size})&&(i.size=e.width,1===a&&(i.offset=e.left));var l=Bo(window.innerWidth,r,i);q.J(this.view,"top","bottom","left","right"),q.f(this.view,0===s?"bottom":"top"),q.f(this.view,0===a?"left":"right");var d=q.x(this.container);this.view.style.top=c-d.top+"px",this.view.style.left=l-d.left+"px",this.view.style.width="initial"}},t.prototype.hide=function(e){var t=this.delegate;this.delegate=null,t&&t.onHide&&t.onHide(e),this.toDisposeOnClean.dispose(),q.D(this.view)},t.prototype.isVisible=function(){return!!this.delegate},t.prototype.onDOMEvent=function(e,t){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,document.activeElement):t&&!q.E(e.target,this.container)&&this.hide())},t.prototype.dispose=function(){this.hide(),e.prototype.dispose.call(this)},t.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],t.BUBBLE_DOWN_EVENTS=["click"],t}(G.a),Ho=Object(nt.c)("layoutService"),zo=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Uo=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Ko=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},qo=function(e){function t(t){var n=e.call(this)||this;return n.layoutService=t,n.contextView=n._register(new Vo(t.container)),n.layout(),n._register(t.onLayout(function(){return n.layout()})),n}return zo(t,e),t.prototype.setContainer=function(e){this.contextView.setContainer(e)},t.prototype.showContextView=function(e){this.contextView.show(e)},t.prototype.layout=function(){this.contextView.layout()},t.prototype.hideContextView=function(e){this.contextView.hide(e)},t=Uo([Ko(0,Ho)],t)}(G.a),Go=Object(nt.c)("dialogService"),Zo=n("wV8Z");var Yo,Xo=function(){function e(e){this._hashFn=e,this._nodes=Object.create(null)}return e.prototype.roots=function(){var e=[];return Object(Zo.c)(this._nodes,function(t){Object(we.e)(t.value.outgoing)&&e.push(t.value)}),e},e.prototype.insertEdge=function(e,t){var n=this.lookupOrInsertNode(e),i=this.lookupOrInsertNode(t);n.outgoing[this._hashFn(t)]=i,i.incoming[this._hashFn(e)]=n},e.prototype.removeNode=function(e){var t=this._hashFn(e);delete this._nodes[t],Object(Zo.c)(this._nodes,function(e){delete e.value.outgoing[t],delete e.value.incoming[t]})},e.prototype.lookupOrInsertNode=function(e){var t=this._hashFn(e),n=this._nodes[t];return n||(n=function(e){return{data:e,incoming:Object.create(null),outgoing:Object.create(null)}}(e),this._nodes[t]=n),n},e.prototype.isEmpty=function(){for(var e in this._nodes)return!1;return!0},e.prototype.toString=function(){var e=[];return Object(Zo.c)(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}(),$o=n("Qv71"),Jo=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Qo="function"==typeof Proxy,es=function(e){function t(t){var n=e.call(this,"cyclic dependency between services")||this;return n.message=t.toString(),n}return Jo(t,e),t}(Error),ts=function(){function e(e,t,n){void 0===e&&(e=new di.a),void 0===t&&(t=!1),this._services=e,this._strict=t,this._parent=n,this._services.set(nt.a,this)}return e.prototype.createChild=function(t){return new e(t,this._strict,this)},e.prototype.invokeFunction=function(e){for(var t=this,n=[],i=1;i0?i[0].index:t.length;if(t.length!==c){console.warn("[createInstance] First service dependency of "+e.name+" at position "+(c+1)+" conflicts with "+t.length+" static arguments");var l=c-t.length;t=l>0?t.concat(new Array(l)):t.slice(0,c)}return new(e.bind.apply(e,[void 0].concat(t.concat(r))))},e.prototype._setServiceInstance=function(e,t){if(this._services.get(e)instanceof $o.a)this._services.set(e,t);else{if(!this._parent)throw new Error("illegalState - setting UNKNOWN service instance");this._parent._setServiceInstance(e,t)}},e.prototype._getServiceInstanceOrDescriptor=function(e){var t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t},e.prototype._getOrCreateServiceInstance=function(e,t){var n=this._getServiceInstanceOrDescriptor(e);return n instanceof $o.a?this._createAndCacheServiceInstance(e,n,t.branch(e,!0)):(t.branch(e,!1),n)},e.prototype._createAndCacheServiceInstance=function(e,t,n){for(var i=new Xo(function(e){return e.id.toString()}),r=0,o=[{id:e,desc:t,_trace:n}];o.length;){var s=o.pop();if(i.lookupOrInsertNode(s),r++>100)throw new es(i);for(var a=0,u=nt.b.getServiceDependencies(s.desc.ctor);a "+c);var h=e(t+1,d);h&&r.push(h)}else r.push(o+"uses -> "+c)}return r.join("\n")}(1,this),"DONE, took "+t.toFixed(2)+"ms (grand total "+e._totals.toFixed(2)+"ms)"];(t>2||n)&&console.log(i.join("\n"))},e._None=new(function(e){function t(){return e.call(this,-1,null)||this}return Jo(t,e),t.prototype.stop=function(){},t.prototype.branch=function(){return this},t}(e)),e._totals=0,e}(),is=n("g1W0"),rs=n("bhIx"),os=n("OHx0");!function(e){e.get=function(e,t,n){if(e[t])return e[t][n]},e.set=function(e,t,n,i){e[t]||(e[t]=Object.create(null)),e[t][n]=i},e.remove=function(e,t,n){return!(!e[t]||!e[t][n]||(delete e[t][n],Object(we.e)(e[t])&&delete e[t],0))}}(Yo||(Yo={}));var ss=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){if(this._data)for(var t=0,n=e;t0?a:1,startColumn:u=u>0?u:1,endLineNumber:c=c>=a?c:a,endColumn:l=l>0?l:u,relatedInformation:d,tags:h}},e.prototype.read=function(t){void 0===t&&(t=Object.create(null));var n=t.owner,i=t.resource,r=t.severities,o=t.take;if((!o||o<0)&&(o=-1),n&&i){if(b=Yo.get(this._byResource,i.toString(),n)){for(var s=[],a=0,u=b;a0&&l===o)break}}return s}return[]}if(n||i){var d=n?this._byOwner[n]:i?this._byResource[i.toString()]:void 0;if(!d)return[];s=[];for(var h in d)for(var f=0,p=d[h];f0&&l===o)return s}}return s}var s=[];for(var g in this._byResource)for(var m in this._byResource[g])for(var v=0,_=this._byResource[g][m];v<_.length;v++){var b=_[v];if(e._accept(b,r)){var l=s.push(b);if(o>0&&l===o)return s}}return s},e._accept=function(e,t){return void 0===t||(t&e.severity)===e.severity},e._debouncer=function(t,n){t||(e._dedupeMap=Object.create(null),t=[]);for(var i=0,r=n;i=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},hs=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},fs=function(){function e(e){this._commandService=e}return e.prototype.createMenu=function(e,t){return new ps(e,this._commandService,t)},e=ds([hs(0,Q.b)],e)}(),ps=function(e){function t(t,n,i){var r=e.call(this)||this;return r._id=t,r._commandService=n,r._contextKeyService=i,r._onDidChange=r._register(new A.a),r._build(),r._register(A.b.debounce(A.b.filter(Ri.c.onDidChangeMenu,function(e){return e===r._id}),function(){},50)(r._build,r)),r._register(A.b.debounce(r._contextKeyService.onDidChangeContext,function(e,t){return e||t.affectsSome(r._contextKeys)},50)(function(e){return e&&r._onDidChange.fire(void 0)},r)),r}return ls(t,e),t.prototype._build=function(){this._menuGroups=[],this._contextKeys=new Set;var e,n=Ri.c.getMenuItems(this._id);n.sort(t._compareMenuItems);for(var i=0,r=n;i0&&t.push([o,s])}return t},t._fillInKbExprKeys=function(e,t){if(e)for(var n=0,i=e.keys();ns)return 1;var a="string"==typeof e.command.title?e.command.title:e.command.title.value,u="string"==typeof t.command.title?t.command.title:t.command.title.value;return a.localeCompare(u)},t=ds([hs(1,Q.b),hs(2,un.c)],t)}(G.a),gs=n("JbsQ"),ms=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),vs=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},_s=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}};function bs(e){return e.toString()}var ys,ws=function(e){function t(t){var n=e.call(this)||this;return n.model=t,n._markersData=new Map,n._register(Object(G.h)(function(){n.model.deltaDecorations(Object(Jt.d)(n._markersData),[]),n._markersData.clear()})),n}return ms(t,e),t.prototype.update=function(e,t){for(var n=this.model.deltaDecorations(Object(Jt.d)(this._markersData),t),i=0;i=r?new W.a(n.startLineNumber,r-1,n.endLineNumber,r):new W.a(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn+1))}}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&n.startLineNumber===n.endLineNumber){var o=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);o=0?"squiggly-unnecessary":"squiggly-hint",n=0;break;case os.c.Warning:t="squiggly-warning",i=Object(Qn.g)($n.r),n=20;break;case os.c.Info:t="squiggly-info",i=Object(Qn.g)($n.q),n=10;break;case os.c.Error:default:t="squiggly-error",i=Object(Qn.g)($n.p),n=30}return e.tags&&(-1!==e.tags.indexOf(1)&&(r="squiggly-inline-unnecessary"),-1!==e.tags.indexOf(2)&&(r="squiggly-inline-deprecated")),{stickiness:1,className:t,showIfCollapsed:!0,overviewRuler:{color:i,position:fe.d.Right},zIndex:n,inlineClassName:r}},t=vs([_s(0,tt.a),_s(1,os.b)],t)}(G.a),Ss=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),xs=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Ls=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Os=function(e){function t(t,n){var i=e.call(this)||this;return i._contextKeyService=t,i._configurationService=n,i._onDidChangeAccessibilitySupport=new A.a,i.onDidChangeAccessibilitySupport=i._onDidChangeAccessibilitySupport.event,i._accessibilityModeEnabledContext=ji.a.bindTo(i._contextKeyService),i._register(i._configurationService.onDidChangeConfiguration(function(e){e.affectsConfiguration("editor.accessibilitySupport")&&i._updateContextKey()})),i._updateContextKey(),i.onDidChangeAccessibilitySupport(function(){return i._updateContextKey()}),i}return Ss(t,e),t.prototype._updateContextKey=function(){var e=2===this.getAccessibilitySupport(),t=this._configurationService.getValue("editor.accessibilitySupport");this._accessibilityModeEnabledContext.set("on"===t||"auto"===t&&e)},t=xs([Ls(0,un.c),Ls(1,$t.a)],t)}(G.a),ks=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Ns=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Es=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Is=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.contextKeyService=t,i.configurationService=n,i._accessibilitySupport=0,i}return ks(t,e),t.prototype.getAccessibilitySupport=function(){return this._accessibilitySupport},t=Ns([Es(0,un.c),Es(1,$t.a)],t)}(Os),Ds=n("8xpx"),Ms=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();!function(e){var t=new di.a,n=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=n;var i=[];function r(e,t){var r=new n(e,t);return i.push(r),r}e.init=function(e){for(var t=new di.a,n=0,r=Object(Ds.a)();n=0&&n<5;)n++,t=t.replace(/@(\w+)/g,function(n,i){var r="";if("string"==typeof e[i])r=e[i];else{if(!(e[i]&&e[i]instanceof RegExp))throw void 0===e[i]?Dt(e,"language definition does not contain attribute '"+i+"', used at: "+t):Dt(e,"attribute reference '"+i+"' must be a string, used at: "+t);r=e[i].source}return Nt(r)?"":"(?:"+r+")"});return new RegExp(t,e.ignoreCase?"i":"")}function ua(e,t,n,i){var r=-1,o=n,s=n.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);s&&(s[3]&&(r=parseInt(s[3]),s[2]&&(r+=100)),o=s[4]);var a,u="~",c=o;if(o&&0!==o.length?/^\w*$/.test(c)?u="==":(s=o.match(/^(@|!@|~|!~|==|!=)(.*)$/))&&(u=s[1],c=s[2]):(u="!=",c=""),"~"!==u&&"!~"!==u||!/^(\w|\|)*$/.test(c))if("@"===u||"!@"===u){var l=e[c];if(!l)throw Dt(e,"the @ match target '"+c+"' is not defined, in rule: "+t);if(!function(e,t){if(!t)return!1;if(!Array.isArray(t))return!1;for(var n=0,i=t;n=100){i-=100;var r=n.split(".");if(r.unshift(n),i0&&"^"===n[0],this.name=this.name+": "+n,this.regex=aa(e,"^(?:"+(this.matchOnlyAtLineStart?n.substr(1):n)+")")},e.prototype.setAction=function(e,t){this.action=function e(t,n,i){if(i){if("string"==typeof i)return i;if(i.token||""===i.token){if("string"!=typeof i.token)throw Dt(t,"a 'token' attribute must be of type string, in rule: "+n);var r={token:i.token};if(i.token.indexOf("$")>=0&&(r.tokenSubst=!0),"string"==typeof i.bracket)if("@open"===i.bracket)r.bracket=1;else{if("@close"!==i.bracket)throw Dt(t,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+n);r.bracket=-1}if(i.next){if("string"!=typeof i.next)throw Dt(t,"the next state must be a string value in rule: "+n);var o=i.next;if(!/^(@pop|@push|@popall)$/.test(o)&&("@"===o[0]&&(o=o.substr(1)),o.indexOf("$")<0&&!function(e,t){for(var n=t;n&&n.length>0;){if(e.stateNames[n])return!0;var i=n.lastIndexOf(".");n=i<0?null:n.substr(0,i)}return!1}(t,Mt(t,o,"",[],""))))throw Dt(t,"the next state '"+i.next+"' is not defined in rule: "+n);r.next=o}return"number"==typeof i.goBack&&(r.goBack=i.goBack),"string"==typeof i.switchTo&&(r.switchTo=i.switchTo),"string"==typeof i.log&&(r.log=i.log),"string"==typeof i.nextEmbedded&&(r.nextEmbedded=i.nextEmbedded,t.usesEmbedded=!0),r}if(Array.isArray(i)){for(var s=[],a=0,u=i.length;a0&&r[o-1]===l)){var d=c.startIndex;0===a?d=0:d=1&&c.length<=3)if(d.setRegex(i,c[0]),c.length>=3)if("string"==typeof c[1])d.setAction(i,{token:c[1],next:c[2]});else{if("object"!=typeof c[1])throw Dt(n,"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);var h=c[1];h.next=c[2],d.setAction(i,h)}else d.setAction(i,c[1]);else{if(!c.regex)throw Dt(n,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+e);c.name&&"string"==typeof c.name&&(d.name=c.name),c.matchOnlyAtStart&&(d.matchOnlyAtLineStart=ra(c.matchOnlyAtLineStart,!1)),d.setRegex(i,c.regex),d.setAction(i,c.action)}o.push(d)}}}if(i.languageId=e,i.ignoreCase=n.ignoreCase,i.noThrow=n.noThrow,i.usesEmbedded=n.usesEmbedded,i.stateNames=t.tokenizer,i.defaultToken=n.defaultToken,!t.tokenizer||"object"!=typeof t.tokenizer)throw Dt(n,"a language definition must define the 'tokenizer' attribute as an object");for(var o in n.tokenizer=[],t.tokenizer)if(t.tokenizer.hasOwnProperty(o)){n.start||(n.start=o);var s=t.tokenizer[o];n.tokenizer[o]=new Array,r("tokenizer."+o,n.tokenizer[o],s)}if(n.usesEmbedded=i.usesEmbedded,t.brackets){if(!Array.isArray(t.brackets))throw Dt(n,"the 'brackets' attribute must be defined as an array")}else t.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];for(var a=[],u=0,c=t.brackets;u=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},_=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},b=function(e){function t(t,n,i){var r=e.call(this)||this;return r._editor=t,r._modeService=i,r._widget=null,r._register(r._editor.onDidChangeModel(function(e){return r.stop()})),r._register(r._editor.onDidChangeModelLanguage(function(e){return r.stop()})),r._register(c.y.onDidChange(function(e){return r.stop()})),r}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.hasModel()&&(this._widget=new w(this._editor,this._modeService))},t.prototype.stop=function(){this._widget&&(this._widget.dispose(),this._widget=null)},t.ID="editor.contrib.inspectTokens",t=v([_(1,h.a),_(2,d.a)],t)}(s.a),y=function(e){function t(){return e.call(this,{id:"editor.action.inspectTokens",label:g.c.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})||this}return m(t,e),t.prototype.run=function(e,t){var n=b.get(t);n&&n.launch()},t}(u.b);var w=function(e){function t(t,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 l.c},tokenize:function(e,t,n){return Object(l.d)(i.language,e,t,n)},tokenize2:function(e,t,n){return Object(l.e)(i.id,e,t,n)}}),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),n=0,i=t.tokens1.length-1;i>=0;i--){var r=t.tokens1[i];if(e.column-1>=r.offset){n=i;break}}var s=0;for(i=t.tokens2.length>>>1;i>=0;i--)if(e.column-1>=t.tokens2[i<<1]){s=i;break}var u="",c=this._model.getLineContent(e.lineNumber),l="";if(n'+function(e){for(var t="",n=0,i=e.length;n('+l.length+" "+(1===l.length?"char":"chars")+")

    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 d0mRO}xo^G_%I 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 SdSQM28?+M|D(2r_;{O0|uQ74} literal 0 HcmV?d00001 diff --git a/apps/emqx_dashboard/priv/www/static/fonts/fontawesome-webfont.woff2 b/apps/emqx_dashboard/priv/www/static/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4d13fc60404b91e398a37200c4a77b645cfd9586 GIT binary patch literal 77160 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 literal 0 HcmV?d00001 diff --git a/apps/emqx_dashboard/priv/www/static/js/0.7a09d1383e1319441399.js b/apps/emqx_dashboard/priv/www/static/js/0.7a09d1383e1319441399.js new file mode 100644 index 000000000..c0f306b1a --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/0.7a09d1383e1319441399.js @@ -0,0 +1,8 @@ +webpackJsonp([0],{"1H6C":function(e,t,r){var n=function(){return this}()||Function("return this")(),i=n.regeneratorRuntime&&Object.getOwnPropertyNames(n).indexOf("regeneratorRuntime")>=0,a=i&&n.regeneratorRuntime;if(n.regeneratorRuntime=void 0,e.exports=r("HhN8"),i)n.regeneratorRuntime=a;else try{delete n.regeneratorRuntime}catch(e){n.regeneratorRuntime=void 0}},"3IRH":function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},FcGO:function(e,t,r){"use strict";var n=r("Xxa5"),i=r.n(n),a=r("exGp"),s=r.n(a),o={name:"emq-select",components:{},props:{value:{},field:{type:Object,required:!0},fieldName:{type:Object,default:function(){return{label:"label",value:"value"}}},disabledItem:{type:Array,default:function(){return[]}},refresh:{type:Boolean}},data:function(){return{options:[],parserField:{}}},computed:{rawValue:{get:function(){return"boolean"==typeof this.value?this.value.toString():this.value},set:function(e){var t=this.fieldName.value;this.options.find(function(r){return r[t]===e})&&this.parserField[t]&&(e="true"===e),this.$emit("update:value",e)}}},watch:{refresh:function(e){e&&this.loadData()},field:{handler:function(){this.loadData()},deep:!0}},created:function(){this.loadData()},methods:{loadData:function(){var e=this;return s()(i.a.mark(function t(){var r,n,a;return i.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.getOptions();case 2:r=t.sent,e.parserField={},n=e.fieldName.value,a=e.fieldName.label,e.options=r.map(function(t){var r=t[n],i=t[a];return"boolean"==typeof r&&(e.parserField[n]="boolean",t[n]=r.toString(),"boolean"==typeof i&&(t[a]=i.toString())),t}),e.$emit("update:refresh",!1);case 8:case"end":return t.stop()}},t,e)}))()},isDisabled:function(e){return this.disabledItem.includes(e[this.fieldName.value])},getOptions:function(){var e=this;return s()(i.a.mark(function t(){var r,n,a,s,o;return i.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.field,n=r.api,r.url,a=r.options,s=r.list,o=[],!a){t.next=6;break}o=a,t.next=14;break;case 6:if(!s){t.next=10;break}o=s.map(function(e){return{label:e,value:e}}),t.next=14;break;case 10:if(!n){t.next=14;break}return t.next=13,n();case 13:o=t.sent;case 14:return t.abrupt("return",o);case 15:case"end":return t.stop()}},t,e)}))()}}},c={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("el-select",e._g(e._b({staticClass:"emq-select",attrs:{value:e.rawValue}},"el-select",e.$attrs,!1),e.$listeners),[e._t("default",e._l(e.options,function(t,n){return r("el-option",{key:n,attrs:{value:t[e.fieldName.value],label:t[e.fieldName.label],disabled:e.isDisabled(t)}},[e._t("option",null,{item:t})],2)}))],2)},staticRenderFns:[]},l=r("VU/8")(o,c,!1,null,null,null);t.a=l.exports},"G5A+":function(e,t){},HhN8:function(e,t){!function(t){"use strict";var r,n=Object.prototype,i=n.hasOwnProperty,a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",c=a.toStringTag||"@@toStringTag",l="object"==typeof e,u=t.regeneratorRuntime;if(u)l&&(e.exports=u);else{(u=t.regeneratorRuntime=l?e.exports:{}).wrap=_;var p="suspendedStart",h="suspendedYield",d="executing",f="completed",y={},v={};v[s]=function(){return this};var m=Object.getPrototypeOf,b=m&&m(m(C([])));b&&b!==n&&i.call(b,s)&&(v=b);var g=w.prototype=E.prototype=Object.create(v);x.prototype=g.constructor=w,w.constructor=x,w[c]=x.displayName="GeneratorFunction",u.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===x||"GeneratorFunction"===(t.displayName||t.name))},u.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,w):(e.__proto__=w,c in e||(e[c]="GeneratorFunction")),e.prototype=Object.create(g),e},u.awrap=function(e){return{__await:e}},O($.prototype),$.prototype[o]=function(){return this},u.AsyncIterator=$,u.async=function(e,t,r,n){var i=new $(_(e,t,r,n));return u.isGeneratorFunction(t)?i:i.next().then(function(e){return e.done?e.value:i.next()})},O(g),g[c]="Generator",g[s]=function(){return this},g.toString=function(){return"[object Generator]"},u.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},u.values=C,I.prototype={constructor:I,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=r,this.done=!1,this.delegate=null,this.method="next",this.arg=r,this.tryEntries.forEach(R),!e)for(var t in this)"t"===t.charAt(0)&&i.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=r)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(n,i){return o.type="throw",o.arg=e,t.next=n,i&&(t.method="next",t.arg=r),!!i}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],o=s.completion;if("root"===s.tryLoc)return n("end");if(s.tryLoc<=this.prev){var c=i.call(s,"catchLoc"),l=i.call(s,"finallyLoc");if(c&&l){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),R(r),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;R(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:C(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=r),y}}}function _(e,t,r,n){var i=t&&t.prototype instanceof E?t:E,a=Object.create(i.prototype),s=new I(n||[]);return a._invoke=function(e,t,r){var n=p;return function(i,a){if(n===d)throw new Error("Generator is already running");if(n===f){if("throw"===i)throw a;return A()}for(r.method=i,r.arg=a;;){var s=r.delegate;if(s){var o=S(s,r);if(o){if(o===y)continue;return o}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===p)throw n=f,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=d;var c=k(e,t,r);if("normal"===c.type){if(n=r.done?f:h,c.arg===y)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n=f,r.method="throw",r.arg=c.arg)}}}(e,r,s),a}function k(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}function E(){}function x(){}function w(){}function O(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function $(e){var t;this._invoke=function(r,n){function a(){return new Promise(function(t,a){!function t(r,n,a,s){var o=k(e[r],e,n);if("throw"!==o.type){var c=o.arg,l=c.value;return l&&"object"==typeof l&&i.call(l,"__await")?Promise.resolve(l.__await).then(function(e){t("next",e,a,s)},function(e){t("throw",e,a,s)}):Promise.resolve(l).then(function(e){c.value=e,a(c)},s)}s(o.arg)}(r,n,t,a)})}return t=t?t.then(a,a):a()}}function S(e,t){var n=e.iterator[t.method];if(n===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=r,S(e,t),"throw"===t.method))return y;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return y}var i=k(n,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,y;var a=i.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=r),t.delegate=null,y):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,y)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function R(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function I(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function C(e){if(e){var t=e[s];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,a=function t(){for(;++n0&&void 0!==arguments[0]?arguments[0]:{};var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";var n=[];var i="";var a=c()({},r,{});var o={};s()(t).forEach(function(t){var s=h()(t,2),c=s[0],l=s[1];if("$resource"!==c){var p=l.format,d=l.enum,f=l.input,y=l.order,v=l.items,m=l.title,b=l.type,g=l.description,_=l.default;"object"===(void 0===m?"undefined":u()(m))&&(m=m[E]),"object"===(void 0===g?"undefined":u()(g))&&(g=g[E]);var k=_||"";w.includes(p)&&(k={url:"http://"}[p]);var x={placeholder:k=k.toString()};if((d||"boolean"===b)&&(b="emq-select",x.field=d?{options:d.map(function(e){return{value:e,label:e}})}:{options:[{label:!0,value:!0},{label:!1,value:!1}]}),"object"!==b||_||(_={}),"array"===b&&"object"===v.type){var $=v.schema;o=e($,"config"),_.length||(_=[])}"textarea"===f&&(x.type="textarea",x.rows=5),n.push({key:c,type:b,label:m||c,prop:c,defaultValue:_,$attrs:x,description:(g||"").replace(/\n/g,"
    "),order:y,oneObjOfArray:o}),r?a[r][c]=O(t):a[c]=O(t)}else i="string"});n=n.sort(function(e,t){return e.order-t.order});return{model:n,rules:a,resource:i}},t.b=function(e){if("zh"===E)return _[e];return k[e]},t.d=function(e,t,r){return new i.a(function(n,i){try{var a=e.filter(function(e){if(e[t]){var n=e[t].toLowerCase().replace(/\s+/g,""),i=r.toLocaleLowerCase().replace(/\s+/g,"");return n.match(i)}return null});return n(a)}catch(e){return i(e)}})},t.g=function(e){var t=e.replace(/\"/g,""),r=null;return["message.publish","message.deliver","message.acked","message.dropped","client.connected","client.disconnected","client.subscribe","client.unsubscribe"].forEach(function(e){var n=e.split("."),i=h()(n,2),a=i[0],s=i[1],o=new RegExp(a+"\\."+s,"gim");t.match(o)&&(r=t.match(o))}),r},t.f=function(e,t){var r={"message.publish":"","message.deliver":"$events/message_delivered","message.acked":"$events/message_acked","message.dropped":"$events/message_dropped","client.connected":"$events/client_connected","client.disconnected":"$events/client_disconnected","client.subscribe":"$events/session_subscribed","client.unsubscribe":"$events/session_unsubscribed"}[t],n=e.replace(/\"/g,""),i=m.a.parse(n);""===r&&(i.value.where=null,r="#");return i.value.from.value[0].value.value.value='"'+r+'"',m.a.stringify(i)},t.a=function(e,t){var r=(t-e)%864e5,n=Math.floor(r/36e5),i=r%36e5,a=Math.floor(i/6e4),s=i%6e4,o=Math.round(s/1e3);return n+":"+a+":"+o},r.d(t,"h",function(){return S});var E=window.localStorage.language||window.EMQX_DASHBOARD_CONFIG.lang||"en",x={is_required:{en:"is required",zh:"必填"}},w=["string","number","boolean","method","regexp","integer","float","array","object","enum","date","url","hex","email"];function O(e){var t=h()(e,2),r=t[0],n=t[1],i=(n.type,n.format,n.required),a=(n.enum,n.title);"object"===(void 0===a?"undefined":u()(a))&&(a=a[E]);var s={};i&&(s.required=!0,s.message=(a||r)+" "+x.is_required[E])}function $(e,t){var r=new y.a(t.target,{text:function(){return e}});r.on("success",function(){d.default.prototype.$message({message:d.default.prototype.$t("oper.copySuccess"),type:"success",duration:1500}),r.destroy()}),r.on("error",function(){d.default.prototype.$message({message:d.default.prototype.$t("oper.copyFailed"),type:"error"}),r.destroy()}),r.onClick(t)}var S=function(e,t,r){t?t.length>64?r(new Error(d.default.prototype.$t("rule.id_len_tip"))):/^[0-9a-zA-Z_:]{1,64}$/.test(t)?r():r(new Error(d.default.prototype.$t("rule.id_char_tip"))):r(new Error("ID "+d.default.prototype.$t("rule.is_required")))}},SHGx:function(e,t,r){"use strict";var n=r("pFYg"),i=r.n(n),a=r("fZjL"),s=r.n(a),o=r("Dd8w"),c=r.n(o),l=r("FcGO"),u=r("d7EF"),p=r.n(u),h=r("W3Iv"),d=r.n(h),f=r("woOf"),y=r.n(f),v={name:"ArrayEditor",components:{EmqSelect:l.a},model:{prop:"value",event:"update"},props:{value:{type:Array,required:!0},notNull:{type:Boolean,default:!1},data:{type:Object,required:!0}},data:function(){return{tableData:[],headers:[],oneRow:{},defaultConfig:{}}},created:function(){this.initData()},methods:{assignValue:function(){var e=this;if(this.value.length){for(var t=0;t0&&void 0!==arguments[0])||arguments[0];this.$refs.record.validate(function(r){if(r){var n=e.record.config;s()(n).forEach(function(t){var r=n[t];"true"===r&&(e.record.config[t]=!0),"false"===r&&(e.record.config[t]=!1)});var i=t?"/resources":"/resources?test=true";e.$httpPost(i,e.record).then(function(r){t?(e.$message.success(e.$t("rule.create_success")),e.dialogVisible=!1,e.$emit("confirm",r.data)):e.$message.success(e.$t("rule.conf_test_success"))}).catch(function(){})}})},handleTypeChange:function(e){this.paramsList=[],this.resourceRules={};var t=this.resourceTypes.find(function(t){return t.name===e});if(t){var r=Object(g.e)(t.params,"config"),n=r.model,i=r.rules;this.resourceRules=i,this.paramsList=n,this.initRecord(),setTimeout(this.clearTabIndex,500)}},initRecord:function(){var e=this;0===this.paramsList.length?this.$set(this.record,"config",void 0):this.record.config||this.$set(this.record,"config",{}),this.$set(this.record,"config",{}),this.paramsList.forEach(function(t){e.$set(e.record.config,t.key,t.defaultValue)}),setTimeout(function(){e.$refs.record.clearValidate()},30)},loadResourceTypes:function(){var e=this;this.$httpGet("/resource_types").then(function(t){e.record={type:"",config:{},description:"",id:"resource:"+Math.random().toString().slice(3,9)},e.resourceType&&(e.record.type=e.resourceType),e.resourceTypes=t.data.map(function(e){return e.titleLabel="object"===i()(e.title)?e.title[_]:e.title,e}),e.handleTypeChange(e.record.type),setTimeout(function(){e.$refs.record.clearValidate()},30)})}}},E={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("el-dialog",e._b({staticClass:"resource-dialog",attrs:{width:"700px",visible:e.dialogVisible,title:e.$t("rule.resource_mgmt")},on:{"update:visible":function(t){e.dialogVisible=t},close:e.close,open:e.loadResourceTypes}},"el-dialog",e.$attrs,!1),[r("el-form",{ref:"record",staticClass:"el-form--public",attrs:{model:e.record,rules:e.rules}},[r("el-row",{attrs:{gutter:20}},[r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{prop:"type",label:e.$t("rule.resource_type")}},[r("el-select",{staticClass:"el-select--public",staticStyle:{width:"100%"},attrs:{"popper-class":"el-select--public",disabled:!!e.resourceType},on:{change:e.handleTypeChange},model:{value:e.record.type,callback:function(t){e.$set(e.record,"type",t)},expression:"record.type"}},e._l(e.resourceTypes,function(t,n){return r("div",{key:n},[0===e.enableItem.length||e.enableItem.includes(t.name)?r("el-option",{attrs:{label:t.titleLabel,value:t.name}}):e._e()],1)}),0)],1)],1),e._v(" "),r("el-col",{attrs:{span:12}},[r("el-form-item",[r("template",{slot:"label"},[e._v(" ")]),e._v(" "),r("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.handleCreate(!1)}}},[e._v("\n "+e._s(e.$t("rule.conf_test"))+"\n ")])],2)],1),e._v(" "),e.record.type?[r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{prop:"id",label:e.$t("rule.resource_id")}},[r("el-input",{model:{value:e.record.id,callback:function(t){e.$set(e.record,"id",t)},expression:"record.id"}})],1)],1),e._v(" "),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{prop:"description",label:e.$t("rule.resource_des")}},[r("el-input",{attrs:{type:"textarea"},model:{value:e.record.description,callback:function(t){e.$set(e.record,"description",t)},expression:"record.description"}})],1)],1),e._v(" "),e._l(e.paramsList,function(t,n){return r("el-col",{key:n,attrs:{span:"object"===t.type||"array"===t.type||"textarea"===t.$attrs.type?24:12}},[r("el-form-item",{attrs:{prop:"config."+t.prop}},[r("template",{slot:"label"},[e._v("\n "+e._s(t.label)+"\n\n "),t.description?r("el-popover",{attrs:{placement:"right",width:"200",trigger:"hover"}},[r("div",{domProps:{innerHTML:e._s(t.description)}}),e._v(" "),r("span",{staticClass:"el-icon-question",attrs:{slot:"reference",tabindex:"-1"},slot:"reference"})]):e._e()],1),e._v(" "),"object"===t.type?r("data-table",{model:{value:e.record.config[t.key],callback:function(r){e.$set(e.record.config,t.key,r)},expression:"record.config[item.key]"}}):"array"===t.type?[r("array-editor",{attrs:{data:t.oneObjOfArray},model:{value:e.record.config[t.key],callback:function(r){e.$set(e.record.config,t.key,r)},expression:"record.config[item.key]"}})]:"emq-select"===t.type?r("emq-select",e._b({staticClass:"el-select--public",attrs:{"popper-class":"el-select--public"},model:{value:e.record.config[t.key],callback:function(r){e.$set(e.record.config,t.key,r)},expression:"record.config[item.key]"}},"emq-select",t.$attrs,!1)):"number"===t.type?r("el-input",e._b({attrs:{type:"number"},model:{value:e.record.config[t.key],callback:function(r){e.$set(e.record.config,t.key,e._n(r))},expression:"record.config[item.key]"}},"el-input",t.$attrs,!1)):r("el-input",e._b({model:{value:e.record.config[t.key],callback:function(r){e.$set(e.record.config,t.key,r)},expression:"record.config[item.key]"}},"el-input",t.$attrs,!1))],2)],1)})]:e._e()],2)],1),e._v(" "),r("div",{attrs:{slot:"footer"},slot:"footer"},[r("el-button",{staticClass:"cache-btn",attrs:{type:"text"},on:{click:function(t){e.dialogVisible=!1}}},[e._v("\n "+e._s(e.$t("rule.cancel"))+"\n ")]),e._v(" "),r("el-button",{staticClass:"confirm-btn",attrs:{type:"success"},on:{click:e.handleCreate}},[e._v("\n "+e._s(e.$t("rule.create"))+"\n ")])],1)],1)},staticRenderFns:[]};var x=r("VU/8")(k,E,!1,function(e){r("G5A+")},null,null);t.a=x.exports},TQvf:function(e,t,r){ +/*! + * clipboard.js v2.0.6 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +var n;n=function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=6)}([function(e,t){e.exports=function(e){var t;if("SELECT"===e.nodeName)e.focus(),t=e.value;else if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName){var r=e.hasAttribute("readonly");r||e.setAttribute("readonly",""),e.select(),e.setSelectionRange(0,e.value.length),r||e.removeAttribute("readonly"),t=e.value}else{e.hasAttribute("contenteditable")&&e.focus();var n=window.getSelection(),i=document.createRange();i.selectNodeContents(e),n.removeAllRanges(),n.addRange(i),t=n.toString()}return t}},function(e,t){function r(){}r.prototype={on:function(e,t,r){var n=this.e||(this.e={});return(n[e]||(n[e]=[])).push({fn:t,ctx:r}),this},once:function(e,t,r){var n=this;function i(){n.off(e,i),t.apply(r,arguments)}return i._=t,this.on(e,i,r)},emit:function(e){for(var t=[].slice.call(arguments,1),r=((this.e||(this.e={}))[e]||[]).slice(),n=0,i=r.length;n0&&void 0!==arguments[0]?arguments[0]:{};this.action=e.action,this.container=e.container,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var e=this,t="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return e.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[t?"right":"left"]="-9999px";var r=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=r+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=i()(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=i()(this.target),this.copyText()}},{key:"copyText",value:function(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function(e){this.emitter.emit(e?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),document.activeElement.blur(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(e){if(void 0!==e){if(!e||"object"!==(void 0===e?"undefined":a(e))||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=e}},get:function(){return this._target}}]),e}(),c=r(1),l=r.n(c),u=r(2),p=r.n(u),h="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},d=function(){function e(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText,this.container="object"===h(e.container)?e.container:document.body}},{key:"listenClick",value:function(e){var t=this;this.listener=p()(e,"click",function(e){return t.onClick(e)})}},{key:"onClick",value:function(e){var t=e.delegateTarget||e.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new o({action:this.action(t),target:this.target(t),text:this.text(t),container:this.container,trigger:t,emitter:this})}},{key:"defaultAction",value:function(e){return y("action",e)}},{key:"defaultTarget",value:function(e){var t=y("target",e);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(e){return y("text",e)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof e?[e]:e,r=!!document.queryCommandSupported;return t.forEach(function(e){r=r&&!!document.queryCommandSupported(e)}),r}}]),t}();function y(e,t){var r="data-clipboard-"+e;if(t.hasAttribute(r))return t.getAttribute(r)}t.default=f}]).default},e.exports=n()},Xxa5:function(e,t,r){e.exports=r("1H6C")},cMrt:function(e,t){e.exports={en:{emqx_auth_clientid:"https://docs.emqx.io/broker/v4.1/en/advanced/auth-clientid.html",emqx_auth_username:"https://docs.emqx.io/broker/v4.1/en/advanced/auth-username.html",emqx_auth_http:"https://docs.emqx.io/broker/v4.1/en/advanced/auth-http.html",emqx_auth_jwt:"https://docs.emqx.io/broker/v4.1/en/advanced/auth-jwt.html",emqx_auth_ldap:"https://docs.emqx.io/broker/v4.1/en/advanced/auth-ldap.html",emqx_auth_mnesia:"https://docs.emqx.io/broker/v4.1/en/advanced/auth-mnesia.html",emqx_auth_mongo:"https://docs.emqx.io/broker/v4.1/en/advanced/auth-mongodb.html",emqx_auth_mysql:"https://docs.emqx.io/broker/v4.1/en/advanced/auth-mysql.html",emqx_auth_pgsql:"https://docs.emqx.io/broker/v4.1/en/advanced/auth-postgresql.html",emqx_auth_redis:"https://docs.emqx.io/broker/v4.1/en/advanced/auth-redis.html",emqx_dashboard:"https://docs.emqx.io/broker/v4.1/en/getting-started/dashboard.html",emqx_extension_hook:"https://docs.emqx.io/broker/v4.1/en/advanced/multiple-language-support.html",emqx_rule_engine:"https://docs.emqx.io/broker/v4.1/en/rule/rule-engine.html"},zh:{emqx_auth_clientid:"https://docs.emqx.io/broker/v4.1/cn/advanced/auth-clientid.html",emqx_auth_username:"https://docs.emqx.io/broker/v4.1/cn/advanced/auth-username.html",emqx_auth_http:"https://docs.emqx.io/broker/v4.1/cn/advanced/auth-http.html",emqx_auth_jwt:"https://docs.emqx.io/broker/v4.1/cn/advanced/auth-jwt.html",emqx_auth_ldap:"https://docs.emqx.io/broker/v4.1/cn/advanced/auth-ldap.html",emqx_auth_mnesia:"https://docs.emqx.io/broker/v4.1/cn/advanced/auth-mnesia.html",emqx_auth_mongo:"https://docs.emqx.io/broker/v4.1/cn/advanced/auth-mongodb.html",emqx_auth_mysql:"https://docs.emqx.io/broker/v4.1/cn/advanced/auth-mysql.html",emqx_auth_pgsql:"https://docs.emqx.io/broker/v4.1/cn/advanced/auth-postgresql.html",emqx_auth_redis:"https://docs.emqx.io/broker/v4.1/cn/advanced/auth-redis.html",emqx_dashboard:"https://docs.emqx.io/broker/v4.1/cn/getting-started/dashboard.html",emqx_extension_hook:"https://docs.emqx.io/broker/v4.1/cn/advanced/multiple-language-support.html",emqx_rule_engine:"https://docs.emqx.io/broker/v4.1/cn/rule/rule-engine.html"}}},dmxg:function(e,t,r){var n,i=function(){var e=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},t=[1,8],r=[1,4],n=[2,4],i=[1,11],a=[1,10],s=[2,16],o=[1,14],c=[1,15],l=[1,16],u=[6,8],p=[2,144],h=[1,19],d=[1,20],f=[16,33,35,36,37,38,39,40,41,42,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],y=[16,18,32,33,35,36,37,38,39,40,41,42,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],v=[2,158],m=[1,29],b=[6,8,14,17,146,150,152,154],g=[1,42],_=[1,60],k=[1,51],E=[1,58],x=[1,59],w=[1,61],O=[1,62],$=[1,63],S=[1,64],T=[1,65],R=[1,57],I=[1,52],C=[1,53],A=[1,54],L=[1,55],N=[1,56],q=[1,43],F=[1,44],K=[1,45],P=[1,34],D=[16,35,36,37,38,39,40,41,42,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],j=[6,8,14,17,150,152,154],B=[2,141],U=[1,74],H=[1,75],M=[6,8,14,17,43,133,138,144,146,150,152,154],G=[1,80],V=[1,77],Q=[1,78],W=[1,79],X=[1,81],J=[6,8,14,17,36,43,49,50,71,72,74,77,89,107,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],z=[6,8,14,17,34,36,43,49,50,71,72,74,77,89,107,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],Y=[1,102],Z=[1,100],ee=[1,101],te=[1,96],re=[1,97],ne=[1,98],ie=[1,99],ae=[1,103],se=[1,104],oe=[1,105],ce=[1,106],le=[1,107],ue=[1,108],pe=[2,101],he=[6,8,14,17,34,36,43,45,49,50,71,72,74,77,79,81,89,91,92,93,94,95,96,97,98,99,101,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],de=[6,8,14,17,34,36,43,45,49,50,71,72,74,77,79,81,89,91,92,93,94,95,96,97,98,99,101,103,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],fe=[1,109],ye=[1,116],ve=[2,62],me=[1,117],be=[16,35,37,38,39,40,41,42,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],ge=[16,29,35,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,119],_e=[1,163],ke=[17,43],Ee=[2,57],xe=[1,172],we=[1,170],Oe=[1,171],$e=[6,8,138,146],Se=[16,35,38,39,40,41,42,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],Te=[6,8,14,17,138,144,146,150,152,154],Re=[6,8,14,17,36,43,49,50,71,72,74,77,89,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],Ie=[6,8,14,17,34,36,43,49,50,71,72,74,77,89,91,92,93,94,99,101,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],Ce=[6,8,14,17,34,36,43,49,50,71,72,74,77,79,81,89,91,92,93,94,99,101,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],Ae=[16,35,39,40,41,42,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],Le=[16,35,40,41,42,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],Ne=[16,35,42,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],qe=[71,74,77],Fe=[16,35,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],Ke=[1,232],Pe=[1,233],De=[6,8,14,17],je=[6,8,14,17,43,157],Be=[1,249],Ue=[1,245],He=[2,195],Me=[1,252],Ge=[1,253],Ve=[6,8,14,17,43,129,135,138,144,146,150,152,154,182],Qe=[1,255],We=[1,258],Xe=[1,259],Je=[1,260],ze=[1,261],Ye=[2,172],Ze=[1,257],et=[6,8,14,17,36,43,89,129,135,138,144,146,150,152,154,164,165,167,168,173,177,179,180,182],tt=[6,8,14,17,135,138,144,146,150,152,154],rt=[1,273],nt=[2,177],it=[170,173],at=[6,8,14,17,36,43,89,129,135,138,144,146,150,152,154,164,165,167,168,173,177,179,180,182,192,193,194],st=[2,197],ot=[1,278],ct=[1,290],lt=[1,298],ut=[1,299],pt=[1,300],ht=[6,8,14,17,138,146,150,152,154],dt=[1,310],ft=[1,316],yt=[1,317],vt=[2,202],mt=[1,328],bt=[16,152],gt=[6,8,14,17,152,154],_t=[1,344],kt={trace:function(){},yy:{},symbols_:{error:2,main:3,selectClause:4,semicolonOpt:5,EOF:6,unionClause:7,";":8,unionClauseNotParenthesized:9,unionClauseParenthesized:10,order_by_opt:11,limit_opt:12,selectClauseParenthesized:13,UNION:14,distinctOpt:15,"(":16,")":17,SELECT:18,highPriorityOpt:19,maxStateMentTimeOpt:20,straightJoinOpt:21,sqlSmallResultOpt:22,sqlBigResultOpt:23,sqlBufferResultOpt:24,sqlCacheOpt:25,sqlCalcFoundRowsOpt:26,selectExprList:27,selectDataSetOpt:28,ALL:29,DISTINCT:30,DISTINCTROW:31,HIGH_PRIORITY:32,MAX_STATEMENT_TIME:33,"=":34,NUMERIC:35,STRAIGHT_JOIN:36,SQL_SMALL_RESULT:37,SQL_BIG_RESULT:38,SQL_BUFFER_RESULT:39,SQL_CACHE:40,SQL_NO_CACHE:41,SQL_CALC_FOUND_ROWS:42,",":43,selectExpr:44,"*":45,SELECT_EXPR_STAR:46,expr:47,selectExprAliasOpt:48,AS:49,IDENTIFIER:50,string:51,QUOTED_IDENTIFIER:52,STRING:53,number:54,EXPONENT_NUMERIC:55,HEX_NUMERIC:56,boolean:57,TRUE:58,FALSE:59,null:60,NULL:61,literal:62,function_call:63,function_call_param_list:64,function_call_param:65,identifier:66,DOT:67,identifier_list:68,case_expr_opt:69,when_then_list:70,WHEN:71,THEN:72,case_when_else:73,ELSE:74,case_when:75,CASE:76,END:77,simple_expr_prefix:78,"+":79,simple_expr:80,"-":81,"~":82,"!":83,BINARY:84,expr_list:85,ROW:86,EXISTS:87,"{":88,"}":89,bit_expr:90,"|":91,"&":92,"<<":93,">>":94,"/":95,DIV:96,MOD:97,"%":98,"^":99,not_opt:100,NOT:101,escape_opt:102,ESCAPE:103,predicate:104,IN:105,BETWEEN:106,AND:107,SOUNDS:108,LIKE:109,REGEXP:110,comparison_operator:111,">=":112,">":113,"<=":114,"<":115,"<>":116,"!=":117,sub_query_data_set_opt:118,ANY:119,boolean_primary:120,IS:121,boolean_extra:122,UNKNOWN:123,"&&":124,"||":125,OR:126,XOR:127,where_opt:128,WHERE:129,group_by_opt:130,group_by:131,roll_up_opt:132,WITH:133,ROLLUP:134,GROUP_BY:135,group_by_order_by_item_list:136,order_by:137,ORDER_BY:138,group_by_order_by_item:139,sort_opt:140,ASC:141,DESC:142,having_opt:143,HAVING:144,limit:145,LIMIT:146,OFFSET:147,procedure_opt:148,procedure:149,PROCEDURE:150,for_update_lock_in_share_mode_opt:151,FOR:152,UPDATE:153,LOCK:154,SHARE:155,MODE:156,FROM:157,table_references:158,partitionOpt:159,escaped_table_reference:160,table_reference:161,OJ:162,join_inner_cross:163,INNER:164,CROSS:165,left_right:166,LEFT:167,RIGHT:168,out_opt:169,OUTER:170,left_right_out_opt:171,join_table:172,JOIN:173,table_factor:174,join_condition:175,on_join_condition:176,NATURAL:177,join_condition_opt:178,ON:179,USING:180,partition_names:181,PARTITION:182,aliasOpt:183,index_or_key:184,INDEX:185,KEY:186,for_opt:187,identifier_list_opt:188,index_hint_list_opt:189,index_hint_list:190,index_hint:191,USE:192,IGNORE:193,FORCE:194,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:";",14:"UNION",16:"(",17:")",18:"SELECT",29:"ALL",30:"DISTINCT",31:"DISTINCTROW",32:"HIGH_PRIORITY",33:"MAX_STATEMENT_TIME",34:"=",35:"NUMERIC",36:"STRAIGHT_JOIN",37:"SQL_SMALL_RESULT",38:"SQL_BIG_RESULT",39:"SQL_BUFFER_RESULT",40:"SQL_CACHE",41:"SQL_NO_CACHE",42:"SQL_CALC_FOUND_ROWS",43:",",45:"*",46:"SELECT_EXPR_STAR",49:"AS",50:"IDENTIFIER",52:"QUOTED_IDENTIFIER",53:"STRING",55:"EXPONENT_NUMERIC",56:"HEX_NUMERIC",58:"TRUE",59:"FALSE",61:"NULL",67:"DOT",71:"WHEN",72:"THEN",74:"ELSE",76:"CASE",77:"END",79:"+",81:"-",82:"~",83:"!",84:"BINARY",86:"ROW",87:"EXISTS",88:"{",89:"}",91:"|",92:"&",93:"<<",94:">>",95:"/",96:"DIV",97:"MOD",98:"%",99:"^",101:"NOT",103:"ESCAPE",105:"IN",106:"BETWEEN",107:"AND",108:"SOUNDS",109:"LIKE",110:"REGEXP",112:">=",113:">",114:"<=",115:"<",116:"<>",117:"!=",119:"ANY",121:"IS",123:"UNKNOWN",124:"&&",125:"||",126:"OR",127:"XOR",129:"WHERE",133:"WITH",134:"ROLLUP",135:"GROUP_BY",138:"ORDER_BY",141:"ASC",142:"DESC",144:"HAVING",146:"LIMIT",147:"OFFSET",150:"PROCEDURE",152:"FOR",153:"UPDATE",154:"LOCK",155:"SHARE",156:"MODE",157:"FROM",162:"OJ",164:"INNER",165:"CROSS",167:"LEFT",168:"RIGHT",170:"OUTER",173:"JOIN",177:"NATURAL",179:"ON",180:"USING",182:"PARTITION",185:"INDEX",186:"KEY",192:"USE",193:"IGNORE",194:"FORCE"},productions_:[0,[3,3],[3,3],[5,1],[5,0],[7,1],[7,3],[10,4],[10,4],[13,3],[9,4],[9,4],[4,12],[15,1],[15,1],[15,1],[15,0],[19,1],[19,0],[20,3],[20,0],[21,1],[21,0],[22,1],[22,0],[23,1],[23,0],[24,1],[24,0],[25,0],[25,1],[25,1],[26,1],[26,0],[27,3],[27,1],[44,1],[44,1],[44,2],[48,0],[48,2],[48,1],[51,1],[51,1],[54,1],[54,1],[54,1],[57,1],[57,1],[60,1],[62,1],[62,1],[62,1],[62,1],[63,4],[64,3],[64,1],[65,0],[65,1],[65,1],[65,2],[65,1],[66,1],[66,3],[68,1],[68,3],[69,0],[69,1],[70,4],[70,5],[73,0],[73,2],[75,5],[78,2],[78,2],[78,2],[78,2],[78,2],[80,1],[80,1],[80,1],[80,1],[80,3],[80,4],[80,3],[80,4],[80,4],[80,1],[90,1],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[100,0],[100,1],[102,0],[102,2],[104,1],[104,6],[104,6],[104,6],[104,4],[104,5],[104,4],[111,1],[111,1],[111,1],[111,1],[111,1],[111,1],[111,1],[118,1],[118,1],[120,1],[120,4],[120,3],[120,6],[122,1],[122,1],[47,1],[47,4],[47,2],[47,3],[47,3],[47,3],[47,3],[47,3],[85,1],[85,3],[128,0],[128,2],[130,0],[130,1],[132,0],[132,2],[131,3],[11,0],[11,1],[137,3],[136,1],[136,3],[139,2],[140,0],[140,1],[140,1],[143,0],[143,2],[145,2],[145,4],[145,4],[12,0],[12,1],[148,0],[148,1],[149,2],[151,0],[151,2],[151,4],[28,0],[28,10],[158,1],[158,3],[160,1],[160,4],[163,0],[163,1],[163,1],[166,1],[166,1],[169,0],[169,1],[171,0],[171,2],[172,4],[172,5],[172,4],[172,6],[172,5],[178,0],[178,1],[176,2],[175,1],[175,4],[161,1],[161,1],[181,1],[181,3],[159,0],[159,4],[183,0],[183,2],[183,1],[184,1],[184,1],[187,0],[187,2],[187,2],[187,2],[188,0],[188,1],[189,0],[189,1],[190,1],[190,3],[191,6],[191,6],[191,6],[174,4],[174,4],[174,3]],performAction:function(e,t,r,n,i,a,s){var o=a.length-1;switch(i){case 1:case 2:return{nodeType:"Main",value:a[o-2],hasSemicolon:a[o-1]};case 3:case 142:this.$=!0;break;case 4:this.$=!1;break;case 5:case 13:case 14:case 15:case 17:case 19:case 21:case 23:case 25:case 27:case 30:case 31:case 32:case 50:case 51:case 52:case 53:case 58:case 59:case 61:case 67:case 71:case 78:case 79:case 80:case 81:case 87:case 88:case 102:case 104:case 105:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 125:case 127:case 138:case 140:case 145:case 151:case 152:case 154:case 159:case 161:case 162:case 173:case 174:case 175:case 176:case 178:case 187:case 189:case 191:case 192:case 200:case 201:case 207:case 209:this.$=a[o];break;case 6:this.$=a[o-2],this.$.orderBy=a[o-1],this.$.limit=a[o];break;case 7:case 8:this.$={type:"Union",left:a[o-3],distinctOpt:a[o-1],right:a[o]};break;case 9:this.$={type:"SelectParenthesized",value:a[o-1]};break;case 10:case 11:this.$={type:"Union",left:a[o-3],distinctOpt:a[o-1],right:a[o]};break;case 12:this.$={type:"Select",distinctOpt:a[o-10],highPriorityOpt:a[o-9],maxStateMentTimeOpt:a[o-8],straightJoinOpt:a[o-7],sqlSmallResultOpt:a[o-6],sqlBigResultOpt:a[o-5],sqlBufferResultOpt:a[o-4],sqlCacheOpt:a[o-3],sqlCalcFoundRowsOpt:a[o-2],selectItems:a[o-1],from:a[o].from,partition:a[o].partition,where:a[o].where,groupBy:a[o].groupBy,having:a[o].having,orderBy:a[o].orderBy,limit:a[o].limit,procedure:a[o].procedure,updateLockMode:a[o].updateLockMode};break;case 16:case 18:case 20:case 22:case 24:case 26:case 28:case 29:case 33:case 57:case 66:case 70:case 101:case 103:case 137:case 139:case 141:case 144:case 150:case 153:case 158:case 160:case 163:case 172:case 177:case 186:case 195:case 202:case 206:case 208:this.$=null;break;case 34:a[o-2].value.push(a[o]);break;case 35:this.$={type:"SelectExpr",value:[a[o]]};break;case 36:case 37:case 62:this.$={type:"Identifier",value:a[o]};break;case 38:this.$=a[o-1],this.$.alias=a[o].alias,this.$.hasAs=a[o].hasAs;break;case 39:case 197:this.$={alias:null,hasAs:null};break;case 40:this.$={alias:a[o],hasAs:!0};break;case 41:this.$={alias:a[o],hasAs:!1};break;case 42:case 43:this.$={type:"String",value:a[o]};break;case 44:case 45:case 46:this.$={type:"Number",value:a[o]};break;case 47:this.$={type:"Boolean",value:"TRUE"};break;case 48:this.$={type:"Boolean",value:"FALSE"};break;case 49:this.$={type:"Null",value:"null"};break;case 54:this.$={type:"FunctionCall",name:a[o-3],params:a[o-1]};break;case 55:a[o-2].push(a[o]),this.$=a[o-2];break;case 56:this.$=[a[o]];break;case 60:this.$={type:"FunctionCallParam",distinctOpt:a[o-1],value:a[o]};break;case 63:this.$=a[o-2],a[o-2].value+="."+a[o];break;case 64:this.$={type:"IdentifierList",value:[a[o]]};break;case 65:case 169:this.$=a[o-2],a[o-2].value.push(a[o]);break;case 68:this.$={type:"WhenThenList",value:[{when:a[o-2],then:a[o]}]};break;case 69:this.$=a[o-4],this.$.value.push({when:a[o-2],then:a[o]});break;case 72:this.$={type:"CaseWhen",caseExprOpt:a[o-3],whenThenList:a[o-2],else:a[o-1]};break;case 73:case 74:case 75:case 76:case 77:this.$={type:"Prefix",prefix:a[o-1],value:a[o]};break;case 82:this.$={type:"SimpleExprParentheses",value:a[o-1]};break;case 83:this.$={type:"SimpleExprParentheses",value:a[o-2],hasRow:!0};break;case 84:this.$={type:"SubQuery",value:a[o-1]};break;case 85:this.$={type:"SubQuery",value:a[o-1],hasExists:!0};break;case 86:this.$={type:"IdentifierExpr",identifier:a[o-2],value:a[o-1]};break;case 89:this.$={type:"BitExpression",operator:"|",left:a[o-2],right:a[o]};break;case 90:this.$={type:"BitExpression",operator:"&",left:a[o-2],right:a[o]};break;case 91:this.$={type:"BitExpression",operator:"<<",left:a[o-2],right:a[o]};break;case 92:this.$={type:"BitExpression",operator:">>",left:a[o-2],right:a[o]};break;case 93:this.$={type:"BitExpression",operator:"+",left:a[o-2],right:a[o]};break;case 94:this.$={type:"BitExpression",operator:"-",left:a[o-2],right:a[o]};break;case 95:this.$={type:"BitExpression",operator:"*",left:a[o-2],right:a[o]};break;case 96:this.$={type:"BitExpression",operator:"/",left:a[o-2],right:a[o]};break;case 97:this.$={type:"BitExpression",operator:"DIV",left:a[o-2],right:a[o]};break;case 98:this.$={type:"BitExpression",operator:"MOD",left:a[o-2],right:a[o]};break;case 99:this.$={type:"BitExpression",operator:"%",left:a[o-2],right:a[o]};break;case 100:this.$={type:"BitExpression",operator:"^",left:a[o-2],right:a[o]};break;case 106:this.$={type:"InSubQueryPredicate",hasNot:a[o-4],left:a[o-5],right:a[o-1]};break;case 107:this.$={type:"InExpressionListPredicate",hasNot:a[o-4],left:a[o-5],right:a[o-1]};break;case 108:this.$={type:"BetweenPredicate",hasNot:a[o-4],left:a[o-5],right:{left:a[o-2],right:a[o]}};break;case 109:this.$={type:"SoundsLikePredicate",hasNot:!1,left:a[o-3],right:a[o]};break;case 110:this.$={type:"LikePredicate",hasNot:a[o-3],left:a[o-4],right:a[o-1],escape:a[o]};break;case 111:this.$={type:"RegexpPredicate",hasNot:a[o-2],left:a[o-3],right:a[o]};break;case 122:this.$={type:"IsNullBooleanPrimary",hasNot:a[o-1],value:a[o-3]};break;case 123:this.$={type:"ComparisonBooleanPrimary",left:a[o-2],operator:a[o-1],right:a[o]};break;case 124:this.$={type:"ComparisonSubQueryBooleanPrimary",operator:a[o-4],subQueryOpt:a[o-3],left:a[o-5],right:a[o-1]};break;case 126:this.$={type:"BooleanExtra",value:a[o]};break;case 128:this.$={type:"IsExpression",hasNot:a[o-1],left:a[o-3],right:a[o]};break;case 129:this.$={type:"NotExpression",value:a[o]};break;case 130:case 133:this.$={type:"AndExpression",operator:a[o-1],left:a[o-2],right:a[o]};break;case 131:case 132:this.$={type:"OrExpression",operator:a[o-1],left:a[o-2],right:a[o]};break;case 134:this.$={type:"XORExpression",left:a[o-2],right:a[o]};break;case 135:this.$={type:"ExpressionList",value:[a[o]]};break;case 136:case 211:this.$=a[o-2],this.$.value.push(a[o]);break;case 143:this.$={type:"GroupBy",value:a[o-1],rollUp:a[o]};break;case 146:this.$={type:"OrderBy",value:a[o-1],rollUp:a[o]};break;case 147:case 193:this.$=[a[o]];break;case 148:this.$=a[o-2],a[o-2].push(a[o]);break;case 149:this.$={type:"GroupByOrderByItem",value:a[o-1],sortOpt:a[o]};break;case 155:this.$={type:"Limit",value:[a[o]]};break;case 156:this.$={type:"Limit",value:[a[o-2],a[o]]};break;case 157:this.$={type:"Limit",value:[a[o],a[o-2]],offsetMode:!0};break;case 164:this.$=a[o-1]+" "+a[o];break;case 165:this.$=a[o-3]+" "+a[o-2]+" "+a[o-1]+" "+a[o];break;case 166:this.$={};break;case 167:this.$={from:a[o-8],partition:a[o-7],where:a[o-6],groupBy:a[o-5],having:a[o-4],orderBy:a[o-3],limit:a[o-2],procedure:a[o-1],updateLockMode:a[o]};break;case 168:this.$={type:"TableReferences",value:[a[o]]};break;case 170:this.$={type:"TableReference",value:a[o]};break;case 171:this.$={type:"TableReference",hasOj:!0,value:a[o-1]};break;case 179:this.$={leftRight:null,outOpt:null};break;case 180:this.$={leftRight:a[o-1],outOpt:a[o]};break;case 181:this.$={type:"InnerCrossJoinTable",innerCrossOpt:a[o-2],left:a[o-3],right:a[o],condition:null};break;case 182:this.$={type:"InnerCrossJoinTable",innerCrossOpt:a[o-3],left:a[o-4],right:a[o-1],condition:a[o]};break;case 183:this.$={type:"StraightJoinTable",left:a[o-3],right:a[o-1],condition:a[o]};break;case 184:this.$={type:"LeftRightJoinTable",leftRight:a[o-4],outOpt:a[o-3],left:a[o-5],right:a[o-1],condition:a[o]};break;case 185:this.$={type:"NaturalJoinTable",leftRight:a[o-2].leftRight,outOpt:a[o-2].outOpt,left:a[o-4],right:a[o]};break;case 188:this.$={type:"OnJoinCondition",value:a[o]};break;case 190:this.$={type:"UsingJoinCondition",value:a[o-1]};break;case 194:this.$=a[o-2],a[o-2].push(a[o]);break;case 196:this.$={type:"Partitions",value:a[o-1]};break;case 198:this.$={hasAs:!0,alias:a[o]};break;case 199:this.$={hasAs:!1,alias:a[o]};break;case 203:case 204:case 205:this.$={type:"ForOptIndexHint",value:a[o]};break;case 210:this.$={type:"IndexHintList",value:[a[o]]};break;case 212:this.$={type:"UseIndexHint",value:a[o-1],forOpt:a[o-3],indexOrKey:a[o-4]};break;case 213:this.$={type:"IgnoreIndexHint",value:a[o-1],forOpt:a[o-3],indexOrKey:a[o-4]};break;case 214:this.$={type:"ForceIndexHint",value:a[o-1],forOpt:a[o-3],indexOrKey:a[o-4]};break;case 215:this.$={type:"TableFactor",value:a[o-3],partition:a[o-2],alias:a[o-1].alias,hasAs:a[o-1].hasAs,indexHintOpt:a[o]};break;case 216:this.$={type:"SubQuery",value:a[o-2],alias:a[o].alias,hasAs:a[o].hasAs};break;case 217:this.$=a[o-1],this.$.hasParentheses=!0}},table:[{3:1,4:2,7:3,9:5,10:6,13:7,16:t,18:r},{1:[3]},{5:9,6:n,8:i,14:a},{5:12,6:n,8:i},e([16,32,33,35,36,37,38,39,40,41,42,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],s,{15:13,29:o,30:c,31:l}),e(u,[2,5]),e([6,8,146],p,{11:17,137:18,138:h}),{14:d},{4:21,18:r},{6:[1,22]},{15:23,18:s,29:o,30:c,31:l},{6:[2,3]},{6:[1,24]},e(f,[2,18],{19:25,32:[1,26]}),e(y,[2,13]),e(y,[2,14]),e(y,[2,15]),e(u,v,{12:27,145:28,146:m}),e(b,[2,145]),{16:g,35:_,47:32,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33,136:30,139:31},{15:66,16:s,29:o,30:c,31:l},{17:[1,67]},{1:[2,1]},{4:68,9:69,18:r},{1:[2,2]},e(D,[2,20],{20:70,33:[1,71]}),e(f,[2,17]),e(u,[2,6]),e(j,[2,159]),{35:[1,72]},e(b,B,{132:73,43:U,133:H}),e(M,[2,147]),e(M,[2,150],{140:76,107:G,124:V,125:Q,126:W,127:X,141:[1,82],142:[1,83]}),e(J,[2,127],{111:85,34:[1,86],112:[1,87],113:[1,88],114:[1,89],115:[1,90],116:[1,91],117:[1,92],121:[1,84]}),{16:g,35:_,47:93,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(z,[2,121]),e(z,[2,105],{100:94,45:Y,79:Z,81:ee,91:te,92:re,93:ne,94:ie,95:ae,96:se,97:oe,98:ce,99:le,101:ue,105:pe,106:pe,109:pe,110:pe,108:[1,95]}),e(he,[2,88]),e(de,[2,78]),e(de,[2,79],{67:fe}),e(de,[2,80]),e(de,[2,81]),{4:111,16:g,18:r,35:_,47:112,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,85:110,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{16:[1,113]},{16:[1,114]},{50:ye,66:115},e(de,[2,87]),e(de,[2,50]),e(de,[2,51]),e(de,[2,52]),e(de,[2,53]),e([6,8,14,17,34,36,43,45,49,50,67,71,72,74,77,79,81,89,91,92,93,94,95,96,97,98,99,101,103,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],ve,{16:me}),{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:118,81:C,82:A,83:L,84:N,86:q,87:F,88:K},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:119,81:C,82:A,83:L,84:N,86:q,87:F,88:K},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:120,81:C,82:A,83:L,84:N,86:q,87:F,88:K},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:121,81:C,82:A,83:L,84:N,86:q,87:F,88:K},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:122,81:C,82:A,83:L,84:N,86:q,87:F,88:K},{16:g,35:_,47:124,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,69:123,71:[2,66],75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(de,[2,42]),e(de,[2,43]),e(de,[2,44]),e(de,[2,45]),e(de,[2,46]),e(de,[2,47]),e(de,[2,48]),e(de,[2,49]),{10:126,13:125,16:t},e([6,8,14,138,146],[2,9]),e(u,[2,10],{14:a}),e(u,[2,11]),e(be,[2,22],{21:127,36:[1,128]}),{34:[1,129]},e(j,[2,155],{43:[1,130],147:[1,131]}),e(b,[2,146]),{16:g,35:_,47:32,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33,139:132},{134:[1,133]},e(M,[2,149]),{16:g,35:_,47:134,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{16:g,35:_,47:135,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{16:g,35:_,47:136,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{16:g,35:_,47:137,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{16:g,35:_,47:138,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(M,[2,151]),e(M,[2,152]),e([58,59,61,123],pe,{100:139,101:ue}),{16:g,29:[1,142],35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,104:140,118:141,119:[1,143]},e(ge,[2,112]),e(ge,[2,113]),e(ge,[2,114]),e(ge,[2,115]),e(ge,[2,116]),e(ge,[2,117]),e(ge,[2,118]),e(J,[2,129]),{105:[1,144],106:[1,145],109:[1,146],110:[1,147]},{109:[1,148]},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:149},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:150},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:151},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:152},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:153},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:154},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:155},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:156},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:157},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:158},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:159},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:160},e([58,59,61,105,106,109,110,123],[2,102]),{50:[1,161]},{17:[1,162],43:_e},{17:[1,164]},e(ke,[2,135],{107:G,124:V,125:Q,126:W,127:X}),{16:g,35:_,47:112,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,85:165,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{4:166,18:r},{16:g,35:_,47:167,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,67:fe,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e([6,8,14,16,17,35,36,43,49,50,52,53,55,56,58,59,61,67,76,79,81,82,83,84,86,87,88,89,101,129,135,138,144,146,150,152,154,164,165,167,168,173,177,179,180,182,192,193,194],ve),e(ke,Ee,{120:33,104:35,90:36,80:37,62:38,66:39,63:40,78:41,75:46,51:47,54:48,57:49,60:50,64:168,65:169,47:173,16:g,30:xe,35:_,45:we,46:Oe,50:k,52:E,53:x,55:w,56:O,58:$,59:S,61:T,76:R,79:I,81:C,82:A,83:L,84:N,86:q,87:F,88:K,101:P}),e(de,[2,73]),e(de,[2,74]),e(de,[2,75]),e(de,[2,76]),e(de,[2,77]),{70:174,71:[1,175]},{71:[2,67],107:G,124:V,125:Q,126:W,127:X},e($e,[2,7],{14:d}),e($e,[2,8]),e(Se,[2,24],{22:176,37:[1,177]}),e(be,[2,21]),{35:[1,178]},{35:[1,179]},{35:[1,180]},e(M,[2,148]),e(Te,[2,142]),e(J,[2,130]),e(Re,[2,131],{107:G,124:V}),e(Re,[2,132],{107:G,124:V}),e(J,[2,133]),e(Re,[2,134],{107:G,124:V}),{57:183,58:$,59:S,61:[1,182],122:181,123:[1,184]},e(z,[2,123]),{16:[1,185]},{16:[2,119]},{16:[2,120]},{16:[1,186]},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:187},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:188,81:C,82:A,83:L,84:N,86:q,87:F,88:K},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:189},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:190},e([6,8,14,17,34,36,43,49,50,71,72,74,77,89,91,101,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],[2,89],{45:Y,79:Z,81:ee,92:re,93:ne,94:ie,95:ae,96:se,97:oe,98:ce,99:le}),e([6,8,14,17,34,36,43,49,50,71,72,74,77,89,91,92,99,101,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],[2,90],{45:Y,79:Z,81:ee,93:ne,94:ie,95:ae,96:se,97:oe,98:ce}),e(Ie,[2,91],{45:Y,79:Z,81:ee,95:ae,96:se,97:oe,98:ce}),e(Ie,[2,92],{45:Y,79:Z,81:ee,95:ae,96:se,97:oe,98:ce}),e(Ce,[2,93],{45:Y,95:ae,96:se,97:oe,98:ce}),e(Ce,[2,94],{45:Y,95:ae,96:se,97:oe,98:ce}),e(he,[2,95]),e(he,[2,96]),e(he,[2,97]),e(he,[2,98]),e(he,[2,99]),e([6,8,14,17,34,36,43,49,50,71,72,74,77,89,91,99,101,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],[2,100],{45:Y,79:Z,81:ee,92:re,93:ne,94:ie,95:ae,96:se,97:oe,98:ce}),e([6,8,14,16,17,34,35,36,43,45,49,50,52,53,55,56,58,59,61,67,71,72,74,76,77,79,81,82,83,84,86,87,88,89,91,92,93,94,95,96,97,98,99,101,103,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182,192,193,194],[2,63]),e(de,[2,82]),{16:g,35:_,47:191,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(de,[2,84]),{17:[1,192],43:_e},{17:[1,193]},{89:[1,194],107:G,124:V,125:Q,126:W,127:X},{17:[1,195],43:[1,196]},e(ke,[2,56]),e(ke,[2,58]),e(ke,[2,59]),{16:g,35:_,47:197,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(ke,[2,61],{107:G,124:V,125:Q,126:W,127:X}),{71:[1,199],73:198,74:[1,200],77:[2,70]},{16:g,35:_,47:201,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(Ae,[2,26],{23:202,38:[1,203]}),e(Se,[2,23]),e(D,[2,19]),e(j,[2,156]),e(j,[2,157]),e(J,[2,128]),e(z,[2,122]),e(J,[2,125]),e(J,[2,126]),{4:204,18:r},{4:205,16:g,18:r,35:_,47:112,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,85:206,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{45:Y,79:Z,81:ee,91:te,92:re,93:ne,94:ie,95:ae,96:se,97:oe,98:ce,99:le,107:[1,207]},e(z,[2,103],{102:208,103:[1,209]}),e(z,[2,111],{45:Y,79:Z,81:ee,91:te,92:re,93:ne,94:ie,95:ae,96:se,97:oe,98:ce,99:le}),e(z,[2,109],{45:Y,79:Z,81:ee,91:te,92:re,93:ne,94:ie,95:ae,96:se,97:oe,98:ce,99:le}),e(ke,[2,136],{107:G,124:V,125:Q,126:W,127:X}),e(de,[2,83]),e(de,[2,85]),e(de,[2,86]),e(de,[2,54]),e(ke,Ee,{120:33,104:35,90:36,80:37,62:38,66:39,63:40,78:41,75:46,51:47,54:48,57:49,60:50,47:173,65:210,16:g,30:xe,35:_,45:we,46:Oe,50:k,52:E,53:x,55:w,56:O,58:$,59:S,61:T,76:R,79:I,81:C,82:A,83:L,84:N,86:q,87:F,88:K,101:P}),e(ke,[2,60],{107:G,124:V,125:Q,126:W,127:X}),{77:[1,211]},{16:g,35:_,47:212,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{16:g,35:_,47:213,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{72:[1,214],107:G,124:V,125:Q,126:W,127:X},e(Le,[2,28],{24:215,39:[1,216]}),e(Ae,[2,25]),{17:[1,217]},{17:[1,218]},{17:[1,219],43:_e},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,104:220},e(z,[2,110]),{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:221,81:C,82:A,83:L,84:N,86:q,87:F,88:K},e(ke,[2,55]),e(de,[2,72]),{72:[1,222],107:G,124:V,125:Q,126:W,127:X},{77:[2,71],107:G,124:V,125:Q,126:W,127:X},{16:g,35:_,47:223,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(Ne,[2,29],{25:224,40:[1,225],41:[1,226]}),e(Le,[2,27]),e(z,[2,124]),e(z,[2,106]),e(z,[2,107]),e(z,[2,108]),e(z,[2,104]),{16:g,35:_,47:227,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(qe,[2,68],{107:G,124:V,125:Q,126:W,127:X}),e(Fe,[2,33],{26:228,42:[1,229]}),e(Ne,[2,30]),e(Ne,[2,31]),e(qe,[2,69],{107:G,124:V,125:Q,126:W,127:X}),{16:g,27:230,35:_,44:231,45:Ke,46:Pe,47:234,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(Fe,[2,32]),e(De,[2,166],{28:235,43:[1,236],157:[1,237]}),e(je,[2,35]),e(je,[2,36]),e(je,[2,37]),e(je,[2,39],{48:238,49:[1,239],50:[1,240],107:G,124:V,125:Q,126:W,127:X}),e(De,[2,12]),{16:g,35:_,44:241,45:Ke,46:Pe,47:234,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{16:Be,50:ye,66:248,88:Ue,158:242,160:243,161:244,172:247,174:246},e(je,[2,38]),{50:[1,250]},e(je,[2,41]),e(je,[2,34]),e([6,8,14,17,129,135,138,144,146,150,152,154],He,{159:251,43:Me,182:Ge}),e(Ve,[2,168]),e(Ve,[2,170],{163:254,166:256,36:Qe,164:We,165:Xe,167:Je,168:ze,173:Ye,177:Ze}),{162:[1,262]},e(et,[2,191]),e(et,[2,192]),e([6,8,14,17,36,43,49,50,89,129,135,138,144,146,150,152,154,164,165,167,168,173,177,179,180,192,193,194],He,{159:263,67:fe,182:Ge}),{4:264,16:Be,18:r,50:ye,66:248,88:Ue,158:265,160:243,161:244,172:247,174:246},e(je,[2,40]),e(tt,[2,137],{128:266,129:[1,267]}),{16:Be,50:ye,66:248,88:Ue,160:268,161:244,172:247,174:246},{16:[1,269]},{173:[1,270]},{16:Be,50:ye,66:248,174:271},{169:272,170:rt,173:nt},{166:275,167:Je,168:ze,171:274,173:[2,179]},{173:[2,173]},{173:[2,174]},e(it,[2,175]),e(it,[2,176]),{16:Be,50:ye,66:248,161:276,172:247,174:246},e(at,st,{183:277,66:279,49:ot,50:ye}),{17:[1,280]},{17:[1,281],43:Me},e(Te,[2,139],{130:282,131:283,135:[1,284]}),{16:g,35:_,47:285,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(Ve,[2,169]),{50:ye,66:287,181:286},{16:Be,50:ye,66:248,174:288},{176:289,179:ct},{173:[1,291]},{173:[2,178]},{173:[1,292]},{169:293,170:rt,173:nt},{36:Qe,89:[1,294],163:254,164:We,165:Xe,166:256,167:Je,168:ze,173:Ye,177:Ze},e(et,[2,208],{189:295,190:296,191:297,192:lt,193:ut,194:pt}),{50:ye,66:301},e(at,[2,199],{67:fe}),e(et,st,{66:279,183:302,49:ot,50:ye}),e(et,[2,217]),e(ht,[2,153],{143:303,144:[1,304]}),e(Te,[2,140]),{16:g,35:_,47:32,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33,136:305,139:31},e(tt,[2,138],{107:G,124:V,125:Q,126:W,127:X}),{17:[1,306],43:[1,307]},e(ke,[2,193],{67:fe}),e([6,8,14,17,36,43,89,129,135,138,144,146,150,152,154,164,165,167,168,173,177,182],[2,181],{175:308,176:309,179:ct,180:dt}),e(et,[2,183]),{16:g,35:_,47:311,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{16:Be,50:ye,66:248,161:312,172:247,174:246},{16:Be,50:ye,66:248,174:313},{173:[2,180]},e(Ve,[2,171]),e(et,[2,215]),e(et,[2,209]),e(et,[2,210]),{184:315,185:ft,186:yt},{184:318,185:ft,186:yt},{184:319,185:ft,186:yt},e(at,[2,198],{67:fe}),e(et,[2,216]),e(b,p,{137:18,11:320,138:h}),{16:g,35:_,47:321,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(Te,B,{132:322,43:U,133:H}),e([6,8,14,17,36,43,49,50,89,129,135,138,144,146,150,152,154,164,165,167,168,173,177,179,180,182,192,193,194],[2,196]),{50:ye,66:323},e(et,[2,182]),e(et,[2,189]),{16:[1,324]},e(et,[2,188],{107:G,124:V,125:Q,126:W,127:X}),{36:Qe,163:254,164:We,165:Xe,166:256,167:Je,168:ze,173:Ye,175:325,176:309,177:Ze,179:ct,180:dt},e(et,[2,185]),{191:326,192:lt,193:ut,194:pt},{16:vt,152:mt,187:327},e(bt,[2,200]),e(bt,[2,201]),{16:vt,152:mt,187:329},{16:vt,152:mt,187:330},e(j,v,{145:28,12:331,146:m}),e(ht,[2,154],{107:G,124:V,125:Q,126:W,127:X}),e(Te,[2,143]),e(ke,[2,194],{67:fe}),{50:ye,66:333,68:332},e(et,[2,184]),e(et,[2,211]),{16:[1,334]},{135:[1,337],138:[1,336],173:[1,335]},{16:[1,338]},{16:[1,339]},e(gt,[2,160],{148:340,149:341,150:[1,342]}),{17:[1,343],43:_t},e(ke,[2,64],{67:fe}),{17:[2,206],50:ye,66:333,68:346,188:345},{16:[2,203]},{16:[2,204]},{16:[2,205]},{50:ye,66:333,68:347},{50:ye,66:333,68:348},e(De,[2,163],{151:349,152:[1,350],154:[1,351]}),e(gt,[2,161]),{50:[1,353],63:352},e(et,[2,190]),{50:ye,66:354},{17:[1,355]},{17:[2,207],43:_t},{17:[1,356],43:_t},{17:[1,357],43:_t},e(De,[2,167]),{153:[1,358]},{105:[1,359]},e(gt,[2,162]),{16:me},e(ke,[2,65],{67:fe}),e(et,[2,212]),e(et,[2,213]),e(et,[2,214]),e(De,[2,164]),{155:[1,360]},{156:[1,361]},e(De,[2,165])],defaultActions:{11:[2,3],22:[2,1],24:[2,2],142:[2,119],143:[2,120],258:[2,173],259:[2,174],273:[2,178],293:[2,180],335:[2,203],336:[2,204],337:[2,205]},parseError:function(e,t){if(!t.recoverable){var r=new Error(e);throw r.hash=t,r}this.trace(e)},parse:function(e){var t=this,r=[0],n=[null],i=[],a=this.table,s="",o=0,c=0,l=0,u=i.slice.call(arguments,1),p=Object.create(this.lexer),h={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(h.yy[d]=this.yy[d]);p.setInput(e,h.yy),h.yy.lexer=p,h.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var f=p.yylloc;i.push(f);var y=p.options&&p.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var v,m,b,g,_,k,E,x,w,O=function(){var e;return"number"!=typeof(e=p.lex()||1)&&(e=t.symbols_[e]||e),e},$={};;){if(b=r[r.length-1],this.defaultActions[b]?g=this.defaultActions[b]:(null!==v&&void 0!==v||(v=O()),g=a[b]&&a[b][v]),void 0===g||!g.length||!g[0]){var S="";for(k in w=[],a[b])this.terminals_[k]&&k>2&&w.push("'"+this.terminals_[k]+"'");S=p.showPosition?"Parse error on line "+(o+1)+":\n"+p.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:p.match,token:this.terminals_[v]||v,line:p.yylineno,loc:f,expected:w})}if(g[0]instanceof Array&&g.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(g[0]){case 1:r.push(v),n.push(p.yytext),i.push(p.yylloc),r.push(g[1]),v=null,m?(v=m,m=null):(c=p.yyleng,s=p.yytext,o=p.yylineno,f=p.yylloc,l>0&&l--);break;case 2:if(E=this.productions_[g[1]][1],$.$=n[n.length-E],$._$={first_line:i[i.length-(E||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(E||1)].first_column,last_column:i[i.length-1].last_column},y&&($._$.range=[i[i.length-(E||1)].range[0],i[i.length-1].range[1]]),void 0!==(_=this.performAction.apply($,[s,c,o,h.yy,g[1],n,i].concat(u))))return _;E&&(r=r.slice(0,-1*E*2),n=n.slice(0,-1*E),i=i.slice(0,-1*E)),r.push(this.productions_[g[1]][0]),n.push($.$),i.push($._$),x=a[r[r.length-2]][r[r.length-1]],r.push(x);break;case 3:return!0}}return!0}},Et={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(!1!==(e=this.test_match(r,i[a])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:case 1:case 2:case 3:break;case 4:case 5:case 6:return 50;case 7:return 18;case 8:return 29;case 9:return 119;case 10:return 30;case 11:return 31;case 12:return 32;case 13:return 33;case 14:return 36;case 15:return 37;case 16:return 38;case 17:return 39;case 18:return 40;case 19:return 41;case 20:return 42;case 21:return 46;case 22:return 49;case 23:return 58;case 24:return 59;case 25:return 61;case 26:return"COLLATE";case 27:return 84;case 28:return 86;case 29:return 87;case 30:return 76;case 31:return 71;case 32:return 72;case 33:return 74;case 34:return 77;case 35:return 96;case 36:return 97;case 37:return 101;case 38:return 106;case 39:return 105;case 40:return 108;case 41:return 109;case 42:return 103;case 43:return 110;case 44:return 121;case 45:return 123;case 46:return 107;case 47:return 126;case 48:return 127;case 49:return 157;case 50:return 182;case 51:return 192;case 52:return 185;case 53:return 186;case 54:return 152;case 55:return 173;case 56:return 138;case 57:return 135;case 58:return 193;case 59:return 194;case 60:return 164;case 61:return 165;case 62:return 179;case 63:return 180;case 64:return 167;case 65:return 168;case 66:return 170;case 67:return 177;case 68:return 129;case 69:return 141;case 70:return 142;case 71:return 133;case 72:return 134;case 73:return 144;case 74:return 147;case 75:return 150;case 76:return 153;case 77:return 154;case 78:return 155;case 79:return 156;case 80:return 162;case 81:return 146;case 82:return 14;case 83:return 43;case 84:return 34;case 85:return 16;case 86:return 17;case 87:return 82;case 88:return 117;case 89:return 83;case 90:return 91;case 91:return 92;case 92:return 79;case 93:return 81;case 94:return 45;case 95:return 95;case 96:return 98;case 97:return 99;case 98:return 94;case 99:return 112;case 100:return 113;case 101:return 93;case 102:return"<=>";case 103:return 114;case 104:return 116;case 105:return 115;case 106:return 88;case 107:return 89;case 108:return 8;case 109:case 110:return 53;case 111:return 56;case 112:return 35;case 113:return 55;case 114:return 50;case 115:return 67;case 116:return 52;case 117:return 6;case 118:return"INVALID"}},rules:[/^(?:[\/][*](.|\n)*?[*][\/])/i,/^(?:[-][-]\s.*\n)/i,/^(?:[#]\s.*\n)/i,/^(?:\s+)/i,/^(?:[`][a-zA-Z_\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]*[`])/i,/^(?:[\w]+[\u4e00-\u9fa5]+[0-9a-zA-Z_\u4e00-\u9fa5]*)/i,/^(?:[\u4e00-\u9fa5][0-9a-zA-Z_\u4e00-\u9fa5]*)/i,/^(?:SELECT\b)/i,/^(?:ALL\b)/i,/^(?:ANY\b)/i,/^(?:DISTINCT\b)/i,/^(?:DISTINCTROW\b)/i,/^(?:HIGH_PRIORITY\b)/i,/^(?:MAX_STATEMENT_TIME\b)/i,/^(?:STRAIGHT_JOIN\b)/i,/^(?:SQL_SMALL_RESULT\b)/i,/^(?:SQL_BIG_RESULT\b)/i,/^(?:SQL_BUFFER_RESULT\b)/i,/^(?:SQL_CACHE\b)/i,/^(?:SQL_NO_CACHE\b)/i,/^(?:SQL_CALC_FOUND_ROWS\b)/i,/^(?:([a-zA-Z_\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]*\.){1,2}\*)/i,/^(?:AS\b)/i,/^(?:TRUE\b)/i,/^(?:FALSE\b)/i,/^(?:NULL\b)/i,/^(?:COLLATE\b)/i,/^(?:BINARY\b)/i,/^(?:ROW\b)/i,/^(?:EXISTS\b)/i,/^(?:CASE\b)/i,/^(?:WHEN\b)/i,/^(?:THEN\b)/i,/^(?:ELSE\b)/i,/^(?:END\b)/i,/^(?:DIV\b)/i,/^(?:MOD\b)/i,/^(?:NOT\b)/i,/^(?:BETWEEN\b)/i,/^(?:IN\b)/i,/^(?:SOUNDS\b)/i,/^(?:LIKE\b)/i,/^(?:ESCAPE\b)/i,/^(?:REGEXP\b)/i,/^(?:IS\b)/i,/^(?:UNKNOWN\b)/i,/^(?:AND\b)/i,/^(?:OR\b)/i,/^(?:XOR\b)/i,/^(?:FROM\b)/i,/^(?:PARTITION\b)/i,/^(?:USE\b)/i,/^(?:INDEX\b)/i,/^(?:KEY\b)/i,/^(?:FOR\b)/i,/^(?:JOIN\b)/i,/^(?:ORDER\s+BY\b)/i,/^(?:GROUP\s+BY\b)/i,/^(?:IGNORE\b)/i,/^(?:FORCE\b)/i,/^(?:INNER\b)/i,/^(?:CROSS\b)/i,/^(?:ON\b)/i,/^(?:USING\b)/i,/^(?:LEFT\b)/i,/^(?:RIGHT\b)/i,/^(?:OUTER\b)/i,/^(?:NATURAL\b)/i,/^(?:WHERE\b)/i,/^(?:ASC\b)/i,/^(?:DESC\b)/i,/^(?:WITH\b)/i,/^(?:ROLLUP\b)/i,/^(?:HAVING\b)/i,/^(?:OFFSET\b)/i,/^(?:PROCEDURE\b)/i,/^(?:UPDATE\b)/i,/^(?:LOCK\b)/i,/^(?:SHARE\b)/i,/^(?:MODE\b)/i,/^(?:OJ\b)/i,/^(?:LIMIT\b)/i,/^(?:UNION\b)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\()/i,/^(?:\))/i,/^(?:~)/i,/^(?:!=)/i,/^(?:!)/i,/^(?:\|)/i,/^(?:&)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\*)/i,/^(?:\/)/i,/^(?:%)/i,/^(?:\^)/i,/^(?:>>)/i,/^(?:>=)/i,/^(?:>)/i,/^(?:<<)/i,/^(?:<=>)/i,/^(?:<=)/i,/^(?:<>)/i,/^(?:<)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:;)/i,/^(?:['](\\.|[^'])*['])/i,/^(?:["](\\.|[^"])*["])/i,/^(?:[0][x][0-9a-fA-F]+)/i,/^(?:[-]?[0-9]+(\.[0-9]+)?)/i,/^(?:[-]?[0-9]+(\.[0-9]+)?[eE][-][0-9]+(\.[0-9]+)?)/i,/^(?:[a-zA-Z_\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]*)/i,/^(?:\.)/i,/^(?:['"][a-zA-Z_\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]*["'])/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118],inclusive:!0}}};function xt(){this.yy={}}return kt.lexer=Et,xt.prototype=kt,kt.Parser=xt,new xt}();function a(){this.buffer=""}i||(i={}),i.stringify=function(e){var t=new a;return t.travelMain(e),t.buffer},a.prototype.travel=function(e){if(e){if("string"==typeof e)return this.append(e);this["travel"+e.type].call(this,e)}};var s=!1;a.prototype.appendKeyword=function(e,t,r){s&&(t=!0,s=!1),this.buffer+=t?e.toUpperCase():" "+e.toUpperCase(),r&&(s=!0)},a.prototype.append=function(e,t,r){s&&(t=!0,s=!1),this.buffer+=t?e:" "+e,r&&(s=!0)},a.prototype.travelMain=function(e){this.travel(e.value),e.hasSemicolon&&this.append(";",!0)},a.prototype.travelSelect=function(e){this.appendKeyword("select"),e.distinctOpt&&this.appendKeyword(e.distinctOpt),e.highPriorityOpt&&this.appendKeyword(e.highPriorityOpt),e.maxStateMentTimeOpt&&this.append("MAX_STATEMENT_TIME = "+e.maxStateMentTimeOpt),e.straightJoinOpt&&this.appendKeyword(e.straightJoinOpt),e.sqlSmallResultOpt&&this.appendKeyword(e.sqlSmallResultOpt),e.sqlBigResultOpt&&this.appendKeyword(e.sqlBigResultOpt),e.sqlBufferResultOpt&&this.appendKeyword(e.sqlBufferResultOpt),e.sqlCacheOpt&&this.appendKeyword(e.sqlCacheOpt),e.sqlCalcFoundRowsOpt&&this.appendKeyword(e.sqlCalcFoundRowsOpt),e.selectItems&&this.travelSelectExpr(e.selectItems),e.from&&(this.appendKeyword("from"),this.travel(e.from)),e.partition&&this.travel(e.partition),e.where&&(this.appendKeyword("where"),this.travel(e.where)),e.groupBy&&this.travel(e.groupBy),e.having&&(this.appendKeyword("having"),this.travel(e.having)),e.orderBy&&this.travel(e.orderBy),e.limit&&this.travel(e.limit),e.procedure&&(this.appendKeyword("procedure"),this.travel(e.procedure)),e.updateLockMode&&this.appendKeyword(e.updateLockMode)},a.prototype.travelSelectExpr=function(e){for(var t=e.value,r=0;r0&&void 0!==arguments[0]?arguments[0]:void 0;if(this.action&&this.action.params&&this.action.params.$resource){this.$set(this.record.params,"$resource",t),this.$set(this.record,"resource",t);var r=this.action.types,n=void 0===r?[]:r;return this.$httpGet("/resources").then(function(r){var i=r.data;e.resourcesOptions=i.filter(function(e){return n.includes(e.type)}),e.$set(e.record,"resource",t)})}},loadActions:function(){var e=this;return this.$httpGet("/actions",this.params).then(function(t){e.actionsList=t.data.map(function(e){return e.label=(e.title||{})[E],e.descriptionLabel=(e.description||{})[E],e})})},renderForm:function(e){var t=this;return f()(u.a.mark(function r(){var n,i,a,s;return u.a.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(t.formData){r.next=2;break}return r.abrupt("return");case 2:return n=t.formData||e,i=n.name,a=n.params,s=void 0===a?{}:a,r.next=5,t.handleActionChange(i);case 5:t.fillData(s);case 6:case"end":return r.stop()}},r,t)}))()},fillData:function(e){var t=this;c()(e).forEach(function(e){var r=s()(e,2),n=r[0],i=r[1];t.$set(t.record,n,i)})}},created:function(){var e=this;return f()(u.a.mark(function t(){return u.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.loadActions();case 2:return t.next=4,e.renderForm();case 4:case"end":return t.stop()}},t,e)}))()}},w={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("el-dialog",e._b({staticClass:"action-dialog",attrs:{width:"500px","append-to-body":"",visible:e.dialogVisible,title:e.$t("rule.actions")},on:{"update:visible":function(t){e.dialogVisible=t},open:e.open,close:e.close}},"el-dialog",e.$attrs,!1),[r("el-form",{ref:"record",staticClass:"el-form--public",attrs:{model:e.record,rules:e.rules}},[r("el-row",{attrs:{gutter:20}},[r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{prop:"action"}},[r("template",{slot:"label"},[e._v("\n "+e._s(e.$t("rule.action"))+"\n "),r("el-popover",{attrs:{placement:"top-start",width:"200",trigger:"hover"}},[r("div",{domProps:{innerHTML:e._s(e.action.descriptionLabel||e.$t("rule.action_type"))}}),e._v(" "),r("i",{staticClass:"el-icon-question",attrs:{slot:"reference",tabindex:"-1"},slot:"reference"})])],1),e._v(" "),r("el-select",{staticClass:"el-select--public",staticStyle:{width:"100%"},attrs:{"popper-class":"el-select--public"},on:{change:e.handleActionChange},model:{value:e.record.action,callback:function(t){e.$set(e.record,"action",t)},expression:"record.action"}},e._l(e.actionsList,function(e,t){return r("el-option",{key:t,attrs:{label:e.label,value:e.name}})}),1)],2)],1),e._v(" "),e.action.params&&e.action.params.$resource?r("el-col",{attrs:{span:12}},[r("el-form-item",{staticClass:"resource-item",attrs:{prop:"params.$resource"}},[r("template",{slot:"label"},[e._v("\n "+e._s(e.$t("rule.resource"))+"\n "),r("span",{staticClass:"btn",staticStyle:{float:"right","font-size":"12px"},on:{click:e.createResource}},[e._v("\n "+e._s(e.$t("rule.new_resource"))+"\n ")])]),e._v(" "),r("el-select",{staticClass:"el-select--public",staticStyle:{width:"100%"},attrs:{"popper-class":"el-select--public"},model:{value:e.record.params.$resource,callback:function(t){e.$set(e.record.params,"$resource",t)},expression:"record.params.$resource"}},e._l(e.resourcesOptions,function(e,t){return r("el-option",{key:t,attrs:{label:e.id,value:e.id}})}),1)],2)],1):e._e(),e._v(" "),e._l(e.paramsList,function(t,n){return r("el-col",{key:n,attrs:{span:"object"===t.type||"textarea"===t.$attrs.type?24:12}},[r("el-form-item",{attrs:{prop:"params."+t.prop}},[r("template",{slot:"label"},[e._v("\n "+e._s(t.label)+"\n\n "),t.description?r("el-popover",{attrs:{placement:"right",width:"200",trigger:"hover"}},[r("div",{domProps:{innerHTML:e._s(t.description)}}),e._v(" "),r("i",{staticClass:"el-icon-question",attrs:{slot:"reference",tabindex:"-1"},slot:"reference"})]):e._e()],1),e._v(" "),"object"===t.type?r("data-table",{model:{value:e.record.params[t.key],callback:function(r){e.$set(e.record.params,t.key,r)},expression:"record.params[item.key]"}}):"emq-select"===t.type?r("emq-select",e._b({staticClass:"el-select--public",attrs:{"popper-class":"el-select--public"},model:{value:e.record.params[t.key],callback:function(r){e.$set(e.record.params,t.key,r)},expression:"record.params[item.key]"}},"emq-select",t.$attrs,!1)):"number"===t.type?r("el-input",e._b({attrs:{type:"number"},model:{value:e.record.params[t.key],callback:function(r){e.$set(e.record.params,t.key,e._n(r))},expression:"record.params[item.key]"}},"el-input",t.$attrs,!1)):r("el-input",e._b({model:{value:e.record.params[t.key],callback:function(r){e.$set(e.record.params,t.key,r)},expression:"record.params[item.key]"}},"el-input",t.$attrs,!1))],2)],1)})],2)],1),e._v(" "),r("div",{attrs:{slot:"footer"},slot:"footer"},[r("el-button",{staticClass:"cache-btn",attrs:{type:"text"},on:{click:function(t){e.dialogVisible=!1}}},[e._v("\n "+e._s(e.$t("rule.cancel"))+"\n ")]),e._v(" "),r("el-button",{staticClass:"confirm-btn",attrs:{type:"success"},on:{click:e.handleAdd}},[e._v("\n "+e._s(e.$t("rule.confirm"))+"\n ")])],1),e._v(" "),r("resource-dialog",{attrs:{visible:e.resourceDialogVisible,"resource-type":e.resourceType,"enable-item":e.enableItem,"append-to-body":""},on:{"update:visible":function(t){e.resourceDialogVisible=t},confirm:e.handleResourceCreate}})],1)},staticRenderFns:[]};var O={name:"rule-actions",components:{ActionDialog:r("VU/8")(x,w,!1,function(e){r("yoEm")},null,null).exports},props:{record:{type:Object,required:!0},inDialog:{type:Boolean,default:!1},operations:{type:Array,default:function(){return["create","edit","delete"]}},params:{type:Object,default:function(){return{}}}},watch:{dialogVisible:function(e){e||(this.editForm=null,this.editIndex=null,this.currentAction={},this.isFallBacks=!1)}},computed:{has:function(){var e=[];return this.operations.forEach(function(t){e[t]=!0}),e}},data:function(){return{dialogVisible:!1,editForm:null,editIndex:null,isFallBacks:!1,currentAction:{}}},filters:{jsonFormat:function(e){return i()(e,null,2)}},methods:{getSum:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(0===e.length||!t)return 0;var r=0;return e.forEach(function(e){var n=e[t]||0;r+=n}),r},handleActionAdd:function(e,t){if(this.isFallBacks)return null!==this.editIndex&&(this.currentAction.fallbacks=[]),void this.currentAction.fallbacks.push(e);null!==t?this.record.actions.splice(t,1,e):this.record.actions.push(e)},handleActionRemove:function(e){var t=e;this.record.actions=this.record.actions.filter(function(e,r){return r!==t})},handleActionEdit:function(e,t){this.editIndex=t,this.editForm=e,this.dialogVisible=!0},handleAddFallbacks:function(e){this.currentAction=e,this.isFallBacks=!0,this.dialogVisible=!0},handleFallbackRemove:function(e){e.fallbacks=[]},handleFallbackEdit:function(e,t,r){this.currentAction=t,this.isFallBacks=!0,this.editIndex=r,this.editForm=e,this.dialogVisible=!0}}},$={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"rule-actions"},[e._l(e.record.actions,function(t,n){return r("div",{key:n,staticClass:"action-card"},[r("el-row",{staticClass:"action-body",attrs:{type:"flex"}},[r("el-col",{attrs:{span:12}},[r("div",{staticClass:"filed-item"},[r("label",{staticClass:"title"},[e._v(e._s(e.$t("rule.type"))+": ")]),e._v(" "),r("span",{staticClass:"desc"},[e._v(e._s(t.name))])]),e._v(" "),e._l(Object.entries(t.params),function(t,n){return r("div",{key:n,staticClass:"filed-item"},[r("label",{staticClass:"title"},[e._v(" "+e._s("$resource"===t[0]?e.$t("rule.rely_resource"):t[0])+": ")]),e._v(" "),r("span",{staticClass:"desc"},[e._v(e._s(t[1]))])])})],2),e._v(" "),e.has.delete||e.has.edit?r("el-col",{staticClass:"action-oper",attrs:{span:12}},[e.has.edit?r("el-button",{attrs:{type:"text"},on:{click:function(r){return e.handleActionEdit(t,n)}}},[e._v("\n "+e._s(e.$t("rule.edit"))+"\n ")]):e._e(),e._v(" "),e.has.delete?r("el-button",{staticClass:"delete-btn",attrs:{type:"text"},on:{click:function(t){return e.handleActionRemove(n)}}},[e._v("\n "+e._s(e.$t("rule.delete"))+"\n ")]):e._e(),e._v(" "),t.fallbacks.length?e._e():r("div",{staticClass:"fallbacks"},[r("el-popover",{attrs:{placement:"top-start",trigger:"hover",content:e.$t("rule.fallbackActionCreate")}},[r("el-button",{attrs:{slot:"reference",type:"text",icon:"el-icon-plus"},on:{click:function(r){return e.handleAddFallbacks(t)}},slot:"reference"},[e._v("\n "+e._s(e.$t("rule.fallbackAction"))+"\n ")])],1)],1)],1):e._e(),e._v(" "),e.has.delete||e.has.edit?e._e():r("el-col",{attrs:{span:12}},[r("div",{staticClass:"status-wrapper filed-item"},[e._l(t.metrics||[],function(t,n){return r("div",{key:n,staticClass:"status-item"},[r("div",{staticClass:"title"},[e._v(e._s(e.$t("rule.metrics"))+":")]),e._v(" "),r("span",{staticClass:"key"},[e._v("\n "+e._s(t.node)+"\n ")]),e._v(" "),r("span",{attrs:{type:"info"}},[e._v("\n "+e._s(e.$t("rule.success"))+":\n "),r("span",[e._v(e._s(t.success))])]),e._v(" "),r("span",{attrs:{type:"info"}},[e._v("\n "+e._s(e.$t("rule.failed"))+":\n "),r("span",[e._v(e._s(t.failed))])])])}),e._v(" "),r("div",{staticClass:"status-item"},[r("span",{staticClass:"key"},[e._v("\n "+e._s(e.$t("rule.all"))+"\n ")]),e._v(" "),r("span",{attrs:{type:"info"}},[e._v("\n "+e._s(e.$t("rule.success"))+":\n "),r("span",[e._v(e._s(e.getSum(t.metrics,"success")))])]),e._v(" "),r("span",{attrs:{type:"info"}},[e._v("\n "+e._s(e.$t("rule.failed"))+":\n "),r("span",[e._v(e._s(e.getSum(t.metrics,"failed")))])])])],2)])],1),e._v(" "),t.fallbacks&&t.fallbacks.length?e._l(t.fallbacks,function(n,i){return r("el-row",{key:i,staticClass:"action-footer",attrs:{type:"flex"}},[r("el-col",{attrs:{span:12}},[r("div",{staticClass:"filed-item"},[r("label",{staticClass:"title"},[e._v(e._s(e.$t("rule.type"))+": ")]),e._v(" "),r("span",{staticClass:"desc"},[e._v(e._s(n.name))])]),e._v(" "),e._l(Object.entries(n.params),function(t,n){return r("div",{key:n,staticClass:"filed-item"},[r("label",{staticClass:"title"},[e._v(" "+e._s("$resource"===t[0]?e.$t("rule.rely_resource"):t[0])+": ")]),e._v(" "),r("span",{staticClass:"desc"},[e._v(e._s(t[1]))])])})],2),e._v(" "),e.has.delete||e.has.edit?r("el-col",{staticClass:"action-oper",attrs:{span:12}},[e.has.edit?r("el-button",{attrs:{type:"text"},on:{click:function(r){return e.handleFallbackEdit(n,t,i)}}},[e._v("\n "+e._s(e.$t("rule.edit"))+"\n ")]):e._e(),e._v(" "),e.has.delete?r("el-button",{staticClass:"delete-btn",attrs:{type:"text"},on:{click:function(r){return e.handleFallbackRemove(t,i)}}},[e._v("\n "+e._s(e.$t("rule.delete"))+"\n ")]):e._e(),e._v(" "),r("div",{staticClass:"fallbacks"},[r("el-popover",{attrs:{placement:"top-start",trigger:"hover",content:e.$t("rule.fallbackActionTip")}},[r("span",{attrs:{slot:"reference"},slot:"reference"},[e._v("\n "+e._s(e.$t("rule.fallbackAction"))+"\n ")])])],1)],1):e._e(),e._v(" "),e.has.delete||e.has.edit?e._e():r("el-col",{attrs:{span:12}},[r("div",{staticClass:"status-wrapper filed-item"},[e._l(n.metrics||[],function(t,n){return r("div",{key:n,staticClass:"status-item"},[r("div",{staticClass:"title"},[e._v(e._s(e.$t("rule.metrics"))+":")]),e._v(" "),r("span",{staticClass:"key"},[e._v("\n "+e._s(t.node)+"\n ")]),e._v(" "),r("span",{attrs:{type:"info"}},[e._v("\n "+e._s(e.$t("rule.success"))+":\n "),r("span",[e._v(e._s(t.success))])]),e._v(" "),r("span",{attrs:{type:"info"}},[e._v("\n "+e._s(e.$t("rule.failed"))+":\n "),r("span",[e._v(e._s(t.failed))])])])}),e._v(" "),r("div",{staticClass:"status-item"},[r("span",{staticClass:"key"},[e._v("\n "+e._s(e.$t("rule.all"))+"\n ")]),e._v(" "),r("span",{attrs:{type:"info"}},[e._v("\n "+e._s(e.$t("rule.success"))+":\n "),r("span",[e._v(e._s(e.getSum(n.metrics,"success")))])]),e._v(" "),r("span",{attrs:{type:"info"}},[e._v("\n "+e._s(e.$t("rule.failed"))+":\n "),r("span",[e._v(e._s(e.getSum(n.metrics,"failed")))])])])],2)])],1)}):e._e()],2)}),e._v(" "),e.has.create?r("el-button",{staticStyle:{"min-width":"80px"},attrs:{type:"success",plain:"",icon:"el-icon-plus",size:"small"},on:{click:function(t){e.dialogVisible=!0}}},[e._v("\n "+e._s(e.$t("rule.add"))+"\n ")]):e._e(),e._v(" "),r("action-dialog",{attrs:{visible:e.dialogVisible,currentActions:e.record.actions,recordIndex:e.editIndex,editRecord:e.editForm,params:e.params},on:{"update:visible":function(t){e.dialogVisible=t},confirm:e.handleActionAdd}})],2)},staticRenderFns:[]};var S=r("VU/8")(O,$,!1,function(e){r("lqjQ")},null,null);t.a=S.exports},exGp:function(e,t,r){"use strict";t.__esModule=!0;var n,i=r("//Fk"),a=(n=i)&&n.__esModule?n:{default:n};t.default=function(e){return function(){var t=e.apply(this,arguments);return new a.default(function(e,r){return function n(i,s){try{var o=t[i](s),c=o.value}catch(e){return void r(e)}if(!o.done)return a.default.resolve(c).then(function(e){n("next",e)},function(e){n("throw",e)});e(c)}("next")})}}},lqjQ:function(e,t){},yoEm:function(e,t){}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/0.e5c2d59c47ae56b10376.js b/apps/emqx_dashboard/priv/www/static/js/0.e5c2d59c47ae56b10376.js new file mode 100644 index 000000000..30946810d --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/0.e5c2d59c47ae56b10376.js @@ -0,0 +1,8 @@ +webpackJsonp([0],{"1H6C":function(e,t,r){var n=function(){return this}()||Function("return this")(),i=n.regeneratorRuntime&&Object.getOwnPropertyNames(n).indexOf("regeneratorRuntime")>=0,a=i&&n.regeneratorRuntime;if(n.regeneratorRuntime=void 0,e.exports=r("HhN8"),i)n.regeneratorRuntime=a;else try{delete n.regeneratorRuntime}catch(e){n.regeneratorRuntime=void 0}},"3IRH":function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},FcGO:function(e,t,r){"use strict";var n=r("Xxa5"),i=r.n(n),a=r("exGp"),s=r.n(a),o={name:"emq-select",components:{},props:{value:{},field:{type:Object,required:!0},fieldName:{type:Object,default:function(){return{label:"label",value:"value"}}},disabledItem:{type:Array,default:function(){return[]}},refresh:{type:Boolean}},data:function(){return{options:[],parserField:{}}},computed:{rawValue:{get:function(){return"boolean"==typeof this.value?this.value.toString():this.value},set:function(e){var t=this.fieldName.value;this.options.find(function(r){return r[t]===e})&&this.parserField[t]&&(e="true"===e),this.$emit("update:value",e)}}},watch:{refresh:function(e){e&&this.loadData()},field:{handler:function(){this.loadData()},deep:!0}},created:function(){this.loadData()},methods:{loadData:function(){var e=this;return s()(i.a.mark(function t(){var r,n,a;return i.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.getOptions();case 2:r=t.sent,e.parserField={},n=e.fieldName.value,a=e.fieldName.label,e.options=r.map(function(t){var r=t[n],i=t[a];return"boolean"==typeof r&&(e.parserField[n]="boolean",t[n]=r.toString(),"boolean"==typeof i&&(t[a]=i.toString())),t}),e.$emit("update:refresh",!1);case 8:case"end":return t.stop()}},t,e)}))()},isDisabled:function(e){return this.disabledItem.includes(e[this.fieldName.value])},getOptions:function(){var e=this;return s()(i.a.mark(function t(){var r,n,a,s,o;return i.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.field,n=r.api,r.url,a=r.options,s=r.list,o=[],!a){t.next=6;break}o=a,t.next=14;break;case 6:if(!s){t.next=10;break}o=s.map(function(e){return{label:e,value:e}}),t.next=14;break;case 10:if(!n){t.next=14;break}return t.next=13,n();case 13:o=t.sent;case 14:return t.abrupt("return",o);case 15:case"end":return t.stop()}},t,e)}))()}}},l={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("el-select",e._g(e._b({staticClass:"emq-select",attrs:{value:e.rawValue}},"el-select",e.$attrs,!1),e.$listeners),[e._t("default",e._l(e.options,function(t,n){return r("el-option",{key:n,attrs:{value:t[e.fieldName.value],label:t[e.fieldName.label],disabled:e.isDisabled(t)}},[e._t("option",null,{item:t})],2)}))],2)},staticRenderFns:[]},c=r("VU/8")(o,l,!1,null,null,null);t.a=c.exports},"G5A+":function(e,t){},HhN8:function(e,t){!function(t){"use strict";var r,n=Object.prototype,i=n.hasOwnProperty,a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag",c="object"==typeof e,u=t.regeneratorRuntime;if(u)c&&(e.exports=u);else{(u=t.regeneratorRuntime=c?e.exports:{}).wrap=_;var p="suspendedStart",h="suspendedYield",d="executing",f="completed",y={},v={};v[s]=function(){return this};var m=Object.getPrototypeOf,b=m&&m(m(C([])));b&&b!==n&&i.call(b,s)&&(v=b);var g=w.prototype=E.prototype=Object.create(v);x.prototype=g.constructor=w,w.constructor=x,w[l]=x.displayName="GeneratorFunction",u.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===x||"GeneratorFunction"===(t.displayName||t.name))},u.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,w):(e.__proto__=w,l in e||(e[l]="GeneratorFunction")),e.prototype=Object.create(g),e},u.awrap=function(e){return{__await:e}},O($.prototype),$.prototype[o]=function(){return this},u.AsyncIterator=$,u.async=function(e,t,r,n){var i=new $(_(e,t,r,n));return u.isGeneratorFunction(t)?i:i.next().then(function(e){return e.done?e.value:i.next()})},O(g),g[l]="Generator",g[s]=function(){return this},g.toString=function(){return"[object Generator]"},u.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},u.values=C,I.prototype={constructor:I,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=r,this.done=!1,this.delegate=null,this.method="next",this.arg=r,this.tryEntries.forEach(R),!e)for(var t in this)"t"===t.charAt(0)&&i.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=r)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(n,i){return o.type="throw",o.arg=e,t.next=n,i&&(t.method="next",t.arg=r),!!i}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],o=s.completion;if("root"===s.tryLoc)return n("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),c=i.call(s,"finallyLoc");if(l&&c){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),R(r),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;R(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:C(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=r),y}}}function _(e,t,r,n){var i=t&&t.prototype instanceof E?t:E,a=Object.create(i.prototype),s=new I(n||[]);return a._invoke=function(e,t,r){var n=p;return function(i,a){if(n===d)throw new Error("Generator is already running");if(n===f){if("throw"===i)throw a;return A()}for(r.method=i,r.arg=a;;){var s=r.delegate;if(s){var o=S(s,r);if(o){if(o===y)continue;return o}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===p)throw n=f,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=d;var l=k(e,t,r);if("normal"===l.type){if(n=r.done?f:h,l.arg===y)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n=f,r.method="throw",r.arg=l.arg)}}}(e,r,s),a}function k(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}function E(){}function x(){}function w(){}function O(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function $(e){var t;this._invoke=function(r,n){function a(){return new Promise(function(t,a){!function t(r,n,a,s){var o=k(e[r],e,n);if("throw"!==o.type){var l=o.arg,c=l.value;return c&&"object"==typeof c&&i.call(c,"__await")?Promise.resolve(c.__await).then(function(e){t("next",e,a,s)},function(e){t("throw",e,a,s)}):Promise.resolve(c).then(function(e){l.value=e,a(l)},s)}s(o.arg)}(r,n,t,a)})}return t=t?t.then(a,a):a()}}function S(e,t){var n=e.iterator[t.method];if(n===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=r,S(e,t),"throw"===t.method))return y;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return y}var i=k(n,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,y;var a=i.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=r),t.delegate=null,y):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,y)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function R(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function I(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function C(e){if(e){var t=e[s];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,a=function t(){for(;++n0&&void 0!==arguments[0]?arguments[0]:{};var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";var n=[];var i="";var a=l()({},r,{});var o={};s()(t).forEach(function(t){var s=h()(t,2),l=s[0],c=s[1];if("$resource"!==l){var p=c.format,d=c.enum,f=c.input,y=c.order,v=c.items,m=c.title,b=c.type,g=c.description,_=c.default;"object"===(void 0===m?"undefined":u()(m))&&(m=m[E]),"object"===(void 0===g?"undefined":u()(g))&&(g=g[E]);var k=_||"";w.includes(p)&&(k={url:"http://"}[p]);var x={placeholder:k=k.toString()};if((d||"boolean"===b)&&(b="emq-select",x.field=d?{options:d.map(function(e){return{value:e,label:e}})}:{options:[{label:!0,value:!0},{label:!1,value:!1}]}),"object"!==b||_||(_={}),"array"===b&&"object"===v.type){var $=v.schema;o=e($,"config"),_.length||(_=[])}"textarea"===f&&(x.type="textarea",x.rows=5),n.push({key:l,type:b,label:m||l,prop:l,defaultValue:_,$attrs:x,description:(g||"").replace(/\n/g,"
    "),order:y,oneObjOfArray:o}),r?a[r][l]=O(t):a[l]=O(t)}else i="string"});n=n.sort(function(e,t){return e.order-t.order});return{model:n,rules:a,resource:i}},t.b=function(e){if("zh"===E)return _[e];return k[e]},t.e=function(e,t,r){return new i.a(function(n,i){try{var a=e.filter(function(e){if(e[t]){var n=e[t].toLowerCase().replace(/\s+/g,""),i=r.toLocaleLowerCase().replace(/\s+/g,"");return n.match(i)}return null});return n(a)}catch(e){return i(e)}})},t.h=function(e){var t=e.replace(/\"/g,""),r=null;return["message.publish","message.deliver","message.acked","message.dropped","client.connected","client.disconnected","client.subscribe","client.unsubscribe"].forEach(function(e){var n=e.split("."),i=h()(n,2),a=i[0],s=i[1],o=new RegExp(a+"\\."+s,"gim");t.match(o)&&(r=t.match(o))}),r},t.g=function(e,t){var r={"message.publish":"","message.deliver":"$events/message_delivered","message.acked":"$events/message_acked","message.dropped":"$events/message_dropped","client.connected":"$events/client_connected","client.disconnected":"$events/client_disconnected","client.subscribe":"$events/session_subscribed","client.unsubscribe":"$events/session_unsubscribed"}[t],n=e.replace(/\"/g,""),i=m.a.parse(n);""===r&&(i.value.where=null,r="#");return i.value.from.value[0].value.value.value='"'+r+'"',m.a.stringify(i)},t.a=function(e,t){var r=(t-e)%864e5,n=Math.floor(r/36e5),i=r%36e5,a=Math.floor(i/6e4),s=i%6e4,o=Math.round(s/1e3);return n+":"+a+":"+o},r.d(t,"i",function(){return S}),r.d(t,"d",function(){return T});var E=window.localStorage.language||window.EMQX_DASHBOARD_CONFIG.lang||"en",x={is_required:{en:"is required",zh:"必填"}},w=["string","number","boolean","method","regexp","integer","float","array","object","enum","date","url","hex","email"];function O(e){var t=h()(e,2),r=t[0],n=t[1],i=(n.type,n.format,n.required),a=(n.enum,n.title);"object"===(void 0===a?"undefined":u()(a))&&(a=a[E]);var s={};i&&(s.required=!0,s.message=(a||r)+" "+x.is_required[E])}function $(e,t){var r=new y.a(t.target,{text:function(){return e}});r.on("success",function(){d.default.prototype.$message({message:d.default.prototype.$t("oper.copySuccess"),type:"success",duration:1500}),r.destroy()}),r.on("error",function(){d.default.prototype.$message({message:d.default.prototype.$t("oper.copyFailed"),type:"error"}),r.destroy()}),r.onClick(t)}var S=function(e,t,r){t?t.length>64?r(new Error(d.default.prototype.$t("rule.id_len_tip"))):/^[0-9a-zA-Z_:]{1,64}$/.test(t)?r():r(new Error(d.default.prototype.$t("rule.id_char_tip"))):r(new Error("ID "+d.default.prototype.$t("rule.is_required")))},T=function(e,t){return e&&e.length>t?e.substring(0,t)+"...":e}},SHGx:function(e,t,r){"use strict";var n=r("pFYg"),i=r.n(n),a=r("fZjL"),s=r.n(a),o=r("Dd8w"),l=r.n(o),c=r("FcGO"),u=r("d7EF"),p=r.n(u),h=r("W3Iv"),d=r.n(h),f=r("woOf"),y=r.n(f),v={name:"ArrayEditor",components:{EmqSelect:c.a},model:{prop:"value",event:"update"},props:{value:{type:Array,required:!0},notNull:{type:Boolean,default:!1},data:{type:Object,required:!0}},data:function(){return{tableData:[],headers:[],oneRow:{},defaultConfig:{}}},created:function(){this.initData()},methods:{assignValue:function(){var e=this;if(this.value.length){for(var t=0;t0&&void 0!==arguments[0])||arguments[0];this.$refs.record.validate(function(r){if(r){var n=e.record.config;s()(n).forEach(function(t){var r=n[t];"true"===r&&(e.record.config[t]=!0),"false"===r&&(e.record.config[t]=!1)});var i=t?"/resources":"/resources?test=true";e.$httpPost(i,e.record).then(function(r){t?(e.$message.success(e.$t("rule.create_success")),e.dialogVisible=!1,e.$emit("confirm",r.data)):e.$message.success(e.$t("rule.conf_test_success"))}).catch(function(){})}})},handleTypeChange:function(e){this.paramsList=[],this.resourceRules={};var t=this.resourceTypes.find(function(t){return t.name===e});if(t){var r=Object(g.f)(t.params,"config"),n=r.model,i=r.rules;this.resourceRules=i,this.paramsList=n,this.initRecord(),setTimeout(this.clearTabIndex,500)}},initRecord:function(){var e=this;0===this.paramsList.length?this.$set(this.record,"config",void 0):this.record.config||this.$set(this.record,"config",{}),this.$set(this.record,"config",{}),this.paramsList.forEach(function(t){e.$set(e.record.config,t.key,t.defaultValue)}),setTimeout(function(){e.$refs.record.clearValidate()},30)},loadResourceTypes:function(){var e=this;this.$httpGet("/resource_types").then(function(t){e.record={type:"",config:{},description:"",id:"resource:"+Math.random().toString().slice(3,9)},e.resourceType&&(e.record.type=e.resourceType),e.resourceTypes=t.data.map(function(e){return e.titleLabel="object"===i()(e.title)?e.title[_]:e.title,e}),e.handleTypeChange(e.record.type),setTimeout(function(){e.$refs.record.clearValidate()},30)})}}},E={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("el-dialog",e._b({staticClass:"resource-dialog",attrs:{width:"700px",visible:e.dialogVisible,title:e.$t("rule.resource_mgmt")},on:{"update:visible":function(t){e.dialogVisible=t},close:e.close,open:e.loadResourceTypes}},"el-dialog",e.$attrs,!1),[r("el-form",{ref:"record",staticClass:"el-form--public",attrs:{model:e.record,rules:e.rules}},[r("el-row",{attrs:{gutter:20}},[r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{prop:"type",label:e.$t("rule.resource_type")}},[r("el-select",{staticClass:"el-select--public",staticStyle:{width:"100%"},attrs:{"popper-class":"el-select--public",disabled:!!e.resourceType},on:{change:e.handleTypeChange},model:{value:e.record.type,callback:function(t){e.$set(e.record,"type",t)},expression:"record.type"}},e._l(e.resourceTypes,function(t,n){return r("div",{key:n},[0===e.enableItem.length||e.enableItem.includes(t.name)?r("el-option",{attrs:{label:t.titleLabel,value:t.name}}):e._e()],1)}),0)],1)],1),e._v(" "),r("el-col",{attrs:{span:12}},[r("el-form-item",[r("template",{slot:"label"},[e._v(" ")]),e._v(" "),r("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.handleCreate(!1)}}},[e._v("\n "+e._s(e.$t("rule.conf_test"))+"\n ")])],2)],1),e._v(" "),e.record.type?[r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{prop:"id",label:e.$t("rule.resource_id")}},[r("el-input",{model:{value:e.record.id,callback:function(t){e.$set(e.record,"id",t)},expression:"record.id"}})],1)],1),e._v(" "),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{prop:"description",label:e.$t("rule.resource_des")}},[r("el-input",{attrs:{type:"textarea"},model:{value:e.record.description,callback:function(t){e.$set(e.record,"description",t)},expression:"record.description"}})],1)],1),e._v(" "),e._l(e.paramsList,function(t,n){return r("el-col",{key:n,attrs:{span:"object"===t.type||"array"===t.type||"textarea"===t.$attrs.type?24:12}},[r("el-form-item",{attrs:{prop:"config."+t.prop}},[r("template",{slot:"label"},[e._v("\n "+e._s(t.label)+"\n\n "),t.description?r("el-popover",{attrs:{placement:"right",width:"200",trigger:"hover"}},[r("div",{domProps:{innerHTML:e._s(t.description)}}),e._v(" "),r("span",{staticClass:"el-icon-question",attrs:{slot:"reference",tabindex:"-1"},slot:"reference"})]):e._e()],1),e._v(" "),"object"===t.type?r("data-table",{model:{value:e.record.config[t.key],callback:function(r){e.$set(e.record.config,t.key,r)},expression:"record.config[item.key]"}}):"array"===t.type?[r("array-editor",{attrs:{data:t.oneObjOfArray},model:{value:e.record.config[t.key],callback:function(r){e.$set(e.record.config,t.key,r)},expression:"record.config[item.key]"}})]:"emq-select"===t.type?r("emq-select",e._b({staticClass:"el-select--public",attrs:{"popper-class":"el-select--public"},model:{value:e.record.config[t.key],callback:function(r){e.$set(e.record.config,t.key,r)},expression:"record.config[item.key]"}},"emq-select",t.$attrs,!1)):"number"===t.type?r("el-input",e._b({attrs:{type:"number"},model:{value:e.record.config[t.key],callback:function(r){e.$set(e.record.config,t.key,e._n(r))},expression:"record.config[item.key]"}},"el-input",t.$attrs,!1)):r("el-input",e._b({model:{value:e.record.config[t.key],callback:function(r){e.$set(e.record.config,t.key,r)},expression:"record.config[item.key]"}},"el-input",t.$attrs,!1))],2)],1)})]:e._e()],2)],1),e._v(" "),r("div",{attrs:{slot:"footer"},slot:"footer"},[r("el-button",{staticClass:"cache-btn",attrs:{type:"text"},on:{click:function(t){e.dialogVisible=!1}}},[e._v("\n "+e._s(e.$t("rule.cancel"))+"\n ")]),e._v(" "),r("el-button",{staticClass:"confirm-btn",attrs:{type:"success"},on:{click:e.handleCreate}},[e._v("\n "+e._s(e.$t("rule.create"))+"\n ")])],1)],1)},staticRenderFns:[]};var x=r("VU/8")(k,E,!1,function(e){r("G5A+")},null,null);t.a=x.exports},TQvf:function(e,t,r){ +/*! + * clipboard.js v2.0.6 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +var n;n=function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=6)}([function(e,t){e.exports=function(e){var t;if("SELECT"===e.nodeName)e.focus(),t=e.value;else if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName){var r=e.hasAttribute("readonly");r||e.setAttribute("readonly",""),e.select(),e.setSelectionRange(0,e.value.length),r||e.removeAttribute("readonly"),t=e.value}else{e.hasAttribute("contenteditable")&&e.focus();var n=window.getSelection(),i=document.createRange();i.selectNodeContents(e),n.removeAllRanges(),n.addRange(i),t=n.toString()}return t}},function(e,t){function r(){}r.prototype={on:function(e,t,r){var n=this.e||(this.e={});return(n[e]||(n[e]=[])).push({fn:t,ctx:r}),this},once:function(e,t,r){var n=this;function i(){n.off(e,i),t.apply(r,arguments)}return i._=t,this.on(e,i,r)},emit:function(e){for(var t=[].slice.call(arguments,1),r=((this.e||(this.e={}))[e]||[]).slice(),n=0,i=r.length;n0&&void 0!==arguments[0]?arguments[0]:{};this.action=e.action,this.container=e.container,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var e=this,t="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return e.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[t?"right":"left"]="-9999px";var r=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=r+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=i()(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=i()(this.target),this.copyText()}},{key:"copyText",value:function(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function(e){this.emitter.emit(e?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),document.activeElement.blur(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(e){if(void 0!==e){if(!e||"object"!==(void 0===e?"undefined":a(e))||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=e}},get:function(){return this._target}}]),e}(),l=r(1),c=r.n(l),u=r(2),p=r.n(u),h="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},d=function(){function e(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText,this.container="object"===h(e.container)?e.container:document.body}},{key:"listenClick",value:function(e){var t=this;this.listener=p()(e,"click",function(e){return t.onClick(e)})}},{key:"onClick",value:function(e){var t=e.delegateTarget||e.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new o({action:this.action(t),target:this.target(t),text:this.text(t),container:this.container,trigger:t,emitter:this})}},{key:"defaultAction",value:function(e){return y("action",e)}},{key:"defaultTarget",value:function(e){var t=y("target",e);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(e){return y("text",e)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof e?[e]:e,r=!!document.queryCommandSupported;return t.forEach(function(e){r=r&&!!document.queryCommandSupported(e)}),r}}]),t}();function y(e,t){var r="data-clipboard-"+e;if(t.hasAttribute(r))return t.getAttribute(r)}t.default=f}]).default},e.exports=n()},Xxa5:function(e,t,r){e.exports=r("1H6C")},cMrt:function(e,t){e.exports={en:{emqx_auth_clientid:"https://docs.emqx.io/broker/latest/en/advanced/auth-clientid.html",emqx_auth_username:"https://docs.emqx.io/broker/latest/en/advanced/auth-username.html",emqx_auth_http:"https://docs.emqx.io/broker/latest/en/advanced/auth-http.html",emqx_auth_jwt:"https://docs.emqx.io/broker/latest/en/advanced/auth-jwt.html",emqx_auth_ldap:"https://docs.emqx.io/broker/latest/en/advanced/auth-ldap.html",emqx_auth_mnesia:"https://docs.emqx.io/broker/latest/en/advanced/auth-mnesia.html",emqx_auth_mongo:"https://docs.emqx.io/broker/latest/en/advanced/auth-mongodb.html",emqx_auth_mysql:"https://docs.emqx.io/broker/latest/en/advanced/auth-mysql.html",emqx_auth_pgsql:"https://docs.emqx.io/broker/latest/en/advanced/auth-postgresql.html",emqx_auth_redis:"https://docs.emqx.io/broker/latest/en/advanced/auth-redis.html",emqx_dashboard:"https://docs.emqx.io/broker/latest/en/getting-started/dashboard.html",emqx_extension_hook:"https://docs.emqx.io/broker/latest/en/advanced/multiple-language-support.html",emqx_rule_engine:"https://docs.emqx.io/broker/latest/en/rule/rule-engine.html"},zh:{emqx_auth_clientid:"https://docs.emqx.io/broker/latest/cn/advanced/auth-clientid.html",emqx_auth_username:"https://docs.emqx.io/broker/latest/cn/advanced/auth-username.html",emqx_auth_http:"https://docs.emqx.io/broker/latest/cn/advanced/auth-http.html",emqx_auth_jwt:"https://docs.emqx.io/broker/latest/cn/advanced/auth-jwt.html",emqx_auth_ldap:"https://docs.emqx.io/broker/latest/cn/advanced/auth-ldap.html",emqx_auth_mnesia:"https://docs.emqx.io/broker/latest/cn/advanced/auth-mnesia.html",emqx_auth_mongo:"https://docs.emqx.io/broker/latest/cn/advanced/auth-mongodb.html",emqx_auth_mysql:"https://docs.emqx.io/broker/latest/cn/advanced/auth-mysql.html",emqx_auth_pgsql:"https://docs.emqx.io/broker/latest/cn/advanced/auth-postgresql.html",emqx_auth_redis:"https://docs.emqx.io/broker/latest/cn/advanced/auth-redis.html",emqx_dashboard:"https://docs.emqx.io/broker/latest/cn/getting-started/dashboard.html",emqx_extension_hook:"https://docs.emqx.io/broker/latest/cn/advanced/multiple-language-support.html",emqx_rule_engine:"https://docs.emqx.io/broker/latest/cn/rule/rule-engine.html"}}},dmxg:function(e,t,r){var n,i=function(){var e=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},t=[1,8],r=[1,4],n=[2,4],i=[1,11],a=[1,10],s=[2,16],o=[1,14],l=[1,15],c=[1,16],u=[6,8],p=[2,144],h=[1,19],d=[1,20],f=[16,33,35,36,37,38,39,40,41,42,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],y=[16,18,32,33,35,36,37,38,39,40,41,42,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],v=[2,158],m=[1,29],b=[6,8,14,17,146,150,152,154],g=[1,42],_=[1,60],k=[1,51],E=[1,58],x=[1,59],w=[1,61],O=[1,62],$=[1,63],S=[1,64],T=[1,65],R=[1,57],I=[1,52],C=[1,53],A=[1,54],L=[1,55],N=[1,56],q=[1,43],F=[1,44],K=[1,45],P=[1,34],D=[16,35,36,37,38,39,40,41,42,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],j=[6,8,14,17,150,152,154],B=[2,141],U=[1,74],H=[1,75],M=[6,8,14,17,43,133,138,144,146,150,152,154],G=[1,80],V=[1,77],Q=[1,78],W=[1,79],X=[1,81],J=[6,8,14,17,36,43,49,50,71,72,74,77,89,107,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],z=[6,8,14,17,34,36,43,49,50,71,72,74,77,89,107,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],Y=[1,102],Z=[1,100],ee=[1,101],te=[1,96],re=[1,97],ne=[1,98],ie=[1,99],ae=[1,103],se=[1,104],oe=[1,105],le=[1,106],ce=[1,107],ue=[1,108],pe=[2,101],he=[6,8,14,17,34,36,43,45,49,50,71,72,74,77,79,81,89,91,92,93,94,95,96,97,98,99,101,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],de=[6,8,14,17,34,36,43,45,49,50,71,72,74,77,79,81,89,91,92,93,94,95,96,97,98,99,101,103,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],fe=[1,109],ye=[1,116],ve=[2,62],me=[1,117],be=[16,35,37,38,39,40,41,42,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],ge=[16,29,35,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,119],_e=[1,163],ke=[17,43],Ee=[2,57],xe=[1,172],we=[1,170],Oe=[1,171],$e=[6,8,138,146],Se=[16,35,38,39,40,41,42,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],Te=[6,8,14,17,138,144,146,150,152,154],Re=[6,8,14,17,36,43,49,50,71,72,74,77,89,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],Ie=[6,8,14,17,34,36,43,49,50,71,72,74,77,89,91,92,93,94,99,101,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],Ce=[6,8,14,17,34,36,43,49,50,71,72,74,77,79,81,89,91,92,93,94,99,101,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],Ae=[16,35,39,40,41,42,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],Le=[16,35,40,41,42,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],Ne=[16,35,42,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],qe=[71,74,77],Fe=[16,35,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],Ke=[1,232],Pe=[1,233],De=[6,8,14,17],je=[6,8,14,17,43,157],Be=[1,249],Ue=[1,245],He=[2,195],Me=[1,252],Ge=[1,253],Ve=[6,8,14,17,43,129,135,138,144,146,150,152,154,182],Qe=[1,255],We=[1,258],Xe=[1,259],Je=[1,260],ze=[1,261],Ye=[2,172],Ze=[1,257],et=[6,8,14,17,36,43,89,129,135,138,144,146,150,152,154,164,165,167,168,173,177,179,180,182],tt=[6,8,14,17,135,138,144,146,150,152,154],rt=[1,273],nt=[2,177],it=[170,173],at=[6,8,14,17,36,43,89,129,135,138,144,146,150,152,154,164,165,167,168,173,177,179,180,182,192,193,194],st=[2,197],ot=[1,278],lt=[1,290],ct=[1,298],ut=[1,299],pt=[1,300],ht=[6,8,14,17,138,146,150,152,154],dt=[1,310],ft=[1,316],yt=[1,317],vt=[2,202],mt=[1,328],bt=[16,152],gt=[6,8,14,17,152,154],_t=[1,344],kt={trace:function(){},yy:{},symbols_:{error:2,main:3,selectClause:4,semicolonOpt:5,EOF:6,unionClause:7,";":8,unionClauseNotParenthesized:9,unionClauseParenthesized:10,order_by_opt:11,limit_opt:12,selectClauseParenthesized:13,UNION:14,distinctOpt:15,"(":16,")":17,SELECT:18,highPriorityOpt:19,maxStateMentTimeOpt:20,straightJoinOpt:21,sqlSmallResultOpt:22,sqlBigResultOpt:23,sqlBufferResultOpt:24,sqlCacheOpt:25,sqlCalcFoundRowsOpt:26,selectExprList:27,selectDataSetOpt:28,ALL:29,DISTINCT:30,DISTINCTROW:31,HIGH_PRIORITY:32,MAX_STATEMENT_TIME:33,"=":34,NUMERIC:35,STRAIGHT_JOIN:36,SQL_SMALL_RESULT:37,SQL_BIG_RESULT:38,SQL_BUFFER_RESULT:39,SQL_CACHE:40,SQL_NO_CACHE:41,SQL_CALC_FOUND_ROWS:42,",":43,selectExpr:44,"*":45,SELECT_EXPR_STAR:46,expr:47,selectExprAliasOpt:48,AS:49,IDENTIFIER:50,string:51,QUOTED_IDENTIFIER:52,STRING:53,number:54,EXPONENT_NUMERIC:55,HEX_NUMERIC:56,boolean:57,TRUE:58,FALSE:59,null:60,NULL:61,literal:62,function_call:63,function_call_param_list:64,function_call_param:65,identifier:66,DOT:67,identifier_list:68,case_expr_opt:69,when_then_list:70,WHEN:71,THEN:72,case_when_else:73,ELSE:74,case_when:75,CASE:76,END:77,simple_expr_prefix:78,"+":79,simple_expr:80,"-":81,"~":82,"!":83,BINARY:84,expr_list:85,ROW:86,EXISTS:87,"{":88,"}":89,bit_expr:90,"|":91,"&":92,"<<":93,">>":94,"/":95,DIV:96,MOD:97,"%":98,"^":99,not_opt:100,NOT:101,escape_opt:102,ESCAPE:103,predicate:104,IN:105,BETWEEN:106,AND:107,SOUNDS:108,LIKE:109,REGEXP:110,comparison_operator:111,">=":112,">":113,"<=":114,"<":115,"<>":116,"!=":117,sub_query_data_set_opt:118,ANY:119,boolean_primary:120,IS:121,boolean_extra:122,UNKNOWN:123,"&&":124,"||":125,OR:126,XOR:127,where_opt:128,WHERE:129,group_by_opt:130,group_by:131,roll_up_opt:132,WITH:133,ROLLUP:134,GROUP_BY:135,group_by_order_by_item_list:136,order_by:137,ORDER_BY:138,group_by_order_by_item:139,sort_opt:140,ASC:141,DESC:142,having_opt:143,HAVING:144,limit:145,LIMIT:146,OFFSET:147,procedure_opt:148,procedure:149,PROCEDURE:150,for_update_lock_in_share_mode_opt:151,FOR:152,UPDATE:153,LOCK:154,SHARE:155,MODE:156,FROM:157,table_references:158,partitionOpt:159,escaped_table_reference:160,table_reference:161,OJ:162,join_inner_cross:163,INNER:164,CROSS:165,left_right:166,LEFT:167,RIGHT:168,out_opt:169,OUTER:170,left_right_out_opt:171,join_table:172,JOIN:173,table_factor:174,join_condition:175,on_join_condition:176,NATURAL:177,join_condition_opt:178,ON:179,USING:180,partition_names:181,PARTITION:182,aliasOpt:183,index_or_key:184,INDEX:185,KEY:186,for_opt:187,identifier_list_opt:188,index_hint_list_opt:189,index_hint_list:190,index_hint:191,USE:192,IGNORE:193,FORCE:194,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",8:";",14:"UNION",16:"(",17:")",18:"SELECT",29:"ALL",30:"DISTINCT",31:"DISTINCTROW",32:"HIGH_PRIORITY",33:"MAX_STATEMENT_TIME",34:"=",35:"NUMERIC",36:"STRAIGHT_JOIN",37:"SQL_SMALL_RESULT",38:"SQL_BIG_RESULT",39:"SQL_BUFFER_RESULT",40:"SQL_CACHE",41:"SQL_NO_CACHE",42:"SQL_CALC_FOUND_ROWS",43:",",45:"*",46:"SELECT_EXPR_STAR",49:"AS",50:"IDENTIFIER",52:"QUOTED_IDENTIFIER",53:"STRING",55:"EXPONENT_NUMERIC",56:"HEX_NUMERIC",58:"TRUE",59:"FALSE",61:"NULL",67:"DOT",71:"WHEN",72:"THEN",74:"ELSE",76:"CASE",77:"END",79:"+",81:"-",82:"~",83:"!",84:"BINARY",86:"ROW",87:"EXISTS",88:"{",89:"}",91:"|",92:"&",93:"<<",94:">>",95:"/",96:"DIV",97:"MOD",98:"%",99:"^",101:"NOT",103:"ESCAPE",105:"IN",106:"BETWEEN",107:"AND",108:"SOUNDS",109:"LIKE",110:"REGEXP",112:">=",113:">",114:"<=",115:"<",116:"<>",117:"!=",119:"ANY",121:"IS",123:"UNKNOWN",124:"&&",125:"||",126:"OR",127:"XOR",129:"WHERE",133:"WITH",134:"ROLLUP",135:"GROUP_BY",138:"ORDER_BY",141:"ASC",142:"DESC",144:"HAVING",146:"LIMIT",147:"OFFSET",150:"PROCEDURE",152:"FOR",153:"UPDATE",154:"LOCK",155:"SHARE",156:"MODE",157:"FROM",162:"OJ",164:"INNER",165:"CROSS",167:"LEFT",168:"RIGHT",170:"OUTER",173:"JOIN",177:"NATURAL",179:"ON",180:"USING",182:"PARTITION",185:"INDEX",186:"KEY",192:"USE",193:"IGNORE",194:"FORCE"},productions_:[0,[3,3],[3,3],[5,1],[5,0],[7,1],[7,3],[10,4],[10,4],[13,3],[9,4],[9,4],[4,12],[15,1],[15,1],[15,1],[15,0],[19,1],[19,0],[20,3],[20,0],[21,1],[21,0],[22,1],[22,0],[23,1],[23,0],[24,1],[24,0],[25,0],[25,1],[25,1],[26,1],[26,0],[27,3],[27,1],[44,1],[44,1],[44,2],[48,0],[48,2],[48,1],[51,1],[51,1],[54,1],[54,1],[54,1],[57,1],[57,1],[60,1],[62,1],[62,1],[62,1],[62,1],[63,4],[64,3],[64,1],[65,0],[65,1],[65,1],[65,2],[65,1],[66,1],[66,3],[68,1],[68,3],[69,0],[69,1],[70,4],[70,5],[73,0],[73,2],[75,5],[78,2],[78,2],[78,2],[78,2],[78,2],[80,1],[80,1],[80,1],[80,1],[80,3],[80,4],[80,3],[80,4],[80,4],[80,1],[90,1],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[90,3],[100,0],[100,1],[102,0],[102,2],[104,1],[104,6],[104,6],[104,6],[104,4],[104,5],[104,4],[111,1],[111,1],[111,1],[111,1],[111,1],[111,1],[111,1],[118,1],[118,1],[120,1],[120,4],[120,3],[120,6],[122,1],[122,1],[47,1],[47,4],[47,2],[47,3],[47,3],[47,3],[47,3],[47,3],[85,1],[85,3],[128,0],[128,2],[130,0],[130,1],[132,0],[132,2],[131,3],[11,0],[11,1],[137,3],[136,1],[136,3],[139,2],[140,0],[140,1],[140,1],[143,0],[143,2],[145,2],[145,4],[145,4],[12,0],[12,1],[148,0],[148,1],[149,2],[151,0],[151,2],[151,4],[28,0],[28,10],[158,1],[158,3],[160,1],[160,4],[163,0],[163,1],[163,1],[166,1],[166,1],[169,0],[169,1],[171,0],[171,2],[172,4],[172,5],[172,4],[172,6],[172,5],[178,0],[178,1],[176,2],[175,1],[175,4],[161,1],[161,1],[181,1],[181,3],[159,0],[159,4],[183,0],[183,2],[183,1],[184,1],[184,1],[187,0],[187,2],[187,2],[187,2],[188,0],[188,1],[189,0],[189,1],[190,1],[190,3],[191,6],[191,6],[191,6],[174,4],[174,4],[174,3]],performAction:function(e,t,r,n,i,a,s){var o=a.length-1;switch(i){case 1:case 2:return{nodeType:"Main",value:a[o-2],hasSemicolon:a[o-1]};case 3:case 142:this.$=!0;break;case 4:this.$=!1;break;case 5:case 13:case 14:case 15:case 17:case 19:case 21:case 23:case 25:case 27:case 30:case 31:case 32:case 50:case 51:case 52:case 53:case 58:case 59:case 61:case 67:case 71:case 78:case 79:case 80:case 81:case 87:case 88:case 102:case 104:case 105:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 125:case 127:case 138:case 140:case 145:case 151:case 152:case 154:case 159:case 161:case 162:case 173:case 174:case 175:case 176:case 178:case 187:case 189:case 191:case 192:case 200:case 201:case 207:case 209:this.$=a[o];break;case 6:this.$=a[o-2],this.$.orderBy=a[o-1],this.$.limit=a[o];break;case 7:case 8:this.$={type:"Union",left:a[o-3],distinctOpt:a[o-1],right:a[o]};break;case 9:this.$={type:"SelectParenthesized",value:a[o-1]};break;case 10:case 11:this.$={type:"Union",left:a[o-3],distinctOpt:a[o-1],right:a[o]};break;case 12:this.$={type:"Select",distinctOpt:a[o-10],highPriorityOpt:a[o-9],maxStateMentTimeOpt:a[o-8],straightJoinOpt:a[o-7],sqlSmallResultOpt:a[o-6],sqlBigResultOpt:a[o-5],sqlBufferResultOpt:a[o-4],sqlCacheOpt:a[o-3],sqlCalcFoundRowsOpt:a[o-2],selectItems:a[o-1],from:a[o].from,partition:a[o].partition,where:a[o].where,groupBy:a[o].groupBy,having:a[o].having,orderBy:a[o].orderBy,limit:a[o].limit,procedure:a[o].procedure,updateLockMode:a[o].updateLockMode};break;case 16:case 18:case 20:case 22:case 24:case 26:case 28:case 29:case 33:case 57:case 66:case 70:case 101:case 103:case 137:case 139:case 141:case 144:case 150:case 153:case 158:case 160:case 163:case 172:case 177:case 186:case 195:case 202:case 206:case 208:this.$=null;break;case 34:a[o-2].value.push(a[o]);break;case 35:this.$={type:"SelectExpr",value:[a[o]]};break;case 36:case 37:case 62:this.$={type:"Identifier",value:a[o]};break;case 38:this.$=a[o-1],this.$.alias=a[o].alias,this.$.hasAs=a[o].hasAs;break;case 39:case 197:this.$={alias:null,hasAs:null};break;case 40:this.$={alias:a[o],hasAs:!0};break;case 41:this.$={alias:a[o],hasAs:!1};break;case 42:case 43:this.$={type:"String",value:a[o]};break;case 44:case 45:case 46:this.$={type:"Number",value:a[o]};break;case 47:this.$={type:"Boolean",value:"TRUE"};break;case 48:this.$={type:"Boolean",value:"FALSE"};break;case 49:this.$={type:"Null",value:"null"};break;case 54:this.$={type:"FunctionCall",name:a[o-3],params:a[o-1]};break;case 55:a[o-2].push(a[o]),this.$=a[o-2];break;case 56:this.$=[a[o]];break;case 60:this.$={type:"FunctionCallParam",distinctOpt:a[o-1],value:a[o]};break;case 63:this.$=a[o-2],a[o-2].value+="."+a[o];break;case 64:this.$={type:"IdentifierList",value:[a[o]]};break;case 65:case 169:this.$=a[o-2],a[o-2].value.push(a[o]);break;case 68:this.$={type:"WhenThenList",value:[{when:a[o-2],then:a[o]}]};break;case 69:this.$=a[o-4],this.$.value.push({when:a[o-2],then:a[o]});break;case 72:this.$={type:"CaseWhen",caseExprOpt:a[o-3],whenThenList:a[o-2],else:a[o-1]};break;case 73:case 74:case 75:case 76:case 77:this.$={type:"Prefix",prefix:a[o-1],value:a[o]};break;case 82:this.$={type:"SimpleExprParentheses",value:a[o-1]};break;case 83:this.$={type:"SimpleExprParentheses",value:a[o-2],hasRow:!0};break;case 84:this.$={type:"SubQuery",value:a[o-1]};break;case 85:this.$={type:"SubQuery",value:a[o-1],hasExists:!0};break;case 86:this.$={type:"IdentifierExpr",identifier:a[o-2],value:a[o-1]};break;case 89:this.$={type:"BitExpression",operator:"|",left:a[o-2],right:a[o]};break;case 90:this.$={type:"BitExpression",operator:"&",left:a[o-2],right:a[o]};break;case 91:this.$={type:"BitExpression",operator:"<<",left:a[o-2],right:a[o]};break;case 92:this.$={type:"BitExpression",operator:">>",left:a[o-2],right:a[o]};break;case 93:this.$={type:"BitExpression",operator:"+",left:a[o-2],right:a[o]};break;case 94:this.$={type:"BitExpression",operator:"-",left:a[o-2],right:a[o]};break;case 95:this.$={type:"BitExpression",operator:"*",left:a[o-2],right:a[o]};break;case 96:this.$={type:"BitExpression",operator:"/",left:a[o-2],right:a[o]};break;case 97:this.$={type:"BitExpression",operator:"DIV",left:a[o-2],right:a[o]};break;case 98:this.$={type:"BitExpression",operator:"MOD",left:a[o-2],right:a[o]};break;case 99:this.$={type:"BitExpression",operator:"%",left:a[o-2],right:a[o]};break;case 100:this.$={type:"BitExpression",operator:"^",left:a[o-2],right:a[o]};break;case 106:this.$={type:"InSubQueryPredicate",hasNot:a[o-4],left:a[o-5],right:a[o-1]};break;case 107:this.$={type:"InExpressionListPredicate",hasNot:a[o-4],left:a[o-5],right:a[o-1]};break;case 108:this.$={type:"BetweenPredicate",hasNot:a[o-4],left:a[o-5],right:{left:a[o-2],right:a[o]}};break;case 109:this.$={type:"SoundsLikePredicate",hasNot:!1,left:a[o-3],right:a[o]};break;case 110:this.$={type:"LikePredicate",hasNot:a[o-3],left:a[o-4],right:a[o-1],escape:a[o]};break;case 111:this.$={type:"RegexpPredicate",hasNot:a[o-2],left:a[o-3],right:a[o]};break;case 122:this.$={type:"IsNullBooleanPrimary",hasNot:a[o-1],value:a[o-3]};break;case 123:this.$={type:"ComparisonBooleanPrimary",left:a[o-2],operator:a[o-1],right:a[o]};break;case 124:this.$={type:"ComparisonSubQueryBooleanPrimary",operator:a[o-4],subQueryOpt:a[o-3],left:a[o-5],right:a[o-1]};break;case 126:this.$={type:"BooleanExtra",value:a[o]};break;case 128:this.$={type:"IsExpression",hasNot:a[o-1],left:a[o-3],right:a[o]};break;case 129:this.$={type:"NotExpression",value:a[o]};break;case 130:case 133:this.$={type:"AndExpression",operator:a[o-1],left:a[o-2],right:a[o]};break;case 131:case 132:this.$={type:"OrExpression",operator:a[o-1],left:a[o-2],right:a[o]};break;case 134:this.$={type:"XORExpression",left:a[o-2],right:a[o]};break;case 135:this.$={type:"ExpressionList",value:[a[o]]};break;case 136:case 211:this.$=a[o-2],this.$.value.push(a[o]);break;case 143:this.$={type:"GroupBy",value:a[o-1],rollUp:a[o]};break;case 146:this.$={type:"OrderBy",value:a[o-1],rollUp:a[o]};break;case 147:case 193:this.$=[a[o]];break;case 148:this.$=a[o-2],a[o-2].push(a[o]);break;case 149:this.$={type:"GroupByOrderByItem",value:a[o-1],sortOpt:a[o]};break;case 155:this.$={type:"Limit",value:[a[o]]};break;case 156:this.$={type:"Limit",value:[a[o-2],a[o]]};break;case 157:this.$={type:"Limit",value:[a[o],a[o-2]],offsetMode:!0};break;case 164:this.$=a[o-1]+" "+a[o];break;case 165:this.$=a[o-3]+" "+a[o-2]+" "+a[o-1]+" "+a[o];break;case 166:this.$={};break;case 167:this.$={from:a[o-8],partition:a[o-7],where:a[o-6],groupBy:a[o-5],having:a[o-4],orderBy:a[o-3],limit:a[o-2],procedure:a[o-1],updateLockMode:a[o]};break;case 168:this.$={type:"TableReferences",value:[a[o]]};break;case 170:this.$={type:"TableReference",value:a[o]};break;case 171:this.$={type:"TableReference",hasOj:!0,value:a[o-1]};break;case 179:this.$={leftRight:null,outOpt:null};break;case 180:this.$={leftRight:a[o-1],outOpt:a[o]};break;case 181:this.$={type:"InnerCrossJoinTable",innerCrossOpt:a[o-2],left:a[o-3],right:a[o],condition:null};break;case 182:this.$={type:"InnerCrossJoinTable",innerCrossOpt:a[o-3],left:a[o-4],right:a[o-1],condition:a[o]};break;case 183:this.$={type:"StraightJoinTable",left:a[o-3],right:a[o-1],condition:a[o]};break;case 184:this.$={type:"LeftRightJoinTable",leftRight:a[o-4],outOpt:a[o-3],left:a[o-5],right:a[o-1],condition:a[o]};break;case 185:this.$={type:"NaturalJoinTable",leftRight:a[o-2].leftRight,outOpt:a[o-2].outOpt,left:a[o-4],right:a[o]};break;case 188:this.$={type:"OnJoinCondition",value:a[o]};break;case 190:this.$={type:"UsingJoinCondition",value:a[o-1]};break;case 194:this.$=a[o-2],a[o-2].push(a[o]);break;case 196:this.$={type:"Partitions",value:a[o-1]};break;case 198:this.$={hasAs:!0,alias:a[o]};break;case 199:this.$={hasAs:!1,alias:a[o]};break;case 203:case 204:case 205:this.$={type:"ForOptIndexHint",value:a[o]};break;case 210:this.$={type:"IndexHintList",value:[a[o]]};break;case 212:this.$={type:"UseIndexHint",value:a[o-1],forOpt:a[o-3],indexOrKey:a[o-4]};break;case 213:this.$={type:"IgnoreIndexHint",value:a[o-1],forOpt:a[o-3],indexOrKey:a[o-4]};break;case 214:this.$={type:"ForceIndexHint",value:a[o-1],forOpt:a[o-3],indexOrKey:a[o-4]};break;case 215:this.$={type:"TableFactor",value:a[o-3],partition:a[o-2],alias:a[o-1].alias,hasAs:a[o-1].hasAs,indexHintOpt:a[o]};break;case 216:this.$={type:"SubQuery",value:a[o-2],alias:a[o].alias,hasAs:a[o].hasAs};break;case 217:this.$=a[o-1],this.$.hasParentheses=!0}},table:[{3:1,4:2,7:3,9:5,10:6,13:7,16:t,18:r},{1:[3]},{5:9,6:n,8:i,14:a},{5:12,6:n,8:i},e([16,32,33,35,36,37,38,39,40,41,42,45,46,50,52,53,55,56,58,59,61,76,79,81,82,83,84,86,87,88,101],s,{15:13,29:o,30:l,31:c}),e(u,[2,5]),e([6,8,146],p,{11:17,137:18,138:h}),{14:d},{4:21,18:r},{6:[1,22]},{15:23,18:s,29:o,30:l,31:c},{6:[2,3]},{6:[1,24]},e(f,[2,18],{19:25,32:[1,26]}),e(y,[2,13]),e(y,[2,14]),e(y,[2,15]),e(u,v,{12:27,145:28,146:m}),e(b,[2,145]),{16:g,35:_,47:32,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33,136:30,139:31},{15:66,16:s,29:o,30:l,31:c},{17:[1,67]},{1:[2,1]},{4:68,9:69,18:r},{1:[2,2]},e(D,[2,20],{20:70,33:[1,71]}),e(f,[2,17]),e(u,[2,6]),e(j,[2,159]),{35:[1,72]},e(b,B,{132:73,43:U,133:H}),e(M,[2,147]),e(M,[2,150],{140:76,107:G,124:V,125:Q,126:W,127:X,141:[1,82],142:[1,83]}),e(J,[2,127],{111:85,34:[1,86],112:[1,87],113:[1,88],114:[1,89],115:[1,90],116:[1,91],117:[1,92],121:[1,84]}),{16:g,35:_,47:93,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(z,[2,121]),e(z,[2,105],{100:94,45:Y,79:Z,81:ee,91:te,92:re,93:ne,94:ie,95:ae,96:se,97:oe,98:le,99:ce,101:ue,105:pe,106:pe,109:pe,110:pe,108:[1,95]}),e(he,[2,88]),e(de,[2,78]),e(de,[2,79],{67:fe}),e(de,[2,80]),e(de,[2,81]),{4:111,16:g,18:r,35:_,47:112,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,85:110,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{16:[1,113]},{16:[1,114]},{50:ye,66:115},e(de,[2,87]),e(de,[2,50]),e(de,[2,51]),e(de,[2,52]),e(de,[2,53]),e([6,8,14,17,34,36,43,45,49,50,67,71,72,74,77,79,81,89,91,92,93,94,95,96,97,98,99,101,103,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],ve,{16:me}),{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:118,81:C,82:A,83:L,84:N,86:q,87:F,88:K},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:119,81:C,82:A,83:L,84:N,86:q,87:F,88:K},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:120,81:C,82:A,83:L,84:N,86:q,87:F,88:K},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:121,81:C,82:A,83:L,84:N,86:q,87:F,88:K},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:122,81:C,82:A,83:L,84:N,86:q,87:F,88:K},{16:g,35:_,47:124,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,69:123,71:[2,66],75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(de,[2,42]),e(de,[2,43]),e(de,[2,44]),e(de,[2,45]),e(de,[2,46]),e(de,[2,47]),e(de,[2,48]),e(de,[2,49]),{10:126,13:125,16:t},e([6,8,14,138,146],[2,9]),e(u,[2,10],{14:a}),e(u,[2,11]),e(be,[2,22],{21:127,36:[1,128]}),{34:[1,129]},e(j,[2,155],{43:[1,130],147:[1,131]}),e(b,[2,146]),{16:g,35:_,47:32,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33,139:132},{134:[1,133]},e(M,[2,149]),{16:g,35:_,47:134,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{16:g,35:_,47:135,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{16:g,35:_,47:136,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{16:g,35:_,47:137,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{16:g,35:_,47:138,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(M,[2,151]),e(M,[2,152]),e([58,59,61,123],pe,{100:139,101:ue}),{16:g,29:[1,142],35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,104:140,118:141,119:[1,143]},e(ge,[2,112]),e(ge,[2,113]),e(ge,[2,114]),e(ge,[2,115]),e(ge,[2,116]),e(ge,[2,117]),e(ge,[2,118]),e(J,[2,129]),{105:[1,144],106:[1,145],109:[1,146],110:[1,147]},{109:[1,148]},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:149},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:150},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:151},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:152},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:153},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:154},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:155},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:156},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:157},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:158},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:159},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:160},e([58,59,61,105,106,109,110,123],[2,102]),{50:[1,161]},{17:[1,162],43:_e},{17:[1,164]},e(ke,[2,135],{107:G,124:V,125:Q,126:W,127:X}),{16:g,35:_,47:112,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,85:165,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{4:166,18:r},{16:g,35:_,47:167,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,67:fe,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e([6,8,14,16,17,35,36,43,49,50,52,53,55,56,58,59,61,67,76,79,81,82,83,84,86,87,88,89,101,129,135,138,144,146,150,152,154,164,165,167,168,173,177,179,180,182,192,193,194],ve),e(ke,Ee,{120:33,104:35,90:36,80:37,62:38,66:39,63:40,78:41,75:46,51:47,54:48,57:49,60:50,64:168,65:169,47:173,16:g,30:xe,35:_,45:we,46:Oe,50:k,52:E,53:x,55:w,56:O,58:$,59:S,61:T,76:R,79:I,81:C,82:A,83:L,84:N,86:q,87:F,88:K,101:P}),e(de,[2,73]),e(de,[2,74]),e(de,[2,75]),e(de,[2,76]),e(de,[2,77]),{70:174,71:[1,175]},{71:[2,67],107:G,124:V,125:Q,126:W,127:X},e($e,[2,7],{14:d}),e($e,[2,8]),e(Se,[2,24],{22:176,37:[1,177]}),e(be,[2,21]),{35:[1,178]},{35:[1,179]},{35:[1,180]},e(M,[2,148]),e(Te,[2,142]),e(J,[2,130]),e(Re,[2,131],{107:G,124:V}),e(Re,[2,132],{107:G,124:V}),e(J,[2,133]),e(Re,[2,134],{107:G,124:V}),{57:183,58:$,59:S,61:[1,182],122:181,123:[1,184]},e(z,[2,123]),{16:[1,185]},{16:[2,119]},{16:[2,120]},{16:[1,186]},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:187},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:188,81:C,82:A,83:L,84:N,86:q,87:F,88:K},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:189},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:190},e([6,8,14,17,34,36,43,49,50,71,72,74,77,89,91,101,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],[2,89],{45:Y,79:Z,81:ee,92:re,93:ne,94:ie,95:ae,96:se,97:oe,98:le,99:ce}),e([6,8,14,17,34,36,43,49,50,71,72,74,77,89,91,92,99,101,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],[2,90],{45:Y,79:Z,81:ee,93:ne,94:ie,95:ae,96:se,97:oe,98:le}),e(Ie,[2,91],{45:Y,79:Z,81:ee,95:ae,96:se,97:oe,98:le}),e(Ie,[2,92],{45:Y,79:Z,81:ee,95:ae,96:se,97:oe,98:le}),e(Ce,[2,93],{45:Y,95:ae,96:se,97:oe,98:le}),e(Ce,[2,94],{45:Y,95:ae,96:se,97:oe,98:le}),e(he,[2,95]),e(he,[2,96]),e(he,[2,97]),e(he,[2,98]),e(he,[2,99]),e([6,8,14,17,34,36,43,49,50,71,72,74,77,89,91,99,101,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182],[2,100],{45:Y,79:Z,81:ee,92:re,93:ne,94:ie,95:ae,96:se,97:oe,98:le}),e([6,8,14,16,17,34,35,36,43,45,49,50,52,53,55,56,58,59,61,67,71,72,74,76,77,79,81,82,83,84,86,87,88,89,91,92,93,94,95,96,97,98,99,101,103,105,106,107,108,109,110,112,113,114,115,116,117,121,124,125,126,127,129,133,135,138,141,142,144,146,150,152,154,157,164,165,167,168,173,177,179,180,182,192,193,194],[2,63]),e(de,[2,82]),{16:g,35:_,47:191,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(de,[2,84]),{17:[1,192],43:_e},{17:[1,193]},{89:[1,194],107:G,124:V,125:Q,126:W,127:X},{17:[1,195],43:[1,196]},e(ke,[2,56]),e(ke,[2,58]),e(ke,[2,59]),{16:g,35:_,47:197,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(ke,[2,61],{107:G,124:V,125:Q,126:W,127:X}),{71:[1,199],73:198,74:[1,200],77:[2,70]},{16:g,35:_,47:201,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(Ae,[2,26],{23:202,38:[1,203]}),e(Se,[2,23]),e(D,[2,19]),e(j,[2,156]),e(j,[2,157]),e(J,[2,128]),e(z,[2,122]),e(J,[2,125]),e(J,[2,126]),{4:204,18:r},{4:205,16:g,18:r,35:_,47:112,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,85:206,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{45:Y,79:Z,81:ee,91:te,92:re,93:ne,94:ie,95:ae,96:se,97:oe,98:le,99:ce,107:[1,207]},e(z,[2,103],{102:208,103:[1,209]}),e(z,[2,111],{45:Y,79:Z,81:ee,91:te,92:re,93:ne,94:ie,95:ae,96:se,97:oe,98:le,99:ce}),e(z,[2,109],{45:Y,79:Z,81:ee,91:te,92:re,93:ne,94:ie,95:ae,96:se,97:oe,98:le,99:ce}),e(ke,[2,136],{107:G,124:V,125:Q,126:W,127:X}),e(de,[2,83]),e(de,[2,85]),e(de,[2,86]),e(de,[2,54]),e(ke,Ee,{120:33,104:35,90:36,80:37,62:38,66:39,63:40,78:41,75:46,51:47,54:48,57:49,60:50,47:173,65:210,16:g,30:xe,35:_,45:we,46:Oe,50:k,52:E,53:x,55:w,56:O,58:$,59:S,61:T,76:R,79:I,81:C,82:A,83:L,84:N,86:q,87:F,88:K,101:P}),e(ke,[2,60],{107:G,124:V,125:Q,126:W,127:X}),{77:[1,211]},{16:g,35:_,47:212,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{16:g,35:_,47:213,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{72:[1,214],107:G,124:V,125:Q,126:W,127:X},e(Le,[2,28],{24:215,39:[1,216]}),e(Ae,[2,25]),{17:[1,217]},{17:[1,218]},{17:[1,219],43:_e},{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,104:220},e(z,[2,110]),{16:g,35:_,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:221,81:C,82:A,83:L,84:N,86:q,87:F,88:K},e(ke,[2,55]),e(de,[2,72]),{72:[1,222],107:G,124:V,125:Q,126:W,127:X},{77:[2,71],107:G,124:V,125:Q,126:W,127:X},{16:g,35:_,47:223,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(Ne,[2,29],{25:224,40:[1,225],41:[1,226]}),e(Le,[2,27]),e(z,[2,124]),e(z,[2,106]),e(z,[2,107]),e(z,[2,108]),e(z,[2,104]),{16:g,35:_,47:227,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(qe,[2,68],{107:G,124:V,125:Q,126:W,127:X}),e(Fe,[2,33],{26:228,42:[1,229]}),e(Ne,[2,30]),e(Ne,[2,31]),e(qe,[2,69],{107:G,124:V,125:Q,126:W,127:X}),{16:g,27:230,35:_,44:231,45:Ke,46:Pe,47:234,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(Fe,[2,32]),e(De,[2,166],{28:235,43:[1,236],157:[1,237]}),e(je,[2,35]),e(je,[2,36]),e(je,[2,37]),e(je,[2,39],{48:238,49:[1,239],50:[1,240],107:G,124:V,125:Q,126:W,127:X}),e(De,[2,12]),{16:g,35:_,44:241,45:Ke,46:Pe,47:234,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{16:Be,50:ye,66:248,88:Ue,158:242,160:243,161:244,172:247,174:246},e(je,[2,38]),{50:[1,250]},e(je,[2,41]),e(je,[2,34]),e([6,8,14,17,129,135,138,144,146,150,152,154],He,{159:251,43:Me,182:Ge}),e(Ve,[2,168]),e(Ve,[2,170],{163:254,166:256,36:Qe,164:We,165:Xe,167:Je,168:ze,173:Ye,177:Ze}),{162:[1,262]},e(et,[2,191]),e(et,[2,192]),e([6,8,14,17,36,43,49,50,89,129,135,138,144,146,150,152,154,164,165,167,168,173,177,179,180,192,193,194],He,{159:263,67:fe,182:Ge}),{4:264,16:Be,18:r,50:ye,66:248,88:Ue,158:265,160:243,161:244,172:247,174:246},e(je,[2,40]),e(tt,[2,137],{128:266,129:[1,267]}),{16:Be,50:ye,66:248,88:Ue,160:268,161:244,172:247,174:246},{16:[1,269]},{173:[1,270]},{16:Be,50:ye,66:248,174:271},{169:272,170:rt,173:nt},{166:275,167:Je,168:ze,171:274,173:[2,179]},{173:[2,173]},{173:[2,174]},e(it,[2,175]),e(it,[2,176]),{16:Be,50:ye,66:248,161:276,172:247,174:246},e(at,st,{183:277,66:279,49:ot,50:ye}),{17:[1,280]},{17:[1,281],43:Me},e(Te,[2,139],{130:282,131:283,135:[1,284]}),{16:g,35:_,47:285,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(Ve,[2,169]),{50:ye,66:287,181:286},{16:Be,50:ye,66:248,174:288},{176:289,179:lt},{173:[1,291]},{173:[2,178]},{173:[1,292]},{169:293,170:rt,173:nt},{36:Qe,89:[1,294],163:254,164:We,165:Xe,166:256,167:Je,168:ze,173:Ye,177:Ze},e(et,[2,208],{189:295,190:296,191:297,192:ct,193:ut,194:pt}),{50:ye,66:301},e(at,[2,199],{67:fe}),e(et,st,{66:279,183:302,49:ot,50:ye}),e(et,[2,217]),e(ht,[2,153],{143:303,144:[1,304]}),e(Te,[2,140]),{16:g,35:_,47:32,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33,136:305,139:31},e(tt,[2,138],{107:G,124:V,125:Q,126:W,127:X}),{17:[1,306],43:[1,307]},e(ke,[2,193],{67:fe}),e([6,8,14,17,36,43,89,129,135,138,144,146,150,152,154,164,165,167,168,173,177,182],[2,181],{175:308,176:309,179:lt,180:dt}),e(et,[2,183]),{16:g,35:_,47:311,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},{16:Be,50:ye,66:248,161:312,172:247,174:246},{16:Be,50:ye,66:248,174:313},{173:[2,180]},e(Ve,[2,171]),e(et,[2,215]),e(et,[2,209]),e(et,[2,210]),{184:315,185:ft,186:yt},{184:318,185:ft,186:yt},{184:319,185:ft,186:yt},e(at,[2,198],{67:fe}),e(et,[2,216]),e(b,p,{137:18,11:320,138:h}),{16:g,35:_,47:321,50:k,51:47,52:E,53:x,54:48,55:w,56:O,57:49,58:$,59:S,60:50,61:T,62:38,63:40,66:39,75:46,76:R,78:41,79:I,80:37,81:C,82:A,83:L,84:N,86:q,87:F,88:K,90:36,101:P,104:35,120:33},e(Te,B,{132:322,43:U,133:H}),e([6,8,14,17,36,43,49,50,89,129,135,138,144,146,150,152,154,164,165,167,168,173,177,179,180,182,192,193,194],[2,196]),{50:ye,66:323},e(et,[2,182]),e(et,[2,189]),{16:[1,324]},e(et,[2,188],{107:G,124:V,125:Q,126:W,127:X}),{36:Qe,163:254,164:We,165:Xe,166:256,167:Je,168:ze,173:Ye,175:325,176:309,177:Ze,179:lt,180:dt},e(et,[2,185]),{191:326,192:ct,193:ut,194:pt},{16:vt,152:mt,187:327},e(bt,[2,200]),e(bt,[2,201]),{16:vt,152:mt,187:329},{16:vt,152:mt,187:330},e(j,v,{145:28,12:331,146:m}),e(ht,[2,154],{107:G,124:V,125:Q,126:W,127:X}),e(Te,[2,143]),e(ke,[2,194],{67:fe}),{50:ye,66:333,68:332},e(et,[2,184]),e(et,[2,211]),{16:[1,334]},{135:[1,337],138:[1,336],173:[1,335]},{16:[1,338]},{16:[1,339]},e(gt,[2,160],{148:340,149:341,150:[1,342]}),{17:[1,343],43:_t},e(ke,[2,64],{67:fe}),{17:[2,206],50:ye,66:333,68:346,188:345},{16:[2,203]},{16:[2,204]},{16:[2,205]},{50:ye,66:333,68:347},{50:ye,66:333,68:348},e(De,[2,163],{151:349,152:[1,350],154:[1,351]}),e(gt,[2,161]),{50:[1,353],63:352},e(et,[2,190]),{50:ye,66:354},{17:[1,355]},{17:[2,207],43:_t},{17:[1,356],43:_t},{17:[1,357],43:_t},e(De,[2,167]),{153:[1,358]},{105:[1,359]},e(gt,[2,162]),{16:me},e(ke,[2,65],{67:fe}),e(et,[2,212]),e(et,[2,213]),e(et,[2,214]),e(De,[2,164]),{155:[1,360]},{156:[1,361]},e(De,[2,165])],defaultActions:{11:[2,3],22:[2,1],24:[2,2],142:[2,119],143:[2,120],258:[2,173],259:[2,174],273:[2,178],293:[2,180],335:[2,203],336:[2,204],337:[2,205]},parseError:function(e,t){if(!t.recoverable){var r=new Error(e);throw r.hash=t,r}this.trace(e)},parse:function(e){var t=this,r=[0],n=[null],i=[],a=this.table,s="",o=0,l=0,c=0,u=i.slice.call(arguments,1),p=Object.create(this.lexer),h={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(h.yy[d]=this.yy[d]);p.setInput(e,h.yy),h.yy.lexer=p,h.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var f=p.yylloc;i.push(f);var y=p.options&&p.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var v,m,b,g,_,k,E,x,w,O=function(){var e;return"number"!=typeof(e=p.lex()||1)&&(e=t.symbols_[e]||e),e},$={};;){if(b=r[r.length-1],this.defaultActions[b]?g=this.defaultActions[b]:(null!==v&&void 0!==v||(v=O()),g=a[b]&&a[b][v]),void 0===g||!g.length||!g[0]){var S="";for(k in w=[],a[b])this.terminals_[k]&&k>2&&w.push("'"+this.terminals_[k]+"'");S=p.showPosition?"Parse error on line "+(o+1)+":\n"+p.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(S,{text:p.match,token:this.terminals_[v]||v,line:p.yylineno,loc:f,expected:w})}if(g[0]instanceof Array&&g.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(g[0]){case 1:r.push(v),n.push(p.yytext),i.push(p.yylloc),r.push(g[1]),v=null,m?(v=m,m=null):(l=p.yyleng,s=p.yytext,o=p.yylineno,f=p.yylloc,c>0&&c--);break;case 2:if(E=this.productions_[g[1]][1],$.$=n[n.length-E],$._$={first_line:i[i.length-(E||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(E||1)].first_column,last_column:i[i.length-1].last_column},y&&($._$.range=[i[i.length-(E||1)].range[0],i[i.length-1].range[1]]),void 0!==(_=this.performAction.apply($,[s,l,o,h.yy,g[1],n,i].concat(u))))return _;E&&(r=r.slice(0,-1*E*2),n=n.slice(0,-1*E),i=i.slice(0,-1*E)),r.push(this.productions_[g[1]][0]),n.push($.$),i.push($._$),x=a[r[r.length-2]][r[r.length-1]],r.push(x);break;case 3:return!0}}return!0}},Et={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(!1!==(e=this.test_match(r,i[a])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:case 1:case 2:case 3:break;case 4:case 5:case 6:return 50;case 7:return 18;case 8:return 29;case 9:return 119;case 10:return 30;case 11:return 31;case 12:return 32;case 13:return 33;case 14:return 36;case 15:return 37;case 16:return 38;case 17:return 39;case 18:return 40;case 19:return 41;case 20:return 42;case 21:return 46;case 22:return 49;case 23:return 58;case 24:return 59;case 25:return 61;case 26:return"COLLATE";case 27:return 84;case 28:return 86;case 29:return 87;case 30:return 76;case 31:return 71;case 32:return 72;case 33:return 74;case 34:return 77;case 35:return 96;case 36:return 97;case 37:return 101;case 38:return 106;case 39:return 105;case 40:return 108;case 41:return 109;case 42:return 103;case 43:return 110;case 44:return 121;case 45:return 123;case 46:return 107;case 47:return 126;case 48:return 127;case 49:return 157;case 50:return 182;case 51:return 192;case 52:return 185;case 53:return 186;case 54:return 152;case 55:return 173;case 56:return 138;case 57:return 135;case 58:return 193;case 59:return 194;case 60:return 164;case 61:return 165;case 62:return 179;case 63:return 180;case 64:return 167;case 65:return 168;case 66:return 170;case 67:return 177;case 68:return 129;case 69:return 141;case 70:return 142;case 71:return 133;case 72:return 134;case 73:return 144;case 74:return 147;case 75:return 150;case 76:return 153;case 77:return 154;case 78:return 155;case 79:return 156;case 80:return 162;case 81:return 146;case 82:return 14;case 83:return 43;case 84:return 34;case 85:return 16;case 86:return 17;case 87:return 82;case 88:return 117;case 89:return 83;case 90:return 91;case 91:return 92;case 92:return 79;case 93:return 81;case 94:return 45;case 95:return 95;case 96:return 98;case 97:return 99;case 98:return 94;case 99:return 112;case 100:return 113;case 101:return 93;case 102:return"<=>";case 103:return 114;case 104:return 116;case 105:return 115;case 106:return 88;case 107:return 89;case 108:return 8;case 109:case 110:return 53;case 111:return 56;case 112:return 35;case 113:return 55;case 114:return 50;case 115:return 67;case 116:return 52;case 117:return 6;case 118:return"INVALID"}},rules:[/^(?:[\/][*](.|\n)*?[*][\/])/i,/^(?:[-][-]\s.*\n)/i,/^(?:[#]\s.*\n)/i,/^(?:\s+)/i,/^(?:[`][a-zA-Z_\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]*[`])/i,/^(?:[\w]+[\u4e00-\u9fa5]+[0-9a-zA-Z_\u4e00-\u9fa5]*)/i,/^(?:[\u4e00-\u9fa5][0-9a-zA-Z_\u4e00-\u9fa5]*)/i,/^(?:SELECT\b)/i,/^(?:ALL\b)/i,/^(?:ANY\b)/i,/^(?:DISTINCT\b)/i,/^(?:DISTINCTROW\b)/i,/^(?:HIGH_PRIORITY\b)/i,/^(?:MAX_STATEMENT_TIME\b)/i,/^(?:STRAIGHT_JOIN\b)/i,/^(?:SQL_SMALL_RESULT\b)/i,/^(?:SQL_BIG_RESULT\b)/i,/^(?:SQL_BUFFER_RESULT\b)/i,/^(?:SQL_CACHE\b)/i,/^(?:SQL_NO_CACHE\b)/i,/^(?:SQL_CALC_FOUND_ROWS\b)/i,/^(?:([a-zA-Z_\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]*\.){1,2}\*)/i,/^(?:AS\b)/i,/^(?:TRUE\b)/i,/^(?:FALSE\b)/i,/^(?:NULL\b)/i,/^(?:COLLATE\b)/i,/^(?:BINARY\b)/i,/^(?:ROW\b)/i,/^(?:EXISTS\b)/i,/^(?:CASE\b)/i,/^(?:WHEN\b)/i,/^(?:THEN\b)/i,/^(?:ELSE\b)/i,/^(?:END\b)/i,/^(?:DIV\b)/i,/^(?:MOD\b)/i,/^(?:NOT\b)/i,/^(?:BETWEEN\b)/i,/^(?:IN\b)/i,/^(?:SOUNDS\b)/i,/^(?:LIKE\b)/i,/^(?:ESCAPE\b)/i,/^(?:REGEXP\b)/i,/^(?:IS\b)/i,/^(?:UNKNOWN\b)/i,/^(?:AND\b)/i,/^(?:OR\b)/i,/^(?:XOR\b)/i,/^(?:FROM\b)/i,/^(?:PARTITION\b)/i,/^(?:USE\b)/i,/^(?:INDEX\b)/i,/^(?:KEY\b)/i,/^(?:FOR\b)/i,/^(?:JOIN\b)/i,/^(?:ORDER\s+BY\b)/i,/^(?:GROUP\s+BY\b)/i,/^(?:IGNORE\b)/i,/^(?:FORCE\b)/i,/^(?:INNER\b)/i,/^(?:CROSS\b)/i,/^(?:ON\b)/i,/^(?:USING\b)/i,/^(?:LEFT\b)/i,/^(?:RIGHT\b)/i,/^(?:OUTER\b)/i,/^(?:NATURAL\b)/i,/^(?:WHERE\b)/i,/^(?:ASC\b)/i,/^(?:DESC\b)/i,/^(?:WITH\b)/i,/^(?:ROLLUP\b)/i,/^(?:HAVING\b)/i,/^(?:OFFSET\b)/i,/^(?:PROCEDURE\b)/i,/^(?:UPDATE\b)/i,/^(?:LOCK\b)/i,/^(?:SHARE\b)/i,/^(?:MODE\b)/i,/^(?:OJ\b)/i,/^(?:LIMIT\b)/i,/^(?:UNION\b)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\()/i,/^(?:\))/i,/^(?:~)/i,/^(?:!=)/i,/^(?:!)/i,/^(?:\|)/i,/^(?:&)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\*)/i,/^(?:\/)/i,/^(?:%)/i,/^(?:\^)/i,/^(?:>>)/i,/^(?:>=)/i,/^(?:>)/i,/^(?:<<)/i,/^(?:<=>)/i,/^(?:<=)/i,/^(?:<>)/i,/^(?:<)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:;)/i,/^(?:['](\\.|[^'])*['])/i,/^(?:["](\\.|[^"])*["])/i,/^(?:[0][x][0-9a-fA-F]+)/i,/^(?:[-]?[0-9]+(\.[0-9]+)?)/i,/^(?:[-]?[0-9]+(\.[0-9]+)?[eE][-][0-9]+(\.[0-9]+)?)/i,/^(?:[a-zA-Z_\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]*)/i,/^(?:\.)/i,/^(?:['"][a-zA-Z_\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]*["'])/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118],inclusive:!0}}};function xt(){this.yy={}}return kt.lexer=Et,xt.prototype=kt,kt.Parser=xt,new xt}();function a(){this.buffer=""}i||(i={}),i.stringify=function(e){var t=new a;return t.travelMain(e),t.buffer},a.prototype.travel=function(e){if(e){if("string"==typeof e)return this.append(e);this["travel"+e.type].call(this,e)}};var s=!1;a.prototype.appendKeyword=function(e,t,r){s&&(t=!0,s=!1),this.buffer+=t?e.toUpperCase():" "+e.toUpperCase(),r&&(s=!0)},a.prototype.append=function(e,t,r){s&&(t=!0,s=!1),this.buffer+=t?e:" "+e,r&&(s=!0)},a.prototype.travelMain=function(e){this.travel(e.value),e.hasSemicolon&&this.append(";",!0)},a.prototype.travelSelect=function(e){this.appendKeyword("select"),e.distinctOpt&&this.appendKeyword(e.distinctOpt),e.highPriorityOpt&&this.appendKeyword(e.highPriorityOpt),e.maxStateMentTimeOpt&&this.append("MAX_STATEMENT_TIME = "+e.maxStateMentTimeOpt),e.straightJoinOpt&&this.appendKeyword(e.straightJoinOpt),e.sqlSmallResultOpt&&this.appendKeyword(e.sqlSmallResultOpt),e.sqlBigResultOpt&&this.appendKeyword(e.sqlBigResultOpt),e.sqlBufferResultOpt&&this.appendKeyword(e.sqlBufferResultOpt),e.sqlCacheOpt&&this.appendKeyword(e.sqlCacheOpt),e.sqlCalcFoundRowsOpt&&this.appendKeyword(e.sqlCalcFoundRowsOpt),e.selectItems&&this.travelSelectExpr(e.selectItems),e.from&&(this.appendKeyword("from"),this.travel(e.from)),e.partition&&this.travel(e.partition),e.where&&(this.appendKeyword("where"),this.travel(e.where)),e.groupBy&&this.travel(e.groupBy),e.having&&(this.appendKeyword("having"),this.travel(e.having)),e.orderBy&&this.travel(e.orderBy),e.limit&&this.travel(e.limit),e.procedure&&(this.appendKeyword("procedure"),this.travel(e.procedure)),e.updateLockMode&&this.appendKeyword(e.updateLockMode)},a.prototype.travelSelectExpr=function(e){for(var t=e.value,r=0;r0&&void 0!==arguments[0]?arguments[0]:void 0;if(this.action&&this.action.params&&this.action.params.$resource){this.$set(this.record.params,"$resource",t),this.$set(this.record,"resource",t);var r=this.action.types,n=void 0===r?[]:r;return this.$httpGet("/resources").then(function(r){var i=r.data;e.resourcesOptions=i.filter(function(e){return n.includes(e.type)}),e.$set(e.record,"resource",t)})}},loadActions:function(){var e=this;return this.$httpGet("/actions",this.params).then(function(t){e.actionsList=t.data.map(function(e){return e.label=(e.title||{})[E],e.descriptionLabel=(e.description||{})[E],e})})},renderForm:function(e){var t=this;return f()(u.a.mark(function r(){var n,i,a,s;return u.a.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(t.formData){r.next=2;break}return r.abrupt("return");case 2:return n=t.formData||e,i=n.name,a=n.params,s=void 0===a?{}:a,r.next=5,t.handleActionChange(i);case 5:t.fillData(s);case 6:case"end":return r.stop()}},r,t)}))()},fillData:function(e){var t=this;l()(e).forEach(function(e){var r=s()(e,2),n=r[0],i=r[1];t.$set(t.record,n,i)})}},created:function(){var e=this;return f()(u.a.mark(function t(){return u.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.loadActions();case 2:return t.next=4,e.renderForm();case 4:case"end":return t.stop()}},t,e)}))()}},w={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("el-dialog",e._b({staticClass:"action-dialog",attrs:{width:"500px","append-to-body":"",visible:e.dialogVisible,title:e.$t("rule.actions")},on:{"update:visible":function(t){e.dialogVisible=t},open:e.open,close:e.close}},"el-dialog",e.$attrs,!1),[r("el-form",{ref:"record",staticClass:"el-form--public",attrs:{model:e.record,rules:e.rules}},[r("el-row",{attrs:{gutter:20}},[r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{prop:"action"}},[r("template",{slot:"label"},[e._v("\n "+e._s(e.$t("rule.action"))+"\n "),r("el-popover",{attrs:{placement:"top-start",width:"200",trigger:"hover"}},[r("div",{domProps:{innerHTML:e._s(e.action.descriptionLabel||e.$t("rule.action_type"))}}),e._v(" "),r("i",{staticClass:"el-icon-question",attrs:{slot:"reference",tabindex:"-1"},slot:"reference"})])],1),e._v(" "),r("el-select",{staticClass:"el-select--public",staticStyle:{width:"100%"},attrs:{"popper-class":"el-select--public"},on:{change:e.handleActionChange},model:{value:e.record.action,callback:function(t){e.$set(e.record,"action",t)},expression:"record.action"}},e._l(e.actionsList,function(e,t){return r("el-option",{key:t,attrs:{label:e.label,value:e.name}})}),1)],2)],1),e._v(" "),e.action.params&&e.action.params.$resource?r("el-col",{attrs:{span:12}},[r("el-form-item",{staticClass:"resource-item",attrs:{prop:"params.$resource"}},[r("template",{slot:"label"},[e._v("\n "+e._s(e.$t("rule.resource"))+"\n "),r("span",{staticClass:"btn",staticStyle:{float:"right","font-size":"12px"},on:{click:e.createResource}},[e._v("\n "+e._s(e.$t("rule.new_resource"))+"\n ")])]),e._v(" "),r("el-select",{staticClass:"el-select--public",staticStyle:{width:"100%"},attrs:{"popper-class":"el-select--public"},model:{value:e.record.params.$resource,callback:function(t){e.$set(e.record.params,"$resource",t)},expression:"record.params.$resource"}},e._l(e.resourcesOptions,function(e,t){return r("el-option",{key:t,attrs:{label:e.id,value:e.id}})}),1)],2)],1):e._e(),e._v(" "),e._l(e.paramsList,function(t,n){return r("el-col",{key:n,attrs:{span:"object"===t.type||"textarea"===t.$attrs.type?24:12}},[r("el-form-item",{attrs:{prop:"params."+t.prop}},[r("template",{slot:"label"},[e._v("\n "+e._s(t.label)+"\n\n "),t.description?r("el-popover",{attrs:{placement:"right",width:"200",trigger:"hover"}},[r("div",{domProps:{innerHTML:e._s(t.description)}}),e._v(" "),r("i",{staticClass:"el-icon-question",attrs:{slot:"reference",tabindex:"-1"},slot:"reference"})]):e._e()],1),e._v(" "),"object"===t.type?r("data-table",{model:{value:e.record.params[t.key],callback:function(r){e.$set(e.record.params,t.key,r)},expression:"record.params[item.key]"}}):"emq-select"===t.type?r("emq-select",e._b({staticClass:"el-select--public",attrs:{"popper-class":"el-select--public"},model:{value:e.record.params[t.key],callback:function(r){e.$set(e.record.params,t.key,r)},expression:"record.params[item.key]"}},"emq-select",t.$attrs,!1)):"number"===t.type?r("el-input",e._b({attrs:{type:"number"},model:{value:e.record.params[t.key],callback:function(r){e.$set(e.record.params,t.key,e._n(r))},expression:"record.params[item.key]"}},"el-input",t.$attrs,!1)):r("el-input",e._b({model:{value:e.record.params[t.key],callback:function(r){e.$set(e.record.params,t.key,r)},expression:"record.params[item.key]"}},"el-input",t.$attrs,!1))],2)],1)})],2)],1),e._v(" "),r("div",{attrs:{slot:"footer"},slot:"footer"},[r("el-button",{staticClass:"cache-btn",attrs:{type:"text"},on:{click:function(t){e.dialogVisible=!1}}},[e._v("\n "+e._s(e.$t("rule.cancel"))+"\n ")]),e._v(" "),r("el-button",{staticClass:"confirm-btn",attrs:{type:"success"},on:{click:e.handleAdd}},[e._v("\n "+e._s(e.$t("rule.confirm"))+"\n ")])],1),e._v(" "),r("resource-dialog",{attrs:{visible:e.resourceDialogVisible,"resource-type":e.resourceType,"enable-item":e.enableItem,"append-to-body":""},on:{"update:visible":function(t){e.resourceDialogVisible=t},confirm:e.handleResourceCreate}})],1)},staticRenderFns:[]};var O={name:"rule-actions",components:{ActionDialog:r("VU/8")(x,w,!1,function(e){r("yoEm")},null,null).exports},props:{record:{type:Object,required:!0},inDialog:{type:Boolean,default:!1},operations:{type:Array,default:function(){return["create","edit","delete"]}},params:{type:Object,default:function(){return{}}}},watch:{dialogVisible:function(e){e||(this.editForm=null,this.editIndex=null,this.currentAction={},this.isFallBacks=!1)}},computed:{has:function(){var e=[];return this.operations.forEach(function(t){e[t]=!0}),e}},data:function(){return{dialogVisible:!1,editForm:null,editIndex:null,isFallBacks:!1,currentAction:{}}},filters:{jsonFormat:function(e){return i()(e,null,2)}},methods:{getSum:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(0===e.length||!t)return 0;var r=0;return e.forEach(function(e){var n=e[t]||0;r+=n}),r},handleActionAdd:function(e,t){if(this.isFallBacks)return null!==this.editIndex&&(this.currentAction.fallbacks=[]),void this.currentAction.fallbacks.push(e);null!==t?this.record.actions.splice(t,1,e):this.record.actions.push(e)},handleActionRemove:function(e){var t=e;this.record.actions=this.record.actions.filter(function(e,r){return r!==t})},handleActionEdit:function(e,t){this.editIndex=t,this.editForm=e,this.dialogVisible=!0},handleAddFallbacks:function(e){this.currentAction=e,this.isFallBacks=!0,this.dialogVisible=!0},handleFallbackRemove:function(e){e.fallbacks=[]},handleFallbackEdit:function(e,t,r){this.currentAction=t,this.isFallBacks=!0,this.editIndex=r,this.editForm=e,this.dialogVisible=!0}}},$={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"rule-actions"},[e._l(e.record.actions,function(t,n){return r("div",{key:n,staticClass:"action-card"},[r("el-row",{staticClass:"action-body",attrs:{type:"flex"}},[r("el-col",{attrs:{span:12}},[r("div",{staticClass:"filed-item"},[r("label",{staticClass:"title"},[e._v(e._s(e.$t("rule.type"))+": ")]),e._v(" "),r("span",{staticClass:"desc"},[e._v(e._s(t.name))])]),e._v(" "),e._l(Object.entries(t.params),function(t,n){return r("div",{key:n,staticClass:"filed-item"},[r("label",{staticClass:"title"},[e._v(" "+e._s("$resource"===t[0]?e.$t("rule.rely_resource"):t[0])+": ")]),e._v(" "),r("span",{staticClass:"desc"},[e._v(e._s(t[1]))])])})],2),e._v(" "),e.has.delete||e.has.edit?r("el-col",{staticClass:"action-oper",attrs:{span:12}},[e.has.edit?r("el-button",{attrs:{type:"text"},on:{click:function(r){return e.handleActionEdit(t,n)}}},[e._v("\n "+e._s(e.$t("rule.edit"))+"\n ")]):e._e(),e._v(" "),e.has.delete?r("el-button",{staticClass:"delete-btn",attrs:{type:"text"},on:{click:function(t){return e.handleActionRemove(n)}}},[e._v("\n "+e._s(e.$t("rule.delete"))+"\n ")]):e._e(),e._v(" "),t.fallbacks.length?e._e():r("div",{staticClass:"fallbacks"},[r("el-popover",{attrs:{placement:"top-start",trigger:"hover",content:e.$t("rule.fallbackActionCreate")}},[r("el-button",{attrs:{slot:"reference",type:"text",icon:"el-icon-plus"},on:{click:function(r){return e.handleAddFallbacks(t)}},slot:"reference"},[e._v("\n "+e._s(e.$t("rule.fallbackAction"))+"\n ")])],1)],1)],1):e._e(),e._v(" "),e.has.delete||e.has.edit?e._e():r("el-col",{attrs:{span:12}},[r("div",{staticClass:"status-wrapper filed-item"},[e._l(t.metrics||[],function(t,n){return r("div",{key:n,staticClass:"status-item"},[r("div",{staticClass:"title"},[e._v(e._s(e.$t("rule.metrics"))+":")]),e._v(" "),r("span",{staticClass:"key"},[e._v("\n "+e._s(t.node)+"\n ")]),e._v(" "),r("span",{attrs:{type:"info"}},[e._v("\n "+e._s(e.$t("rule.success"))+":\n "),r("span",[e._v(e._s(t.success))])]),e._v(" "),r("span",{attrs:{type:"info"}},[e._v("\n "+e._s(e.$t("rule.failed"))+":\n "),r("span",[e._v(e._s(t.failed))])])])}),e._v(" "),r("div",{staticClass:"status-item"},[r("span",{staticClass:"key"},[e._v("\n "+e._s(e.$t("rule.all"))+"\n ")]),e._v(" "),r("span",{attrs:{type:"info"}},[e._v("\n "+e._s(e.$t("rule.success"))+":\n "),r("span",[e._v(e._s(e.getSum(t.metrics,"success")))])]),e._v(" "),r("span",{attrs:{type:"info"}},[e._v("\n "+e._s(e.$t("rule.failed"))+":\n "),r("span",[e._v(e._s(e.getSum(t.metrics,"failed")))])])])],2)])],1),e._v(" "),t.fallbacks&&t.fallbacks.length?e._l(t.fallbacks,function(n,i){return r("el-row",{key:i,staticClass:"action-footer",attrs:{type:"flex"}},[r("el-col",{attrs:{span:12}},[r("div",{staticClass:"filed-item"},[r("label",{staticClass:"title"},[e._v(e._s(e.$t("rule.type"))+": ")]),e._v(" "),r("span",{staticClass:"desc"},[e._v(e._s(n.name))])]),e._v(" "),e._l(Object.entries(n.params),function(t,n){return r("div",{key:n,staticClass:"filed-item"},[r("label",{staticClass:"title"},[e._v(" "+e._s("$resource"===t[0]?e.$t("rule.rely_resource"):t[0])+": ")]),e._v(" "),r("span",{staticClass:"desc"},[e._v(e._s(t[1]))])])})],2),e._v(" "),e.has.delete||e.has.edit?r("el-col",{staticClass:"action-oper",attrs:{span:12}},[e.has.edit?r("el-button",{attrs:{type:"text"},on:{click:function(r){return e.handleFallbackEdit(n,t,i)}}},[e._v("\n "+e._s(e.$t("rule.edit"))+"\n ")]):e._e(),e._v(" "),e.has.delete?r("el-button",{staticClass:"delete-btn",attrs:{type:"text"},on:{click:function(r){return e.handleFallbackRemove(t,i)}}},[e._v("\n "+e._s(e.$t("rule.delete"))+"\n ")]):e._e(),e._v(" "),r("div",{staticClass:"fallbacks"},[r("el-popover",{attrs:{placement:"top-start",trigger:"hover",content:e.$t("rule.fallbackActionTip")}},[r("span",{attrs:{slot:"reference"},slot:"reference"},[e._v("\n "+e._s(e.$t("rule.fallbackAction"))+"\n ")])])],1)],1):e._e(),e._v(" "),e.has.delete||e.has.edit?e._e():r("el-col",{attrs:{span:12}},[r("div",{staticClass:"status-wrapper filed-item"},[e._l(n.metrics||[],function(t,n){return r("div",{key:n,staticClass:"status-item"},[r("div",{staticClass:"title"},[e._v(e._s(e.$t("rule.metrics"))+":")]),e._v(" "),r("span",{staticClass:"key"},[e._v("\n "+e._s(t.node)+"\n ")]),e._v(" "),r("span",{attrs:{type:"info"}},[e._v("\n "+e._s(e.$t("rule.success"))+":\n "),r("span",[e._v(e._s(t.success))])]),e._v(" "),r("span",{attrs:{type:"info"}},[e._v("\n "+e._s(e.$t("rule.failed"))+":\n "),r("span",[e._v(e._s(t.failed))])])])}),e._v(" "),r("div",{staticClass:"status-item"},[r("span",{staticClass:"key"},[e._v("\n "+e._s(e.$t("rule.all"))+"\n ")]),e._v(" "),r("span",{attrs:{type:"info"}},[e._v("\n "+e._s(e.$t("rule.success"))+":\n "),r("span",[e._v(e._s(e.getSum(n.metrics,"success")))])]),e._v(" "),r("span",{attrs:{type:"info"}},[e._v("\n "+e._s(e.$t("rule.failed"))+":\n "),r("span",[e._v(e._s(e.getSum(n.metrics,"failed")))])])])],2)])],1)}):e._e()],2)}),e._v(" "),e.has.create?r("el-button",{staticStyle:{"min-width":"80px"},attrs:{type:"success",plain:"",icon:"el-icon-plus",size:"small"},on:{click:function(t){e.dialogVisible=!0}}},[e._v("\n "+e._s(e.$t("rule.add"))+"\n ")]):e._e(),e._v(" "),r("action-dialog",{attrs:{visible:e.dialogVisible,currentActions:e.record.actions,recordIndex:e.editIndex,editRecord:e.editForm,params:e.params},on:{"update:visible":function(t){e.dialogVisible=t},confirm:e.handleActionAdd}})],2)},staticRenderFns:[]};var S=r("VU/8")(O,$,!1,function(e){r("lqjQ")},null,null);t.a=S.exports},exGp:function(e,t,r){"use strict";t.__esModule=!0;var n,i=r("//Fk"),a=(n=i)&&n.__esModule?n:{default:n};t.default=function(e){return function(){var t=e.apply(this,arguments);return new a.default(function(e,r){return function n(i,s){try{var o=t[i](s),l=o.value}catch(e){return void r(e)}if(!o.done)return a.default.resolve(l).then(function(e){n("next",e)},function(e){n("throw",e)});e(l)}("next")})}}},lqjQ:function(e,t){},yoEm:function(e,t){}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/1.fcd6fde8b053e80bc68f.js b/apps/emqx_dashboard/priv/www/static/js/1.fcd6fde8b053e80bc68f.js new file mode 100644 index 000000000..0a49cb931 --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/1.fcd6fde8b053e80bc68f.js @@ -0,0 +1 @@ +webpackJsonp([1],{g2pX:function(e,t){},zXyA:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=a("Dd8w"),i=a.n(s),l=a("zL8q"),n=a("NYxO"),o={name:"data-view",components:{"el-pagination":l.Pagination,"el-input":l.Input,"el-select":l.Select,"el-option":l.Option,"el-table":l.Table,"el-table-column":l.TableColumn,"el-date-picker":l.DatePicker},data:function(){return{searchView:!1,cluster:!1,popoverVisible:!1,count:0,hasnext:!1,params:{_page:1,_limit:10},nodeName:"",nodes:[],activeTab:"clients",searchKey:"",searchValue:"",searchPlaceholder:this.$t("clients.clientId"),clients:[],fuzzyParams:{comparator:"_gte",match:"_match_topic"},topics:[],subscriptions:[],showMoreQuery:!1,protoNames:["MQTT","MQTT-SN","CoAP","LwM2M"]}},watch:{$route:"init",activeTab:function(){this.fuzzyParams={comparator:"_gte",match:"_match_topic"}}},computed:{iconStatus:function(){return this.searchView?"el-icon-close":"el-icon-search"}},methods:i()({},Object(n.b)(["CURRENT_NODE"]),{stashNode:function(){this.cluster="cluster"===this.nodeName,this.cluster||this.CURRENT_NODE(this.nodeName)},init:function(){switch(this.activeTab=this.$route.path.split("/")[1],this.params._page=1,this.activeTab){case"topics":this.searchPlaceholder="Topic";break;default:this.searchPlaceholder=this.$t("clients.clientId")}this.loadData()},loadData:function(){var e=this;this.searchValue="",this.$httpGet("/nodes").then(function(t){var a=e.$store.state.nodeName||t.data[0].node;e.nodeName=e.cluster?"cluster":a,e.nodes=t.data,e.loadChild()}).catch(function(t){e.$message.error(t||e.$t("error.networkError"))})},loadChild:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(this.stashNode(),this.searchView=!1,this.searchValue="",!0===t&&(this.params._page=1),this.nodeName||"topics"===this.activeTab){var s="/nodes/"+this.nodeName+"/"+this.activeTab;("topics"===this.activeTab||this.cluster)&&(s="topics"===this.activeTab?"routes":this.activeTab);var l={};l=a?i()({},a,this.params):i()({},this.params),this.$httpGet(s,l).then(function(t){e[e.activeTab]=t.data.items,e.count=t.data.meta.count||0,e.hasnext=t.data.meta.hasnext}).catch(function(t){e.$message.error(t||e.$t("error.networkError"))})}},searchChild:function(){var e=this;if(this.searchView)this.loadChild();else if(this.searchValue){var t="/nodes/"+this.nodeName+"/"+this.activeTab+"/"+encodeURIComponent(this.searchValue);if("topics"===this.activeTab||this.cluster)t="/"+("topics"===this.activeTab?"routes":this.activeTab)+"/"+encodeURIComponent(this.searchValue);this.$httpGet(t).then(function(t){e.count=0,e.params={_page:1,_limit:10},e.searchView=!0,e[e.activeTab]=t.data}).catch(function(t){e.$message.error(t||e.$t("error.networkError"))})}else this.loadData()},handleSizeChange:function(e){this.params._limit=e,this.loadChild(!0)},handlePrevClick:function(){if(1!==this.params._page){this.params._page-=1;var e=this.genQueryParams(this.fuzzyParams);this.loadChild(!1,e)}},handleNextClick:function(){if(this.hasnext){this.params._page+=1;var e=this.genQueryParams(this.fuzzyParams);this.loadChild(!1,e)}},handleDisconnect:function(e,t,a){var s=this;this.$httpDelete("/clients/"+encodeURIComponent(e.clientid)).then(function(){s.loadData(),a.$refs["popover-"+t].doClose()}).catch(function(e){s.$message.error(e||s.$t("error.networkError"))})},genQueryParams:function(e){var t={};if("clients"===this.activeTab){var a=e._like_clientid,s=e._like_username,i=e.ip_address,l=e.conn_state,n=e.proto_name,o=e.comparator,r=e._connected_at;if(t={_like_clientid:a||void 0,_like_username:s||void 0,ip_address:i||void 0,conn_state:l||void 0,proto_name:n||void 0},r)t[o+"_connected_at"]=Math.floor(r/1e3)}else if("subscriptions"===this.activeTab){var c=e._like_clientid,p=e.topic,u=e.qos,d=e.share,m=e.match;t={clientid:c||void 0,qos:""===u?void 0:u,share:d||void 0},p&&(t[m]=p)}return t},clientQuerySearch:function(){var e=this.genQueryParams(this.fuzzyParams);this.loadChild(!0,e)},resetClientQuerySearch:function(){this.fuzzyParams={comparator:">=",match:"_match_topic"},this.init()}}),created:function(){this.init()}},r={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"data-view"},[a("div",{staticClass:"page-title"},[e._v("\n "+e._s(e.$t("leftbar."+e.activeTab))+"\n "),a("div",{staticStyle:{float:"right"},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.searchChild(t)}}},["topics"!==e.activeTab?a("el-select",{staticClass:"select-radius",attrs:{placeholder:e.$t("select.placeholder"),disabled:e.$store.state.loading},on:{change:function(t){return e.loadChild(!0)}},model:{value:e.nodeName,callback:function(t){e.nodeName=t},expression:"nodeName"}},e._l(e.nodes,function(e){return a("el-option",{key:e.node,attrs:{label:e.node,value:e.node}})}),1):e._e()],1)]),e._v(" "),"topics"!==e.activeTab?a("el-card",{staticClass:"el-card--self search-card"},[a("el-form",{ref:"fuzzyParams",attrs:{model:e.fuzzyParams,"label-position":"left","label-width":"110px"}},[a("el-row",{attrs:{gutter:20}},[a("el-col",{attrs:{span:8}},[a("el-form-item",{attrs:{label:e.$t("clients.clientId")}},[a("el-input",{attrs:{type:"text",size:"small"},model:{value:e.fuzzyParams._like_clientid,callback:function(t){e.$set(e.fuzzyParams,"_like_clientid",t)},expression:"fuzzyParams._like_clientid"}})],1)],1),e._v(" "),"clients"===e.activeTab?a("el-col",{attrs:{span:8}},[a("el-form-item",{attrs:{label:e.$t("clients.username")}},[a("el-input",{attrs:{type:"text",size:"small"},model:{value:e.fuzzyParams._like_username,callback:function(t){e.$set(e.fuzzyParams,"_like_username",t)},expression:"fuzzyParams._like_username"}})],1)],1):"subscriptions"===e.activeTab?a("el-col",{attrs:{span:8}},[a("el-form-item",{attrs:{label:e.$t("topics.topic")}},[a("el-row",{staticClass:"form-item-row"},[a("el-col",{attrs:{span:9}},[a("el-select",{staticClass:"match",model:{value:e.fuzzyParams.match,callback:function(t){e.$set(e.fuzzyParams,"match",t)},expression:"fuzzyParams.match"}},[a("el-option",{attrs:{label:"filter",value:"_match_topic"}}),e._v(" "),a("el-option",{attrs:{label:"topic",value:"topic"}})],1)],1),e._v(" "),a("el-col",{attrs:{span:15}},[a("el-input",{attrs:{type:"text",size:"small"},model:{value:e.fuzzyParams.topic,callback:function(t){e.$set(e.fuzzyParams,"topic",t)},expression:"fuzzyParams.topic"}})],1)],1)],1)],1):e._e(),e._v(" "),e.showMoreQuery?["clients"===e.activeTab?[a("el-col",{attrs:{span:8}},[a("el-form-item",{attrs:{label:e.$t("clients.ipAddr")}},[a("el-input",{attrs:{type:"text",size:"small"},model:{value:e.fuzzyParams.ip_address,callback:function(t){e.$set(e.fuzzyParams,"ip_address",t)},expression:"fuzzyParams.ip_address"}})],1)],1),e._v(" "),a("el-col",{attrs:{span:8}},[a("el-form-item",{attrs:{label:e.$t("clients.connected")}},[a("el-select",{model:{value:e.fuzzyParams.conn_state,callback:function(t){e.$set(e.fuzzyParams,"conn_state",t)},expression:"fuzzyParams.conn_state"}},[a("el-option",{attrs:{value:"connected"}}),e._v(" "),a("el-option",{attrs:{value:"disconnected"}})],1)],1)],1),e._v(" "),a("el-col",{attrs:{span:8}},[a("el-form-item",{attrs:{label:e.$t("clients.createdAt")}},[a("el-row",{staticClass:"form-item-row"},[a("el-col",{attrs:{span:8}},[a("el-select",{staticClass:"comparator",model:{value:e.fuzzyParams.comparator,callback:function(t){e.$set(e.fuzzyParams,"comparator",t)},expression:"fuzzyParams.comparator"}},[a("el-option",{attrs:{label:">=",value:"_gte"}}),e._v(" "),a("el-option",{attrs:{label:"<=",value:"_lte"}})],1)],1),e._v(" "),a("el-col",{attrs:{span:16}},[a("el-date-picker",{staticClass:"datatime",attrs:{type:"datetime","value-format":"timestamp"},model:{value:e.fuzzyParams._connected_at,callback:function(t){e.$set(e.fuzzyParams,"_connected_at",t)},expression:"fuzzyParams._connected_at"}})],1)],1)],1)],1),e._v(" "),a("el-col",{attrs:{span:8}},[a("el-form-item",{attrs:{label:e.$t("clients.protoName")}},[a("el-select",{model:{value:e.fuzzyParams.proto_name,callback:function(t){e.$set(e.fuzzyParams,"proto_name",t)},expression:"fuzzyParams.proto_name"}},e._l(e.protoNames,function(e){return a("el-option",{key:e,attrs:{value:e}})}),1)],1)],1)]:"subscriptions"===e.activeTab?[a("el-col",{attrs:{span:8}},[a("el-form-item",{attrs:{label:"QoS"}},[a("el-select",{attrs:{clearable:""},model:{value:e.fuzzyParams.qos,callback:function(t){e.$set(e.fuzzyParams,"qos",t)},expression:"fuzzyParams.qos"}},[a("el-option",{attrs:{value:0}}),e._v(" "),a("el-option",{attrs:{value:1}}),e._v(" "),a("el-option",{attrs:{value:2}})],1)],1)],1),e._v(" "),a("el-col",{staticClass:"col-share",attrs:{span:8}},[a("el-form-item",{attrs:{label:e.$t("subscriptions.share")}},[a("el-input",{attrs:{type:"text",size:"small",placeholder:"group_name"},model:{value:e.fuzzyParams.share,callback:function(t){e.$set(e.fuzzyParams,"share",t)},expression:"fuzzyParams.share"}})],1)],1)]:e._e()]:e._e(),e._v(" "),a("span",{staticClass:"col-oper"},[a("el-button",{attrs:{size:"small",type:"primary",plain:""},on:{click:e.clientQuerySearch}},[e._v("\n "+e._s(e.$t("oper.search"))+"\n ")]),e._v(" "),a("el-button",{attrs:{size:"small",plain:""},on:{click:e.resetClientQuerySearch}},[e._v("\n "+e._s(e.$t("oper.reset"))+"\n ")]),e._v(" "),a("a",{staticClass:"show-more",attrs:{href:"javascript:;"},on:{click:function(t){e.showMoreQuery=!e.showMoreQuery}}},[e._v("\n "+e._s(e.showMoreQuery?e.$t("oper.collapse"):e.$t("oper.expand"))+"\n "),a("i",{class:e.showMoreQuery?"el-icon-arrow-up":"el-icon-arrow-down"})])],1)],2)],1)],1):e._e(),e._v(" "),a("el-table",{directives:[{name:"show",rawName:"v-show",value:"clients"===e.activeTab,expression:"activeTab === 'clients'"},{name:"loading",rawName:"v-loading",value:e.$store.state.loading,expression:"$store.state.loading"}],attrs:{border:"",data:e.clients}},[a("el-table-column",{attrs:{prop:"clientid",label:e.$t("clients.clientId"),width:"160px","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.row;return[a("a",{attrs:{href:"javascript:;"},on:{click:function(t){e.$router.push({path:"/clients/"+encodeURIComponent(s.clientid)})}}},[e._v("\n "+e._s(s.clientid)+"\n ")])]}}])}),e._v(" "),a("el-table-column",{attrs:{prop:"username","min-width":"100px",label:e.$t("clients.username"),"show-overflow-tooltip":""}}),e._v(" "),a("el-table-column",{attrs:{prop:"ip_address",label:e.$t("clients.ipAddr"),"min-width":"140px","show-overflow-tooltip":""},scopedSlots:e._u([{key:"default",fn:function(t){var a=t.row;return[e._v("\n "+e._s(a.ip_address)+":"+e._s(a.port)+"\n ")]}}])}),e._v(" "),a("el-table-column",{attrs:{prop:"keepalive","min-width":"100px",label:e.$t("clients.keepalive")}}),e._v(" "),a("el-table-column",{attrs:{prop:"expiry_interval","min-width":"150px",label:e.$t("clients.expiryInterval")}}),e._v(" "),a("el-table-column",{attrs:{prop:"subscriptions_cnt","min-width":"160px",label:e.$t("clients.subscriptionsCount")}}),e._v(" "),a("el-table-column",{attrs:{prop:"connected","min-width":"140px",label:e.$t("clients.connected")},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.row;return[a("span",{class:[s.connected?"connected":"disconnected","status-circle"]}),e._v("\n "+e._s(s.connected?e.$t("websocket.connected"):e.$t("websocket.disconnected"))+"\n ")]}}])}),e._v(" "),a("el-table-column",{attrs:{prop:"created_at",label:e.$t("clients.createdAt"),"min-width":"160px"}}),e._v(" "),a("el-table-column",{attrs:{fixed:"right",width:"120px",label:e.$t("oper.oper")},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.row,i=t.$index,l=t._self;return[a("el-popover",{ref:"popover-"+i,attrs:{placement:"right",trigger:"click"}},[a("p",[e._v(e._s(s.connected?e.$t("oper.confirmKickOut"):e.$t("oper.confirmCleanSession")))]),e._v(" "),a("div",{staticStyle:{"text-align":"right"}},[a("el-button",{staticClass:"cache-btn",attrs:{size:"mini",type:"text"},on:{click:function(e){l.$refs["popover-"+i].doClose()}}},[e._v("\n "+e._s(e.$t("oper.cancel"))+"\n ")]),e._v(" "),a("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(t){return e.handleDisconnect(s,i,l)}}},[e._v("\n "+e._s(e.$t("oper.confirm"))+"\n ")])],1),e._v(" "),a("el-button",{attrs:{slot:"reference",size:"mini",type:"danger",plain:""},slot:"reference"},[e._v("\n "+e._s(s.connected?e.$t("clients.kickOut"):e.$t("websocket.cleanSession"))+"\n ")])],1)]}}])})],1),e._v(" "),a("el-table",{directives:[{name:"show",rawName:"v-show",value:"topics"===e.activeTab,expression:"activeTab === 'topics'"},{name:"loading",rawName:"v-loading",value:e.$store.state.loading,expression:"$store.state.loading"}],attrs:{border:"",data:e.topics}},[a("el-table-column",{attrs:{prop:"topic",label:e.$t("topics.topic")}}),e._v(" "),a("el-table-column",{attrs:{prop:"node",label:e.$t("topics.node")}})],1),e._v(" "),a("el-table",{directives:[{name:"show",rawName:"v-show",value:"subscriptions"===e.activeTab,expression:"activeTab === 'subscriptions'"},{name:"loading",rawName:"v-loading",value:e.$store.state.loading,expression:"$store.state.loading"}],attrs:{border:"",data:e.subscriptions}},[e.cluster?a("el-table-column",{attrs:{prop:"node","min-width":"160",label:e.$t("clients.node")}}):e._e(),e._v(" "),a("el-table-column",{attrs:{prop:"clientid",label:e.$t("subscriptions.clientId")}}),e._v(" "),a("el-table-column",{attrs:{prop:"topic",label:e.$t("subscriptions.topic")}}),e._v(" "),a("el-table-column",{attrs:{prop:"qos",label:e.$t("subscriptions.qoS")}})],1),e._v(" "),a("div",{staticClass:"center-align"},[e.count>10?a("el-pagination",{attrs:{background:"",layout:"total, sizes, prev, pager, next","page-sizes":[10,50,100,300,500],"current-page":e.params._page,"page-size":e.params._limit,total:e.count},on:{"update:currentPage":function(t){return e.$set(e.params,"_page",t)},"update:current-page":function(t){return e.$set(e.params,"_page",t)},"size-change":e.handleSizeChange,"current-change":e.loadChild}}):e._e(),e._v(" "),-1===e.count&&(e.clients.length||e.subscriptions.length)?a("div",{staticClass:"custom-pagination"},[a("a",{class:["prev",1===e.params._page?"disabled":""],attrs:{href:"javascript:;"},on:{click:e.handlePrevClick}},[a("i",{staticClass:"el-icon-arrow-left"}),e._v("\n "+e._s(e.$t("oper.prev"))+"\n ")]),e._v(" "),a("a",{class:["next",e.hasnext?"":"disabled"],attrs:{href:"javascript:;"},on:{click:e.handleNextClick}},[e._v("\n "+e._s(e.$t("oper.next"))+"\n "),a("i",{staticClass:"el-icon-arrow-right"})])]):e._e()],1)],1)},staticRenderFns:[]};var c=a("VU/8")(o,r,!1,function(e){a("g2pX")},null,null);t.default=c.exports}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/10.188c5e479f887d471dde.js b/apps/emqx_dashboard/priv/www/static/js/10.188c5e479f887d471dde.js new file mode 100644 index 000000000..5480c6f23 --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/10.188c5e479f887d471dde.js @@ -0,0 +1 @@ +webpackJsonp([10],{QSR2:function(e,s,r){"use strict";Object.defineProperty(s,"__esModule",{value:!0});var t=r("Dd8w"),a=r.n(t),o=r("zL8q"),n=r("NYxO"),i={name:"users-view",components:{"el-dialog":o.Dialog,"el-input":o.Input,"el-button":o.Button,"el-table":o.Table,"el-table-column":o.TableColumn,"el-popover":o.Popover,"el-form":o.Form,"el-form-item":o.FormItem,"el-row":o.Row,"el-col":o.Col},data:function(){var e=this;return{changePassword:!1,dialogVisible:!1,oper:"new",users:[],record:{username:"",password:"",newPassword:"",repeatPassword:"",tags:""},rules:{username:[{required:!0,message:this.$t("users.usernameRequired")},{min:2,max:32,message:this.$t("users.usernameIllegal"),trigger:"change"}],tags:[{required:!0,message:this.$t("users.remarkRequired")}],password:[{required:!0,message:this.$t("users.passwordRequired")},{min:3,max:255,message:this.$t("users.passwordIllegal"),trigger:"change"}],newPassword:[{required:!0,message:this.$t("users.passwordRequired")},{min:3,max:255,message:this.$t("users.passwordIllegal"),trigger:"change"}],repeatPassword:[{required:!0,message:this.$t("users.passwordRequired")},{validator:function(s,r,t){r!==e.record.newPassword?t(new Error(e.$t("users.passwordInconsistent"))):t()},trigger:"change"}]}}},computed:{username:function(){return this.$store.state.user.username}},methods:a()({},Object(n.b)(["USER_LOGIN"]),{handleOperation:function(){var e=this,s=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],r=arguments[1];this.changePassword=!1,this.dialogVisible=!0,s?(this.oper="new",this.record={username:"",password:"",newPassword:"",repeatPassword:"",tags:"viewer"},setTimeout(function(){e.$refs.record.clearValidate()},10)):(this.oper="edit",this.record=a()({},r),this.$set(this.record,"password",""))},loadData:function(){var e=this;this.$httpGet("/users").then(function(s){e.users=s.data}).catch(function(s){e.$message.error(s||e.$t("error.networkError"))})},createUser:function(){var e=this;"edit"!==this.oper?this.$refs.record.validate(function(s){s&&e.$httpPost("/users",e.record).then(function(){e.$message.success(""+e.$t("users.createUser")),e.loadData(),e.dialogVisible=!1}).catch(function(s){e.$message.error(s||e.$t("error.networkError"))})}):this.updateUser()},updateUser:function(){var e=this;this.$refs.record.validate(function(s){if(s)if(e.changePassword){var r={old_pwd:e.record.password,new_pwd:e.record.newPassword};e.$httpPut("/users/"+e.record.username,e.record).then(function(){e.$httpPut("/change_pwd/"+e.record.username,r).then(function(){e.$store.state.user.username===e.record.username&&e.record.password!==e.record.newPassword?(e.$message.error(e.$t("users.authenticate")),e.USER_LOGIN({isLogOut:!0}),e.$router.push("/login")):(e.$message.success(""+e.$t("oper.edit")+e.$t("alert.success")),e.dialogVisible=!1,e.loadData())}).catch(function(s){e.$message.error(s||e.$t("error.networkError"))})})}else e.$httpPut("/users/"+e.record.username,e.record).then(function(){e.$message.success(""+e.$t("oper.edit")+e.$t("alert.success")),e.dialogVisible=!1,e.loadData()}).catch(function(s){e.$message.error(s||e.$t("error.networkError"))})})},deleteUser:function(e,s,r){var t=this;this.$httpDelete("/users/"+e.username).then(function(){t.$message.success(""+t.$t("oper.delete")+t.$t("alert.success")),t.loadData(),r.$refs["popover-"+s].doClose()}).catch(function(e){t.$message.error(e||t.$t("error.networkError"))})}}),created:function(){this.loadData()}},l={render:function(){var e=this,s=e.$createElement,r=e._self._c||s;return r("div",{staticClass:"users-view"},[r("div",{staticClass:"page-title"},[e._v("\n "+e._s(e.$t("leftbar.users"))+"\n "),r("el-button",{staticClass:"confirm-btn",staticStyle:{float:"right"},attrs:{round:"",plain:"",type:"success",icon:"el-icon-plus",size:"medium",disabled:e.$store.state.loading},on:{click:function(s){return e.handleOperation(!0)}}},[e._v("\n "+e._s(e.$t("users.newUser"))+"\n ")])],1),e._v(" "),r("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.$store.state.loading,expression:"$store.state.loading"}],attrs:{border:"",data:e.users}},[r("el-table-column",{attrs:{prop:"username",label:e.$t("users.username")}}),e._v(" "),r("el-table-column",{attrs:{prop:"tags",label:e.$t("users.remark")}}),e._v(" "),r("el-table-column",{attrs:{width:"140",label:e.$t("oper.oper")},scopedSlots:e._u([{key:"default",fn:function(s){var t=s.row,a=s.$index,o=s._self;return[r("el-button",{attrs:{size:"mini",type:"warning",plain:""},on:{click:function(s){return e.handleOperation(!1,t)}}},[e._v("\n "+e._s(e.$t("oper.edit"))+"\n ")]),e._v(" "),r("el-popover",{ref:"popover-"+a,attrs:{placement:"right",trigger:"click"}},[r("p",[e._v(e._s(e.$t("oper.confirmDelete")))]),e._v(" "),r("div",{staticStyle:{"text-align":"right"}},[r("el-button",{staticClass:"cache-btn",attrs:{size:"mini",type:"text"},on:{click:function(e){o.$refs["popover-"+a].doClose()}}},[e._v("\n "+e._s(e.$t("oper.cancel"))+"\n ")]),e._v(" "),r("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(s){return e.deleteUser(t,a,o)}}},[e._v("\n "+e._s(e.$t("oper.confirm"))+"\n ")])],1),e._v(" "),r("el-button",{directives:[{name:"show",rawName:"v-show",value:"admin"!==t.username&&e.username!==t.username,expression:"row.username !== 'admin' && username !== row.username"}],attrs:{slot:"reference",size:"mini",type:"danger",plain:""},slot:"reference"},[e._v("\n "+e._s(e.$t("oper.delete"))+"\n ")])],1)]}}])})],1),e._v(" "),r("el-dialog",{attrs:{width:"500px",visible:e.dialogVisible,title:"new"===e.oper?e.$t("users.newUser"):e.$t("users.editUser")},on:{"update:visible":function(s){e.dialogVisible=s}},nativeOn:{keyup:function(s){return!s.type.indexOf("key")&&e._k(s.keyCode,"enter",13,s.key,"Enter")?null:e.createUser(s)}}},[r("el-form",{ref:"record",staticClass:"el-form--public",attrs:{"label-position":"top",size:"medium",model:e.record,rules:e.rules}},[r("el-row",{attrs:{gutter:20}},[r("el-col",{attrs:{span:24}},[r("el-form-item",{attrs:{prop:"username",label:e.$t("users.username")}},[r("el-input",{attrs:{disabled:"edit"===e.oper},model:{value:e.record.username,callback:function(s){e.$set(e.record,"username",s)},expression:"record.username"}})],1)],1),e._v(" "),"new"===e.oper?r("el-col",{attrs:{span:24}},[r("el-form-item",{attrs:{prop:"password",label:e.$t("users.password")}},[r("el-input",{attrs:{type:"password"},model:{value:e.record.password,callback:function(s){e.$set(e.record,"password",s)},expression:"record.password"}})],1)],1):e._e(),e._v(" "),e.changePassword&&"edit"===e.oper?r("div",[r("el-col",{attrs:{span:24}},[r("el-form-item",{attrs:{prop:"password",label:e.$t("users.oldPassword")}},[r("el-input",{attrs:{type:"password"},model:{value:e.record.password,callback:function(s){e.$set(e.record,"password",s)},expression:"record.password"}})],1)],1),e._v(" "),r("el-col",{attrs:{span:24}},[r("el-form-item",{attrs:{prop:"newPassword",label:e.$t("users.newPassword")}},[r("el-input",{attrs:{type:"password"},model:{value:e.record.newPassword,callback:function(s){e.$set(e.record,"newPassword",s)},expression:"record.newPassword"}})],1)],1),e._v(" "),r("el-col",{attrs:{span:24}},[r("el-form-item",{attrs:{prop:"repeatPassword",label:e.$t("users.confirmNewPassword")}},[r("el-input",{attrs:{type:"password"},model:{value:e.record.repeatPassword,callback:function(s){e.$set(e.record,"repeatPassword",s)},expression:"record.repeatPassword"}})],1)],1)],1):e._e(),e._v(" "),r("el-col",{attrs:{span:24}},[r("el-form-item",{attrs:{prop:"tags",label:e.$t("users.remark")}},[r("el-input",{model:{value:e.record.tags,callback:function(s){e.$set(e.record,"tags",s)},expression:"record.tags"}})],1)],1),e._v(" "),r("el-col",{attrs:{span:24}},[r("el-form-item",["edit"===e.oper?r("el-button",{staticClass:"cache-btn change-password",attrs:{type:"text"},on:{click:function(s){e.changePassword=!e.changePassword}}},[e._v("\n "+e._s(e.changePassword?e.$t("users.dontChangePassword"):e.$t("users.changePassword"))+"\n ")]):e._e()],1)],1)],1)],1),e._v(" "),r("div",{attrs:{slot:"footer"},slot:"footer"},[r("el-button",{staticClass:"cache-btn",attrs:{type:"text"},on:{click:function(s){e.dialogVisible=!1}}},[e._v("\n "+e._s(e.$t("oper.cancel"))+"\n ")]),e._v(" "),r("el-button",{staticClass:"confirm-btn",attrs:{type:"success",loading:e.$store.state.loading},on:{click:e.createUser}},[e._v("\n "+e._s(e.$t("oper.save"))+"\n ")])],1)],1)],1)},staticRenderFns:[]};var c=r("VU/8")(i,l,!1,function(e){r("gHf8")},null,null);s.default=c.exports},gHf8:function(e,s){}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/11.3861aeb3036b8f41a6e8.js b/apps/emqx_dashboard/priv/www/static/js/11.3861aeb3036b8f41a6e8.js new file mode 100644 index 000000000..3aae89ad8 --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/11.3861aeb3036b8f41a6e8.js @@ -0,0 +1 @@ +webpackJsonp([11],{DoQ2:function(t,e){},GQ4E:function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=s("woOf"),n=s.n(a),o={name:"topic-metrics",components:{},props:{},watch:{currentExpandRow:{deep:!0,handler:function(){clearInterval(this.timer)}}},data:function(){return{expands:[],addVisible:!1,popoverVisible:!1,modClosed:!1,topicQos:"all",timer:0,topics:[],currentExpandRow:{},currentTopic:{},record:{},rules:{topic:{required:!0,message:this.$t("oper.pleaseEnter")}}}},methods:{getRowKeys:function(t){return t.topic},loadData:function(){var t=this;this.$httpGet("/topic-metrics").then(function(e){var s=e.data;t.topics=s.map(function(t){var e=t.metrics;return{topic:t.topic,messageIn:e["messages.in.count"],messageOut:e["messages.out.count"],messageDrop:e["messages.dropped.count"]}}),t.modClosed=!1}).catch(function(e){t.$message.warning(t.$t("error."+e.message)),t.modClosed=!0})},hidePopover:function(){var t=this;this.popoverVisible=!0,setTimeout(function(){t.popoverVisible=!1},0)},handleOperation:function(){this.addVisible=!0},handleModLoad:function(){var t=this;this.$httpPut("/modules/emqx_mod_topic_metrics/load").then(function(){t.$message.success(t.$t("oper.enableSuccess")),t.loadData(),t.modClosed=!1}).catch(function(e){t.$message.error(e||t.$t("error.networkError"))})},deleteTopicMetric:function(t){var e=this;this.$httpDelete("/topic-metrics/"+encodeURIComponent(t.topic)).then(function(){e.loadData(),e.hidePopover()}).catch(function(t){e.$message.error(t||e.$t("error.networkError"))})},handleAdd:function(){var t=this;this.$refs.record.validate(function(e){if(e){var s={};n()(s,t.record),t.$httpPost("/topic-metrics",s).then(function(){t.handleClose(),t.loadData()}).catch(function(){})}})},handleClose:function(){this.addVisible=!1,this.$refs.record.resetFields()},viewTopicDetails:function(t,e){var s=document.querySelectorAll(".el-table__expand-icon")[e];s&&s.click()},loadDetail:function(){var t=this;this.$httpGet("/topic-metrics/"+encodeURIComponent(this.currentTopic.topic)).then(function(e){t.currentTopic=e.data,t.loadData()}).catch(function(){})},setLoadDetailInterval:function(){var t=this;this.timer=setInterval(function(){t.$httpGet("/topic-metrics/"+encodeURIComponent(t.currentExpandRow.topic)).then(function(e){t.currentTopic=e.data}).catch(function(){})},1e4)},handleExpandChange:function(t,e){var s=this;if(!e.length)return this.currentExpandRow={},void clearInterval(this.timer);this.currentExpandRow=t,this.currentTopic={},this.$httpGet("/topic-metrics/"+encodeURIComponent(t.topic)).then(function(a){s.currentTopic=a.data,s.$refs.crudTable.store.states.expandRows=e.length?[t]:[],s.loadData(),s.setLoadDetailInterval()}).catch(function(){})},getCurrentTopicData:function(t,e){var s={all:"messages",qos0:"messages.qos0",qos1:"messages.qos1",qos2:"messages.qos2"}[this.topicQos],a=this.currentTopic[s+"."+t+"."+e];return"rate"===e&&a?a.toFixed(2):a},getCurrentTopicDropRate:function(t){return t?t.toFixed(2):t}},created:function(){this.loadData()},beforeRouteLeave:function(t,e,s){clearInterval(this.timer),s()},beforeDestroy:function(){clearInterval(this.timer)}},i={render:function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"topic-metrics"},[s("div",{staticClass:"page-title"},[t._v("\n "+t._s(t.$t("analysis.topicMetrics"))+"\n "),s("span",{staticClass:"sub-tip"},[t._v(t._s(t.$t("analysis.metricsTip")))]),t._v(" "),t.modClosed?s("el-button",{staticClass:"confirm-btn",staticStyle:{float:"right"},attrs:{round:"",plain:"",type:"success",size:"medium",disable:t.$store.state.loading},on:{click:t.handleModLoad}},[t._v("\n "+t._s(t.$t("modules.enable"))+"\n ")]):s("el-button",{staticClass:"confirm-btn",staticStyle:{float:"right"},attrs:{round:"",plain:"",type:"success",icon:"el-icon-plus",size:"medium",disable:t.$store.state.loading},on:{click:t.handleOperation}},[t._v("\n "+t._s(t.$t("rule.create"))+"\n ")])],1),t._v(" "),s("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.$store.state.loading,expression:"$store.state.loading"}],ref:"crudTable",attrs:{border:"",data:t.topics,"row-key":t.getRowKeys,"expand-row-keys":t.expands},on:{"expand-change":t.handleExpandChange}},[s("el-table-column",{attrs:{type:"expand"},scopedSlots:t._u([{key:"default",fn:function(e){return[s("div",{staticClass:"expand-header"},[t._v("\n "+t._s(t.$t("analysis.details"))+"\n "),s("el-radio-group",{staticClass:"topic-qos-radio",attrs:{prop:e,size:"mini"},model:{value:t.topicQos,callback:function(e){t.topicQos=e},expression:"topicQos"}},[s("el-radio-button",{attrs:{label:"all"}},[t._v(t._s(t.$t("analysis.all")))]),t._v(" "),s("el-radio-button",{attrs:{label:"qos0"}},[t._v("QoS 0")]),t._v(" "),s("el-radio-button",{attrs:{label:"qos1"}},[t._v("QoS 1")]),t._v(" "),s("el-radio-button",{attrs:{label:"qos2"}},[t._v("QoS 2")])],1)],1),t._v(" "),s("el-row",{staticClass:"expand-body",attrs:{gutter:20}},[s("el-col",{attrs:{span:8}},[s("div",{staticClass:"message-card in"},[s("div",[t._v("\n "+t._s(t.$t("analysis.messageIn"))+"\n "),s("span",{staticClass:"message-rate"},[t._v("\n "+t._s(t.$t("analysis.rateItem",[t.getCurrentTopicData("in","rate")]))+"\n "+t._s(t.$t("analysis.rate"))+"\n ")])]),t._v(" "),s("div",{staticClass:"message-card--body"},[t._v("\n "+t._s(t.getCurrentTopicData("in","count"))+"\n ")])])]),t._v(" "),s("el-col",{attrs:{span:8}},[s("div",{staticClass:"message-card out"},[s("div",[t._v("\n "+t._s(t.$t("analysis.messageOut"))+"\n "),s("span",{staticClass:"message-rate"},[t._v("\n "+t._s(t.$t("analysis.rateItem",[t.getCurrentTopicData("out","rate")]))+"\n "+t._s(t.$t("analysis.rate"))+"\n ")])]),t._v(" "),s("div",{staticClass:"message-card--body"},[t._v("\n "+t._s(t.getCurrentTopicData("out","count"))+"\n ")])])]),t._v(" "),s("el-col",{attrs:{span:8}},[s("div",{staticClass:"message-card drop"},[s("div",[t._v("\n "+t._s(t.$t("analysis.messageDrop"))+"\n "),s("span",{staticClass:"message-rate"},[t._v("\n "+t._s(t.$t("analysis.rateItem",[t.getCurrentTopicDropRate(t.currentTopic["messages.dropped.rate"])]))+"\n "+t._s(t.$t("analysis.rate"))+"\n ")])]),t._v(" "),s("div",{staticClass:"message-card--body"},[t._v("\n "+t._s(t.currentTopic["messages.dropped.count"])+"\n ")])])])],1)]}}])}),t._v(" "),s("el-table-column",{attrs:{prop:"topic",label:t.$t("topics.topic")}}),t._v(" "),s("el-table-column",{attrs:{prop:"messageIn",label:t.$t("analysis.messageIn")}}),t._v(" "),s("el-table-column",{attrs:{prop:"messageOut",label:t.$t("analysis.messageOut")}}),t._v(" "),s("el-table-column",{attrs:{prop:"messageDrop",label:t.$t("analysis.messageDrop")}}),t._v(" "),s("el-table-column",{attrs:{width:"180px",label:t.$t("oper.oper")},scopedSlots:t._u([{key:"default",fn:function(e){return[s("el-button",{attrs:{type:"success",size:"mini",plain:""},on:{click:function(s){return t.viewTopicDetails(e.row,e.$index)}}},[t._v("\n "+t._s(t.$t("oper.view"))+"\n ")]),t._v(" "),s("el-popover",{attrs:{placement:"right",trigger:"click",value:t.popoverVisible}},[s("p",[t._v(t._s(t.$t("oper.confirmDelete")))]),t._v(" "),s("div",{staticStyle:{"text-align":"right"}},[s("el-button",{staticClass:"cache-btn",attrs:{size:"mini",type:"text"},on:{click:t.hidePopover}},[t._v("\n "+t._s(t.$t("oper.cancel"))+"\n ")]),t._v(" "),s("el-button",{attrs:{size:"mini",type:"success"},on:{click:function(s){return t.deleteTopicMetric(e.row)}}},[t._v("\n "+t._s(t.$t("oper.confirm"))+"\n ")])],1),t._v(" "),s("el-button",{attrs:{slot:"reference",size:"mini",type:"danger",plain:""},slot:"reference"},[t._v("\n "+t._s(t.$t("oper.delete"))+"\n ")])],1)]}}])})],1),t._v(" "),s("el-dialog",{staticClass:"create-subscribe",attrs:{title:t.$t("analysis.addTopic"),width:"400px",visible:t.addVisible},on:{"update:visible":function(e){t.addVisible=e}},nativeOn:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.handleAdd(e)}}},[s("el-form",{ref:"record",staticClass:"el-form--public",attrs:{model:t.record,rules:t.rules,size:"small","label-position":"top"}},[s("el-form-item",{attrs:{prop:"topic",label:t.$t("subscriptions.topic")}},[s("el-input",{attrs:{placeholder:"Topic"},model:{value:t.record.topic,callback:function(e){t.$set(t.record,"topic",e)},expression:"record.topic"}})],1)],1),t._v(" "),s("div",{attrs:{slot:"footer"},slot:"footer"},[s("el-button",{staticClass:"cache-btn",attrs:{type:"text"},on:{click:t.handleClose}},[t._v("\n "+t._s(t.$t("oper.cancel"))+"\n ")]),t._v(" "),s("el-button",{staticClass:"confirm-btn",attrs:{type:"success",loading:t.$store.state.loading},on:{click:t.handleAdd}},[t._v("\n "+t._s(t.$t("oper.add"))+"\n ")])],1)],1)],1)},staticRenderFns:[]};var r=s("VU/8")(o,i,!1,function(t){s("DoQ2")},null,null);e.default=r.exports}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/12.43feccc8f1584bdba5c2.js b/apps/emqx_dashboard/priv/www/static/js/12.43feccc8f1584bdba5c2.js new file mode 100644 index 000000000..ae12b78ce --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/12.43feccc8f1584bdba5c2.js @@ -0,0 +1 @@ +webpackJsonp([12],{BYOx:function(t,e){},VKKr:function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=s("mvHQ"),o=s.n(a),i=s("zL8q"),n=s("VOAv"),l={name:"settings-view",components:{"el-radio":i.Radio,"el-radio-group":i.RadioGroup,"el-button":i.Button,"el-form":i.Form,"el-form-item":i.FormItem,"el-row":i.Row,"el-col":i.Col,"el-card":i.Card},data:function(){return{options:{themes:"",language:""},defaultConfig:"",defaultThemes:"",defaultLanguage:""}},computed:{notChanged:function(){return this.defaultConfig===o()(this.options)}},methods:{init:function(){var t=window.localStorage.getItem("themes")||"dark-themes";t="light-themes"===t?"light-themes":"dark-themes",this.options.themes=t,this.defaultThemes=t,this.options.language=window.localStorage.getItem("language")||"en",this.options.language=["zh","en","ja"].includes(this.options.language)?this.options.language:"en",this.defaultLanguage=this.options.language,this.defaultConfig=o()(this.options)},themesToggle:function(){Object(n.b)(this.options.themes)},applySetting:function(){this.$message.success(this.$t("settings.success")),this.themesToggle(),this.defaultThemes=this.options.themes,window.localStorage.setItem("language",this.options.language),window.localStorage.setItem("themes",this.options.themes),this.defaultLanguage!==this.options.language&&setTimeout(function(){location.reload()},600),this.defaultConfig=o()(this.options)}},created:function(){this.init()},beforeRouteLeave:function(t,e,s){this.defaultThemes!==this.options.themes&&Object(n.b)(this.defaultThemes),s()}},r={render:function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"settings-view"},[s("div",{staticClass:"page-title"},[t._v(t._s(t.$t("leftbar.settings")))]),t._v(" "),s("el-card",{staticClass:"el-card--self"},[s("el-row",{attrs:{gutter:20}},[s("el-form",{ref:"options",attrs:{model:t.options,"label-width":"100px","label-position":"top"}},[s("el-col",{attrs:{span:12}},[s("el-form-item",{attrs:{label:t.$t("settings.themes")}},[s("el-radio-group",{on:{change:t.themesToggle},model:{value:t.options.themes,callback:function(e){t.$set(t.options,"themes",e)},expression:"options.themes"}},[s("el-radio",{attrs:{label:"dark-themes"}},[t._v("Dark")]),t._v(" "),s("el-radio",{attrs:{label:"light-themes"}},[t._v("Light")])],1)],1)],1),t._v(" "),s("el-col",{attrs:{span:12}},[s("el-form-item",{attrs:{label:t.$t("settings.language")}},[s("el-radio-group",{model:{value:t.options.language,callback:function(e){t.$set(t.options,"language",e)},expression:"options.language"}},[s("el-radio",{attrs:{label:"en"}},[t._v("EN")]),t._v(" "),s("el-radio",{attrs:{label:"zh"}},[t._v("中文")]),t._v(" "),s("el-radio",{attrs:{label:"ja"}},[t._v("日本語")])],1)],1)],1),t._v(" "),s("el-col",{staticClass:"operation-area",attrs:{span:24}},[s("el-form-item",[s("el-button",{staticClass:"confirm-btn",attrs:{type:"success",disabled:t.notChanged},on:{click:t.applySetting}},[t._v("\n "+t._s(t.$t("settings.apply"))+"\n ")])],1)],1)],1)],1)],1)],1)},staticRenderFns:[]};var g=s("VU/8")(l,r,!1,function(t){s("BYOx")},null,null);e.default=g.exports}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/13.026a13a2a59abd354bd5.js b/apps/emqx_dashboard/priv/www/static/js/13.026a13a2a59abd354bd5.js new file mode 100644 index 000000000..22e38efdb --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/13.026a13a2a59abd354bd5.js @@ -0,0 +1 @@ +webpackJsonp([13],{IvP6:function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i("Xxa5"),a=i.n(n),s=i("exGp"),l=i.n(s),r={name:"rules-view",components:{RuleActions:i("eDC2").a},props:{},data:function(){return{ruleDialogLoading:!1,timer:0,rule:{for:[],metrics:{}},dialogVisible:!1,tableData:[]}},methods:{getMatchedCount:function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).metrics,e=0;return(void 0===t?[]:t).forEach(function(t){var i=t.matched;e+=i}),e},getHitRate:function(t){var e=t.matched,i=void 0===e?0:e,n=t.nomatch,a=i/(i+(void 0===n?0:n))*100;return a.toString().split(".")[1]&&a.toString().split(".")[1].length>2?a.toFixed(2):a},viewRule:function(t){var e=this;return l()(a.a.mark(function i(){var n;return a.a.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(!t.id){i.next=3;break}return e.$router.push("/rules/"+t.id),i.abrupt("return");case 3:return i.next=5,e.$httpGet("/rules/"+t.id);case 5:if(i.t1=i.sent,i.t1){i.next=8;break}i.t1={};case 8:if(i.t0=i.t1.data,i.t0){i.next=11;break}i.t0={};case 11:n=i.t0,e.rule=n||t,e.dialogVisible=!0,clearTimeout(e.timer),e.timer=setTimeout(function(){e.viewRule(t)},1e4);case 16:case"end":return i.stop()}},i,e)}))()},editRule:function(t){this.$router.push("/rules/create?rule="+t.id)},loadDetails:function(t){var e=this;this.ruleDialogLoading=!0,this.$httpGet("/rules/"+t).then(function(t){var i=t.data;e.rule=i,setTimeout(function(){e.ruleDialogLoading=!1},500)}).catch(function(){e.ruleDialogLoading=!1})},closeDialog:function(){clearInterval(this.timer),this.loadData()},handleDelete:function(t){var e=this;this.$confirm(this.$t("rule.confirm_stop_delete"),"Notice",{confirmButtonClass:"confirm-btn",confirmButtonText:this.$t("oper.confirm"),cancelButtonClass:"cache-btn el-button--text",cancelButtonText:this.$t("oper.cancel"),type:"warning"}).then(function(){e.$httpDelete("/rules/"+t.id).then(function(){e.$message.success(e.$t("rule.delete_success")),e.loadData()})}).catch()},handleOperation:function(){this.$router.push("/rules/create")},loadData:function(){var t=this;this.$httpGet("/rules").then(function(e){t.tableData=e.data;var i=t.tableData.find(function(e){return e.id===t.rule.id});i&&(t.rule=i)})},updateRule:function(t){var e=this,i=t.id,n=t.enabled;this.$httpPut("/rules/"+i,{enabled:n}).then(function(){e.$message.success(e.$t("oper.editSuccess"))})}},filters:{actionsFilter:function(t){return t.map(function(t){return t.name}).join(", ")}},created:function(){this.loadData(),clearInterval(this.timer)},beforeRouteLeave:function(t,e,i){clearInterval(this.timer),i()}},o={render:function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"rules-view"},[i("div",{staticClass:"page-title"},[t._v("\n "+t._s(t.$t("rule.message_rule"))+"\n "),i("el-button",{staticClass:"confirm-btn",staticStyle:{float:"right"},attrs:{round:"",plain:"",type:"success",icon:"el-icon-plus",size:"medium",disable:t.$store.state.loading},on:{click:t.handleOperation}},[t._v("\n "+t._s(t.$t("rule.create"))+"\n ")])],1),t._v(" "),i("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.$store.state.loading,expression:"$store.state.loading"}],attrs:{border:"",data:t.tableData}},[i("el-table-column",{attrs:{prop:"id",label:t.$t("rule.id")},scopedSlots:t._u([{key:"default",fn:function(e){var n=e.row;return[i("span",{staticClass:"btn",on:{click:function(e){return t.viewRule(n)}}},[t._v("\n "+t._s(n.id)+"\n ")])]}}])}),t._v(" "),i("el-table-column",{attrs:{prop:"for",label:t.$t("rule.topic")}}),t._v(" "),i("el-table-column",{attrs:{prop:"rawsql","min-width":"150px",label:"SQL"}}),t._v(" "),i("el-table-column",{attrs:{prop:"actions",label:t.$t("rule.actions")},scopedSlots:t._u([{key:"default",fn:function(e){var n=e.row;return t._l(n.actions,function(e,n){return i("div",{key:n,staticClass:"action-item"},[t._v("\n "+t._s(e.name)+"\n ")])})}}])}),t._v(" "),i("el-table-column",{attrs:{prop:"metrics.matched","min-width":"110px",label:t.$t("rule.rule_matched_1"),formatter:t.getMatchedCount}}),t._v(" "),i("el-table-column",{attrs:{label:t.$t("rule.viewStates")},scopedSlots:t._u([{key:"default",fn:function(e){return[i("el-tooltip",{attrs:{content:e.row.enabled?t.$t("rule.ruleEnabled"):t.$t("rule.ruleDisabled"),placement:"left"}},[i("el-switch",{attrs:{"active-text":"","inactive-text":"","active-color":"#13ce66","inactive-color":"#ff4949"},on:{change:function(i){return t.updateRule(e.row)}},model:{value:e.row.enabled,callback:function(i){t.$set(e.row,"enabled",i)},expression:"props.row.enabled"}})],1)]}}])}),t._v(" "),i("el-table-column",{attrs:{label:t.$t("rule.oper"),"min-width":"120px"},scopedSlots:t._u([{key:"default",fn:function(e){var n=e.row;return[i("el-button",{attrs:{type:"success",size:"mini",plain:""},on:{click:function(e){return t.editRule(n)}}},[t._v("\n "+t._s(t.$t("rule.edit"))+"\n ")]),t._v(" "),i("el-button",{attrs:{size:"mini",type:"danger",plain:""},on:{click:function(e){return t.handleDelete(n)}}},[t._v("\n "+t._s(t.$t("rule.delete"))+"\n ")])]}}])})],1),t._v(" "),i("el-dialog",{attrs:{title:t.$t("rule.rule_details"),visible:t.dialogVisible},on:{"update:visible":function(e){t.dialogVisible=e},close:t.closeDialog}},[i("div",{staticClass:"dialog-preview"},[i("div",{staticClass:"option-item"},[i("div",{staticClass:"option-title"},[t._v(t._s(t.$t("rule.id")))]),t._v(" "),i("div",{staticClass:"option-value"},[t._v(t._s(t.rule.id))])]),t._v(" "),i("div",{staticClass:"option-item"},[i("div",{staticClass:"option-title"},[t._v(t._s(t.$t("rule.trigger_events")))]),t._v(" "),i("div",{staticClass:"option-value"},[t._v(t._s((t.rule.for||[]).join(",")))])]),t._v(" "),i("div",{staticClass:"option-item"},[i("div",{staticClass:"option-title"},[t._v(t._s(t.$t("rule.rule_desc")))]),t._v(" "),i("div",{staticClass:"option-value"},[t._v(t._s(t.rule.description))])]),t._v(" "),i("div",{staticClass:"option-item"},[i("div",{staticClass:"option-title"},[t._v("SQL")]),t._v(" "),i("div",{staticClass:"option-all"},[i("code",[t._v("\n "+t._s(t.rule.rawsql)+"\n ")])])]),t._v(" "),i("div",{staticClass:"option-item"},[i("div",{staticClass:"option-title"},[t._v("\n "+t._s(t.$t("rule.metrics"))+"\n "),i("i",{directives:[{name:"show",rawName:"v-show",value:t.ruleDialogLoading,expression:"ruleDialogLoading"}],staticClass:"el-icon-loading"})]),t._v(" "),i("div",{staticClass:"option-all"},[i("span",{attrs:{size:"mini",type:"info"}},[t._v("\n "+t._s(t.$t("rule.rule_matched_1"))+": "),i("span",[t._v(t._s(t.rule.metrics.matched))]),t._v(" "+t._s(t.$t("rule.match_unit"))+"\n ")]),t._v(" "),i("span",{attrs:{size:"mini",type:"info"}},[t._v("\n "+t._s(t.$t("rule.speed_current"))+": "),i("span",[t._v(t._s(t.rule.metrics.speed))]),t._v(" "+t._s(t.$t("rule.speed_unit"))+"\n ")]),t._v(" "),i("span",{attrs:{size:"mini",type:"info"}},[t._v("\n "+t._s(t.$t("rule.speed_max_1"))+": "),i("span",[t._v(t._s(t.rule.metrics.speed_max))]),t._v(" "+t._s(t.$t("rule.speed_unit"))+"\n ")]),t._v(" "),i("span",{attrs:{size:"mini",type:"info"}},[t._v("\n "+t._s(t.$t("rule.speed_last5m_1"))+": "),i("span",[t._v(t._s(t.rule.metrics.speed_last5m))]),t._v(" "+t._s(t.$t("rule.speed_unit"))+"\n ")])])]),t._v(" "),i("el-table-column",{attrs:{prop:"description",label:t.$t("rule.description")}}),t._v(" "),i("div",{staticClass:"option-item"},[i("div",{staticClass:"option-title"},[t._v("\n "+t._s(t.$t("rule.actions"))+"\n "),i("i",{directives:[{name:"show",rawName:"v-show",value:t.ruleDialogLoading,expression:"ruleDialogLoading"}],staticClass:"el-icon-loading"})]),t._v(" "),i("div",{staticClass:"option-all"},[i("rule-actions",{attrs:{"in-dialog":"",record:t.rule,operations:[]}})],1)])],1),t._v(" "),i("div",{attrs:{slot:"footer"},slot:"footer"},[i("el-button",{staticClass:"confirm-btn",attrs:{type:"success"},on:{click:function(e){t.dialogVisible=!1}}},[t._v("\n "+t._s(t.$t("rule.confirm"))+"\n ")])],1)])],1)},staticRenderFns:[]};var u=i("VU/8")(r,o,!1,function(t){i("SVmr")},null,null);e.default=u.exports},SVmr:function(t,e){}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/14.0342a1a3d29f1adca947.js b/apps/emqx_dashboard/priv/www/static/js/14.0342a1a3d29f1adca947.js new file mode 100644 index 000000000..4f2f11065 --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/14.0342a1a3d29f1adca947.js @@ -0,0 +1 @@ +webpackJsonp([14],{JWuK:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=r("Xxa5"),s=r.n(a),l=r("exGp"),n=r.n(l),o={name:"RuleView",components:{RuleActions:r("eDC2").a},props:{},data:function(){return{record:{actions:[{id:"inspect_1562305995013447740",metrics:[{failed:0,node:"emqx@127.0.0.1",success:0}],name:"inspect",params:{}}],description:"",enabled:!0,for:["message.publish"],id:"rule:b35e3e59",metrics:[{matched:0,node:"emqx@127.0.0.1",speed:0,speed_last5m:0,speed_max:0}],rawsql:"SELECT\n *\nFROM\n \"message.publish\"\nWHERE\n topic =~ '#'"}}},methods:{loadData:function(){var e=this;return n()(s.a.mark(function t(){var r;return s.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(e.id){t.next=2;break}return t.abrupt("return");case 2:return t.next=4,e.$httpGet("/rules/"+e.id);case 4:r=t.sent,e.record=r.data;case 6:case"end":return t.stop()}},t,e)}))()}},created:function(){this.loadData()},computed:{id:function(){return this.$route.params.id}}},c={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"rule-view"},[r("div",{staticClass:"page-title"},[r("el-breadcrumb",{attrs:{separator:"/"}},[r("el-breadcrumb-item",{attrs:{to:{path:"/rules"}}},[e._v("\n "+e._s(e.$t("rule.message_rule"))+"\n ")]),e._v(" "),r("el-breadcrumb-item",{staticClass:"breadcrumb-name"},[e._v(e._s(e.id))])],1)],1),e._v(" "),r("el-card",{staticClass:"el-card--self"},[r("div",{staticClass:"config-dialog",attrs:{slot:"header"},slot:"header"},[e._v("\n "+e._s(e.$t("rule.basic_info"))+"\n ")]),e._v(" "),r("el-form",{attrs:{model:e.record,"label-position":"left","label-width":"100px","label-suffix":":"}},[r("el-form-item",{attrs:{label:e.$t("rule.topic")}},[r("span",[e._v(e._s(e.record.for.join(",")))])]),e._v(" "),r("el-form-item",{attrs:{label:e.$t("rule.description")}},[r("span",[e._v(e._s(e.record.description))])]),e._v(" "),r("el-form-item",{attrs:{label:e.$t("rule.rule_sql")}},[r("code",[e._v(e._s(e.record.rawsql))])])],1)],1),e._v(" "),r("el-card",{staticClass:"el-card--self"},[r("div",{staticClass:"config-dialog",attrs:{slot:"header"},slot:"header"},[e._v("\n "+e._s(e.$t("rule.metrics"))+"\n ")]),e._v(" "),r("el-table",{attrs:{border:"",data:e.record.metrics}},[r("el-table-column",{attrs:{prop:"node",label:e.$t("rule.node")}}),e._v(" "),r("el-table-column",{attrs:{prop:"matched",sortable:"",label:e.$t("rule.rule_matched_1")}}),e._v(" "),r("el-table-column",{attrs:{prop:"speed",sortable:"",label:e.$t("rule.speed_current")}}),e._v(" "),r("el-table-column",{attrs:{prop:"speed_max",label:e.$t("rule.speed_max_1")}}),e._v(" "),r("el-table-column",{attrs:{prop:"speed_last5m",label:e.$t("rule.speed_last5m_1")}})],1)],1),e._v(" "),r("el-card",{staticClass:"el-card--self"},[r("div",{staticClass:"config-dialog",attrs:{slot:"header"},slot:"header"},[e._v("\n "+e._s(e.$t("rule.set_action"))+"\n ")]),e._v(" "),r("rule-actions",{attrs:{record:e.record,operations:[]}})],1)],1)},staticRenderFns:[]};var i=r("VU/8")(o,c,!1,function(e){r("g3JU")},null,null);t.default=i.exports},g3JU:function(e,t){}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/15.7d11711536eb5b2ca561.js b/apps/emqx_dashboard/priv/www/static/js/15.7d11711536eb5b2ca561.js new file mode 100644 index 000000000..54486f22f --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/15.7d11711536eb5b2ca561.js @@ -0,0 +1 @@ +webpackJsonp([15],{DGQ0:function(t,e){},xPbZ:function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=s("Dd8w"),n=s.n(i),a={name:"resources-view",components:{ResourceDialog:s("SHGx").a},props:{},data:function(){return{dialogVisible:!1,viewDialogVisible:!1,tableData:[],res:{},reloadLoading:!1,currentResource:""}},methods:{viewRunningStatus:function(t,e){var s=document.querySelectorAll(".el-table__expand-icon")[e];s&&s.click&&s.click()},handleReconnect:function(t,e){var s=this;this.reloadLoading=!0,this.currentResource=t.id,this.$httpPost("/resources/"+t.id).then(function(){setTimeout(function(){s.reloadLoading=!1,s.$message.success(s.$t("rule.connectSuccess"));try{t.status[e].is_alive=!0}catch(t){console.log(t)}},300)}).catch(function(){s.reloadLoading=!1})},handleDelete:function(t){var e=this;this.$confirm(this.$t("rule.confirm_stop_delete"),"Notice",{confirmButtonClass:"confirm-btn",confirmButtonText:this.$t("oper.confirm"),cancelButtonClass:"cache-btn el-button--text",cancelButtonText:this.$t("oper.cancel"),type:"warning"}).then(function(){e.$httpDelete("/resources/"+t.id).then(function(){e.$message.success(e.$t("rule.delete_success")),e.loadData()})}).catch()},viewResource:function(t){this.res=n()({},t),this.viewDialogVisible=!0},handleOperation:function(){this.dialogVisible=!0},loadData:function(){var t=this;this.$httpGet("/resources").then(function(e){var s=e.data;t.tableData=s.map(function(t){return t.status=t.status||[],t})})},handExpand:function(t){var e=this;t.status&&t.status.length>0||this.$httpGet("/resources/"+t.id).then(function(s){e.$set(t,"status",s.data.status)})}},created:function(){this.loadData()}},o={render:function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"resources-view"},[s("div",{staticClass:"page-title"},[t._v("\n "+t._s(t.$t("rule.resource_title"))+"\n "),s("el-button",{staticClass:"confirm-btn",staticStyle:{float:"right"},attrs:{round:"",plain:"",type:"success",icon:"el-icon-plus",size:"medium",disable:t.$store.state.loading},on:{click:t.handleOperation}},[t._v("\n "+t._s(t.$t("rule.create"))+"\n ")])],1),t._v(" "),s("el-table",{attrs:{border:"",data:t.tableData},on:{"expand-change":t.handExpand}},[s("el-table-column",{attrs:{prop:"id",type:"expand","class-name":"expand-column",width:"1px"},scopedSlots:t._u([{key:"default",fn:function(e){var i=e.row;return[s("ul",{staticClass:"status-wrapper"},t._l(i.status||[],function(e,n){return s("li",{key:n,staticClass:"status-item"},[s("span",{staticClass:"key"},[t._v("\n "+t._s(e.node)+"\n ")]),t._v(" "),s("span",{class:[e.is_alive?"running":"stopped danger","status"]},[t._v("\n "+t._s(e.is_alive?t.$t("rule.enabled"):t.$t("rule.disabled"))+"\n ")]),t._v(" "),e.is_alive?t._e():s("el-button",{attrs:{loading:t.reloadLoading&&t.currentResource===i.id,plain:"",type:"success",size:"mini"},on:{click:function(e){return t.handleReconnect(i,n)}}},[t._v("\n "+t._s(t.$t("rule.reconnect"))+"\n ")])],1)}),0)]}}])}),t._v(" "),s("el-table-column",{attrs:{prop:"id",label:t.$t("rule.id")},scopedSlots:t._u([{key:"default",fn:function(e){var i=e.row;return[s("span",{on:{click:function(e){return t.viewResource(i)}}},[t._v("\n "+t._s(i.id)+"\n ")])]}}])}),t._v(" "),s("el-table-column",{attrs:{prop:"description",label:t.$t("rule.resource_des")}}),t._v(" "),s("el-table-column",{attrs:{prop:"type",label:t.$t("rule.resource_type")}}),t._v(" "),s("el-table-column",{attrs:{label:t.$t("rule.oper")},scopedSlots:t._u([{key:"default",fn:function(e){var i=e.row,n=e.$index;return[s("el-button",{attrs:{plain:"",type:"success",size:"mini"},on:{click:function(e){return t.viewResource(i)}}},[t._v("\n "+t._s(t.$t("rule.view"))+"\n ")]),t._v(" "),s("el-button",{attrs:{plain:"",size:"mini",type:"warning"},on:{click:function(e){return t.handleDelete(i)}}},[t._v("\n "+t._s(t.$t("rule.delete"))+"\n ")]),t._v(" "),s("el-button",{attrs:{plain:"",type:"success",size:"mini"},on:{click:function(e){return t.viewRunningStatus(i,n)}}},[t._v("\n "+t._s(t.$t("rule.viewStates"))+"\n ")])]}}])})],1),t._v(" "),s("resource-dialog",{ref:"resourceDialog",attrs:{visible:t.dialogVisible},on:{"update:visible":function(e){t.dialogVisible=e},confirm:t.loadData}}),t._v(" "),s("el-dialog",{attrs:{title:t.$t("rule.resource_details"),visible:t.viewDialogVisible},on:{"update:visible":function(e){t.viewDialogVisible=e}}},[s("div",{staticClass:"dialog-preview"},[s("div",{staticClass:"option-item"},[s("div",{staticClass:"option-title"},[t._v("\n "+t._s(t.$t("rule.id"))+"\n ")]),t._v(" "),s("div",{staticClass:"option-value"},[t._v(t._s(t.res.id))])]),t._v(" "),s("div",{staticClass:"option-item"},[s("div",{staticClass:"option-title"},[t._v("\n "+t._s(t.$t("rule.resource_type"))+"\n ")]),t._v(" "),s("div",{staticClass:"option-value"},[t._v(t._s(t.res.type))])]),t._v(" "),s("div",{staticClass:"option-item"},[s("div",{staticClass:"option-title"},[t._v("\n "+t._s(t.$t("rule.resource_des"))+"\n ")]),t._v(" "),s("div",{staticClass:"option-value"},[t._v(t._s(t.res.description))])]),t._v(" "),t.res.config&&Object.keys(t.res.config).length>0?s("div",{staticClass:"option-item"},[s("div",{staticClass:"option-title"},[t._v("\n "+t._s(t.$t("rule.config_info"))+"\n ")]),t._v(" "),s("div",{staticClass:"option-all"},t._l(Object.entries(t.res.config),function(e,i){return s("div",{key:i,staticClass:"option-item"},["object"!=typeof e[1]||Array.isArray(e[1])?[s("div",{staticClass:"option-title"},[t._v("\n "+t._s(e[0])+"\n ")]),t._v(" "),s("div",{staticClass:"option-value"},[t._v("\n "+t._s(e[1])+"\n ")])]:[s("div",{staticClass:"option-title"},[t._v("\n "+t._s(e[0])+"\n ")]),t._v(" "),s("div",{staticClass:"option-value"},[e[1]&&0!==Object.keys(e[1]).length?s("data-table",{staticStyle:{"margin-top":"0"},attrs:{disabled:""},model:{value:e[1],callback:function(s){t.$set(e,1,s)},expression:"item[1]"}}):s("span",[t._v("\n N/A\n ")])],1)]],2)}),0)]):t._e()]),t._v(" "),s("div",{attrs:{slot:"footer"},slot:"footer"},[s("el-button",{staticClass:"confirm-btn",attrs:{type:"success"},on:{click:function(e){t.viewDialogVisible=!1}}},[t._v("\n "+t._s(t.$t("rule.confirm"))+"\n ")])],1)])],1)},staticRenderFns:[]};var l=s("VU/8")(a,o,!1,function(t){s("DGQ0")},null,null);e.default=l.exports}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/16.6bfd6f3eb9216e73149c.js b/apps/emqx_dashboard/priv/www/static/js/16.6bfd6f3eb9216e73149c.js new file mode 100644 index 000000000..7ed55e988 --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/16.6bfd6f3eb9216e73149c.js @@ -0,0 +1 @@ +webpackJsonp([16],{RjBg:function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=s("fZjL"),l=s.n(a),o=s("d7EF"),n=s.n(o),r=s("W3Iv"),i=s.n(r),c=s("Dd8w"),d=s.n(c),v=s("zL8q"),u=s("NYxO"),m={name:"overview-view",components:{"el-select":v.Select,"el-option":v.Option,"el-table":v.Table,"el-table-column":v.TableColumn,"el-row":v.Row,"el-col":v.Col},data:function(){return{nodeName:"",brokers:{},nodes:[],stats:[],timer:0,metrics:{packets:[],messages:[],bytes:[],client:[],session:[],delivery:[]}}},methods:d()({},Object(u.b)(["CURRENT_NODE"]),{init:function(){var e=this;this.$httpGet("/nodes").then(function(t){e.nodeName=e.$store.state.nodeName||t.data[0].node,e.nodes=t.data,e.CURRENT_NODE(e.nodeName),e.refreshInterval()}).catch(function(t){e.$message.error(t||e.$t("error.networkError")),setTimeout(function(){e.init()},2e4)})},refreshInterval:function(){this.loadData(),clearInterval(this.timer),this.timer=setInterval(this.loadData,1e4)},loadData:function(){var e=this;this.CURRENT_NODE(this.nodeName),this.$httpGet("/nodes").then(function(t){e.nodes=t.data.sort(function(t,s){return t.node===e.nodeName?-1:t.uptime>s.uptime?-1:1})}),this.$httpGet("/stats").then(function(t){var s=t.data;s.forEach(function(e){var t=d()({node:e.node},e.stats);i()(t).forEach(function(t){var s=n()(t,2),a=s[0],l=s[1],o=a.replace(/\./g,"_");e[o]=l,a.includes(".")&&delete e[a]})}),e.stats=s}),this.$httpGet("/brokers/"+this.nodeName).then(function(t){e.brokers=t.data}),this.$httpGet("/nodes/"+this.nodeName+"/metrics").then(function(t){e.metrics={packets:[],messages:[],bytes:[],client:[],session:[],delivery:[]};var s=d()({},t.data),a={packets:["received","sent","connect","connack","auth","disconnect.sent","disconnect.received","pingreq","pingresp","publish.received","publish.sent","puback.received","puback.sent","puback.missed","pubcomp.received","pubcomp.sent","pubcomp.missed","pubrec.received","pubrec.sent","pubrec.missed","pubrel.received","pubrel.sent","pubrel.missed","subscribe","suback","unsubscribe","unsuback"],messages:["received","sent","dropped","retained","qos0.received","qos0.sent","qos1.received","qos1.sent","qos2.received","qos2.expired","qos2.sent","qos2.dropped"],bytes:["received","sent"],client:["connected","authenticate","auth.anonymous","check_acl","subscribe","unsubscribe","disconnected"],session:["created","resumed","takeovered","discarded","terminated"],delivery:["dropped","dropped.no_local","dropped.too_large","dropped.qos0_msg","dropped.queue_full","dropped.expired"]};l()(a).forEach(function(l){a[l].forEach(function(a){var o=l+"."+a;delete s[o],void 0!==t.data[o]&&e.metrics[l].push({key:a,value:t.data[o]})})}),l()(s).forEach(function(t){var a=t.split(".")[0];e.metrics[a]&&void 0!==s[t]&&e.metrics[a].push({key:t.split(".").slice(1).join("."),value:s[t]})})})}}),created:function(){this.init()},beforeRouteLeave:function(e,t,s){clearInterval(this.timer),s()},beforeDestroy:function(){clearInterval(this.timer)}},p={render:function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"overview-view"},[s("div",{staticClass:"page-title"},[e._v("\n "+e._s(e.$t("leftbar.overview"))+"\n "),s("el-select",{staticClass:"select-radius",attrs:{placeholder:e.$t("select.placeholder")},on:{change:e.loadData},model:{value:e.nodeName,callback:function(t){e.nodeName=t},expression:"nodeName"}},e._l(e.nodes,function(e){return s("el-option",{key:e.node,attrs:{label:e.node,value:e.node}})}),1)],1),e._v(" "),s("div",{staticClass:"card-box",staticStyle:{"margin-top":"54px"}},[s("div",{staticClass:"card-title"},[e._v(e._s(e.$t("overview.broker")))]),e._v(" "),s("el-row",{staticClass:"broker-card",attrs:{gutter:10}},[s("el-col",{attrs:{span:6}},[s("div",{staticClass:"card-item"},[s("div",{staticClass:"icon"},[s("i",{staticClass:"iconfont icon-systemname"})]),e._v(" "),s("div",{staticClass:"desc"},[s("h3",[e._v(e._s(e.$t("overview.systemName")))]),e._v(" "),s("p",[e._v(e._s(e.brokers.sysdescr))])])])]),e._v(" "),s("el-col",{attrs:{span:6}},[s("div",{staticClass:"card-item"},[s("div",{staticClass:"icon"},[s("i",{staticClass:"iconfont icon-version",staticStyle:{"font-weight":"600"}})]),e._v(" "),s("div",{staticClass:"desc"},[s("h3",[e._v(e._s(e.$t("overview.version")))]),e._v(" "),s("p",[e._v(e._s(e.brokers.version))])])])]),e._v(" "),s("el-col",{attrs:{span:6}},[s("div",{staticClass:"card-item"},[s("div",{staticClass:"icon"},[s("i",{staticClass:"iconfont icon-uptime"})]),e._v(" "),s("div",{staticClass:"desc"},[s("h3",[e._v(e._s(e.$t("overview.uptime")))]),e._v(" "),s("p",[e._v(e._s(e.brokers.uptime))])])])]),e._v(" "),s("el-col",{attrs:{span:6}},[s("div",{staticClass:"card-item"},[s("div",{staticClass:"icon",staticStyle:{"line-height":"46px"}},[s("i",{staticClass:"iconfont icon-Systemtime",staticStyle:{"font-size":"36px",top:"2px"}})]),e._v(" "),s("div",{staticClass:"desc"},[s("h3",[e._v(e._s(e.$t("overview.systemTime")))]),e._v(" "),s("p",[e._v(e._s(e.brokers.datetime))])])])])],1)],1),e._v(" "),s("div",{staticClass:"card-box"},[s("div",{staticClass:"card-title"},[e._v(e._s(e.$t("overview.nodes"))+"("+e._s(e.nodes.length)+")")]),e._v(" "),s("el-table",{attrs:{data:e.nodes,border:""}},[s("el-table-column",{attrs:{prop:"node","min-width":"200",label:e.$t("overview.name")}}),e._v(" "),s("el-table-column",{attrs:{prop:"otp_release","min-width":"200",label:e.$t("overview.erlangOTPRelease")}}),e._v(" "),s("el-table-column",{attrs:{label:e.$t("overview.erlangProcesses")}},[s("el-table-column",{attrs:{"min-width":"150",prop:"process",label:"(used/avaliable)"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(t.row.process_used+" / "+t.row.process_available)+"\n ")]}}])})],1),e._v(" "),s("el-table-column",{attrs:{label:e.$t("overview.cpuInfo")}},[s("el-table-column",{attrs:{"min-width":"180",label:" (1load/5load/15load)"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(t.row.load1+" / "+t.row.load5+" / "+t.row.load15)+"\n ")]}}])})],1),e._v(" "),s("el-table-column",{attrs:{"min-width":"200",label:e.$t("overview.memoryInfo")}},[s("el-table-column",{attrs:{"min-width":"180",label:" (used/total)"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(t.row.memory_used+" / "+t.row.memory_total)+"\n ")]}}])})],1),e._v(" "),s("el-table-column",{attrs:{prop:"max_fds","min-width":"120",label:e.$t("overview.maxFds")}}),e._v(" "),s("el-table-column",{attrs:{"min-width":"120",label:e.$t("overview.status")},scopedSlots:e._u([{key:"default",fn:function(t){return[s("span",{class:["Running"===t.row.node_status?"running":"stopped","status"]},[e._v("\n "+e._s(t.row.node_status)+"\n ")])]}}])})],1)],1),e._v(" "),s("div",{staticClass:"card-box"},[s("div",{staticClass:"card-title"},[e._v(e._s(e.$t("overview.stats"))+"("+e._s(e.stats.length)+")")]),e._v(" "),s("el-table",{staticClass:"stats-table",attrs:{data:e.stats,border:""}},[s("el-table-column",{attrs:{prop:"node","min-width":"150",label:e.$t("overview.name")}}),e._v(" "),s("el-table-column",{attrs:{label:e.$t("overview.connectionsCount")}},[s("el-table-column",{attrs:{"min-width":"150",label:"(count/max)"},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.row;return[e._v("\n "+e._s(s.connections_count)+" / "+e._s(s.connections_max)+"\n ")]}}])})],1),e._v(" "),s("el-table-column",{attrs:{label:e.$t("overview.topicsCount")}},[s("el-table-column",{attrs:{"min-width":"150",label:"(count/max)"},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.row;return[e._v("\n "+e._s(s.topics_count)+" / "+e._s(s.topics_max)+"\n ")]}}])})],1),e._v(" "),s("el-table-column",{attrs:{label:e.$t("overview.retainedCount")}},[s("el-table-column",{attrs:{"min-width":"150",label:"(count/max)"},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.row;return[e._v("\n "+e._s(s.retained_count)+" / "+e._s(s.retained_max)+"\n ")]}}])})],1),e._v(" "),s("el-table-column",{attrs:{label:e.$t("overview.sessionsCount")}},[s("el-table-column",{attrs:{"min-width":"150",label:"(count/max)"},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.row;return[e._v("\n "+e._s(s.sessions_count)+" / "+e._s(s.sessions_max)+"\n ")]}}])})],1),e._v(" "),s("el-table-column",{attrs:{label:e.$t("overview.subscriptionsCount")}},[s("el-table-column",{attrs:{"min-width":"150",label:"(count/max)"},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.row;return[e._v("\n "+e._s(s.subscriptions_count)+" / "+e._s(s.subscriptions_max)+"\n ")]}}])})],1),e._v(" "),s("el-table-column",{attrs:{label:e.$t("overview.subscriptionsSharedCount")}},[s("el-table-column",{attrs:{"min-width":"150",label:"(count/max)"},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.row;return[e._v("\n "+e._s(s.subscriptions_shared_count)+" / "+e._s(s.subscriptions_shared_max)+"\n ")]}}])})],1)],1)],1),e._v(" "),s("div",{staticClass:"card-box"},[s("div",{staticClass:"card-title"},[e._v(e._s(e.$t("overview.metrics")))]),e._v(" "),s("el-row",{attrs:{gutter:20}},[s("el-col",{attrs:{span:8}},[s("el-table",{attrs:{data:e.metrics.client}},[s("el-table-column",{attrs:{"min-width":"200",prop:"key",label:e.$t("overview.client")}}),e._v(" "),s("el-table-column",{attrs:{sortable:"",prop:"value",label:""}})],1)],1),e._v(" "),s("el-col",{attrs:{span:8}},[s("el-table",{attrs:{data:e.metrics.delivery}},[s("el-table-column",{attrs:{"min-width":"160",prop:"key",label:e.$t("overview.delivery")}}),e._v(" "),s("el-table-column",{attrs:{sortable:"",prop:"value",label:""}})],1)],1),e._v(" "),s("el-col",{attrs:{span:8}},[s("el-table",{attrs:{data:e.metrics.session}},[s("el-table-column",{attrs:{"min-width":"200",prop:"key",label:e.$t("overview.session")}}),e._v(" "),s("el-table-column",{attrs:{sortable:"",prop:"value",label:""}})],1)],1)],1),e._v(" "),s("el-row",{attrs:{gutter:20}},[s("el-col",{attrs:{span:8}},[s("el-table",{attrs:{data:e.metrics.packets}},[s("el-table-column",{attrs:{"min-width":"200",prop:"key",label:e.$t("overview.packetsData")}}),e._v(" "),s("el-table-column",{attrs:{sortable:"",prop:"value",label:""}})],1)],1),e._v(" "),s("el-col",{attrs:{span:8}},[s("el-table",{attrs:{data:e.metrics.messages}},[s("el-table-column",{attrs:{"min-width":"200",prop:"key",label:e.$t("overview.messagesData")}}),e._v(" "),s("el-table-column",{attrs:{sortable:"",prop:"value",label:""}})],1)],1),e._v(" "),s("el-col",{attrs:{span:8}},[s("el-table",{attrs:{data:e.metrics.bytes}},[s("el-table-column",{attrs:{"min-width":"160",prop:"key",label:e.$t("overview.bytesData")}}),e._v(" "),s("el-table-column",{attrs:{sortable:"",prop:"value",label:""}})],1)],1)],1)],1)])},staticRenderFns:[]};var b=s("VU/8")(m,p,!1,function(e){s("Xk+3")},null,null);t.default=b.exports},"Xk+3":function(e,t){}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/17.1d56280c16e6e2b81cff.js b/apps/emqx_dashboard/priv/www/static/js/17.1d56280c16e6e2b81cff.js new file mode 100644 index 000000000..b73d3de57 --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/17.1d56280c16e6e2b81cff.js @@ -0,0 +1 @@ +webpackJsonp([17],{EsSr:function(t,e){},wkqA:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"not-found"},[n("p",[t._v("404 Not Found")]),t._v(" "),n("router-link",{attrs:{to:"/"}},[t._v("Homepage")]),t._v(" "),n("router-link",{attrs:{to:"#"},on:{click:function(e){return t.$router.go(-2)}}},[t._v("Back up")])],1)},staticRenderFns:[]};var o=n("VU/8")({name:"NotFound"},r,!1,function(t){n("EsSr")},null,null);e.default=o.exports}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/18.a0c394cb4b55bee2fa82.js b/apps/emqx_dashboard/priv/www/static/js/18.a0c394cb4b55bee2fa82.js new file mode 100644 index 000000000..48c45305b --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/18.a0c394cb4b55bee2fa82.js @@ -0,0 +1 @@ +webpackJsonp([18],{"6xQH":function(e,r){},lmfZ:function(e,r,s){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var o=s("Dd8w"),t=s.n(o),n=s("zL8q"),l=s("NYxO"),i={name:"login-view",components:{"el-col":n.Col,"el-row":n.Row,"el-card":n.Card,"el-form":n.Form,"el-form-item":n.FormItem,"el-input":n.Input,"el-checkbox":n.Checkbox,"el-button":n.Button},data:function(){return{remember:!1,user:{username:"",password:""},loginError:{username:"",password:""}}},methods:t()({},Object(l.b)(["USER_LOGIN"]),{login:function(){var e=this;return this.user.username?this.user.password?void this.$axios.post("/auth",this.user).then(function(){e.USER_LOGIN({user:e.user,remember:e.remember}),e.$router.push(e.$route.query.redirect||"/")}).catch(function(){e.loginError.username=e.$t("login.error"),e.user={username:"",password:""}}):(this.loginError.password=this.$t("login.passwordRequired"),!1):(this.loginError.username=this.$t("login.usernameRequired"),!1)}})},a={render:function(){var e=this,r=e.$createElement,s=e._self._c||r;return s("div",{staticClass:"login-view"},[s("el-card",[s("div",{attrs:{slot:"header"},slot:"header"},[e._v("\n "+e._s(e.$t("login.title"))+"\n ")]),e._v(" "),s("el-form",{staticClass:"el-form--public",attrs:{size:"medium","label-position":"top",model:e.user},nativeOn:{keyup:function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"enter",13,r.key,"Enter")?null:e.login(r)}}},[s("el-form-item",{attrs:{label:e.$t("login.username")}},[s("el-input",{class:{error:e.loginError.username},attrs:{placeholder:e.loginError.username},on:{focus:function(r){e.loginError.username=""}},model:{value:e.user.username,callback:function(r){e.$set(e.user,"username",r)},expression:"user.username"}})],1),e._v(" "),s("el-form-item",{attrs:{label:e.$t("login.password")}},[s("el-input",{class:{error:e.loginError.password},attrs:{type:"password",placeholder:e.loginError.password},on:{focus:function(r){e.loginError.password=""}},model:{value:e.user.password,callback:function(r){e.$set(e.user,"password",r)},expression:"user.password"}})],1)],1),e._v(" "),s("div",{staticClass:"login-footer"},[s("el-checkbox",{model:{value:e.remember,callback:function(r){e.remember=r},expression:"remember"}},[e._v("\n "+e._s(e.$t("login.remember"))+"\n ")]),e._v(" "),s("el-button",{staticClass:"confirm-btn",attrs:{type:"success",loading:e.$store.state.loading,disabled:e.$store.state.loading},on:{click:e.login}},[e._v(e._s(e.$t("login.loginButton"))+"\n ")])],1),e._v(" "),s("div",{staticClass:"clear-fix"})],1)],1)},staticRenderFns:[]};var u=s("VU/8")(i,a,!1,function(e){s("6xQH")},null,null);r.default=u.exports}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/19.060521bb4ba4f7a81ac0.js b/apps/emqx_dashboard/priv/www/static/js/19.060521bb4ba4f7a81ac0.js new file mode 100644 index 000000000..beb98a621 --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/19.060521bb4ba4f7a81ac0.js @@ -0,0 +1 @@ +webpackJsonp([19],{IHTQ:function(e,t){},uuOo:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=n("Dd8w"),a=n.n(s),o=n("NYxO"),l=n("zL8q"),r={name:"listeners-view",components:{"el-select":l.Select,"el-option":l.Option,"el-table":l.Table,"el-table-column":l.TableColumn},data:function(){return{nodeName:"",nodes:[],listeners:[]}},methods:a()({},Object(o.b)(["CURRENT_NODE"]),{loadData:function(){var e=this;this.$httpGet("/nodes").then(function(t){e.nodeName=e.$store.state.nodeName||t.data[0].node,e.nodes=t.data,e.loadListeners()}).catch(function(t){e.$message.error(t||e.$t("error.networkError"))})},loadListeners:function(){var e=this;this.CURRENT_NODE(this.nodeName),this.$httpGet("/nodes/"+this.nodeName+"/listeners").then(function(t){e.listeners=t.data}).catch(function(t){e.$message.error(t||e.$t("error.networkError"))})}}),created:function(){this.loadData()}},i={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"listeners-view"},[n("div",{staticClass:"page-title"},[e._v("\n "+e._s(e.$t("leftbar.listeners"))+"\n "),n("el-select",{staticClass:"select-radius",attrs:{placeholder:e.$t("select.placeholder"),disabled:e.$store.state.loading},on:{change:e.loadListeners},model:{value:e.nodeName,callback:function(t){e.nodeName=t},expression:"nodeName"}},e._l(e.nodes,function(e){return n("el-option",{key:e.node,attrs:{label:e.node,value:e.node}})}),1)],1),e._v(" "),n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.$store.state.loading,expression:"$store.state.loading"}],attrs:{border:"",data:e.listeners}},[n("el-table-column",{attrs:{prop:"protocol",width:"240",label:e.$t("listeners.protocol")}}),e._v(" "),n("el-table-column",{attrs:{prop:"listen_on","min-width":"240",label:e.$t("listeners.listenOn")}}),e._v(" "),n("el-table-column",{attrs:{prop:"max_conns","min-width":"180",label:e.$t("listeners.maxConnections")}}),e._v(" "),n("el-table-column",{attrs:{prop:"current_conns","min-width":"120",label:e.$t("listeners.currentConnections")}})],1)],1)},staticRenderFns:[]};var c=n("VU/8")(r,i,!1,function(e){n("IHTQ")},null,null);t.default=c.exports}}); \ No newline at end of file diff --git a/apps/emqx_dashboard/priv/www/static/js/2.0aed9f93bfe094e9099c.js b/apps/emqx_dashboard/priv/www/static/js/2.0aed9f93bfe094e9099c.js new file mode 100644 index 000000000..9d6fb1400 --- /dev/null +++ b/apps/emqx_dashboard/priv/www/static/js/2.0aed9f93bfe094e9099c.js @@ -0,0 +1,8 @@ +webpackJsonp([2],{"+0Qw":function(e,t){},"+AxE":function(e,t){},"+HRN":function(e,t,n){"use strict";var i=n("kkc6").Buffer,r=n(2);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,n=""+t.data;t=t.next;)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return i.alloc(0);if(1===this.length)return this.head.data;for(var t,n,r,o=i.allocUnsafe(e>>>0),s=this.head,a=0;s;)t=s.data,n=o,r=a,t.copy(n,r),a+=s.data.length,s=s.next;return o},e}(),r&&r.inspect&&r.inspect.custom&&(e.exports.prototype[r.inspect.custom]=function(){var e=r.inspect({length:this.length});return this.constructor.name+" "+e})},"+Tn7":function(e,t){},"+e0g":function(e,t,n){"use strict";var i=n("3PYz"),r=n("lZ6o"),o=r.utils,s=o.assert,a=o.parseBytes,u=n("RzOE"),c=n("hkfz");function l(e){if(s("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof l))return new l(e);e=r.curves[e].curve;this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=i.sha512}e.exports=l,l.prototype.sign=function(e,t){e=a(e);var n=this.keyFromSecret(t),i=this.hashInt(n.messagePrefix(),e),r=this.g.mul(i),o=this.encodePoint(r),s=this.hashInt(o,n.pubBytes(),e).mul(n.priv()),u=i.add(s).umod(this.curve.n);return this.makeSignature({R:r,S:u,Rencoded:o})},l.prototype.verify=function(e,t,n){e=a(e),t=this.makeSignature(t);var i=this.keyFromPublic(n),r=this.hashInt(t.Rencoded(),i.pubBytes(),e),o=this.g.mul(t.S());return t.R().add(i.pub().mul(r)).eq(o)},l.prototype.hashInt=function(){for(var e=this.hash(),t=0;t16)throw new Error("unable to decrypt data");var n=-1;for(;++n16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(this.cache.length>=16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},d.prototype.flush=function(){if(this.cache.length)return this.cache},t.createDecipher=function(e,t){var n=o[e.toLowerCase()];if(!n)throw new TypeError("invalid suite type");var i=c(t,!1,n.key,n.iv);return h(e,i.key,i.iv)},t.createDecipheriv=h},"+jct":function(e,t,n){"use strict";n.d(t,"b",function(){return i}),n.d(t,"a",function(){return r}),t.c=function(e){var t=r;if(e&&e instanceof RegExp)if(e.global)t=e;else{var n="g";e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),t=new RegExp(e.source,n)}return t.lastIndex=0,t},t.d=function(e,t,n,i){t.lastIndex=0;var r=t.exec(n);if(!r)return null;var o=r[0].indexOf(" ")>=0?function(e,t,n,i){var r,o=e-1-i;t.lastIndex=0;for(;r=t.exec(n);){var s=r.index||0;if(s>o)return null;if(t.lastIndex>=o)return{word:r[0],startColumn:i+1+s,endColumn:i+1+t.lastIndex}}return null}(e,t,n,i):function(e,t,n,i){var r,o=e-1-i,s=n.lastIndexOf(" ",o-1)+1;t.lastIndex=s;for(;r=t.exec(n);){var a=r.index||0;if(a<=o&&t.lastIndex>=o)return{word:r[0],startColumn:i+1+a,endColumn:i+1+t.lastIndex}}return null}(e,t,n,i);return t.lastIndex=0,o};var i="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";var r=function(e){void 0===e&&(e="");for(var t="(-?\\d*\\.\\d\\w*)|([^",n=0,r=i;n=0||(t+="\\"+o)}return t+="\\s]+)",new RegExp(t,"g")}()},"+oh4":function(e,t,n){"use strict";var i;n.d(t,"a",function(){return i}),n.d(t,"b",function(){return r}),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(i||(i={}));var r=function(){function e(e){if(this.open=e.open,this.close=e.close,this._standardTokenMask=0,Array.isArray(e.notIn))for(var t=0,n=e.notIn.length;t200)return t;if("object"==typeof t){switch(t.$mid){case 1:return i.a.revive(t);case 2:return new RegExp(t.source,t.flags)}for(var r in t)Object.hasOwnProperty.call(t,r)&&(t[r]=e(t[r],n+1))}return t}(t,0)};var i=n("mrx5")},"/9db":function(e,t,n){"use strict";n.d(t,"a",function(){return i});var i,r=n("7g0X");!function(e){e.editorTextFocus=new r.d("editorTextFocus",!1),e.focus=new r.d("editorFocus",!1),e.textInputFocus=new r.d("textInputFocus",!1),e.readOnly=new r.d("editorReadonly",!1),e.writable=e.readOnly.toNegated(),e.hasNonEmptySelection=new r.d("editorHasSelection",!1),e.hasOnlyEmptySelection=e.hasNonEmptySelection.toNegated(),e.hasMultipleSelections=new r.d("editorHasMultipleSelections",!1),e.hasSingleSelection=e.hasMultipleSelections.toNegated(),e.tabMovesFocus=new r.d("editorTabMovesFocus",!1),e.tabDoesNotMoveFocus=e.tabMovesFocus.toNegated(),e.isInEmbeddedEditor=new r.d("isInEmbeddedEditor",!1),e.canUndo=new r.d("canUndo",!1),e.canRedo=new r.d("canRedo",!1),e.languageId=new r.d("editorLangId",""),e.hasCompletionItemProvider=new r.d("editorHasCompletionItemProvider",!1),e.hasCodeActionsProvider=new r.d("editorHasCodeActionsProvider",!1),e.hasCodeLensProvider=new r.d("editorHasCodeLensProvider",!1),e.hasDefinitionProvider=new r.d("editorHasDefinitionProvider",!1),e.hasDeclarationProvider=new r.d("editorHasDeclarationProvider",!1),e.hasImplementationProvider=new r.d("editorHasImplementationProvider",!1),e.hasTypeDefinitionProvider=new r.d("editorHasTypeDefinitionProvider",!1),e.hasHoverProvider=new r.d("editorHasHoverProvider",!1),e.hasDocumentHighlightProvider=new r.d("editorHasDocumentHighlightProvider",!1),e.hasDocumentSymbolProvider=new r.d("editorHasDocumentSymbolProvider",!1),e.hasReferenceProvider=new r.d("editorHasReferenceProvider",!1),e.hasRenameProvider=new r.d("editorHasRenameProvider",!1),e.hasSignatureHelpProvider=new r.d("editorHasSignatureHelpProvider",!1),e.hasDocumentFormattingProvider=new r.d("editorHasDocumentFormattingProvider",!1),e.hasDocumentSelectionFormattingProvider=new r.d("editorHasDocumentSelectionFormattingProvider",!1),e.hasMultipleDocumentFormattingProvider=new r.d("editorHasMultipleDocumentFormattingProvider",!1),e.hasMultipleDocumentSelectionFormattingProvider=new r.d("editorHasMultipleDocumentSelectionFormattingProvider",!1)}(i||(i={}))},"/MLu":function(e,t,n){e.exports=n("cSWu").PassThrough},"/bUF":function(module,exports){var indexOf=function(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0;n=s&&e<=u||e>=a&&e<=c}function _(e,t,n,i){for(var r,o="",s=0,a=-1,u=0,c=0;c<=e.length;++c){if(c2){var h=o.lastIndexOf(n);-1===h?(o="",s=0):s=(o=o.slice(0,h)).length-1-o.lastIndexOf(n),a=c,u=0;continue}if(2===o.length||1===o.length){o="",s=0,a=c,u=0;continue}}t&&(o.length>0?o+=n+"..":o="..",s=2)}else o.length>0?o+=n+e.slice(a+1,c):o=e.slice(a+1,c),s=c-a-1;a=c,u=0}else r===l&&-1!==u?++u:u=-1}return o}function b(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+e+i:i}var y={resolve:function(){for(var e=[],t=0;t=-1;s--){var a=void 0;if(s>=0?a=e[s]:n?void 0!==(a=r.b["="+n]||r.a())&&a.slice(0,3).toLowerCase()===n.toLowerCase()+"\\"||(a=n+"\\"):a=r.a(),p(a,"path"),0!==a.length){var u=a.length,c=0,l="",d=!1,h=a.charCodeAt(0);if(u>1)if(g(h))if(d=!0,g(a.charCodeAt(1))){for(var f=2,m=f;f2&&g(a.charCodeAt(2))&&(d=!0,c=3));else g(h)&&(c=1,d=!0);if(!(l.length>0&&n.length>0&&l.toLowerCase()!==n.toLowerCase())&&(0===n.length&&l.length>0&&(n=l),o||(i=a.slice(c)+"\\"+i,o=d),n.length>0&&o))break}}return i=_(i,!o,"\\",g),n+(o?"\\":"")+i||"."},normalize:function(e){p(e,"path");var t=e.length;if(0===t)return".";var n,i,r=0,o=!1,s=e.charCodeAt(0);if(t>1)if(g(s))if(o=!0,g(e.charCodeAt(1))){for(var a=2,u=a;a2&&g(e.charCodeAt(2))&&(o=!0,r=3));else if(g(s))return"\\";return 0!==(i=r0&&g(e.charCodeAt(t-1))&&(i+="\\"),void 0===n?o?i.length>0?"\\"+i:"\\":i.length>0?i:"":o?i.length>0?n+"\\"+i:n+"\\":i.length>0?n+i:n},isAbsolute:function(e){p(e,"path");var t=e.length;if(0===t)return!1;var n=e.charCodeAt(0);return!!g(n)||!!(v(n)&&t>2&&58===e.charCodeAt(1)&&g(e.charCodeAt(2)))},join:function(){for(var e,t,n=[],i=0;i0&&(void 0===e?e=t=o:e+="\\"+o)}if(void 0===e)return".";var s=!0,a=0;if("string"==typeof t&&g(t.charCodeAt(0))){++a;var u=t.length;u>1&&g(t.charCodeAt(1))&&(++a,u>2&&(g(t.charCodeAt(2))?++a:s=!1))}if(s){for(;a=2&&(e="\\"+e.slice(a))}return y.normalize(e)},relative:function(e,t){if(p(e,"from"),p(t,"to"),e===t)return"";var n=y.resolve(e),i=y.resolve(t);if(n===i)return"";if((e=n.toLowerCase())===(t=i.toLowerCase()))return"";for(var r=0;rr&&e.charCodeAt(o-1)===h;--o);for(var s=o-r,a=0;aa&&t.charCodeAt(u-1)===h;--u);for(var c=u-a,l=sl){if(t.charCodeAt(a+f)===h)return i.slice(a+f+1);if(2===f)return i.slice(a+f)}s>l&&(e.charCodeAt(r+f)===h?d=f:2===f&&(d=3));break}var g=e.charCodeAt(r+f);if(g!==t.charCodeAt(a+f))break;g===h&&(d=f)}if(f!==l&&-1===d)return i;var m="";for(-1===d&&(d=0),f=r+d+1;f<=o;++f)f!==o&&e.charCodeAt(f)!==h||(0===m.length?m+="..":m+="\\..");return m.length>0?m+i.slice(a+d,u):(a+=d,i.charCodeAt(a)===h&&++a,i.slice(a,u))},toNamespacedPath:function(e){if("string"!=typeof e)return e;if(0===e.length)return"";var t=y.resolve(e);if(t.length>=3)if(t.charCodeAt(0)===h){if(t.charCodeAt(1)===h){var n=t.charCodeAt(2);if(63!==n&&n!==l)return"\\\\?\\UNC\\"+t.slice(2)}}else if(v(t.charCodeAt(0))&&58===t.charCodeAt(1)&&t.charCodeAt(2)===h)return"\\\\?\\"+t;return e},dirname:function(e){p(e,"path");var t=e.length;if(0===t)return".";var n=-1,i=-1,r=!0,o=0,s=e.charCodeAt(0);if(t>1)if(g(s)){if(n=o=1,g(e.charCodeAt(1))){for(var a=2,u=a;a2&&g(e.charCodeAt(2))&&(n=o=3));else if(g(s))return e;for(var c=t-1;c>=o;--c)if(g(e.charCodeAt(c))){if(!r){i=c;break}}else r=!1;if(-1===i){if(-1===n)return".";i=n}return e.slice(0,i)},basename:function(e,t){void 0!==t&&p(t,"ext"),p(e,"path");var n,i=0,r=-1,o=!0;e.length>=2&&(v(e.charCodeAt(0))&&58===e.charCodeAt(1)&&(i=2));if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var s=t.length-1,a=-1;for(n=e.length-1;n>=i;--n){var u=e.charCodeAt(n);if(g(u)){if(!o){i=n+1;break}}else-1===a&&(o=!1,a=n+1),s>=0&&(u===t.charCodeAt(s)?-1==--s&&(r=n):(s=-1,r=a))}return i===r?r=a:-1===r&&(r=e.length),e.slice(i,r)}for(n=e.length-1;n>=i;--n)if(g(e.charCodeAt(n))){if(!o){i=n+1;break}}else-1===r&&(o=!1,r=n+1);return-1===r?"":e.slice(i,r)},extname:function(e){p(e,"path");var t=0,n=-1,i=0,r=-1,o=!0,s=0;e.length>=2&&58===e.charCodeAt(1)&&v(e.charCodeAt(0))&&(t=i=2);for(var a=e.length-1;a>=t;--a){var u=e.charCodeAt(a);if(g(u)){if(!o){i=a+1;break}}else-1===r&&(o=!1,r=a+1),u===l?-1===n?n=a:1!==s&&(s=1):-1!==n&&(s=-1)}return-1===n||-1===r||0===s||1===s&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new f("pathObject","Object",e);return b("\\",e)},parse:function(e){p(e,"path");var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var n=e.length,i=0,r=e.charCodeAt(0);if(n>1){if(g(r)){if(i=1,g(e.charCodeAt(1))){for(var o=2,s=o;o2))return t.root=t.dir=e,t;if(g(e.charCodeAt(2))){if(3===n)return t.root=t.dir=e,t;i=3}}}else if(g(r))return t.root=t.dir=e,t;i>0&&(t.root=e.slice(0,i));for(var a=-1,u=i,c=-1,d=!0,h=e.length-1,f=0;h>=i;--h)if(g(r=e.charCodeAt(h))){if(!d){u=h+1;break}}else-1===c&&(d=!1,c=h+1),r===l?-1===a?a=h:1!==f&&(f=1):-1!==a&&(f=-1);return-1===a||-1===c||0===f||1===f&&a===c-1&&a===u+1?-1!==c&&(t.base=t.name=e.slice(u,c)):(t.name=e.slice(u,a),t.base=e.slice(u,c),t.ext=e.slice(a,c)),t.dir=u>0&&u!==i?e.slice(0,u-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},w={resolve:function(){for(var e=[],t=0;t=-1&&!i;o--){var s=void 0;p(s=o>=0?e[o]:r.a(),"path"),0!==s.length&&(n=s+"/"+n,i=s.charCodeAt(0)===d)}return n=_(n,!i,"/",m),i?n.length>0?"/"+n:"/":n.length>0?n:"."},normalize:function(e){if(p(e,"path"),0===e.length)return".";var t=e.charCodeAt(0)===d,n=e.charCodeAt(e.length-1)===d;return 0!==(e=_(e,!t,"/",m)).length||t||(e="."),e.length>0&&n&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return p(e,"path"),e.length>0&&e.charCodeAt(0)===d},join:function(){for(var e,t=[],n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":w.normalize(e)},relative:function(e,t){if(p(e,"from"),p(t,"to"),e===t)return"";if((e=w.resolve(e))===(t=w.resolve(t)))return"";for(var n=1;na){if(t.charCodeAt(o+c)===d)return t.slice(o+c+1);if(0===c)return t.slice(o+c)}else r>a&&(e.charCodeAt(n+c)===d?u=c:0===c&&(u=0));break}var l=e.charCodeAt(n+c);if(l!==t.charCodeAt(o+c))break;l===d&&(u=c)}var h="";for(c=n+u+1;c<=i;++c)c!==i&&e.charCodeAt(c)!==d||(0===h.length?h+="..":h+="/..");return h.length>0?h+t.slice(o+u):(o+=u,t.charCodeAt(o)===d&&++o,t.slice(o))},toNamespacedPath:function(e){return e},dirname:function(e){if(p(e,"path"),0===e.length)return".";for(var t=e.charCodeAt(0)===d,n=-1,i=!0,r=e.length-1;r>=1;--r)if(e.charCodeAt(r)===d){if(!i){n=r;break}}else i=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)},basename:function(e,t){void 0!==t&&p(t,"ext"),p(e,"path");var n,i=0,r=-1,o=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var s=t.length-1,a=-1;for(n=e.length-1;n>=0;--n){var u=e.charCodeAt(n);if(u===d){if(!o){i=n+1;break}}else-1===a&&(o=!1,a=n+1),s>=0&&(u===t.charCodeAt(s)?-1==--s&&(r=n):(s=-1,r=a))}return i===r?r=a:-1===r&&(r=e.length),e.slice(i,r)}for(n=e.length-1;n>=0;--n)if(e.charCodeAt(n)===d){if(!o){i=n+1;break}}else-1===r&&(o=!1,r=n+1);return-1===r?"":e.slice(i,r)},extname:function(e){p(e,"path");for(var t=-1,n=0,i=-1,r=!0,o=0,s=e.length-1;s>=0;--s){var a=e.charCodeAt(s);if(a!==d)-1===i&&(r=!1,i=s+1),a===l?-1===t?t=s:1!==o&&(o=1):-1!==t&&(o=-1);else if(!r){n=s+1;break}}return-1===t||-1===i||0===o||1===o&&t===i-1&&t===n+1?"":e.slice(t,i)},format:function(e){if(null===e||"object"!=typeof e)throw new f("pathObject","Object",e);return b("/",e)},parse:function(e){p(e,"path");var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var n,i=e.charCodeAt(0)===d;i?(t.root="/",n=1):n=0;for(var r=-1,o=0,s=-1,a=!0,u=e.length-1,c=0;u>=n;--u){var h=e.charCodeAt(u);if(h!==d)-1===s&&(a=!1,s=u+1),h===l?-1===r?r=u:1!==c&&(c=1):-1!==r&&(c=-1);else if(!a){o=u+1;break}}return-1===r||-1===s||0===c||1===c&&r===s-1&&r===o+1?-1!==s&&(t.base=t.name=0===o&&i?e.slice(1,s):e.slice(o,s)):(0===o&&i?(t.name=e.slice(1,r),t.base=e.slice(1,s)):(t.name=e.slice(o,r),t.base=e.slice(o,s)),t.ext=e.slice(r,s)),o>0?t.dir=e.slice(0,o-1):i&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};w.win32=y.win32=y,w.posix=y.posix=w;var C="win32"===r.c?y.normalize:w.normalize,S="win32"===r.c?y.join:w.join,x="win32"===r.c?y.relative:w.relative,L="win32"===r.c?y.dirname:w.dirname,O="win32"===r.c?y.basename:w.basename,k="win32"===r.c?y.extname:w.extname,N="win32"===r.c?y.sep:w.sep},"/vd3":function(e,t,n){t.pbkdf2=n("GUE9"),t.pbkdf2Sync=n("Zq1s")},"/y0r":function(e,t,n){var i=n("BEbT"),r=n("X3l8").Buffer,o=n("z+8S"),s=n("LC74"),a=n("UPHp"),u=n("H2Pp"),c=n("4sPJ");function l(e,t,n,s){o.call(this);var u=r.alloc(4,0);this._cipher=new i.AES(t);var l=this._cipher.encryptBlock(u);this._ghash=new a(l),n=function(e,t,n){if(12===t.length)return e._finID=r.concat([t,r.from([0,0,0,1])]),r.concat([t,r.from([0,0,0,2])]);var i=new a(n),o=t.length,s=o%16;i.update(t),s&&(s=16-s,i.update(r.alloc(s,0))),i.update(r.alloc(8,0));var u=8*o,l=r.alloc(8);l.writeUIntBE(u,0,8),i.update(l),e._finID=i.state;var d=r.from(e._finID);return c(d),d}(this,n,l),this._prev=r.from(n),this._cache=r.allocUnsafe(0),this._secCache=r.allocUnsafe(0),this._decrypt=s,this._alen=0,this._len=0,this._mode=e,this._authTag=null,this._called=!1}s(l,o),l.prototype._update=function(e){if(!this._called&&this._alen){var t=16-this._alen%16;t<16&&(t=r.alloc(t,0),this._ghash.update(t))}this._called=!0;var n=this._mode.encrypt(this,e);return this._decrypt?this._ghash.update(e):this._ghash.update(n),this._len+=e.length,n},l.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var e=u(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(e,t){var n=0;e.length!==t.length&&n++;for(var i=Math.min(e.length,t.length),r=0;r0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},k=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}};!function(e){e.Hidden=new(function(){return function(){this.type=0}}());var t=function(){return function(e,t,n){this.actions=e,this.editorPosition=t,this.widgetPosition=n,this.type=1}}();e.Showing=t}(r||(r={}));var N,E=function(e){function t(t,n,i){var o=e.call(this)||this;return o._editor=t,o._quickFixActionId=n,o._keybindingService=i,o._onClick=o._register(new C.a),o.onClick=o._onClick.event,o._state=r.Hidden,o._domNode=document.createElement("div"),o._domNode.className="lightbulb-glyph",o._editor.addContentWidget(o),o._register(o._editor.onDidChangeModelContent(function(e){var t=o._editor.getModel();(1!==o._state.type||!t||o._state.editorPosition.lineNumber>=t.getLineCount())&&o.hide()})),o._register(p.k(o._domNode,"mousedown",function(e){if(1===o._state.type){o._editor.focus(),e.preventDefault();var t=p.x(o._domNode),n=t.top,i=t.height,r=o._editor.getConfiguration().lineHeight,s=Math.floor(r/3);null!==o._state.widgetPosition.position&&o._state.widgetPosition.position.lineNumber2&&i._editor.getTopForLineNumber(e)===i._editor.getTopForLineNumber(e-1)},f=s;if(!(o.fontInfo.spaceWidth*d>22))if(s>1&&!h(s-1))f-=1;else if(h(s+1)){if(a*o.fontInfo.spaceWidth<22)return this.hide()}else f+=1;this._state=new r.Showing(e,n,{position:{lineNumber:f,column:1},preference:t._posPref}),p.R(this._domNode,"autofixable",e.hasAutoFix),this._editor.layoutContentWidget(this)},Object.defineProperty(t.prototype,"title",{set:function(e){this._domNode.title=e},enumerable:!0,configurable:!0}),t.prototype.hide=function(){this._state=r.Hidden,this._editor.layoutContentWidget(this)},t.prototype._updateLightBulbTitle=function(){var e,t=this._keybindingService.lookupKeybinding(this._quickFixActionId);e=t?x.a("quickFixWithKb","Show Fixes ({0})",t.getLabel()):x.a("quickFix","Show Fixes"),this.title=e},t._posPref=[0],t=O([k(2,f.a)],t)}(o.a),I=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),D=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},M=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},T=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},P=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]0))return[3,9];if(1!==e.trigger.autoApply&&(0!==e.trigger.autoApply||1!==t.actions.length))return[3,9];i.label=5;case 5:return i.trys.push([5,,7,8]),[4,this.delegate.applyCodeAction(t.actions[0],!1)];case 6:return i.sent(),[3,8];case 7:return t.dispose(),[7];case 8:return[2];case 9:return this._activeCodeActions.value=t,this._codeActionWidget.show(t,e.position),[3,11];case 10:this._codeActionWidget.isVisible?t.dispose():this._activeCodeActions.value=t,i.label=11;case 11:return[2]}})})},t.prototype.showCodeActionList=function(e,t){return T(this,void 0,void 0,function(){return P(this,function(n){return this._codeActionWidget.show(e,t),[2]})})},t.prototype._handleLightBulbSelect=function(e){this._codeActionWidget.show(e.actions,e)},t=D([M(3,h.a),M(4,f.a)],t)}(o.a),R=n("ItKl"),F=n("7g0X"),j=n("OHx0"),W=n("DBt1"),B=n("odeJ"),V=n("vTy2"),H=n("PCC9"),z=n("OBuU"),U=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),K=new F.d("supportedCodeAction",""),q=function(e){function t(t,n,i,r){void 0===r&&(r=250);var o=e.call(this)||this;return o._editor=t,o._markerService=n,o._signalChange=i,o._delay=r,o._autoTriggerTimer=o._register(new B.e),o._register(o._markerService.onMarkerChanged(function(e){return o._onMarkerChanges(e)})),o._register(o._editor.onDidChangeCursorPosition(function(){return o._onCursorChange()})),o}return U(t,e),t.prototype.trigger=function(e){var t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);return this._createEventAndSignalChange(e,t)},t.prototype._onMarkerChanges=function(e){var t=this,n=this._editor.getModel();n&&e.some(function(e){return e.toString()===n.uri.toString()})&&this._autoTriggerTimer.cancelAndSet(function(){t.trigger({type:"auto"})},this._delay)},t.prototype._onCursorChange=function(){var e=this;this._autoTriggerTimer.cancelAndSet(function(){e.trigger({type:"auto"})},this._delay)},t.prototype._getRangeOfMarker=function(e){var t=this._editor.getModel();if(t)for(var n=0,i=this._markerService.read({resource:t.uri});n=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},$=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},J=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},Q=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0;t--)this.editOperations[t]={operations:e.applyEdits(this.editOperations[t].operations)}},e.prototype.redo=function(e){for(var t=0;t0){var e=this.past.pop();try{e.undo(this.model)}catch(e){return Object(i.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||null!==this.currentOpenStackElement},e.prototype.redo=function(){if(this.future.length>0){var e=this.future.pop();try{e.redo(this.model)}catch(e){return Object(i.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}(),v=function(){return function(){this.spacesDiff=0,this.looksLikeAlignment=!1}}();function _(e,t,n,i,r){var o;for(r.spacesDiff=0,r.looksLikeAlignment=!1,o=0;o0&&a>0||c>0&&l>0)){var d=Math.abs(a-l),h=Math.abs(s-c);if(0===d)return r.spacesDiff=h,void(h>0&&0<=c-1&&c-10?r++:m>1&&o++,_(s,a,h,g,c),!c.looksLikeAlignment||n&&t===c.spacesDiff)){var S=c.spacesDiff;S<=8&&u[S]++,s=h,a=g}}var x=n;r!==o&&(x=rO&&(O=t,L=e)}),4===L&&u[4]>0&&u[2]>0&&u[2]>=u[4]/2&&(L=2)}return{insertSpaces:x,tabSize:L}}function y(e){return(1&e.metadata)>>>0}function w(e,t){e.metadata=254&e.metadata|t<<0}function C(e){return(2&e.metadata)>>>1==1}function S(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function x(e){return(4&e.metadata)>>>2==1}function L(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function O(e){return(8&e.metadata)>>>3==1}function k(e,t){e.metadata=247&e.metadata|(t?1:0)<<3}function N(e,t){e.metadata=207&e.metadata|t<<4}function E(e,t){e.metadata=191&e.metadata|(t?1:0)<<6}var I=function(){function e(e,t,n){this.metadata=0,this.parent=this,this.left=this,this.right=this,w(this,1),this.start=t,this.end=n,this.delta=0,this.maxEnd=n,this.id=e,this.ownerId=0,this.options=null,L(this,!1),N(this,1),k(this,!1),E(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=null,S(this,!1)}return e.prototype.reset=function(e,t,n,i){this.start=t,this.end=n,this.maxEnd=n,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=i},e.prototype.setOptions=function(e){this.options=e;var t=this.options.className;L(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),N(this,this.options.stickiness),k(this,!(!this.options.overviewRuler||!this.options.overviewRuler.color)),E(this,this.options.collapseOnReplaceEdit)},e.prototype.setCachedOffsets=function(e,t,n){this.cachedVersionId!==n&&(this.range=null),this.cachedVersionId=n,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,w(D,0);var M=function(){function e(){this.root=D,this.requestNormalizeDelta=!1}return e.prototype.intervalSearch=function(e,t,n,i,r){return this.root===D?[]:function(e,t,n,i,r,o){var s=e.root,a=0,u=0,c=0,l=[],d=0;for(;s!==D;)if(C(s))S(s.left,!1),S(s.right,!1),s===s.parent.right&&(a-=s.parent.delta),s=s.parent;else{if(!C(s.left)){if(a+s.maxEndn)S(s,!0);else{if((c=a+s.end)>=t){s.setCachedOffsets(u,c,o);var h=!0;i&&s.ownerId&&s.ownerId!==i&&(h=!1),r&&x(s)&&(h=!1),h&&(l[d++]=s)}S(s,!0),s.right===D||C(s.right)||(a+=s.delta,s=s.right)}}return S(e.root,!1),l}(this,e,t,n,i,r)},e.prototype.search=function(e,t,n){return this.root===D?[]:function(e,t,n,i){var r=e.root,o=0,s=0,a=0,u=[],c=0;for(;r!==D;)if(C(r))S(r.left,!1),S(r.right,!1),r===r.parent.right&&(o-=r.parent.delta),r=r.parent;else if(r.left===D||C(r.left)){s=o+r.start,a=o+r.end,r.setCachedOffsets(s,a,i);var l=!0;t&&r.ownerId&&r.ownerId!==t&&(l=!1),n&&x(r)&&(l=!1),l&&(u[c++]=r),S(r,!0),r.right===D||C(r.right)||(o+=r.delta,r=r.right)}else r=r.left;return S(e.root,!1),u}(this,e,t,n)},e.prototype.collectNodesFromOwner=function(e){return function(e,t){var n=e.root,i=[],r=0;for(;n!==D;)C(n)?(S(n.left,!1),S(n.right,!1),n=n.parent):n.left===D||C(n.left)?(n.ownerId===t&&(i[r++]=n),S(n,!0),n.right===D||C(n.right)||(n=n.right)):n=n.left;return S(e.root,!1),i}(this,e)},e.prototype.collectNodesPostOrder=function(){return function(e){var t=e.root,n=[],i=0;for(;t!==D;)C(t)?(S(t.left,!1),S(t.right,!1),t=t.parent):t.left===D||C(t.left)?t.right===D||C(t.right)?(n[i++]=t,S(t,!0)):t=t.right:t=t.left;return S(e.root,!1),n}(this)},e.prototype.insert=function(e){A(this,e),this._normalizeDeltaIfNecessary()},e.prototype.delete=function(e){R(this,e),this._normalizeDeltaIfNecessary()},e.prototype.resolveNode=function(e,t){for(var n=e,i=0;e!==this.root;)e===e.parent.right&&(i+=e.parent.delta),e=e.parent;var r=n.start+i,o=n.end+i;n.setCachedOffsets(r,o,t)},e.prototype.acceptReplace=function(e,t,n,i){for(var r=function(e,t,n){var i=e.root,r=0,o=0,s=0,a=[],u=0;for(;i!==D;)if(C(i))S(i.left,!1),S(i.right,!1),i===i.parent.right&&(r-=i.parent.delta),i=i.parent;else{if(!C(i.left)){if(r+i.maxEndn?S(i,!0):((s=r+i.end)>=t&&(i.setCachedOffsets(o,s,0),a[u++]=i),S(i,!0),i.right===D||C(i.right)||(r+=i.delta,i=i.right))}return S(e.root,!1),a}(this,e,e+t),o=0,s=r.length;on?(r.start+=s,r.end+=s,r.delta+=s,(r.delta<-1073741824||r.delta>1073741824)&&(e.requestNormalizeDelta=!0),S(r,!0)):(S(r,!0),r.right===D||C(r.right)||(o+=r.delta,r=r.right))}S(e.root,!1)}(this,e,e+t,n),this._normalizeDeltaIfNecessary();for(o=0,s=r.length;on)&&(1!==i&&(2===i||t))}function P(e,t,n,i,r){var o=function(e){return(48&e.metadata)>>>4}(e),s=0===o||2===o,a=1===o||2===o,u=n-t,c=i,l=Math.min(u,c),d=e.start,h=!1,f=e.end,p=!1;t<=d&&f<=n&&function(e){return(64&e.metadata)>>>6==1}(e)&&(e.start=t,h=!0,e.end=t,p=!0);var g=r?1:u>0?2:0;if(!h&&T(d,s,t,g)&&(h=!0),!p&&T(f,a,t,g)&&(p=!0),l>0&&!r){g=u>c?2:0;!h&&T(d,s,t+l,g)&&(h=!0),!p&&T(f,a,t+l,g)&&(p=!0)}g=r?1:0;!h&&T(d,s,n,g)&&(e.start=t+c,h=!0),!p&&T(f,a,n,g)&&(e.end=t+c,p=!0);var m=c-u;h||(e.start=Math.max(0,d+m)),p||(e.end=Math.max(0,f+m)),e.start>e.end&&(e.end=e.start)}function A(e,t){if(e.root===D)return t.parent=D,t.left=D,t.right=D,w(t,0),e.root=t,e.root;!function(e,t){var n=0,i=e.root,r=t.start,o=t.end;for(;;){var s=z(r,o,i.start+n,i.end+n);if(s<0){if(i.left===D){t.start-=n,t.end-=n,t.maxEnd-=n,i.left=t;break}i=i.left}else{if(i.right===D){t.start-=n+i.delta,t.end-=n+i.delta,t.maxEnd-=n+i.delta,i.right=t;break}n+=i.delta,i=i.right}}t.parent=i,t.left=D,t.right=D,w(t,1)}(e,t),H(t.parent);for(var n=t;n!==e.root&&1===y(n.parent);){var i;if(n.parent===n.parent.parent.left)1===y(i=n.parent.parent.right)?(w(n.parent,0),w(i,0),w(n.parent.parent,1),n=n.parent.parent):(n===n.parent.right&&j(e,n=n.parent),w(n.parent,0),w(n.parent.parent,1),W(e,n.parent.parent));else 1===y(i=n.parent.parent.left)?(w(n.parent,0),w(i,0),w(n.parent.parent,1),n=n.parent.parent):(n===n.parent.left&&W(e,n=n.parent),w(n.parent,0),w(n.parent.parent,1),j(e,n.parent.parent))}return w(e.root,0),t}function R(e,t){var n,i;if(t.left===D?(i=t,(n=t.right).delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta):t.right===D?(n=t.left,i=t):((n=(i=function(e){for(;e.left!==D;)e=e.left;return e}(t.right)).right).start+=i.delta,n.end+=i.delta,n.delta+=i.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta,i.delta=t.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0)),i===e.root)return e.root=n,w(n,0),t.detach(),F(),V(n),void(e.root.parent=D);var r,o=1===y(i);if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?n.parent=i.parent:(i.parent===t?n.parent=i:n.parent=i.parent,i.left=t.left,i.right=t.right,i.parent=t.parent,w(i,y(t)),t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==D&&(i.left.parent=i),i.right!==D&&(i.right.parent=i)),t.detach(),o)return H(n.parent),i!==t&&(H(i),H(i.parent)),void F();for(H(n),H(n.parent),i!==t&&(H(i),H(i.parent));n!==e.root&&0===y(n);)n===n.parent.left?(1===y(r=n.parent.right)&&(w(r,0),w(n.parent,1),j(e,n.parent),r=n.parent.right),0===y(r.left)&&0===y(r.right)?(w(r,1),n=n.parent):(0===y(r.right)&&(w(r.left,0),w(r,1),W(e,r),r=n.parent.right),w(r,y(n.parent)),w(n.parent,0),w(r.right,0),j(e,n.parent),n=e.root)):(1===y(r=n.parent.left)&&(w(r,0),w(n.parent,1),W(e,n.parent),r=n.parent.left),0===y(r.left)&&0===y(r.right)?(w(r,1),n=n.parent):(0===y(r.left)&&(w(r.right,0),w(r,1),j(e,r),r=n.parent.left),w(r,y(n.parent)),w(n.parent,0),w(r.left,0),W(e,n.parent),n=e.root));w(n,0),F()}function F(){D.parent=D,D.delta=0,D.start=0,D.end=0}function j(e,t){var n=t.right;n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta,t.right=n.left,n.left!==D&&(n.left.parent=t),n.parent=t.parent,t.parent===D?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n,V(t),V(n)}function W(e,t){var n=t.left;t.delta-=n.delta,(t.delta<-1073741824||t.delta>1073741824)&&(e.requestNormalizeDelta=!0),t.start-=n.delta,t.end-=n.delta,t.left=n.right,n.right!==D&&(n.right.parent=t),n.parent=t.parent,t.parent===D?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n,V(t),V(n)}function B(e){var t=e.end;if(e.left!==D){var n=e.left.maxEnd;n>t&&(t=n)}if(e.right!==D){var i=e.right.maxEnd+e.delta;i>t&&(t=i)}return t}function V(e){e.maxEnd=B(e)}function H(e){for(;e!==D;){var t=B(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}function z(e,t,n,i){return e===n?t-i:e-n}var U=function(){function e(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}return e.prototype.next=function(){if(this.right!==K)return q(this.right);for(var e=this;e.parent!==K&&e.parent.left!==e;)e=e.parent;return e.parent===K?K:e.parent},e.prototype.prev=function(){if(this.left!==K)return G(this.left);for(var e=this;e.parent!==K&&e.parent.right!==e;)e=e.parent;return e.parent===K?K:e.parent},e.prototype.detach=function(){this.parent=null,this.left=null,this.right=null},e}(),K=new U(null,0);function q(e){for(;e.left!==K;)e=e.left;return e}function G(e){for(;e.right!==K;)e=e.right;return e}function Z(e){return e===K?0:e.size_left+e.piece.length+Z(e.right)}function Y(e){return e===K?0:e.lf_left+e.piece.lineFeedCnt+Y(e.right)}function X(){K.parent=K}function $(e,t){var n=t.right;n.size_left+=t.size_left+(t.piece?t.piece.length:0),n.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=n.left,n.left!==K&&(n.left.parent=t),n.parent=t.parent,t.parent===K?e.root=n:t.parent.left===t?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n}function J(e,t){var n=t.left;t.left=n.right,n.right!==K&&(n.right.parent=t),n.parent=t.parent,t.size_left-=n.size_left+(n.piece?n.piece.length:0),t.lf_left-=n.lf_left+(n.piece?n.piece.lineFeedCnt:0),t.parent===K?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n}function Q(e,t){var n,i;if(n=t.left===K?(i=t).right:t.right===K?(i=t).left:(i=q(t.right)).right,i===e.root)return e.root=n,n.color=0,t.detach(),X(),void(e.root.parent=K);var r=1===i.color;if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?(n.parent=i.parent,ne(e,n)):(i.parent===t?n.parent=i:n.parent=i.parent,ne(e,n),i.left=t.left,i.right=t.right,i.parent=t.parent,i.color=t.color,t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==K&&(i.left.parent=i),i.right!==K&&(i.right.parent=i),i.size_left=t.size_left,i.lf_left=t.lf_left,ne(e,i)),t.detach(),n.parent.left===n){var o=Z(n),s=Y(n);if(o!==n.parent.size_left||s!==n.parent.lf_left){var a=o-n.parent.size_left,u=s-n.parent.lf_left;n.parent.size_left=o,n.parent.lf_left=s,te(e,n.parent,a,u)}}if(ne(e,n.parent),r)X();else{for(var c;n!==e.root&&0===n.color;)n===n.parent.left?(1===(c=n.parent.right).color&&(c.color=0,n.parent.color=1,$(e,n.parent),c=n.parent.right),0===c.left.color&&0===c.right.color?(c.color=1,n=n.parent):(0===c.right.color&&(c.left.color=0,c.color=1,J(e,c),c=n.parent.right),c.color=n.parent.color,n.parent.color=0,c.right.color=0,$(e,n.parent),n=e.root)):(1===(c=n.parent.left).color&&(c.color=0,n.parent.color=1,J(e,n.parent),c=n.parent.left),0===c.left.color&&0===c.right.color?(c.color=1,n=n.parent):(0===c.left.color&&(c.right.color=0,c.color=1,$(e,c),c=n.parent.left),c.color=n.parent.color,n.parent.color=0,c.left.color=0,J(e,n.parent),n=e.root));n.color=0,X()}}function ee(e,t){for(ne(e,t);t!==e.root&&1===t.parent.color;){var n;if(t.parent===t.parent.parent.left)1===(n=t.parent.parent.right).color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&$(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,J(e,t.parent.parent));else 1===(n=t.parent.parent.left).color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&J(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,$(e,t.parent.parent))}e.root.color=0}function te(e,t,n,i){for(;t!==e.root&&t!==K;)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}function ne(e,t){var n=0,i=0;if(t!==e.root){if(0===n){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t===e.root)return;n=Z((t=t.parent).left)-t.size_left,i=Y(t.left)-t.lf_left,t.size_left+=n,t.lf_left+=i}for(;t!==e.root&&(0!==n||0!==i);)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}}K.parent=K,K.left=K,K.right=K,K.color=0;var ie=n("IErJ");function re(e){var t;return(t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length)).set(e,0),t}var oe=function(){return function(e,t,n,i,r){this.lineStarts=e,this.cr=t,this.lf=n,this.crlf=i,this.isBasicASCII=r}}();function se(e,t){void 0===t&&(t=!0);for(var n=[0],i=1,r=0,o=e.length;r=0;t--){var n=this._cache[t];if(n.nodeStartOffset<=e&&n.nodeStartOffset+n.node.piece.length>=e)return n}return null},e.prototype.get2=function(e){for(var t=this._cache.length-1;t>=0;t--){var n=this._cache[t];if(n.nodeStartLineNumber&&n.nodeStartLineNumber=e)return n}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,n=this._cache,i=0;i=e)&&(n[i]=null,t=!0)}if(t){for(var o=[],s=0,a=n;s0){e[r].lineStarts||(e[r].lineStarts=se(e[r].buffer));var s=new ae(r+1,{line:0,column:0},{line:e[r].lineStarts.length-1,column:e[r].buffer.length-e[r].lineStarts[e[r].lineStarts.length-1]},e[r].lineStarts.length-1,e[r].buffer.length);this._buffers.push(e[r]),i=this.rbInsertRight(i,s)}this._searchCache=new ce(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()},e.prototype.normalizeEOL=function(e){var t=this,n=65535-Math.floor(21845),i=2*n,r="",o=0,s=[];if(this.iterate(this.root,function(a){var u=t.getNodeContent(a),c=u.length;if(o<=n||o+c0){var a=r.replace(/\r\n|\r|\n/g,e);s.push(new ue(a,se(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 n=0,i=this.root;i!==K;)if(i.left!==K&&i.lf_left+1>=e)i=i.left;else{if(i.lf_left+i.piece.lineFeedCnt+1>=e)return(n+=i.size_left)+(this.getAccumulatedValue(i,e-i.lf_left-2)+t-1);e-=i.lf_left+i.piece.lineFeedCnt,n+=i.size_left+i.piece.length,i=i.right}return n},e.prototype.getPositionAt=function(e){e=Math.floor(e),e=Math.max(0,e);for(var t=this.root,n=0,i=e;t!==K;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){var r=this.getIndexOf(t,e-t.size_left);if(n+=t.lf_left+r.index,0===r.index){var o=i-this.getOffsetAt(n+1,1);return new c.a(n+1,o+1)}return new c.a(n+1,r.remainder+1)}if(e-=t.size_left+t.piece.length,n+=t.lf_left+t.piece.lineFeedCnt,t.right===K){o=i-e-this.getOffsetAt(n+1,1);return new c.a(n+1,o+1)}t=t.right}return new c.a(1,1)},e.prototype.getValueInRange=function(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";var n=this.nodeAt2(e.startLineNumber,e.startColumn),i=this.nodeAt2(e.endLineNumber,e.endColumn),r=this.getValueInRange2(n,i);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?r:r.replace(/\r\n|\r|\n/g,t):r},e.prototype.getValueInRange2=function(e,t){if(e.node===t.node){var n=e.node,i=this._buffers[n.piece.bufferIndex].buffer,r=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i.substring(r+e.remainder,r+t.remainder)}var o=e.node,s=this._buffers[o.piece.bufferIndex].buffer,a=this.offsetInBuffer(o.piece.bufferIndex,o.piece.start),u=s.substring(a+e.remainder,a+o.piece.length);for(o=o.next();o!==K;){var c=this._buffers[o.piece.bufferIndex].buffer,l=this.offsetInBuffer(o.piece.bufferIndex,o.piece.start);if(o===t.node){u+=c.substring(l,l+t.remainder);break}u+=c.substr(l,o.piece.length),o=o.next()}return u},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 n=this.nodeAt2(e,t+1);if(n.remainder===n.node.piece.length){var i=n.node.next();if(!i)return 0;var r=this._buffers[i.piece.bufferIndex],o=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return r.buffer.charCodeAt(o)}r=this._buffers[n.node.piece.bufferIndex];var s=(o=this.offsetInBuffer(n.node.piece.bufferIndex,n.node.piece.start))+n.remainder;return r.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,n,i,r,o,s,a,u,c,d){var h,f=this._buffers[e.piece.bufferIndex],p=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start),g=this.offsetInBuffer(e.piece.bufferIndex,r),m=this.offsetInBuffer(e.piece.bufferIndex,o);t.reset(g);var v={line:0,column:0};do{if(h=t.next(f.buffer)){if(h.index>=m)return c;this.positionInBuffer(e,h.index-p,v);var _=this.getLineFeedCnt(e.piece.bufferIndex,r,v),b=v.line===r.line?v.column-r.column+i:v.column+1,y=b+h[0].length;if(d[c++]=Object(ie.d)(new l.a(n+_,b,n+_,y),h,a),h.index+h[0].length>=m)return c;if(c>=u)return c}}while(h);return c},e.prototype.findMatchesLineByLine=function(e,t,n,i){var r=[],o=0,s=new ie.b(t.wordSeparators,t.regex),a=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===a)return[];var u=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===u)return[];var c=this.positionInBuffer(a.node,a.remainder),l=this.positionInBuffer(u.node,u.remainder);if(a.node===u.node)return this.findMatchesInNode(a.node,s,e.startLineNumber,e.startColumn,c,l,t,n,i,o,r),r;for(var d=e.startLineNumber,h=a.node;h!==u.node;){var f=this.getLineFeedCnt(h.piece.bufferIndex,c,h.piece.end);if(f>=1){var p=this._buffers[h.piece.bufferIndex].lineStarts,g=this.offsetInBuffer(h.piece.bufferIndex,h.piece.start),m=p[c.line+f],v=d===e.startLineNumber?e.startColumn:1;if((o=this.findMatchesInNode(h,s,d,v,c,this.positionInBuffer(h,m-g),t,n,i,o,r))>=i)return r;d+=f}var _=d===e.startLineNumber?e.startColumn-1:0;if(d===e.endLineNumber){var b=this.getLineContent(d).substring(_,e.endColumn-1);return o=this._findMatchesInLine(t,s,b,e.endLineNumber,_,o,r,n,i),r}if((o=this._findMatchesInLine(t,s,this.getLineContent(d).substr(_),d,_,o,r,n,i))>=i)return r;d++,h=(a=this.nodeAt2(d,1)).node,c=this.positionInBuffer(a.node,a.remainder)}if(d===e.endLineNumber){var y=d===e.startLineNumber?e.startColumn-1:0;b=this.getLineContent(d).substring(y,e.endColumn-1);return o=this._findMatchesInLine(t,s,b,e.endLineNumber,y,o,r,n,i),r}var w=d===e.startLineNumber?e.startColumn:1;return o=this.findMatchesInNode(u.node,s,d,w,c,l,t,n,i,o,r),r},e.prototype._findMatchesInLine=function(e,t,n,i,r,o,s,a,u){var c,d=e.wordSeparators;if(!a&&e.simpleSearch){for(var f=e.simpleSearch,p=f.length,g=n.length,m=-p;-1!==(m=n.indexOf(f,m+p));)if((!d||Object(ie.e)(d,n,g,m,p))&&(s[o++]=new h.b(new l.a(i,m+1+r,i,m+1+p+r),null),o>=u))return o;return o}t.reset(0);do{if((c=t.next(n))&&(s[o++]=Object(ie.d)(new l.a(i,c.index+1+r,i,c.index+1+c[0].length+r),c,a),o>=u))return o}while(c);return o},e.prototype.insert=function(e,t,n){if(void 0===n&&(n=!1),this._EOLNormalized=this._EOLNormalized&&n,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==K){var i=this.nodeAt(e),r=i.node,o=i.remainder,s=i.nodeStartOffset,a=r.piece,u=a.bufferIndex,c=this.positionInBuffer(r,o);if(0===r.piece.bufferIndex&&a.end.line===this._lastChangeBufferPos.line&&a.end.column===this._lastChangeBufferPos.column&&s+a.length===e&&t.length<65535)return this.appendToNode(r,t),void this.computeBufferMetadata();if(s===e)this.insertContentToNodeLeft(t,r),this._searchCache.valdiate(e);else if(s+r.piece.length>e){var l=[],d=new ae(a.bufferIndex,c,a.end,this.getLineFeedCnt(a.bufferIndex,c,a.end),this.offsetInBuffer(u,a.end)-this.offsetInBuffer(u,c));if(this.shouldCheckCRLF()&&this.endWithCR(t))if(10===this.nodeCharCodeAt(r,o)){var h={line:d.start.line+1,column:0};d=new ae(d.bufferIndex,h,d.end,this.getLineFeedCnt(d.bufferIndex,h,d.end),d.length-1),t+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(13===this.nodeCharCodeAt(r,o-1)){var f=this.positionInBuffer(r,o-1);this.deleteNodeTail(r,f),t="\r"+t,0===r.piece.length&&l.push(r)}else this.deleteNodeTail(r,c);else this.deleteNodeTail(r,c);var p=this.createNewPieces(t);d.length>0&&this.rbInsertRight(r,d);for(var g=r,m=0;m=0;u--)a=this.rbInsertLeft(a,s[u]);this.validateCRLFWithPrevNode(a),this.deleteNodes(n)},e.prototype.insertContentToNodeRight=function(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");for(var n=this.createNewPieces(e),i=this.rbInsertRight(t,n[0]),r=i,o=1;o=l))break;a=c+1}return n?(n.line=c,n.column=s-d,null):{line:c,column:s-d}},e.prototype.getLineFeedCnt=function(e,t,n){if(0===n.column)return n.line-t.line;var i=this._buffers[e].lineStarts;if(n.line===i.length-1)return n.line-t.line;var r=i[n.line+1],o=i[n.line]+n.column;if(r>o+1)return n.line-t.line;var s=o-1;return 13===this._buffers[e].buffer.charCodeAt(s)?n.line-t.line+1:n.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;t65535){for(var t=[];e.length>65535;){var n=e.charCodeAt(65534),i=void 0;13===n||n>=55296&&n<=56319?(i=e.substring(0,65534),e=e.substring(65534)):(i=e.substring(0,65535),e=e.substring(65535));var r=se(i);t.push(new ae(this._buffers.length,{line:0,column:0},{line:r.length-1,column:i.length-r[r.length-1]},r.length-1,i.length)),this._buffers.push(new ue(i,r))}var o=se(e);return t.push(new ae(this._buffers.length,{line:0,column:0},{line:o.length-1,column:e.length-o[o.length-1]},o.length-1,e.length)),this._buffers.push(new ue(e,o)),t}var s=this._buffers[0].buffer.length,a=se(e,!1),u=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},u=this._lastChangeBufferPos;for(var c=0;c=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){o=this.getAccumulatedValue(n,e-n.lf_left-2),u=this.getAccumulatedValue(n,e-n.lf_left-1),s=this._buffers[n.piece.bufferIndex].buffer,a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return c+=n.size_left,this._searchCache.set({node:n,nodeStartOffset:c,nodeStartLineNumber:l-(e-1-n.lf_left)}),s.substring(a+o,a+u-t)}if(n.lf_left+n.piece.lineFeedCnt===e-1){o=this.getAccumulatedValue(n,e-n.lf_left-2),s=this._buffers[n.piece.bufferIndex].buffer,a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i=s.substring(a+o,a+n.piece.length);break}e-=n.lf_left+n.piece.lineFeedCnt,c+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==K;){s=this._buffers[n.piece.bufferIndex].buffer;if(n.piece.lineFeedCnt>0){u=this.getAccumulatedValue(n,0),a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i+=s.substring(a,a+u-t)}a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i+=s.substr(a,n.piece.length),n=n.next()}return i},e.prototype.computeBufferMetadata=function(){for(var e=this.root,t=1,n=0;e!==K;)t+=e.lf_left+e.piece.lineFeedCnt,n+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=n,this._searchCache.valdiate(this._length)},e.prototype.getIndexOf=function(e,t){var n=e.piece,i=this.positionInBuffer(e,t),r=i.line-n.start.line;if(this.offsetInBuffer(n.bufferIndex,n.end)-this.offsetInBuffer(n.bufferIndex,n.start)===t){var o=this.getLineFeedCnt(e.piece.bufferIndex,n.start,i);if(o!==r)return{index:o,remainder:0}}return{index:r,remainder:i.column}},e.prototype.getAccumulatedValue=function(e,t){if(t<0)return 0;var n=e.piece,i=this._buffers[n.bufferIndex].lineStarts,r=n.start.line+t+1;return r>n.end.line?i[n.end.line]+n.end.column-i[n.start.line]-n.start.column:i[r]-i[n.start.line]-n.start.column},e.prototype.deleteNodeTail=function(e,t){var n=e.piece,i=n.lineFeedCnt,r=this.offsetInBuffer(n.bufferIndex,n.end),o=t,s=this.offsetInBuffer(n.bufferIndex,o),a=this.getLineFeedCnt(n.bufferIndex,n.start,o),u=a-i,c=s-r,l=n.length+c;e.piece=new ae(n.bufferIndex,n.start,o,a,l),te(this,e,c,u)},e.prototype.deleteNodeHead=function(e,t){var n=e.piece,i=n.lineFeedCnt,r=this.offsetInBuffer(n.bufferIndex,n.start),o=t,s=this.getLineFeedCnt(n.bufferIndex,o,n.end),a=s-i,u=r-this.offsetInBuffer(n.bufferIndex,o),c=n.length+u;e.piece=new ae(n.bufferIndex,o,n.end,s,c),te(this,e,u,a)},e.prototype.shrinkNode=function(e,t,n){var i=e.piece,r=i.start,o=i.end,s=i.length,a=i.lineFeedCnt,u=t,c=this.getLineFeedCnt(i.bufferIndex,i.start,u),l=this.offsetInBuffer(i.bufferIndex,t)-this.offsetInBuffer(i.bufferIndex,r);e.piece=new ae(i.bufferIndex,i.start,u,c,l),te(this,e,l-s,c-a);var d=new ae(i.bufferIndex,n,o,this.getLineFeedCnt(i.bufferIndex,n,o),this.offsetInBuffer(i.bufferIndex,o)-this.offsetInBuffer(i.bufferIndex,n)),h=this.rbInsertRight(e,d);this.validateCRLFWithPrevNode(h)},e.prototype.appendToNode=function(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");var n=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),i=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;for(var r=se(t,!1),o=0;oe)t=t.left;else{if(t.size_left+t.piece.length>=e){i+=t.size_left;var r={node:t,remainder:e-t.size_left,nodeStartOffset:i};return this._searchCache.set(r),r}e-=t.size_left+t.piece.length,i+=t.size_left+t.piece.length,t=t.right}return null},e.prototype.nodeAt2=function(e,t){for(var n=this.root,i=0;n!==K;)if(n.left!==K&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){var r=this.getAccumulatedValue(n,e-n.lf_left-2),o=this.getAccumulatedValue(n,e-n.lf_left-1);return i+=n.size_left,{node:n,remainder:Math.min(r+t-1,o),nodeStartOffset:i}}if(n.lf_left+n.piece.lineFeedCnt===e-1){if((r=this.getAccumulatedValue(n,e-n.lf_left-2))+t-1<=n.piece.length)return{node:n,remainder:r+t-1,nodeStartOffset:i};t-=n.piece.length-r;break}e-=n.lf_left+n.piece.lineFeedCnt,i+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==K;){if(n.piece.lineFeedCnt>0){o=this.getAccumulatedValue(n,0);var s=this.offsetOfNode(n);return{node:n,remainder:Math.min(t-1,o),nodeStartOffset:s}}if(n.piece.length>=t-1)return{node:n,remainder:t-1,nodeStartOffset:this.offsetOfNode(n)};t-=n.piece.length,n=n.next()}return null},e.prototype.nodeCharCodeAt=function(e,t){if(e.piece.lineFeedCnt<1)return-1;var n=this._buffers[e.piece.bufferIndex],i=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return n.buffer.charCodeAt(i)},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===K||0===e.piece.lineFeedCnt)return!1;var t=e.piece,n=this._buffers[t.bufferIndex].lineStarts,i=t.start.line,r=n[i]+t.start.column;return i!==n.length-1&&(!(n[i+1]>r+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(r))},e.prototype.endWithCR=function(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==K&&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 n,i=[],r=this._buffers[e.piece.bufferIndex].lineStarts;n=0===e.piece.end.column?{line:e.piece.end.line-1,column:r[e.piece.end.line]-r[e.piece.end.line-1]-1}:{line:e.piece.end.line,column:e.piece.end.column-1};var o=e.piece.length-1,s=e.piece.lineFeedCnt-1;e.piece=new ae(e.piece.bufferIndex,e.piece.start,n,s,o),te(this,e,-1,-1),0===e.piece.length&&i.push(e);var a={line:t.piece.start.line+1,column:0},u=t.piece.length-1,c=this.getLineFeedCnt(t.piece.bufferIndex,a,t.piece.end);t.piece=new ae(t.piece.bufferIndex,a,t.piece.end,c,u),te(this,t,-1,-1),0===t.piece.length&&i.push(t);var l=this.createNewPieces("\r\n");this.rbInsertRight(e,l[0]);for(var d=0;d0){v.sort(function(e,t){return t.lineNumber-e.lineNumber}),S=[];u=0;for(var x=v.length;u0&&v[u-1].lineNumber===b)){var L=v[u].oldContent,O=this.getLineContent(b);0!==O.length&&O!==L&&-1===s.q(O)&&S.push(b)}}}return new h.a(w,C,S)},e.prototype._reduceOperations=function(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]},e.prototype._toSingleEditOperation=function(e){for(var t=!1,n=e[0].range,i=e[e.length-1].range,r=new l.a(n.startLineNumber,n.startColumn,i.endLineNumber,i.endColumn),o=n.startLineNumber,s=n.startColumn,a=[],u=0,c=e.length;u0){var h=a.lines.length,f=a.lines[0],p=a.lines[h-1];d=1===h?new l.a(u,c,u,c+f.length):new l.a(u,c,u+h-1,p.length+1)}else d=new l.a(u,c,u,c);n=d.endLineNumber,i=d.endColumn,t.push(d),r=a}return t},e._sortOpsAscending=function(e,t){var n=l.a.compareRangesUsingEnds(e.range,t.range);return 0===n?e.sortIndex-t.sortIndex:n},e._sortOpsDescending=function(e,t){var n=l.a.compareRangesUsingEnds(e.range,t.range);return 0===n?t.sortIndex-e.sortIndex:-n},e}(),he=function(){function e(e,t,n,i,r,o,s,a){this._chunks=e,this._bom=t,this._cr=n,this._lf=i,this._crlf=r,this._containsRTL=o,this._isBasicASCII=s,this._normalizeEOL=a}return e.prototype._getEOL=function(e){var t=this._cr+this._lf+this._crlf,n=this._cr+this._crlf;return 0===t?1===e?"\n":"\r\n":n>t/2?"\r\n":"\n"},e.prototype.create=function(e){var t=this._getEOL(e),n=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(var i=0,r=n.length;i=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 n=1,i=0,r=0,o=0,s=!0,a=0,u=t.length;a126)&&(s=!1)}var l=new oe(re(e),i,r,o,s);return e.length=0,l}(this._tmpLineStarts,e);this.chunks.push(new ue(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=s.h(e))},e.prototype.finish=function(e){return void 0===e&&(e=!0),this._finish(),new he(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=se(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}},e}(),pe=function(){return function(){this.changeType=1}}(),ge=function(){return function(e,t){this.changeType=2,this.lineNumber=e,this.detail=t}}(),me=function(){return function(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}(),ve=function(){return function(e,t,n){this.changeType=4,this.fromLineNumber=e,this.toLineNumber=t,this.detail=n}}(),_e=function(){return function(){this.changeType=5}}(),be=function(){function e(e,t,n,i){this.changes=e,this.versionId=t,this.isUndoing=n,this.isRedoing=i}return e.prototype.containsEvent=function(e){for(var t=0,n=this.changes.length;t>>0}var Ne=new Uint32Array(0).buffer,Ee=function(){function e(){this.tokens=[]}return e.prototype.add=function(e,t){if(this.tokens.length>0){var n=this.tokens[this.tokens.length-1];if(n.startLineNumber+n.tokens.length-1+1===e)return void n.tokens.push(t)}this.tokens.push(new Ie(e,[t]))},e}(),Ie=function(){return function(e,t){this.startLineNumber=e,this.tokens=t}}();function De(e){return e instanceof Uint32Array?e:new Uint32Array(e)}var Me,Te=function(){function e(){this._lineTokens=[],this._len=0}return e.prototype.flush=function(){this._lineTokens=[],this._len=0},e.prototype.getTokens=function(e,t,n){var i=null;if(t1&&(r=Se.x.getLanguageId(i[1])!==e),!r)return Ne}if(!i||0===i.length){var o=new Uint32Array(2);return o[0]=t,o[1]=ke(e),o.buffer}return i[i.length-2]=t,0===i.byteOffset&&i.byteLength===i.buffer.byteLength?i.buffer:i},e.prototype._ensureLine=function(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++},e.prototype._deleteLines=function(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)},e.prototype._insertLines=function(e,t){if(0!==t){for(var n=[],i=0;i=this._len))if(t.startLineNumber!==t.endLineNumber){this._lineTokens[n]=e._deleteEnding(this._lineTokens[n],t.startColumn-1);var i=t.endLineNumber-1,r=null;i=this._len||(0!==n?(this._lineTokens[r]=e._deleteEnding(this._lineTokens[r],t.column-1),this._lineTokens[r]=e._insert(this._lineTokens[r],t.column-1,i),this._insertLines(t.lineNumber,n)):this._lineTokens[r]=e._insert(this._lineTokens[r],t.column-1,i))}},e._deleteBeginning=function(t,n){return null===t||t===Ne?t:e._delete(t,0,n)},e._deleteEnding=function(t,n){if(null===t||t===Ne)return t;var i=De(t),r=i[i.length-2];return e._delete(t,n,r)},e._delete=function(e,t,n){if(null===e||e===Ne||t===n)return e;var i=De(e),r=i.length>>>1;if(0===t&&i[i.length-2]===n)return Ne;var o,s,a=Ce.a.findIndexInTokensArray(i,t),u=a>0?i[a-1<<1]:0;if(ns&&(i[o++]=f,i[o++]=i[1+(h<<1)],s=f)}if(o===i.length)return e;var p=new Uint32Array(o);return p.set(i.subarray(0,o),0),p.buffer},e._append=function(e,t){if(t===Ne)return e;if(e===Ne)return t;if(null===e)return e;if(null===t)return null;var n=De(e),i=De(t),r=i.length>>>1,o=new Uint32Array(n.length+i.length);o.set(n,0);for(var s=n.length,a=n[n.length-2],u=0;u>>1,o=Ce.a.findIndexInTokensArray(i,t);o>0&&(i[o-1<<1]===t&&o--);for(var s=o;s=this._len;)this._beginState[this._len]=null,this._valid[this._len]=!1,this._len++},e.prototype._deleteLines=function(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._beginState.splice(e,t),this._valid.splice(e,t),this._len-=t)},e.prototype._insertLines=function(e,t){if(0!==t){for(var n=[],i=[],r=0;r=0;r--)this._invalidateLine(e.startLineNumber+r-1);this._acceptDeleteRange(e),this._acceptInsertText(new c.a(e.startLineNumber,e.startColumn),t)},e.prototype._acceptDeleteRange=function(e){e.startLineNumber-1>=this._len||this._deleteLines(e.startLineNumber,e.endLineNumber-e.startLineNumber)},e.prototype._acceptInsertText=function(e,t){e.lineNumber-1>=this._len||this._insertLines(e.lineNumber,t)},e}(),Re=function(e){function t(t){var n=e.call(this)||this;return n._textModel=t,n._tokenizationStateStore=new Ae,n._revalidateTokensTimeout=-1,n._tokenizationSupport=null,n._register(Se.y.onDidChange(function(e){var t=n._textModel.getLanguageIdentifier();-1!==e.changedLanguages.indexOf(t.language)&&(n._resetTokenizationState(),n._textModel.clearTokens())})),n._register(n._textModel.onDidChangeRawContentFast(function(e){e.containsEvent(1)&&n._resetTokenizationState()})),n._register(n._textModel.onDidChangeContentFast(function(e){for(var t=0,i=e.changes.length;t20);){if(this._tokenizeOneInvalidLine(t)>=e)break}this._beginBackgroundTokenization(),this._textModel.setTokens(t.tokens)},t.prototype.tokenizeViewport=function(e,t){var n=new Ee;this._tokenizeViewport(n,e,t),this._textModel.setTokens(n.tokens)},t.prototype.reset=function(){this._resetTokenizationState(),this._textModel.clearTokens()},t.prototype.forceTokenization=function(e){var t=new Ee;this._updateTokensUntilLine(t,e),this._textModel.setTokens(t.tokens)},t.prototype.isCheapToTokenize=function(e){if(!this._tokenizationSupport)return!0;var t=this._tokenizationStateStore.invalidLineStartIndex+1;return!(e>t)&&(e0&&s>=1;s--){var a=this._textModel.getLineFirstNonWhitespaceColumn(s);if(0!==a&&a=0;s--){c=(h=Fe(u,this._tokenizationSupport,r[s],c)).endState}for(var l=t;l<=n;l++){var d=this._textModel.getLineContent(l),h=Fe(u,this._tokenizationSupport,d,c);e.add(l,h.tokens),this._tokenizationStateStore.setFakeTokens(l-1),c=h.endState}}},t}(o.a);function Fe(e,t,n,r){var o=null;if(t)try{o=t.tokenize2(n,r.clone(),0)}catch(e){Object(i.e)(e)}return o||(o=Object(xe.e)(e.id,n,r,0)),Ce.a.convertToEndOffset(o.tokens,n.length),o}var je=n("+jct"),We=n("Fllr"),Be=n("Eeyw"),Ve=n("iNUG"),He=n("KIxu"),ze=n("TNPA");n.d(t,"b",function(){return Ye}),n.d(t,"a",function(){return tt});var Ue=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();function Ke(e){var t=new fe;return t.acceptChunk(e),t.finish()}function qe(e,t){return("string"==typeof e?Ke(e):e).create(t)}var Ge=0,Ze=function(){throw new Error("Invalid change accessor")},Ye=function(e){function t(n,i,o,u){void 0===u&&(u=null);var c=e.call(this)||this;c._onWillDispose=c._register(new r.a),c.onWillDispose=c._onWillDispose.event,c._onDidChangeDecorations=c._register(new rt),c.onDidChangeDecorations=c._onDidChangeDecorations.event,c._onDidChangeLanguage=c._register(new r.a),c.onDidChangeLanguage=c._onDidChangeLanguage.event,c._onDidChangeLanguageConfiguration=c._register(new r.a),c.onDidChangeLanguageConfiguration=c._onDidChangeLanguageConfiguration.event,c._onDidChangeTokens=c._register(new r.a),c.onDidChangeTokens=c._onDidChangeTokens.event,c._onDidChangeOptions=c._register(new r.a),c.onDidChangeOptions=c._onDidChangeOptions.event,c._onDidChangeAttached=c._register(new r.a),c.onDidChangeAttached=c._onDidChangeAttached.event,c._eventEmitter=c._register(new ot),Ge++,c.id="$model"+Ge,c.isForSimpleWidget=i.isForSimpleWidget,c._associatedResource=void 0===u||null===u?a.a.parse("inmemory://model/"+Ge):u,c._attachedEditorCount=0,c._buffer=qe(n,i.defaultEOL),c._options=t.resolveOptions(c._buffer,i);var d=c._buffer.getLineCount(),h=c._buffer.getValueLengthInRange(new l.a(1,1,d,c._buffer.getLineLength(d)+1),0);return i.largeFileOptimizations?c._isTooLargeForTokenization=h>t.LARGE_FILE_SIZE_THRESHOLD||d>t.LARGE_FILE_LINE_COUNT_THRESHOLD:c._isTooLargeForTokenization=!1,c._isTooLargeForSyncing=h>t.MODEL_SYNC_LIMIT,c._versionId=1,c._alternativeVersionId=1,c._isDisposed=!1,c._isDisposing=!1,c._languageIdentifier=o||xe.a,c._languageRegistryListener=We.a.onDidChange(function(e){e.languageIdentifier.id===c._languageIdentifier.id&&c._onDidChangeLanguageConfiguration.fire({})}),c._instanceId=s.I(Ge),c._lastDecorationId=0,c._decorations=Object.create(null),c._decorationsTree=new Xe,c._commandManager=new m(c),c._isUndoing=!1,c._isRedoing=!1,c._trimAutoWhitespaceLines=null,c._tokens=new Te,c._tokenization=new Re(c),c}return Ue(t,e),t.createFromString=function(e,n,i,r){return void 0===n&&(n=t.DEFAULT_CREATION_OPTIONS),void 0===i&&(i=null),void 0===r&&(r=null),new t(e,n,i,r)},t.resolveOptions=function(e,t){if(t.detectIndentation){var n=b(e,t.tabSize,t.insertSpaces);return new h.e({tabSize:n.tabSize,indentSize:n.tabSize,insertSpaces:n.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL})}return new h.e({tabSize:t.tabSize,indentSize:t.indentSize,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.onDidChangeContentFast=function(e){return this._eventEmitter.fastEvent(function(t){return e(t.contentChangedEvent)})},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._languageRegistryListener.dispose(),this._tokenization.dispose(),this._isDisposed=!0,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 ye(e,t))},t.prototype.setValue=function(e){if(this._assertNotDisposed(),null!==e){var t=qe(e,this._options.defaultEOL);this.setValueFromTextBuffer(t)}},t.prototype._createContentChanged2=function(e,t,n,i,r,o,s){return{changes:[{range:e,rangeOffset:t,rangeLength:n,text:i}],eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:r,isRedoing:o,isFlush:s}},t.prototype.setValueFromTextBuffer=function(e){if(this._assertNotDisposed(),null!==e){var t=this.getFullModelRange(),n=this.getValueLengthInRange(t),i=this.getLineCount(),r=this.getLineMaxColumn(i);this._buffer=e,this._increaseVersionId(),this._tokens.flush(),this._decorations=Object.create(null),this._decorationsTree=new Xe,this._commandManager=new m(this),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new be([new pe],this._versionId,!1,!1),this._createContentChanged2(new l.a(1,1,i,r),0,n,this.getValue(),!1,!1,!0))}},t.prototype.setEOL=function(e){this._assertNotDisposed();var t=1===e?"\r\n":"\n";if(this._buffer.getEOL()!==t){var n=this.getFullModelRange(),i=this.getValueLengthInRange(n),r=this.getLineCount(),o=this.getLineMaxColumn(r);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new be([new _e],this._versionId,!1,!1),this._createContentChanged2(new l.a(1,1,r,o),0,i,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(),n=0,i=t.length;n0},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,n=this._buffer.getLineCount(),i=1;i<=n;i++){var r=this._buffer.getLineLength(i);r>=1e4?t+=r:e+=r}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.getFormattingOptions=function(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}},t.prototype.updateOptions=function(e){this._assertNotDisposed();var t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,n=void 0!==e.indentSize?e.indentSize:this._options.indentSize,i=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,r=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,o=new h.e({tabSize:t,indentSize:n,insertSpaces:i,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:r});if(!this._options.equals(o)){var s=this._options.createChangeEvent(o);this._options=o,this._onDidChangeOptions.fire(s)}},t.prototype.detectIndentation=function(e,t){this._assertNotDisposed();var n=b(this._buffer,t,e);this.updateOptions({insertSpaces:n.insertSpaces,tabSize:n.tabSize,indentSize:n.tabSize})},t._normalizeIndentationFromWhitespace=function(e,t,n){for(var i=0,r=0;rthis.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,n,i=this._buffer.getLineCount(),r=e.startLineNumber,o=e.startColumn;if(r<1)t=1,n=1;else if(r>i)t=i,n=this.getLineMaxColumn(t);else{if(t=0|r,o<=1)n=1;else n=o>=(h=this.getLineMaxColumn(t))?h:0|o}var s,a,u=e.endLineNumber,c=e.endColumn;if(u<1)s=1,a=1;else if(u>i)s=i,a=this.getLineMaxColumn(s);else{var h;if(s=0|u,c<=1)a=1;else a=c>=(h=this.getLineMaxColumn(s))?h:0|c}return r===t&&o===n&&u===s&&c===a&&e instanceof l.a&&!(e instanceof d.a)?e:new l.a(t,n,s,a)},t.prototype._isValidPosition=function(e,t,n){if("number"!=typeof e||"number"!=typeof t)return!1;if(isNaN(e)||isNaN(t))return!1;if(e<1||t<1)return!1;if((0|e)!==e||(0|t)!==t)return!1;if(e>this._buffer.getLineCount())return!1;if(t>this.getLineMaxColumn(e))return!1;if(n&&t>1){var i=this._buffer.getLineCharCode(e,t-2);if(s.w(i))return!1}return!0},t.prototype._validatePosition=function(e,t,n){var i=Math.floor("number"!=typeof e||isNaN(e)?1:e),r=Math.floor("number"!=typeof t||isNaN(t)?1:t),o=this._buffer.getLineCount();if(i<1)return new c.a(1,1);if(i>o)return new c.a(o,this.getLineMaxColumn(o));if(r<=1)return new c.a(i,1);var a=this.getLineMaxColumn(i);if(r>=a)return new c.a(i,a);if(n){var u=this._buffer.getLineCharCode(i,r-2);if(s.w(u))return new c.a(i,r-1)}return new c.a(i,r)},t.prototype.validatePosition=function(e){return this._assertNotDisposed(),e instanceof c.a&&this._isValidPosition(e.lineNumber,e.column,!0)?e:this._validatePosition(e.lineNumber,e.column,!0)},t.prototype._isValidRange=function(e,t){var n=e.startLineNumber,i=e.startColumn,r=e.endLineNumber,o=e.endColumn;if(!this._isValidPosition(n,i,!1))return!1;if(!this._isValidPosition(r,o,!1))return!1;if(t){var a=i>1?this._buffer.getLineCharCode(n,i-2):0,u=o>1&&o<=this._buffer.getLineLength(r)?this._buffer.getLineCharCode(r,o-2):0,c=s.w(a),l=s.w(u);return!c&&!l}return!0},t.prototype.validateRange=function(e){if(this._assertNotDisposed(),e instanceof l.a&&!(e instanceof d.a)&&this._isValidRange(e,!0))return e;var t=this._validatePosition(e.startLineNumber,e.startColumn,!1),n=this._validatePosition(e.endLineNumber,e.endColumn,!1),i=t.lineNumber,r=t.column,o=n.lineNumber,a=n.column,u=r>1?this._buffer.getLineCharCode(i,r-2):0,c=a>1&&a<=this._buffer.getLineLength(o)?this._buffer.getLineCharCode(o,a-2):0,h=s.w(u),f=s.w(c);return h||f?i===o&&r===a?new l.a(i,r-1,o,a-1):h&&f?new l.a(i,r-1,o,a+1):h?new l.a(i,r-1,o,a):new l.a(i,r,o,a+1):new l.a(i,r,o,a)},t.prototype.modifyPosition=function(e,t){this._assertNotDisposed();var n=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,n)))},t.prototype.getFullModelRange=function(){this._assertNotDisposed();var e=this.getLineCount();return new l.a(1,1,e,this.getLineMaxColumn(e))},t.prototype.findMatchesLineByLine=function(e,t,n,i){return this._buffer.findMatchesLineByLine(e,t,n,i)},t.prototype.findMatches=function(e,t,n,i,r,o,s){var a;if(void 0===s&&(s=999),this._assertNotDisposed(),a=l.a.isIRange(t)?this.validateRange(t):this.getFullModelRange(),!n&&e.indexOf("\n")<0){var u=new ie.a(e,n,i,r).parseSearchRequest();return u?this.findMatchesLineByLine(a,u,o,s):[]}return ie.c.findMatches(this,new ie.a(e,n,i,r),a,o,s)},t.prototype.findNextMatch=function(e,t,n,i,r,o){this._assertNotDisposed();var s=this.validatePosition(t);if(!n&&e.indexOf("\n")<0){var a=new ie.a(e,n,i,r).parseSearchRequest();if(!a)return null;var u=this.getLineCount(),c=new l.a(s.lineNumber,s.column,u,this.getLineMaxColumn(u)),d=this.findMatchesLineByLine(c,a,o,1);return ie.c.findNextMatch(this,new ie.a(e,n,i,r),s,o),d.length>0?d[0]:(c=new l.a(1,1,s.lineNumber,this.getLineMaxColumn(s.lineNumber)),(d=this.findMatchesLineByLine(c,a,o,1)).length>0?d[0]:null)}return ie.c.findNextMatch(this,new ie.a(e,n,i,r),s,o)},t.prototype.findPreviousMatch=function(e,t,n,i,r,o){this._assertNotDisposed();var s=this.validatePosition(t);return ie.c.findPreviousMatch(this,new ie.a(e,n,i,r),s,o)},t.prototype.pushStackElement=function(){this._commandManager.pushStackElement()},t.prototype.pushEOL=function(e){if(("\n"===this.getEOL()?0:1)!==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,n){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,t,n)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t.prototype._pushEditOperations=function(e,t,n){var i=this;if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){for(var r=t.map(function(e){return{range:i.validateRange(e.range),text:e.text}}),o=!0,s=0,a=e.length;su.endLineNumber,p=u.startLineNumber>_.endLineNumber;if(!f&&!p){c=!0;break}}if(!c){o=!1;break}}if(o)for(s=0,a=this._trimAutoWhitespaceLines.length;s_.endLineNumber)&&!(g===_.startLineNumber&&_.startColumn===m&&_.isEmpty()&&b&&b.length>0&&"\n"===b.charAt(0)||g===_.startLineNumber&&1===_.startColumn&&_.isEmpty()&&b&&b.length>0&&"\n"===b.charAt(b.length-1))){v=!1;break}}v&&t.push({range:new l.a(g,1,g,m),text:null})}this._trimAutoWhitespaceLines=null}return this._commandManager.pushEditOperation(e,t,n)},t.prototype.applyEdits=function(e){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._applyEdits(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t.prototype._applyEdits=function(e){for(var t=0,n=e.length;t=0;b--){var y=f+b,w=o-u-_+y;a.push(new ge(y,this.getLineContent(w)))}if(vthis.getLineCount()?[]:this.getLinesDecorations(e,e,t,n)},t.prototype.getLinesDecorations=function(e,t,n,i){void 0===n&&(n=0),void 0===i&&(i=!1);var r=this.getLineCount(),o=Math.min(r,Math.max(1,e)),s=Math.min(r,Math.max(1,t)),a=this.getLineMaxColumn(s);return this._getDecorationsInRange(new l.a(o,1,s,a),n,i)},t.prototype.getDecorationsInRange=function(e,t,n){void 0===t&&(t=0),void 0===n&&(n=!1);var i=this.validateRange(e);return this._getDecorationsInRange(i,t,n)},t.prototype.getOverviewRulerDecorations=function(e,t){void 0===e&&(e=0),void 0===t&&(t=!1);var n=this.getVersionId(),i=this._decorationsTree.search(e,t,!0,n);return this._ensureNodesHaveRanges(i)},t.prototype.getAllDecorations=function(e,t){void 0===e&&(e=0),void 0===t&&(t=!1);var n=this.getVersionId(),i=this._decorationsTree.search(e,t,!1,n);return this._ensureNodesHaveRanges(i)},t.prototype._getDecorationsInRange=function(e,t,n){var i=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),r=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn),o=this.getVersionId(),s=this._decorationsTree.intervalSearch(i,r,t,n,o);return this._ensureNodesHaveRanges(s)},t.prototype._ensureNodesHaveRanges=function(e){for(var t=0,n=e.length;tthis.getLineCount())throw new Error("Illegal value for lineNumber");this._tokens.setTokens(this._languageIdentifier.id,e-1,this._buffer.getLineLength(e),t)},t.prototype.setTokens=function(e){if(0!==e.length){for(var t=[],n=0,i=e.length;nthis.getLineCount())throw new Error("Illegal value for lineNumber");this._tokenization.forceTokenization(e)},t.prototype.isCheapToTokenize=function(e){return this._tokenization.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.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._onDidChangeLanguage.fire(t),this._onDidChangeLanguageConfiguration.fire({})}},t.prototype.getLanguageIdAtPosition=function(e,t){var n=this.validatePosition(new c.a(e,t)),i=this.getLineTokens(n.lineNumber);return i.getLanguageId(i.findTokenIndexAtOffset(n.column-1))},t.prototype.getWordAtPosition=function(e){this._assertNotDisposed();var n=this.validatePosition(e),i=this.getLineContent(n.lineNumber),r=this._getLineTokens(n.lineNumber),o=r.findTokenIndexAtOffset(n.column-1),s=t._findLanguageBoundaries(r,o),a=s[0],u=s[1],c=Object(je.d)(n.column,We.a.getWordDefinition(r.getLanguageId(o)),i.substring(a,u),a);if(c&&c.startColumn<=e.column&&e.column<=c.endColumn)return c;if(o>0&&a===n.column-1){var l=t._findLanguageBoundaries(r,o-1),d=l[0],h=l[1],f=Object(je.d)(n.column,We.a.getWordDefinition(r.getLanguageId(o-1)),i.substring(d,h),d);if(f&&f.startColumn<=e.column&&e.column<=f.endColumn)return f}return null},t._findLanguageBoundaries=function(e,t){for(var n=e.getLanguageId(t),i=0,r=t;r>=0&&e.getLanguageId(r)===n;r--)i=e.getStartOffset(r);for(var o=e.getLineContent().length,s=(r=t,e.getCount());r0&&n.getStartOffset(r)===e.column-1){a=n.getStartOffset(r);r--;var c=We.a.getBracketsSupport(n.getLanguageId(r));if(c&&!Object(Be.b)(n.getStandardTokenType(r))){var l,d,h;s=Math.max(n.getStartOffset(r),e.column-1-c.maxBracketLength);if((l=Ve.a.findPrevBracketInToken(c.reversedRegex,t,i,s,a))&&l.startColumn<=e.column&&e.column<=l.endColumn)if(d=(d=i.substring(l.startColumn-1,l.endColumn-1)).toLowerCase(),h=this._matchFoundBracket(l,c.textIsBracket[d],c.textIsOpenBracket[d]))return h}}return null},t.prototype._matchFoundBracket=function(e,t,n){if(!t)return null;var i;if(n){if(i=this._findMatchingBracketDown(t,e.getEndPosition()))return[e,i]}else if(i=this._findMatchingBracketUp(t,e.getStartPosition()))return[e,i];return null},t.prototype._findMatchingBracketUp=function(e,t){for(var n=e.languageIdentifier.id,i=e.reversedRegex,r=-1,o=t.lineNumber;o>=1;o--){var s=this._getLineTokens(o),a=s.getCount(),u=this._buffer.getLineContent(o),c=a-1,l=-1;for(o===t.lineNumber&&(c=s.findTokenIndexAtOffset(t.column-1),l=t.column-1);c>=0;c--){var d=s.getLanguageId(c),h=s.getStandardTokenType(c),f=s.getStartOffset(c),p=s.getEndOffset(c);if(-1===l&&(l=p),d===n&&!Object(Be.b)(h))for(;;){var g=Ve.a.findPrevBracketInToken(i,o,u,f,l);if(!g)break;var m=u.substring(g.startColumn-1,g.endColumn-1);if((m=m.toLowerCase())===e.open?r++:m===e.close&&r--,0===r)return g;l=g.startColumn-1}l=-1}}return null},t.prototype._findMatchingBracketDown=function(e,t){for(var n=e.languageIdentifier.id,i=e.forwardRegex,r=1,o=t.lineNumber,s=this.getLineCount();o<=s;o++){var a=this._getLineTokens(o),u=a.getCount(),c=this._buffer.getLineContent(o),l=0,d=0;for(o===t.lineNumber&&(l=a.findTokenIndexAtOffset(t.column-1),d=t.column-1);l=1;r--){var o=this._getLineTokens(r),s=o.getCount(),a=this._buffer.getLineContent(r),u=s-1,c=-1;for(r===t.lineNumber&&(u=o.findTokenIndexAtOffset(t.column-1),c=t.column-1);u>=0;u--){var l=o.getLanguageId(u),d=o.getStandardTokenType(u),h=o.getStartOffset(u),f=o.getEndOffset(u);if(-1===c&&(c=f),n!==l&&(n=l,i=We.a.getBracketsSupport(n)),i&&!Object(Be.b)(d)){var p=Ve.a.findPrevBracketInToken(i.reversedRegex,r,a,h,c);if(p)return this._toFoundBracket(i,p)}c=-1}}return null},t.prototype.findNextBracket=function(e){for(var t=this.validatePosition(e),n=-1,i=null,r=t.lineNumber,o=this.getLineCount();r<=o;r++){var s=this._getLineTokens(r),a=s.getCount(),u=this._buffer.getLineContent(r),c=0,l=0;for(r===t.lineNumber&&(c=s.findTokenIndexAtOffset(t.column-1),l=t.column-1);cr)throw new Error("Illegal value for lineNumber");for(var o=We.a.getFoldingRules(this._languageIdentifier.id),s=Boolean(o&&o.offSide),a=-2,u=-1,c=-2,l=-1,d=function(e){if(-1!==a&&(-2===a||a>e-1)){a=-1,u=-1;for(var t=e-2;t>=0;t--){var n=i._computeIndentLevel(t);if(n>=0){a=t,u=n;break}}}if(-2===c){c=-1,l=-1;for(t=e;t=0){c=t,l=o;break}}}},h=-2,f=-1,p=-2,g=-1,m=function(e){if(-2===h){h=-1,f=-1;for(var t=e-2;t>=0;t--){var n=i._computeIndentLevel(t);if(n>=0){h=t,f=n;break}}}if(-1!==p&&(-2===p||p=0){p=t,g=o;break}}}},v=0,_=!0,b=0,y=!0,w=0,C=0;_||y;C++){var S=e-C,x=e+C;if(0!==C&&(S<1||Sr||x>n)&&(y=!1),C>5e4&&(_=!1,y=!1),_){var L=void 0;if((O=this._computeIndentLevel(S-1))>=0?(c=S-1,l=O,L=Math.ceil(O/this._options.indentSize)):(d(S),L=this._getIndentLevelForWhitespaceLine(s,u,l)),0===C){if(v=S,b=x,0===(w=L))return{startLineNumber:v,endLineNumber:b,indent:w};continue}L>=w?v=S:_=!1}if(y){var O,k=void 0;(O=this._computeIndentLevel(x-1))>=0?(h=x-1,f=O,k=Math.ceil(O/this._options.indentSize)):(m(x),k=this._getIndentLevelForWhitespaceLine(s,f,g)),k>=w?b=x:y=!1}}return{startLineNumber:v,endLineNumber:b,indent:w}},t.prototype.getLinesIndentGuides=function(e,t){this._assertNotDisposed();var n=this.getLineCount();if(e<1||e>n)throw new Error("Illegal value for startLineNumber");if(t<1||t>n)throw new Error("Illegal value for endLineNumber");for(var i=We.a.getFoldingRules(this._languageIdentifier.id),r=Boolean(i&&i.offSide),o=new Array(t-e+1),s=-2,a=-1,u=-2,c=-1,l=e;l<=t;l++){var d=l-e,h=this._computeIndentLevel(l-1);if(h>=0)s=l-1,a=h,o[d]=Math.ceil(h/this._options.indentSize);else{if(-2===s){s=-1,a=-1;for(var f=l-2;f>=0;f--){if((p=this._computeIndentLevel(f))>=0){s=f,a=p;break}}}if(-1!==u&&(-2===u||u=0){u=f,c=p;break}}}o[d]=this._getIndentLevelForWhitespaceLine(r,a,c)}}return o},t.prototype._getIndentLevelForWhitespaceLine=function(e,t,n){return-1===t||-1===n?0:t0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))},t}(o.a)},"0u1n":function(e,t){},1:function(e,t){},"16On":function(e,t,n){var i=n("LC74");function r(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}function o(e,t){this.path=e,this.rethrow(t)}t.Reporter=r,r.prototype.isError=function(e){return e instanceof o},r.prototype.save=function(){var e=this._reporterState;return{obj:e.obj,pathLen:e.path.length}},r.prototype.restore=function(e){var t=this._reporterState;t.obj=e.obj,t.path=t.path.slice(0,e.pathLen)},r.prototype.enterKey=function(e){return this._reporterState.path.push(e)},r.prototype.exitKey=function(e){var t=this._reporterState;t.path=t.path.slice(0,e-1)},r.prototype.leaveKey=function(e,t,n){var i=this._reporterState;this.exitKey(e),null!==i.obj&&(i.obj[t]=n)},r.prototype.path=function(){return this._reporterState.path.join("/")},r.prototype.enterObject=function(){var e=this._reporterState,t=e.obj;return e.obj={},t},r.prototype.leaveObject=function(e){var t=this._reporterState,n=t.obj;return t.obj=e,n},r.prototype.error=function(e){var t,n=this._reporterState,i=e instanceof o;if(t=i?e:new o(n.path.map(function(e){return"["+JSON.stringify(e)+"]"}).join(""),e.message||e,e.stack),!n.options.partial)throw t;return i||n.errors.push(t),t},r.prototype.wrapResult=function(e){var t=this._reporterState;return t.options.partial?{result:this.isError(e)?null:e,errors:t.errors}:e},i(o,Error),o.prototype.rethrow=function(e){if(this.message=e+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,o),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},"19bf":function(e,t,n){"use strict";var i=n("KDHK");t.certificate=n("lQBd");var r=i.define("RSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())});t.RSAPrivateKey=r;var o=i.define("RSAPublicKey",function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())});t.RSAPublicKey=o;var s=i.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(a),this.key("subjectPublicKey").bitstr())});t.PublicKey=s;var a=i.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())}),u=i.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(a),this.key("subjectPrivateKey").octstr())});t.PrivateKey=u;var c=i.define("EncryptedPrivateKeyInfo",function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())});t.EncryptedPrivateKey=c;var l=i.define("DSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())});t.DSAPrivateKey=l,t.DSAparam=i.define("DSAparam",function(){this.int()});var d=i.define("ECPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(h),this.key("publicKey").optional().explicit(1).bitstr())});t.ECPrivateKey=d;var h=i.define("ECParameters",function(){this.choice({namedCurve:this.objid()})});t.signature=i.define("signature",function(){this.seq().obj(this.key("r").int(),this.key("s").int())})},"1LBi":function(e,t){},"1O6n":function(e,t){},"1Z8u":function(e,t){},"1lLf":function(e,t,n){"use strict";var i=n("08Lv"),r=n("LC74");function o(e,t){return 55296==(64512&e.charCodeAt(t))&&(!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1)))}function s(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function a(e){return 1===e.length?"0"+e:e}function u(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}t.inherits=r,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),r=0;r>6|192,n[i++]=63&s|128):o(e,r)?(s=65536+((1023&s)<<10)+(1023&e.charCodeAt(++r)),n[i++]=s>>18|240,n[i++]=s>>12&63|128,n[i++]=s>>6&63|128,n[i++]=63&s|128):(n[i++]=s>>12|224,n[i++]=s>>6&63|128,n[i++]=63&s|128)}else for(r=0;r>>0}return s},t.split32=function(e,t){for(var n=new Array(4*e.length),i=0,r=0;i>>24,n[r+1]=o>>>16&255,n[r+2]=o>>>8&255,n[r+3]=255&o):(n[r+3]=o>>>24,n[r+2]=o>>>16&255,n[r+1]=o>>>8&255,n[r]=255&o)}return n},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,n){return e+t+n>>>0},t.sum32_4=function(e,t,n,i){return e+t+n+i>>>0},t.sum32_5=function(e,t,n,i,r){return e+t+n+i+r>>>0},t.sum64=function(e,t,n,i){var r=e[t],o=i+e[t+1]>>>0,s=(o>>0,e[t+1]=o},t.sum64_hi=function(e,t,n,i){return(t+i>>>0>>0},t.sum64_lo=function(e,t,n,i){return t+i>>>0},t.sum64_4_hi=function(e,t,n,i,r,o,s,a){var u=0,c=t;return u+=(c=c+i>>>0)>>0)>>0)>>0},t.sum64_4_lo=function(e,t,n,i,r,o,s,a){return t+i+o+a>>>0},t.sum64_5_hi=function(e,t,n,i,r,o,s,a,u,c){var l=0,d=t;return l+=(d=d+i>>>0)>>0)>>0)>>0)>>0},t.sum64_5_lo=function(e,t,n,i,r,o,s,a,u,c){return t+i+o+a+c>>>0},t.rotr64_hi=function(e,t,n){return(t<<32-n|e>>>n)>>>0},t.rotr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0},t.shr64_hi=function(e,t,n){return e>>>n},t.shr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0}},"1mBN":function(e,t){},"1sup":function(e,t,n){"use strict";t.b=function(e,t,n){"string"==typeof e&&(e=i.a.file(e));if(n){var h=n.getWorkspaceFolder(e);if(h){var f=n.getWorkspace().folders.length>1,p=void 0;if(p=Object(u.e)(h.uri,e)?"":Object(u.h)(h.uri,e),f){var g=h&&h.name?h.name:Object(u.b)(h.uri);p=p?g+" • "+p:g}return p}}if(e.scheme!==s.b.file&&e.scheme!==s.b.untitled)return e.with({query:null,fragment:null}).toString(!0);if(c(e.fsPath))return Object(r.normalize)(l(e.fsPath));var m=Object(r.normalize)(e.fsPath);!a.g&&t&&(m=function(e,t){if(a.g||!e||!t)return e;var n=d.original===t?d.normalized:void 0;n||(n=""+Object(o.G)(t,r.posix.sep)+r.posix.sep,d={original:t,normalized:n});(a.c?Object(o.J)(e,n):Object(o.K)(e,n))&&(e="~/"+e.substr(n.length));return e}(m,t.userHome));return m},t.a=function(e){if(!e)return;"string"==typeof e&&(e=i.a.file(e));var t=Object(u.b)(e)||(e.scheme===s.b.file?e.fsPath:e.path);if(c(t))return l(t);return t};var i=n("mrx5"),r=n("/uRs"),o=n("aL7J"),s=n("lapT"),a=n("ZfGv"),u=n("ZYUE");function c(e){return!(!a.g||!e||":"!==e[1])}function l(e){return c(e)?e.charAt(0).toUpperCase()+e.slice(1):e}var d=Object.create(null)},"1xIj":function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return o});var i=n("JVO/"),r=Object(i.c)("logService"),o=function(){function e(){}return e.prototype.trace=function(e){for(var t=[],n=1;n":""},l.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},l.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr();n=n.redIAdd(n);var i=this.curve._mulA(e),r=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),o=i.redAdd(t),s=o.redSub(n),a=i.redSub(t),u=r.redMul(s),c=o.redMul(a),l=r.redMul(a),d=s.redMul(o);return this.curve.point(u,c,d,l)},l.prototype._projDbl=function(){var e,t,n,i=this.x.redAdd(this.y).redSqr(),r=this.x.redSqr(),o=this.y.redSqr();if(this.curve.twisted){var s=(c=this.curve._mulA(r)).redAdd(o);if(this.zOne)e=i.redSub(r).redSub(o).redMul(s.redSub(this.curve.two)),t=s.redMul(c.redSub(o)),n=s.redSqr().redSub(s).redSub(s);else{var a=this.z.redSqr(),u=s.redSub(a).redISub(a);e=i.redSub(r).redISub(o).redMul(u),t=s.redMul(c.redSub(o)),n=s.redMul(u)}}else{var c=r.redAdd(o);a=this.curve._mulC(this.z).redSqr(),u=c.redSub(a).redSub(a);e=this.curve._mulC(i.redISub(c)).redMul(u),t=this.curve._mulC(c).redMul(r.redISub(o)),n=c.redMul(u)}return this.curve.point(e,t,n)},l.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},l.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),n=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),i=this.t.redMul(this.curve.dd).redMul(e.t),r=this.z.redMul(e.z.redAdd(e.z)),o=n.redSub(t),s=r.redSub(i),a=r.redAdd(i),u=n.redAdd(t),c=o.redMul(s),l=a.redMul(u),d=o.redMul(u),h=s.redMul(a);return this.curve.point(c,l,h,d)},l.prototype._projAdd=function(e){var t,n,i=this.z.redMul(e.z),r=i.redSqr(),o=this.x.redMul(e.x),s=this.y.redMul(e.y),a=this.curve.d.redMul(o).redMul(s),u=r.redSub(a),c=r.redAdd(a),l=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(o).redISub(s),d=i.redMul(u).redMul(l);return this.curve.twisted?(t=i.redMul(c).redMul(s.redSub(this.curve._mulA(o))),n=u.redMul(c)):(t=i.redMul(c).redMul(s.redSub(o)),n=this.curve._mulC(u).redMul(c)),this.curve.point(d,t,n)},l.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},l.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},l.prototype.mulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!1)},l.prototype.jmulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!0)},l.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},l.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},l.prototype.getX=function(){return this.normalize(),this.x.fromRed()},l.prototype.getY=function(){return this.normalize(),this.y.fromRed()},l.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},l.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var n=e.clone(),i=this.curve.redN.redMul(this.z);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(i),0===this.x.cmp(t))return!0}},l.prototype.toP=l.prototype.normalize,l.prototype.mixedAdd=l.prototype.add},"2Ayt":function(e,t,n){"use strict";n.d(t,"a",function(){return u});var i=n("aL7J"),r=n("Ao9X"),o=n("6boo"),s=n("ZSmM"),a=n("vTy2"),u=function(){function e(){}return e.deleteRight=function(e,t,n,i){for(var o=[],u=3!==e,c=0,l=i.length;c1){var m=n.getLineContent(g.lineNumber),v=i.q(m),_=-1===v?m.length+1:v+1;if(g.column<=_){var b=o.a.visibleColumnFromColumn2(t,n,g),y=o.a.prevIndentTabStop(b,t.indentSize),w=o.a.columnFromVisibleColumn2(t,n,g.lineNumber,y);p=new a.a(g.lineNumber,w,g.lineNumber,g.column)}else p=new a.a(g.lineNumber,g.column-1,g.lineNumber,g.column)}else{var C=s.a.left(t,n,g.lineNumber,g.column);p=new a.a(C.lineNumber,C.column,g.lineNumber,g.column)}}p.isEmpty()?c[d]=null:(p.startLineNumber!==p.endLineNumber&&(l=!0),c[d]=new r.a(p,""))}return[l,c]},e.cut=function(e,t,n){for(var i=[],s=0,u=n.length;s1?(d=l.lineNumber-1,h=t.getLineMaxColumn(l.lineNumber-1),f=l.lineNumber,p=t.getLineMaxColumn(l.lineNumber)):(d=l.lineNumber,h=1,f=l.lineNumber,p=t.getLineMaxColumn(l.lineNumber));var g=new a.a(d,h,f,p);g.isEmpty()?i[s]=null:i[s]=new r.a(g,"")}else i[s]=null;else i[s]=new r.a(c,"")}return new o.e(0,i,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e}()},"2JY6":function(e,t,n){(function(t){var n=Math.pow(2,30)-1;function i(e,n){if("string"!=typeof e&&!t.isBuffer(e))throw new TypeError(n+" must be a buffer or string")}e.exports=function(e,t,r,o){if(i(e,"Password"),i(t,"Salt"),"number"!=typeof r)throw new TypeError("Iterations not a number");if(r<0)throw new TypeError("Bad iterations");if("number"!=typeof o)throw new TypeError("Key length not a number");if(o<0||o>n||o!=o)throw new TypeError("Bad key length")}}).call(t,n("EuP9").Buffer)},"2LSJ":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"InsertCursorAbove",function(){return y}),n.d(t,"InsertCursorBelow",function(){return w}),n.d(t,"MultiCursorSessionResult",function(){return L}),n.d(t,"MultiCursorSession",function(){return O}),n.d(t,"MultiCursorSelectionController",function(){return k}),n.d(t,"MultiCursorSelectionControllerAction",function(){return N}),n.d(t,"AddSelectionToNextFindMatchAction",function(){return E}),n.d(t,"AddSelectionToPreviousFindMatchAction",function(){return I}),n.d(t,"MoveSelectionToNextFindMatchAction",function(){return D}),n.d(t,"MoveSelectionToPreviousFindMatchAction",function(){return M}),n.d(t,"SelectHighlightsAction",function(){return T}),n.d(t,"CompatChangeAll",function(){return P}),n.d(t,"SelectionHighlighter",function(){return R});var i,r=n("hK2W"),o=n("odeJ"),s=n("uNfg"),a=n("tqet"),u=n("03Zz"),c=n("HAT9"),l=n("vTy2"),d=n("iHM7"),h=n("/9db"),f=n("D2uo"),p=n("0ly5"),g=n("PCC9"),m=n("T1Qz"),v=n("L5KM"),_=n("eoic"),b=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),y=function(e){function t(){return e.call(this,{id:"editor.action.insertCursorAbove",label:r.a("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:h.a.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menubarOpts:{menuId:22,group:"3_multi",title:r.a({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})||this}return b(t,e),t.prototype.run=function(e,t,n){if(t.hasModel()){var i=n&&!0===n.logicalLine,r=t._getCursors(),o=r.context;o.config.readOnly||(o.model.pushStackElement(),r.setStates(n.source,3,c.b.addCursorUp(o,r.getAll(),i)),r.reveal(!0,1,0))}},t}(u.b),w=function(e){function t(){return e.call(this,{id:"editor.action.insertCursorBelow",label:r.a("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:h.a.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menubarOpts:{menuId:22,group:"3_multi",title:r.a({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})||this}return b(t,e),t.prototype.run=function(e,t,n){if(t.hasModel()){var i=n&&!0===n.logicalLine,r=t._getCursors(),o=r.context;o.config.readOnly||(o.model.pushStackElement(),r.setStates(n.source,3,c.b.addCursorDown(o,r.getAll(),i)),r.reveal(!0,2,0))}},t}(u.b),C=function(e){function t(){return e.call(this,{id:"editor.action.insertCursorAtEndOfEachLineSelected",label:r.a("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:h.a.editorTextFocus,primary:1575,weight:100},menubarOpts:{menuId:22,group:"3_multi",title:r.a({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})||this}return b(t,e),t.prototype.getCursorsForSelection=function(e,t,n){if(!e.isEmpty()){for(var i=e.startLineNumber;i1&&n.push(new d.a(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}},t.prototype.run=function(e,t){var n=this;if(t.hasModel()){var i=t.getModel(),r=[];t.getSelections().forEach(function(e){return n.getCursorsForSelection(e,i,r)}),r.length>0&&t.setSelections(r)}},t}(u.b),S=function(e){function t(){return e.call(this,{id:"editor.action.addCursorsToBottom",label:r.a("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})||this}return b(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getSelections(),i=t.getModel().getLineCount(),r=[],o=n[0].startLineNumber;o<=i;o++)r.push(new d.a(o,n[0].startColumn,o,n[0].endColumn));r.length>0&&t.setSelections(r)}},t}(u.b),x=function(e){function t(){return e.call(this,{id:"editor.action.addCursorsToTop",label:r.a("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})||this}return b(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getSelections(),i=[],r=n[0].startLineNumber;r>=1;r--)i.push(new d.a(r,n[0].startColumn,r,n[0].endColumn));i.length>0&&t.setSelections(i)}},t}(u.b),L=function(){return function(e,t,n){this.selections=e,this.revealRange=t,this.revealScrollType=n}}(),O=function(){function e(e,t,n,i,r,o,s){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=n,this.searchText=i,this.wholeWord=r,this.matchCase=o,this.currentMatch=s}return e.create=function(t,n){if(!t.hasModel())return null;var i=n.getState();if(!t.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new e(t,n,!1,i.searchString,i.wholeWord,i.matchCase,null);var r,o,s=!1,a=t.getSelections();1===a.length&&a[0].isEmpty()?(s=!0,r=!0,o=!0):(r=i.wholeWord,o=i.matchCase);var u,c=t.getSelection(),l=null;if(c.isEmpty()){var h=t.getModel().getWordAtPosition(c.getStartPosition());if(!h)return null;u=h.word,l=new d.a(c.startLineNumber,h.startColumn,c.startLineNumber,h.endColumn)}else u=t.getModel().getValueInRange(c).replace(/\r\n/g,"\n");return new e(t,n,s,u,r,o,l)},e.prototype.addSelectionToNextFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new L(t.concat(e),e,0)},e.prototype.moveSelectionToNextFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new L(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getNextMatch=function(){if(!this._editor.hasModel())return null;if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),n=t[t.length-1],i=this._editor.getModel().findNextMatch(this.searchText,n.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return i?new d.a(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null},e.prototype.addSelectionToPreviousFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new L(t.concat(e),e,0)},e.prototype.moveSelectionToPreviousFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new L(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getPreviousMatch=function(){if(!this._editor.hasModel())return null;if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),n=t[t.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,n.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return i?new d.a(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null},e.prototype.selectAll=function(){return this._editor.hasModel()?(this.findController.highlightFindOptions(),this._editor.getModel().findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1,1073741824)):[]},e}(),k=function(e){function t(t){var n=e.call(this)||this;return n._sessionDispose=n._register(new a.b),n._editor=t,n._ignoreSelectionChange=!1,n._session=null,n}return b(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 n=O.create(this._editor,e);if(!n)return;this._session=n;var i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(function(e){t._ignoreSelectionChange||t._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(function(){t._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(function(e){(e.matchCase||e.wholeWord)&&t._endSession()}))}},t.prototype._endSession=function(){if(this._sessionDispose.clear(),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 n=e.getWordAtPosition(t.getStartPosition());return n?new d.a(t.startLineNumber,n.startColumn,t.startLineNumber,n.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._editor.hasModel()){if(!this._session){var t=this._editor.getSelections();if(t.length>1){var n=e.getState().matchCase;if(!F(this._editor.getModel(),t,n)){for(var i=this._editor.getModel(),r=[],o=0,s=t.length;o0&&n.isRegex)t=this._editor.getModel().findMatches(n.searchString,!0,n.isRegex,n.matchCase,n.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 i=this._editor.getSelection(),r=0,o=t.length;r1){var a=r.getState().matchCase;if(!F(t.getModel(),s,a))return null}o=O.create(t,r)}if(!o)return null;if(o.currentMatch)return null;if(/^[ \t]+$/.test(o.searchText))return null;if(o.searchText.length>200)return null;var u=r.getState(),c=u.matchCase;if(u.isRevealed){var l=u.searchString;c||(l=l.toLowerCase());var d=o.searchText;if(c||(d=d.toLowerCase()),l===d&&o.matchCase===u.matchCase&&o.wholeWord===u.wholeWord&&!u.isRegex)return null}return new A(o.searchText,o.matchCase,o.wholeWord?t.getConfiguration().wordSeparators:null)},t.prototype._setState=function(e){if(A.softEquals(this.state,e))this.state=e;else if(this.state=e,this.state){if(this.editor.hasModel()){var n=this.editor.getModel();if(!n.isTooLargeForTokenization()){var i=g.i.has(n),r=n.findMatches(this.state.searchText,!0,!1,this.state.matchCase,this.state.wordSeparators,!1).map(function(e){return e.range});r.sort(l.a.compareRangesUsingStarts);var o=this.editor.getSelections();o.sort(l.a.compareRangesUsingStarts);for(var s=[],a=0,u=0,c=r.length,d=o.length;a=d)s.push(h),a++;else{var f=l.a.compareRangesUsingStarts(h,o[u]);f<0?(!o[u].isEmpty()&&l.a.areIntersecting(h,o[u])||s.push(h),a++):f>0?u++:(a++,u++)}}var p=s.map(function(e){return{range:e,options:i?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=p.a.register({stickiness:1,className:"selectionHighlight",overviewRuler:{color:Object(_.g)(v._32),position:f.d.Center}}),t._SELECTION_HIGHLIGHT=p.a.register({stickiness:1,className:"selectionHighlight"}),t}(a.a);function F(e,t,n){for(var i=j(e,t[0],!n),r=1,o=t.length;r=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},w=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},C=Object(v._36)("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hc:null},r.a("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0),S=Object(v._36)("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hc:null},r.a("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0),x=Object(v._36)("editor.wordHighlightBorder",{light:null,dark:null,hc:v.b},r.a("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable.")),L=Object(v._36)("editor.wordHighlightStrongBorder",{light:null,dark:null,hc:v.b},r.a("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable.")),O=Object(v._36)("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hc:"#A0A0A0CC"},r.a("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),k=Object(v._36)("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hc:"#C0A0C0CC"},r.a("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),N=new m.d("hasWordHighlights",!1);function E(e,t,n){var i=g.i.ordered(e);return Object(s.h)(i.map(function(i){return function(){return Promise.resolve(i.provideDocumentHighlights(e,t,n)).then(void 0,u.f)}}),o.n)}var I=function(){function e(e,t,n){var i=this;this._wordRange=this._getCurrentWordRange(e,t),this.result=Object(s.f)(function(r){return i._compute(e,t,n,r)})}return e.prototype._getCurrentWordRange=function(e,t){var n=e.getWordAtPosition(t.getPosition());return n?new d.a(t.startLineNumber,n.startColumn,t.startLineNumber,n.endColumn):null},e.prototype.isValid=function(e,t,n){for(var i=t.startLineNumber,r=t.startColumn,o=t.endColumn,s=this._getCurrentWordRange(e,t),a=Boolean(this._wordRange&&this._wordRange.equalsRange(s)),u=0,c=n.length;!a&&u=o&&(a=!0)}return a},e.prototype.cancel=function(){this.result.cancel()},e}(),D=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return b(t,e),t.prototype._compute=function(e,t,n,i){return E(e,t.getPosition(),i).then(function(e){return e||[]})},t}(I),M=function(e){function t(t,n,i){var r=e.call(this,t,n,i)||this;return r._selectionIsEmpty=n.isEmpty(),r}return b(t,e),t.prototype._compute=function(e,t,n,i){return Object(s.l)(250,i).then(function(){if(!t.isEmpty())return[];var i=e.getWordAtPosition(t.getPosition());return i?e.findMatches(i.word,!0,!1,!0,n,!1).map(function(e){return{range:e.range,kind:g.h.Text}}):[]})},t.prototype.isValid=function(t,n,i){var r=n.isEmpty();return this._selectionIsEmpty===r&&e.prototype.isValid.call(this,t,n,i)},t}(I);Object(l.e)("_executeDocumentHighlights",function(e,t){return E(e,t,a.a.None)});var T=function(){function e(e,t){var n=this;this.toUnhook=new c.b,this.workerRequestTokenId=0,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.add(e.onDidChangeCursorPosition(function(e){n._ignorePositionChangeEvent||n.occurrencesHighlight&&n._onPositionChanged(e)})),this.toUnhook.add(e.onDidChangeModelContent(function(e){n._stopAll()})),this.toUnhook.add(e.onDidChangeConfiguration(function(e){var t=n.editor.getConfiguration().contribInfo.occurrencesHighlight;n.occurrencesHighlight!==t&&(n.occurrencesHighlight=t,n._stopAll())})),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 o.d(this._decorationIds.map(function(t){return e.model.getDecorationRange(t)}).sort(d.a.compareRangesUsingStarts))},e.prototype.moveNext=function(){var e=this,t=this._getSortedHighlights(),n=t[(o.j(t,function(t){return t.containsPosition(e.editor.getPosition())})+1)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n)}finally{this._ignorePositionChangeEvent=!1}},e.prototype.moveBack=function(){var e=this,t=this._getSortedHighlights(),n=t[(o.j(t,function(t){return t.containsPosition(e.editor.getPosition())})-1+t.length)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n)}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._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&&3===e.reason?this._run():this._stopAll()},e.prototype._run=function(){var e=this,t=this.editor.getSelection();if(t.startLineNumber===t.endLineNumber){var n=t.startLineNumber,i=t.startColumn,r=t.endColumn,o=this.model.getWordAtPosition({lineNumber:n,column:i});if(!o||o.startColumn>i||o.endColumn=n?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(function(){e.renderDecorations()},n-t)},e.prototype.renderDecorations=function(){this.renderDecorationsTimer=-1;for(var t=[],n=0,i=this.workerRequestValue.length;n=6?"utf-8":"binary";e.exports=n}).call(t,n("W2nU"))},"3Clc":function(e,t){},"3PYz":function(e,t,n){var i=t;i.utils=n("1lLf"),i.common=n("YSDb"),i.sha=n("NCTB"),i.ripemd=n("CKAI"),i.hmac=n("3kRU"),i.sha1=i.sha.sha1,i.sha256=i.sha.sha256,i.sha224=i.sha.sha224,i.sha384=i.sha.sha384,i.sha512=i.sha.sha512,i.ripemd160=i.ripemd.ripemd160},"3UJ8":function(e,t,n){"use strict";n.d(t,"a",function(){return i});var i=function(){function e(){for(var e=[],t=0;te;)n.ishrn(1);if(n.isEven()&&n.iadd(a),n.testn(1)||n.iadd(u),t.cmp(u)){if(!t.cmp(c))for(;n.mod(l).cmp(d);)n.iadd(f)}else for(;n.mod(o).cmp(h);)n.iadd(f);if(m(p=n.shrn(1))&&m(n)&&v(p)&&v(n)&&s.test(p)&&s.test(n))return n}}},"3j2o":function(e,t){},"3kRU":function(e,t,n){"use strict";var i=n("1lLf"),r=n("08Lv");function o(e,t,n){if(!(this instanceof o))return new o(e,t,n);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(i.toArray(t,n))}e.exports=o,o.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),r(e.length<=this.blockSize);for(var t=e.length;t>>3},t.g1_256=function(e){return i(e,17)^i(e,19)^e>>>10}},"3uSZ":function(e,t,n){"use strict";n.d(t,"a",function(){return r}),t.b=function e(t){return o(t)?!t.value:!Array.isArray(t)||t.every(e)},t.c=function(e,t){return!e&&!t||!(!e||!t)&&(Array.isArray(e)&&Array.isArray(t)?Object(i.g)(e,t,s):!(!o(e)||!o(t))&&s(e,t))},t.e=function(e){if(!e)return e;return e.replace(/\\([\\`*_{}[\]()#+\-.!])/g,"$1")},t.d=function(e){var t=[],n=e.split("|").map(function(e){return e.trim()});e=n[0];var i=n[1];if(i){var r=/height=(\d+)/.exec(i),o=/width=(\d+)/.exec(i),s=r?r[1]:"",a=o?o[1]:"",u=isFinite(parseInt(a)),c=isFinite(parseInt(s));u&&t.push('width="'+a+'"'),c&&t.push('height="'+s+'"')}return{href:e,dimensions:t}};var i=n("X6iQ"),r=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 o(e){return e instanceof r||!(!e||"object"!=typeof e)&&("string"==typeof e.value&&("boolean"==typeof e.isTrusted||void 0===e.isTrusted))}function s(e,t){return e===t||!(!e||!t)&&(e.value===t.value&&e.isTrusted===t.isTrusted)}},4:function(e,t){},"4/4u":function(e,t,n){e.exports=n("cSWu").Transform},"44YW":function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("JVO/"),r=Object(i.c)("clipboardService")},"4JIo":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,r=n("3j2o"),o=(n.n(r),n("hK2W")),s=n("lAcG"),a=n("ZfGv"),u=n("4QaN"),c=n("03Zz"),l=n("vORD"),d=n("/9db"),h=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),f="9_cutcopypaste",p=a.e||document.queryCommandSupported("cut"),g=a.e||document.queryCommandSupported("copy"),m=g&&!s.g,v=a.e||!s.e&&document.queryCommandSupported("paste"),_=function(e){function t(t,n){var i=e.call(this,n)||this;return i.browserCommand=t,i}return h(t,e),t.prototype.runCommand=function(e,t){var n=e.get(l.a).getFocusedCodeEditor();n&&n.hasTextFocus()?n.trigger("keyboard",this.id,t):document.execCommand(this.browserCommand)},t.prototype.run=function(e,t){t.focus(),document.execCommand(this.browserCommand)},t}(c.b),b=function(e){function t(){var t={kbExpr:d.a.textInputFocus,primary:2102,win:{primary:2102,secondary:[1044]},weight:100};return a.e||(t=void 0),e.call(this,"cut",{id:"editor.action.clipboardCutAction",label:o.a("actions.clipboard.cutLabel","Cut"),alias:"Cut",precondition:d.a.writable,kbOpts:t,menuOpts:{group:f,order:1},menubarOpts:{menuId:14,group:"2_ccp",title:o.a({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1}})||this}return h(t,e),t.prototype.run=function(t,n){n.hasModel()&&(!n.getConfiguration().emptySelectionClipboard&&n.getSelection().isEmpty()||e.prototype.run.call(this,t,n))},t}(_),y=function(e){function t(){var t={kbExpr:d.a.textInputFocus,primary:2081,win:{primary:2081,secondary:[2067]},weight:100};return a.e||(t=void 0),e.call(this,"copy",{id:"editor.action.clipboardCopyAction",label:o.a("actions.clipboard.copyLabel","Copy"),alias:"Copy",precondition:void 0,kbOpts:t,menuOpts:{group:f,order:2},menubarOpts:{menuId:14,group:"2_ccp",title:o.a({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2}})||this}return h(t,e),t.prototype.run=function(t,n){n.hasModel()&&(!n.getConfiguration().emptySelectionClipboard&&n.getSelection().isEmpty()||e.prototype.run.call(this,t,n))},t}(_),w=function(e){function t(){var t={kbExpr:d.a.textInputFocus,primary:2100,win:{primary:2100,secondary:[1043]},weight:100};return a.e||(t=void 0),e.call(this,"paste",{id:"editor.action.clipboardPasteAction",label:o.a("actions.clipboard.pasteLabel","Paste"),alias:"Paste",precondition:d.a.writable,kbOpts:t,menuOpts:{group:f,order:3},menubarOpts:{menuId:14,group:"2_ccp",title:o.a({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:3}})||this}return h(t,e),t}(_),C=function(e){function t(){return e.call(this,"copy",{id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:o.a("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:d.a.textInputFocus,primary:0,weight:100}})||this}return h(t,e),t.prototype.run=function(t,n){n.hasModel()&&(!n.getConfiguration().emptySelectionClipboard&&n.getSelection().isEmpty()||(u.a.forceCopyWithSyntaxHighlighting=!0,e.prototype.run.call(this,t,n),u.a.forceCopyWithSyntaxHighlighting=!1))},t}(_);p&&Object(c.f)(b),g&&Object(c.f)(y),v&&Object(c.f)(w),m&&Object(c.f)(C)},"4QaN":function(e,t,n){"use strict";n.d(t,"a",function(){return p}),n.d(t,"b",function(){return g});var i,r=n("lAcG"),o=n("7/Cv"),s=n("odeJ"),a=n("Kp7x"),u=n("tqet"),c=n("ZfGv"),l=n("aL7J"),d=n("ZWAj"),h=n("iHM7"),f=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),p={forceCopyWithSyntaxHighlighting:!1},g=function(e){function t(t,n){var i=e.call(this)||this;i._onFocus=i._register(new a.a),i.onFocus=i._onFocus.event,i._onBlur=i._register(new a.a),i.onBlur=i._onBlur.event,i._onKeyDown=i._register(new a.a),i.onKeyDown=i._onKeyDown.event,i._onKeyUp=i._register(new a.a),i.onKeyUp=i._onKeyUp.event,i._onCut=i._register(new a.a),i.onCut=i._onCut.event,i._onPaste=i._register(new a.a),i.onPaste=i._onPaste.event,i._onType=i._register(new a.a),i.onType=i._onType.event,i._onCompositionStart=i._register(new a.a),i.onCompositionStart=i._onCompositionStart.event,i._onCompositionUpdate=i._register(new a.a),i.onCompositionUpdate=i._onCompositionUpdate.event,i._onCompositionEnd=i._register(new a.a),i.onCompositionEnd=i._onCompositionEnd.event,i._onSelectionChangeRequest=i._register(new a.a),i.onSelectionChangeRequest=i._onSelectionChangeRequest.event,i._host=t,i._textArea=i._register(new v(n)),i._lastTextAreaEvent=0,i._asyncTriggerCut=i._register(new s.d(function(){return i._onCut.fire()},0)),i._textAreaState=d.b.EMPTY,i._selectionChangeListener=null,i.writeScreenReaderContent("ctor"),i._hasFocus=!1,i._isDoingComposition=!1,i._nextCommand=0,i._register(o.k(n.domNode,"keydown",function(e){!i._isDoingComposition||109!==e.keyCode&&1!==e.keyCode||e.stopPropagation(),e.equals(9)&&e.preventDefault(),i._onKeyDown.fire(e)})),i._register(o.k(n.domNode,"keyup",function(e){i._onKeyUp.fire(e)})),i._register(o.h(n.domNode,"compositionstart",function(e){i._lastTextAreaEvent=1,i._isDoingComposition||(i._isDoingComposition=!0,r.g||i._setAndWriteTextAreaState("compositionstart",d.b.EMPTY),i._onCompositionStart.fire())}));var u=function(e,t){var n=i._textAreaState,r=d.b.readFromTextArea(i._textArea);return[r,d.b.deduceInput(n,r,e,t)]},h=function(e){var t=i._textAreaState,n=d.b.selectedText(e);return[n,{text:n.value,replaceCharCnt:t.selectionEnd-t.selectionStart}]},f=function(e){return!(!r.g||"ja"!==e)||!(!r.j||0!==e.indexOf("zh-Han"))};return i._register(o.h(n.domNode,"compositionupdate",function(e){if(i._lastTextAreaEvent=2,f(e.locale)){var t=u(!1,!1),n=t[0],r=t[1];return i._textAreaState=n,i._onType.fire(r),void i._onCompositionUpdate.fire(e)}var o=h(e.data),s=o[0],a=o[1];i._textAreaState=s,i._onType.fire(a),i._onCompositionUpdate.fire(e)})),i._register(o.h(n.domNode,"compositionend",function(e){if(i._lastTextAreaEvent=3,f(e.locale)){var t=u(!1,!1),n=t[0],o=t[1];i._textAreaState=n,i._onType.fire(o)}else{var s=h(e.data);n=s[0],o=s[1];i._textAreaState=n,i._onType.fire(o)}(r.g||r.e)&&(i._textAreaState=d.b.readFromTextArea(i._textArea)),i._isDoingComposition&&(i._isDoingComposition=!1,i._onCompositionEnd.fire())})),i._register(o.h(n.domNode,"input",function(){var e=8===i._lastTextAreaEvent;if(i._lastTextAreaEvent=4,i._textArea.setIgnoreSelectionChangeTime("received input event"),!i._isDoingComposition){var t=u(c.d,e&&c.d),n=t[0],r=t[1];0===r.replaceCharCnt&&1===r.text.length&&l.w(r.text.charCodeAt(0))||(i._textAreaState=n,0===i._nextCommand?""!==r.text&&i._onType.fire(r):(""!==r.text&&i._onPaste.fire({text:r.text}),i._nextCommand=0))}})),i._register(o.h(n.domNode,"cut",function(e){i._lastTextAreaEvent=5,i._textArea.setIgnoreSelectionChangeTime("received cut event"),i._ensureClipboardGetsEditorSelection(e),i._asyncTriggerCut.schedule()})),i._register(o.h(n.domNode,"copy",function(e){i._lastTextAreaEvent=6,i._ensureClipboardGetsEditorSelection(e)})),i._register(o.h(n.domNode,"paste",function(e){if(i._lastTextAreaEvent=7,i._textArea.setIgnoreSelectionChangeTime("received paste event"),m.canUseTextData(e)){var t=m.getTextData(e);""!==t&&i._onPaste.fire({text:t})}else i._textArea.getSelectionStart()!==i._textArea.getSelectionEnd()&&i._setAndWriteTextAreaState("paste",d.b.EMPTY),i._nextCommand=1})),i._register(o.h(n.domNode,"focus",function(){i._lastTextAreaEvent=8,i._setHasFocus(!0)})),i._register(o.h(n.domNode,"blur",function(){i._lastTextAreaEvent=9,i._setHasFocus(!1)})),i}return f(t,e),t.prototype._installSelectionChangeListener=function(){var e=this,t=0;return o.h(document,"selectionchange",function(n){if(e._hasFocus&&!e._isDoingComposition&&r.e&&c.g){var i=Date.now(),o=i-t;if(t=i,!(o<5)){var s=i-e._textArea.getIgnoreSelectionChangeTime();if(e._textArea.resetSelectionChangeTime(),!(s<100)&&e._textAreaState.selectionStartPosition&&e._textAreaState.selectionEndPosition){var a=e._textArea.getValue();if(e._textAreaState.value===a){var u=e._textArea.getSelectionStart(),l=e._textArea.getSelectionEnd();if(e._textAreaState.selectionStart!==u||e._textAreaState.selectionEnd!==l){var d=e._textAreaState.deduceEditorPosition(u),f=e._host.deduceModelPosition(d[0],d[1],d[2]),p=e._textAreaState.deduceEditorPosition(l),g=e._host.deduceModelPosition(p[0],p[1],p[2]),m=new h.a(f.lineNumber,f.column,g.lineNumber,g.column);e._onSelectionChangeRequest.fire(m)}}}}}})},t.prototype.dispose=function(){e.prototype.dispose.call(this),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)},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._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&(r.f?this._setAndWriteTextAreaState("focusgain",d.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 n=null;r.d()&&(t.length<65536||p.forceCopyWithSyntaxHighlighting)&&(n=this._host.getHTMLToCopy()),m.setTextData(e,t,n)}else this._setAndWriteTextAreaState("copy or cut",d.b.selectedText(t))},t}(u.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,n){if(e.clipboardData)return e.clipboardData.setData("text/plain",t),null!==n&&e.clipboardData.setData("text/html",n),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}(),v=function(e){function t(t){var n=e.call(this)||this;return n._actual=t,n._ignoreSelectionChangeTime=0,n}return f(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 n=this._actual.domNode;n.value!==t&&(this.setIgnoreSelectionChangeTime("setValue"),n.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,n){var i=this._actual.domNode,s=document.activeElement===i,a=i.selectionStart,u=i.selectionEnd;if(s&&a===t&&u===n)r.i&&window.parent!==window&&i.focus();else{if(s)return this.setIgnoreSelectionChangeTime("setSelectionRange"),i.setSelectionRange(t,n),void(r.i&&window.parent!==window&&i.focus());try{var c=o.O(i);this.setIgnoreSelectionChangeTime("setSelectionRange"),i.focus(),i.setSelectionRange(t,n),o.M(i,c)}catch(e){}}},t}(u.a)},"4R/o":function(e,t,n){"use strict";(function(e,i){function r(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var o=n("X3l8"),s=n("rOku"),a=o.Buffer,u=o.kMaxLength,c=e.crypto||e.msCrypto,l=Math.pow(2,32)-1;function d(e,t){if("number"!=typeof e||e!=e)throw new TypeError("offset must be a number");if(e>l||e<0)throw new TypeError("offset must be a uint32");if(e>u||e>t)throw new RangeError("offset out of range")}function h(e,t,n){if("number"!=typeof e||e!=e)throw new TypeError("size must be a number");if(e>l||e<0)throw new TypeError("size must be a uint32");if(e+t>n||e>u)throw new RangeError("buffer too small")}function f(e,t,n,r){if(i.browser){var o=e.buffer,a=new Uint8Array(o,t,n);return c.getRandomValues(a),r?void i.nextTick(function(){r(null,e)}):e}if(!r)return s(n).copy(e,t),e;s(n,function(n,i){if(n)return r(n);i.copy(e,t),r(null,e)})}c&&c.getRandomValues||!i.browser?(t.randomFill=function(t,n,i,r){if(!(a.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof n)r=n,n=0,i=t.length;else if("function"==typeof i)r=i,i=t.length-n;else if("function"!=typeof r)throw new TypeError('"cb" argument must be a function');return d(n,t.length),h(i,n,t.length),f(t,n,i,r)},t.randomFillSync=function(t,n,i){void 0===n&&(n=0);if(!(a.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');d(n,t.length),void 0===i&&(i=t.length-n);return h(i,n,t.length),f(t,n,i)}):(t.randomFill=r,t.randomFillSync=r)}).call(t,n("DuR2"),n("W2nU"))},"4Vh3":function(e,t){e.exports={modp1:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},modp2:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},modp5:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},modp14:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},modp15:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},modp16:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},modp17:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},modp18:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}},"4Yhh":function(e,t){},"4sPJ":function(e,t){e.exports=function(e){for(var t,n=e.length;n--;){if(255!==(t=e.readUInt8(n))){t++,e.writeUInt8(t,n);break}e.writeUInt8(0,n)}}},"4tuZ":function(e,t,n){"use strict";var i,r=n("aL7J"),o=n("80kS"),s=n("tqet"),a=n("03Zz"),u=n("7g0X"),c=n("EMhq"),l=n("JVO/"),d=n("8xpx"),h=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),f=Object(l.c)("IEditorCancelService"),p=new u.d("cancellableOperation",!1);Object(d.b)(f,function(){function e(){this._tokens=new WeakMap}return e.prototype.add=function(e,t){var n,i=this._tokens.get(e);return i||(i=e.invokeWithinContext(function(e){return{key:p.bindTo(e.get(u.c)),tokens:new c.a}}),this._tokens.set(e,i)),i.key.set(!0),n=i.tokens.push(t),function(){n&&(n(),i.key.set(!i.tokens.isEmpty()),n=void 0)}},e.prototype.cancel=function(e){var t=this._tokens.get(e);if(t){var n=t.tokens.pop();n&&(n.cancel(),t.key.set(!t.tokens.isEmpty()))}},e}(),!0);var g=function(e){function t(t,n){var i=e.call(this,n)||this;return i.editor=t,i._unregister=t.invokeWithinContext(function(e){return e.get(f).add(t,i)}),i}return h(t,e),t.prototype.dispose=function(){this._unregister(),e.prototype.dispose.call(this)},t}(o.b);Object(a.g)(new(function(e){function t(){return e.call(this,{id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:p})||this}return h(t,e),t.prototype.runEditorCommand=function(e,t){e.get(f).cancel(t)},t}(a.c))),n.d(t,"a",function(){return v}),n.d(t,"b",function(){return _}),n.d(t,"d",function(){return b}),n.d(t,"c",function(){return y});var m=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),v=function(){function e(e,t){if(this.flags=t,0!=(1&this.flags)){var n=e.getModel();this.modelVersionId=n?r.r("{0}#{1}",n.uri.toString(),n.getVersionId()):null}else this.modelVersionId=null;0!=(4&this.flags)?this.position=e.getPosition():this.position=null,0!=(2&this.flags)?this.selection=e.getSelection():this.selection=null,0!=(8&this.flags)?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}return e.prototype._equals=function(t){if(!(t instanceof e))return!1;var n=t;return this.modelVersionId===n.modelVersionId&&(this.scrollLeft===n.scrollLeft&&this.scrollTop===n.scrollTop&&(!(!this.position&&n.position||this.position&&!n.position||this.position&&n.position&&!this.position.equals(n.position))&&!(!this.selection&&n.selection||this.selection&&!n.selection||this.selection&&n.selection&&!this.selection.equalsRange(n.selection))))},e.prototype.validate=function(t){return this._equals(new e(t,this.flags))},e}(),_=function(e){function t(t,n,i){var r=e.call(this,t,i)||this;return r.editor=t,r._listener=new s.b,4&n&&r._listener.add(t.onDidChangeCursorPosition(function(e){return r.cancel()})),2&n&&r._listener.add(t.onDidChangeCursorSelection(function(e){return r.cancel()})),8&n&&r._listener.add(t.onDidScrollChange(function(e){return r.cancel()})),1&n&&(r._listener.add(t.onDidChangeModel(function(e){return r.cancel()})),r._listener.add(t.onDidChangeModelContent(function(e){return r.cancel()}))),r}return m(t,e),t.prototype.dispose=function(){this._listener.dispose(),e.prototype.dispose.call(this)},t}(g),b=function(e){function t(t,n){var i=e.call(this,n)||this;return i._listener=t.onDidChangeContent(function(){return i.cancel()}),i}return m(t,e),t.prototype.dispose=function(){this._listener.dispose(),e.prototype.dispose.call(this)},t}(o.b),y=function(){function e(e,t){this._visiblePosition=e,this._visiblePositionScrollDelta=t}return e.capture=function(t){var n=null,i=0;if(0!==t.getScrollTop()){var r=t.getVisibleRanges();if(r.length>0){n=r[0].getStartPosition();var o=t.getTopForPosition(n.lineNumber,n.column);i=t.getScrollTop()-o}}return new e(n,i)},e.prototype.restore=function(e){if(this._visiblePosition){var t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}},e}()},"5QAX":function(e,t,n){var i=n("geuY"),r=n("X3l8").Buffer;e.exports=function(e,t){return r.from(e.toRed(i.mont(t.modulus)).redPow(new i(t.publicExponent)).fromRed().toArray())}},"5RGO":function(e,t){},"5TlO":function(e,t,n){"use strict";t.a=function(e,t){if(!e)throw new Error(t?"Assertion failed ("+t+")":"Assertion Failed")}},"5VRF":function(e,t,n){"use strict";n.d(t,"c",function(){return s}),n.d(t,"d",function(){return r}),t.f=function(e){return Array.isArray(e)?r.fromArray(e):e},n.d(t,"a",function(){return a}),n.d(t,"b",function(){return u}),n.d(t,"e",function(){return c});var i,r,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s={done:!0,value:void 0};!function(e){var t={next:function(){return s}};e.empty=function(){return t},e.single=function(e){var t=!1;return{next:function(){return t?s:(t=!0,{done:!1,value:e})}}},e.fromArray=function(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=e.length),{next:function(){return t>=n?s:{done:!1,value:e[t++]}}}},e.from=function(t){return t?Array.isArray(t)?e.fromArray(t):t:e.empty()},e.map=function(e,t){return{next:function(){var n=e.next();return n.done?s:{done:!1,value:t(n.value)}}}},e.filter=function(e,t){return{next:function(){for(;;){var n=e.next();if(n.done)return s;if(t(n.value))return{done:!1,value:n.value}}}}},e.forEach=function(e,t){for(var n=e.next();!n.done;n=e.next())t(n.value)},e.collect=function(e,t){void 0===t&&(t=Number.POSITIVE_INFINITY);var n=[];if(0===t)return n;for(var i=0,r=e.next();!(r.done||(n.push(r.value),++i>=t));r=e.next());return n},e.concat=function(){for(var e=[],t=0;t=e.length)return s;var t=e[n].next();return t.done?(n++,this.next()):t}}}}(r||(r={}));var a=function(){function e(e,t,n,i){void 0===t&&(t=0),void 0===n&&(n=e.length),void 0===i&&(i=t-1),this.items=e,this.start=t,this.end=n,this.index=i}return e.prototype.first=function(){return this.index=this.start,this.current()},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}(),u=function(e){function t(t,n,i,r){return void 0===n&&(n=0),void 0===i&&(i=t.length),void 0===r&&(r=n-1),e.call(this,t,n,i,r)||this}return o(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}(a),c=function(){function e(e,t){this.iterator=e,this.fn=t}return e.prototype.next=function(){return this.fn(this.iterator.next())},e}()},"5kgg":function(e,t){},"5lao":function(e,t,n){"use strict";n.d(t,"a",function(){return h}),n.d(t,"b",function(){return f});var i,r=n("ZfGv"),o=n("iXRW"),s=n("G8r4"),a=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),u=r.d?1.5:1.35;function c(e,t){if("number"==typeof e)return e;if(void 0===e)return t;var n=parseFloat(e);return isNaN(n)?t:n}function l(e,t,n){return en?n:e}function d(e,t){return"string"!=typeof e?t:e}var h=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,n,i){void 0===i&&(i=!1);var r=d(t.fontFamily,o.b.fontFamily),a=d(t.fontWeight,o.b.fontWeight),h=c(t.fontSize,o.b.fontSize);0===(h=l(h,0,100))?h=o.b.fontSize:h<8&&(h=8);var f=function(e,t){if("number"==typeof e)return Math.round(e);if(void 0===e)return t;var n=parseInt(e);return isNaN(n)?t:n}(t.lineHeight,0);0===(f=l(f,0,150))?f=Math.round(u*h):f<8&&(f=8);var p=c(t.letterSpacing,0);p=l(p,-5,20);var g=1+(i?0:.1*s.a.getZoomLevel());return new e({zoomLevel:n,fontFamily:r,fontWeight:a,fontSize:h*=g,lineHeight:f*=g,letterSpacing:p})},e.prototype.getId=function(){return this.zoomLevel+"-"+this.fontFamily+"-"+this.fontWeight+"-"+this.fontSize+"-"+this.lineHeight+"-"+this.letterSpacing},e.prototype.getMassagedFontFamily=function(){return/[,"']/.test(this.fontFamily)?this.fontFamily:/[+ ]/.test(this.fontFamily)?'"'+this.fontFamily+'"':this.fontFamily},e}(),f=function(e){function t(t,n){var i=e.call(this,t)||this;return i.isTrusted=n,i.isMonospace=t.isMonospace,i.typicalHalfwidthCharacterWidth=t.typicalHalfwidthCharacterWidth,i.typicalFullwidthCharacterWidth=t.typicalFullwidthCharacterWidth,i.canUseHalfwidthRightwardsArrow=t.canUseHalfwidthRightwardsArrow,i.spaceWidth=t.spaceWidth,i.maxDigitWidth=t.maxDigitWidth,i}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.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.spaceWidth===e.spaceWidth&&this.maxDigitWidth===e.maxDigitWidth},t}(h)},"5tK6":function(e,t,n){"use strict";n.d(t,"a",function(){return m});var i,r=n("LCUL"),o=(n.n(r),n("tqet")),s=n("lAcG"),a=n("ZfGv"),u=n("KIxu"),c=n("Bug4"),l=n("b1X/"),d=n("Kp7x"),h=n("7/Cv"),f=n("Gxst"),p=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),g=!1,m=function(e){function t(t,n,i){void 0===i&&(i={});var r=e.call(this)||this;return r._state=3,r._onDidEnablementChange=r._register(new d.a),r.onDidEnablementChange=r._onDidEnablementChange.event,r._onDidStart=r._register(new d.a),r.onDidStart=r._onDidStart.event,r._onDidChange=r._register(new d.a),r.onDidChange=r._onDidChange.event,r._onDidReset=r._register(new d.a),r.onDidReset=r._onDidReset.event,r._onDidEnd=r._register(new d.a),r.onDidEnd=r._onDidEnd.event,r.linkedSash=void 0,r.orthogonalStartSashDisposables=r._register(new o.b),r.orthogonalEndSashDisposables=r._register(new o.b),r.el=Object(h.m)(t,Object(h.a)(".monaco-sash")),a.d&&Object(h.f)(r.el,"mac"),r._register(Object(f.a)(r.el,"mousedown")(r.onMouseDown,r)),r._register(Object(f.a)(r.el,"dblclick")(r.onMouseDoubleClick,r)),c.b.addTarget(r.el),r._register(Object(f.a)(r.el,c.a.Start)(r.onTouchStart,r)),s.k&&Object(h.f)(r.el,"touch"),r.setOrientation(i.orientation||0),r.hidden=!1,r.layoutProvider=n,r.orthogonalStartSash=i.orthogonalStartSash,r.orthogonalEndSash=i.orthogonalEndSash,Object(h.R)(r.el,"debug",g),r}return p(t,e),Object.defineProperty(t.prototype,"state",{get:function(){return this._state},set:function(e){this._state!==e&&(Object(h.R)(this.el,"disabled",0===e),Object(h.R)(this.el,"minimum",1===e),Object(h.R)(this.el,"maximum",2===e),this._state=e,this._onDidEnablementChange.fire(e))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"orthogonalStartSash",{get:function(){return this._orthogonalStartSash},set:function(e){this.orthogonalStartSashDisposables.clear(),e?(this.orthogonalStartSashDisposables.add(e.onDidEnablementChange(this.onOrthogonalStartSashEnablementChange,this)),this.onOrthogonalStartSashEnablementChange(e.state)):this.onOrthogonalStartSashEnablementChange(0),this._orthogonalStartSash=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"orthogonalEndSash",{get:function(){return this._orthogonalEndSash},set:function(e){this.orthogonalEndSashDisposables.clear(),e?(this.orthogonalEndSashDisposables.add(e.onDidEnablementChange(this.onOrthogonalEndSashEnablementChange,this)),this.onOrthogonalEndSashEnablementChange(e.state)):this.onOrthogonalEndSashEnablementChange(0),this._orthogonalEndSash=e},enumerable:!0,configurable:!0}),t.prototype.setOrientation=function(e){this.orientation=e,1===this.orientation?(Object(h.f)(this.el,"horizontal"),Object(h.I)(this.el,"vertical")):(Object(h.I)(this.el,"horizontal"),Object(h.f)(this.el,"vertical")),this.layoutProvider&&this.layout()},t.prototype.onMouseDown=function(e){var t=this;h.c.stop(e,!1);var n=!1;if(!e.__orthogonalSashEvent){var i=this.getOrthogonalSash(e);i&&(n=!0,e.__orthogonalSashEvent=!0,i.onMouseDown(e))}if(this.linkedSash&&!e.__linkedSashEvent&&(e.__linkedSashEvent=!0,this.linkedSash.onMouseDown(e)),this.state){for(var r=Object(h.y)("iframe").concat(Object(h.y)("webview")),s=0,u=r;s=this.el.clientHeight-4)return this.orthogonalEndSash}else{if(e.offsetX<=4)return this.orthogonalStartSash;if(e.offsetX>=this.el.clientWidth-4)return this.orthogonalEndSash}},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.el&&this.el.parentElement&&this.el.parentElement.removeChild(this.el),this.el=null},t}(o.a)},"5zde":function(e,t,n){n("zQR9"),n("qyJz"),e.exports=n("FeBl").Array.from},"606G":function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("JVO/"),r=Object(i.c)("editorWorkerService")},"67ys":function(e,t){},"6Hge":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("X6iQ"),r=n("80kS"),o=n("03Zz"),s=n("artP"),a=n("vTy2"),u=n("iHM7"),c=n("/9db"),l=n("PCC9"),d=n("hK2W"),h=n("tqet"),f=n("aL7J"),p=function(){function e(){}return e.prototype.provideSelectionRanges=function(e,t){for(var n=[],i=0,r=t;i=0;u--){if(95===(d=r.charCodeAt(u))||45===d)break;if(Object(f.y)(d)&&Object(f.z)(l))break;l=d}for(u+=1;c0&&0===t.getLineFirstNonWhitespaceColumn(n.lineNumber)&&0===t.getLineLastNonWhitespaceColumn(n.lineNumber)&&e.push({range:new a.a(n.lineNumber,1,n.lineNumber,t.getLineMaxColumn(n.lineNumber))})},e}(),g=n("NjuD"),m=n("ItKl"),v=n("zxiH");t.provideSelectionRanges=k;var _,b=this&&this.__extends||(_=function(e,t){return(_=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}_(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),y=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},w=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=this.ranges.length)return this;var i=new e(n,this.ranges);return i.ranges[n].equalsRange(this.ranges[this.index])?i.mov(t):i},e}(),S=function(){function e(e){this._ignoreSelection=!1,this._editor=e}return e.get=function(t){return t.getContribution(e._id)},e.prototype.dispose=function(){Object(h.f)(this._selectionListener)},e.prototype.getId=function(){return e._id},e.prototype.run=function(e){var t=this;if(this._editor.hasModel()){var n=this._editor.getSelections(),o=this._editor.getModel();if(l.u.has(o)){var s=Promise.resolve(void 0);return this._state||(s=k(o,n.map(function(e){return e.getPosition()}),r.a.None).then(function(e){if(i.n(e)&&e.length===n.length&&t._editor.hasModel()&&i.g(t._editor.getSelections(),n,function(e,t){return e.equalsSelection(t)})){for(var r=function(t){e[t]=e[t].filter(function(e){return e.containsPosition(n[t].getStartPosition())&&e.containsPosition(n[t].getEndPosition())}),e[t].unshift(n[t])},o=0;o)?=?)";var L=u++;a[L]=a[l]+"|x|X|\\*";var O=u++;a[O]=a[c]+"|x|X|\\*";var k=u++;a[k]="[v=\\s]*("+a[O]+")(?:\\.("+a[O]+")(?:\\.("+a[O]+")(?:"+a[m]+")?"+a[b]+"?)?)?";var N=u++;a[N]="[v=\\s]*("+a[L]+")(?:\\.("+a[L]+")(?:\\.("+a[L]+")(?:"+a[v]+")?"+a[b]+"?)?)?";var E=u++;a[E]="^"+a[x]+"\\s*"+a[k]+"$";var I=u++;a[I]="^"+a[x]+"\\s*"+a[N]+"$";var D=u++;a[D]="(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var M=u++;a[M]="(?:~>?)";var T=u++;a[T]="(\\s*)"+a[M]+"\\s+",s[T]=new RegExp(a[T],"g");var P=u++;a[P]="^"+a[M]+a[k]+"$";var A=u++;a[A]="^"+a[M]+a[N]+"$";var R=u++;a[R]="(?:\\^)";var F=u++;a[F]="(\\s*)"+a[R]+"\\s+",s[F]=new RegExp(a[F],"g");var j=u++;a[j]="^"+a[R]+a[k]+"$";var W=u++;a[W]="^"+a[R]+a[N]+"$";var B=u++;a[B]="^"+a[x]+"\\s*("+C+")$|^$";var V=u++;a[V]="^"+a[x]+"\\s*("+w+")$|^$";var H=u++;a[H]="(\\s*)"+a[x]+"\\s*("+C+"|"+a[k]+")",s[H]=new RegExp(a[H],"g");var z=u++;a[z]="^\\s*("+a[k]+")\\s+-\\s+("+a[k]+")\\s*$";var U=u++;a[U]="^\\s*("+a[N]+")\\s+-\\s+("+a[N]+")\\s*$";var K=u++;a[K]="(<|>)?=?\\s*\\*";for(var q=0;qr)return null;if(!(t.loose?s[S]:s[y]).test(e))return null;try{return new Z(e,t)}catch(e){return null}}function Z(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof Z){if(e.loose===t.loose)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>r)throw new TypeError("version is longer than "+r+" characters");if(!(this instanceof Z))return new Z(e,t);i("SemVer",e,t),this.options=t,this.loose=!!t.loose;var n=e.trim().match(t.loose?s[S]:s[y]);if(!n)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>o||this.major<0)throw new TypeError("Invalid major version");if(this.minor>o||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>o||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);-1===n&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this},t.inc=function(e,t,n,i){"string"==typeof n&&(i=n,n=void 0);try{return new Z(e,n).inc(t,i).version}catch(e){return null}},t.diff=function(e,t){if(ee(e,t))return null;var n=G(e),i=G(t),r="";if(n.prerelease.length||i.prerelease.length){r="pre";var o="prerelease"}for(var s in n)if(("major"===s||"minor"===s||"patch"===s)&&n[s]!==i[s])return r+s;return o},t.compareIdentifiers=X;var Y=/^[0-9]+$/;function X(e,t){var n=Y.test(e),i=Y.test(t);return n&&i&&(e=+e,t=+t),e===t?0:n&&!i?-1:i&&!n?1:e0}function Q(e,t,n){return $(e,t,n)<0}function ee(e,t,n){return 0===$(e,t,n)}function te(e,t,n){return 0!==$(e,t,n)}function ne(e,t,n){return $(e,t,n)>=0}function ie(e,t,n){return $(e,t,n)<=0}function re(e,t,n,i){switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e===n;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e!==n;case"":case"=":case"==":return ee(e,n,i);case"!=":return te(e,n,i);case">":return J(e,n,i);case">=":return ne(e,n,i);case"<":return Q(e,n,i);case"<=":return ie(e,n,i);default:throw new TypeError("Invalid operator: "+t)}}function oe(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof oe){if(e.loose===!!t.loose)return e;e=e.value}if(!(this instanceof oe))return new oe(e,t);i("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===se?this.value="":this.value=this.operator+this.semver.version,i("comp",this)}t.rcompareIdentifiers=function(e,t){return X(t,e)},t.major=function(e,t){return new Z(e,t).major},t.minor=function(e,t){return new Z(e,t).minor},t.patch=function(e,t){return new Z(e,t).patch},t.compare=$,t.compareLoose=function(e,t){return $(e,t,!0)},t.rcompare=function(e,t,n){return $(t,e,n)},t.sort=function(e,n){return e.sort(function(e,i){return t.compare(e,i,n)})},t.rsort=function(e,n){return e.sort(function(e,i){return t.rcompare(e,i,n)})},t.gt=J,t.lt=Q,t.eq=ee,t.neq=te,t.gte=ne,t.lte=ie,t.cmp=re,t.Comparator=oe;var se={};function ae(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof ae)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new ae(e.raw,t);if(e instanceof oe)return new ae(e.value,t);if(!(this instanceof ae))return new ae(e,t);if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);this.format()}function ue(e){return!e||"x"===e.toLowerCase()||"*"===e}function ce(e,t,n,i,r,o,s,a,u,c,l,d,h){return((t=ue(n)?"":ue(i)?">="+n+".0.0":ue(r)?">="+n+"."+i+".0":">="+t)+" "+(a=ue(u)?"":ue(c)?"<"+(+u+1)+".0.0":ue(l)?"<"+u+"."+(+c+1)+".0":d?"<="+u+"."+c+"."+l+"-"+d:"<="+a)).trim()}function le(e,t,n){for(var r=0;r0){var o=e[r].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}function de(e,t,n){try{t=new ae(t,n)}catch(e){return!1}return t.test(e)}function he(e,t,n,i){var r,o,s,a,u;switch(e=new Z(e,i),t=new ae(t,i),n){case">":r=J,o=ie,s=Q,a=">",u=">=";break;case"<":r=Q,o=ne,s=J,a="<",u="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(de(e,t,i))return!1;for(var c=0;c=0.0.0")),l=l||e,d=d||e,r(e.semver,l.semver,i)?l=e:s(e.semver,d.semver,i)&&(d=e)}),l.operator===a||l.operator===u)return!1;if((!d.operator||d.operator===a)&&o(e,d.semver))return!1;if(d.operator===u&&s(e,d.semver))return!1}return!0}oe.prototype.parse=function(e){var t=this.options.loose?s[B]:s[V],n=e.match(t);if(!n)throw new TypeError("Invalid comparator: "+e);this.operator=n[1],"="===this.operator&&(this.operator=""),n[2]?this.semver=new Z(n[2],this.options.loose):this.semver=se},oe.prototype.toString=function(){return this.value},oe.prototype.test=function(e){return i("Comparator.test",e,this.options.loose),this.semver===se||("string"==typeof e&&(e=new Z(e,this.options)),re(e,this.operator,this.semver,this.options))},oe.prototype.intersects=function(e,t){if(!(e instanceof oe))throw new TypeError("a Comparator is required");var n;if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return n=new ae(e.value,t),de(this.value,n,t);if(""===e.operator)return n=new ae(this.value,t),de(e.semver,n,t);var i=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),r=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),o=this.semver.version===e.semver.version,s=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),a=re(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),u=re(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return i||r||o&&s||a||u},t.Range=ae,ae.prototype.format=function(){return this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim(),this.range},ae.prototype.toString=function(){return this.range},ae.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var n=t?s[U]:s[z];e=e.replace(n,ce),i("hyphen replace",e),e=e.replace(s[H],"$1$2$3"),i("comparator trim",e,s[H]),e=(e=(e=e.replace(s[T],"$1~")).replace(s[F],"$1^")).split(/\s+/).join(" ");var r=t?s[B]:s[V],o=e.split(" ").map(function(e){return function(e,t){return i("comp",e,t),e=function(e,t){return e.trim().split(/\s+/).map(function(e){return function(e,t){i("caret",e,t);var n=t.loose?s[W]:s[j];return e.replace(n,function(t,n,r,o,s){var a;return i("caret",e,t,n,r,o,s),ue(n)?a="":ue(r)?a=">="+n+".0.0 <"+(+n+1)+".0.0":ue(o)?a="0"===n?">="+n+"."+r+".0 <"+n+"."+(+r+1)+".0":">="+n+"."+r+".0 <"+(+n+1)+".0.0":s?(i("replaceCaret pr",s),a="0"===n?"0"===r?">="+n+"."+r+"."+o+"-"+s+" <"+n+"."+r+"."+(+o+1):">="+n+"."+r+"."+o+"-"+s+" <"+n+"."+(+r+1)+".0":">="+n+"."+r+"."+o+"-"+s+" <"+(+n+1)+".0.0"):(i("no pr"),a="0"===n?"0"===r?">="+n+"."+r+"."+o+" <"+n+"."+r+"."+(+o+1):">="+n+"."+r+"."+o+" <"+n+"."+(+r+1)+".0":">="+n+"."+r+"."+o+" <"+(+n+1)+".0.0"),i("caret return",a),a})}(e,t)}).join(" ")}(e,t),i("caret",e),e=function(e,t){return e.trim().split(/\s+/).map(function(e){return function(e,t){var n=t.loose?s[A]:s[P];return e.replace(n,function(t,n,r,o,s){var a;return i("tilde",e,t,n,r,o,s),ue(n)?a="":ue(r)?a=">="+n+".0.0 <"+(+n+1)+".0.0":ue(o)?a=">="+n+"."+r+".0 <"+n+"."+(+r+1)+".0":s?(i("replaceTilde pr",s),a=">="+n+"."+r+"."+o+"-"+s+" <"+n+"."+(+r+1)+".0"):a=">="+n+"."+r+"."+o+" <"+n+"."+(+r+1)+".0",i("tilde return",a),a})}(e,t)}).join(" ")}(e,t),i("tildes",e),e=function(e,t){return i("replaceXRanges",e,t),e.split(/\s+/).map(function(e){return function(e,t){e=e.trim();var n=t.loose?s[I]:s[E];return e.replace(n,function(t,n,r,o,s,a){i("xRange",e,t,n,r,o,s,a);var u=ue(r),c=u||ue(o),l=c||ue(s),d=l;return"="===n&&d&&(n=""),u?t=">"===n||"<"===n?"<0.0.0":"*":n&&d?(c&&(o=0),s=0,">"===n?(n=">=",c?(r=+r+1,o=0,s=0):(o=+o+1,s=0)):"<="===n&&(n="<",c?r=+r+1:o=+o+1),t=n+r+"."+o+"."+s):c?t=">="+r+".0.0 <"+(+r+1)+".0.0":l&&(t=">="+r+"."+o+".0 <"+r+"."+(+o+1)+".0"),i("xRange return",t),t})}(e,t)}).join(" ")}(e,t),i("xrange",e),e=function(e,t){return i("replaceStars",e,t),e.trim().replace(s[K],"")}(e,t),i("stars",e),e}(e,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(o=o.filter(function(e){return!!e.match(r)})),o=o.map(function(e){return new oe(e,this.options)},this)},ae.prototype.intersects=function(e,t){if(!(e instanceof ae))throw new TypeError("a Range is required");return this.set.some(function(n){return n.every(function(n){return e.set.some(function(e){return e.every(function(e){return n.intersects(e,t)})})})})},t.toComparators=function(e,t){return new ae(e,t).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})},ae.prototype.test=function(e){if(!e)return!1;"string"==typeof e&&(e=new Z(e,this.options));for(var t=0;t":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":n&&!J(n,t)||(n=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}})}if(n&&e.test(n))return n;return null},t.validRange=function(e,t){try{return new ae(e,t).range||"*"}catch(e){return null}},t.ltr=function(e,t,n){return he(e,t,"<",n)},t.gtr=function(e,t,n){return he(e,t,">",n)},t.outside=he,t.prerelease=function(e,t){var n=G(e,t);return n&&n.prerelease.length?n.prerelease:null},t.intersects=function(e,t,n){return e=new ae(e,n),t=new ae(t,n),e.intersects(t)},t.coerce=function(e){if(e instanceof Z)return e;if("string"!=typeof e)return null;var t=e.match(s[D]);if(null==t)return null;return G(t[1]+"."+(t[2]||"0")+"."+(t[3]||"0"))}}).call(t,n("W2nU"))},"6TMp":function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("JVO/"),r=Object(i.c)("modeService")},"6ZSt":function(e,t){e.exports={"aes-128-ecb":{cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},"aes-192-ecb":{cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},"aes-256-ecb":{cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},"aes-128-cbc":{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},"aes-192-cbc":{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},"aes-256-cbc":{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},aes128:{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},aes192:{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},aes256:{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},"aes-128-cfb":{cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},"aes-192-cfb":{cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},"aes-256-cfb":{cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},"aes-128-cfb8":{cipher:"AES",key:128,iv:16,mode:"CFB8",type:"stream"},"aes-192-cfb8":{cipher:"AES",key:192,iv:16,mode:"CFB8",type:"stream"},"aes-256-cfb8":{cipher:"AES",key:256,iv:16,mode:"CFB8",type:"stream"},"aes-128-cfb1":{cipher:"AES",key:128,iv:16,mode:"CFB1",type:"stream"},"aes-192-cfb1":{cipher:"AES",key:192,iv:16,mode:"CFB1",type:"stream"},"aes-256-cfb1":{cipher:"AES",key:256,iv:16,mode:"CFB1",type:"stream"},"aes-128-ofb":{cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},"aes-192-ofb":{cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},"aes-256-ofb":{cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},"aes-128-ctr":{cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},"aes-192-ctr":{cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},"aes-256-ctr":{cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"},"aes-128-gcm":{cipher:"AES",key:128,iv:12,mode:"GCM",type:"auth"},"aes-192-gcm":{cipher:"AES",key:192,iv:12,mode:"GCM",type:"auth"},"aes-256-gcm":{cipher:"AES",key:256,iv:12,mode:"GCM",type:"auth"}}},"6boo":function(e,t,n){"use strict";n.d(t,"b",function(){return p}),n.d(t,"f",function(){return g}),n.d(t,"c",function(){return m}),n.d(t,"d",function(){return b}),n.d(t,"e",function(){return y}),n.d(t,"a",function(){return w}),t.g=function(e){return"'"===e||'"'===e||"`"===e};var i=n("zxiH"),r=n("aL7J"),o=n("artP"),s=n("vTy2"),a=n("iHM7"),u=n("0ly5"),c=n("Fllr"),l=function(){return!0},d=function(){return!1},h=function(e){return" "===e||"\t"===e};function f(e,t,n){e.has(t)?e.get(t).push(n):e.set(t,[n])}var p=function(){function e(t,n,i){this._languageIdentifier=t;var r=i.editor;this.readOnly=r.readOnly,this.tabSize=n.tabSize,this.indentSize=n.indentSize,this.insertSpaces=n.insertSpaces,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.copyWithSyntaxHighlighting=r.copyWithSyntaxHighlighting,this.multiCursorMergeOverlapping=r.multiCursorMergeOverlapping,this.autoClosingBrackets=r.autoClosingBrackets,this.autoClosingQuotes=r.autoClosingQuotes,this.autoClosingOvertype=r.autoClosingOvertype,this.autoSurround=r.autoSurround,this.autoIndent=r.autoIndent,this.autoClosingPairsOpen2=new Map,this.autoClosingPairsClose2=new Map,this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:e._getShouldAutoClose(t,this.autoClosingQuotes),bracket:e._getShouldAutoClose(t,this.autoClosingBrackets)};var o=e._getAutoClosingPairs(t);if(o)for(var s=0,a=o;s=i.length)&&r.x(i.charCodeAt(n))},e.isHighSurrogate=function(e,t,n){var i=e.getLineContent(t);return!(n<0||n>=i.length)&&r.w(i.charCodeAt(n))},e.isInsideSurrogatePair=function(e,t,n){return this.isHighSurrogate(e,t,n-2)},e.visibleColumnFromColumn=function(e,t,n){var i=e.length;i>t-1&&(i=t-1);for(var o=0,s=0;s=t)return u-ts?s:r},e.nextRenderTabStop=function(e,t){return e+t-e%t},e.nextIndentTabStop=function(e,t){return e+t-e%t},e.prevRenderTabStop=function(e,t){return e-1-(e-1)%t},e.prevIndentTabStop=function(e,t){return e-1-(e-1)%t},e}()},"6hW9":function(e,t,n){var i=n("BEbT"),r=n("X3l8").Buffer,o=n("z+8S");function s(e,t,n,s){o.call(this),this._cipher=new i.AES(t),this._prev=r.from(n),this._cache=r.allocUnsafe(0),this._secCache=r.allocUnsafe(0),this._decrypt=s,this._mode=e}n("LC74")(s,o),s.prototype._update=function(e){return this._mode.encrypt(this,e,this._decrypt)},s.prototype._final=function(){this._cipher.scrub()},e.exports=s},"6jTg":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("odeJ"),r=n("zxiH"),o=n("tqet"),s=n("4tuZ"),a=n("03Zz"),u=n("PCC9"),c=n("X6iQ"),l=n("80kS"),d=n("mrx5"),h=n("jIdl"),f=function(){function e(){this.lenses=[],this._dispoables=new o.b}return e.prototype.dispose=function(){this._dispoables.dispose()},e.prototype.add=function(e,t){this._dispoables.add(e);for(var n=0,i=e.lenses;nt.symbol.range.startLineNumber?1:i.get(e.provider)i.get(t.provider)?1:e.symbol.range.startColumnt.symbol.range.startColumn?1:0}),o})}Object(a.j)("_executeCodeLensProvider",function(e,t){var n=t.resource,i=t.itemResolveCount;if(!(n instanceof d.a))throw Object(r.b)();var s=e.get(h.a).getModel(n);if(!s)throw Object(r.b)();var a=[],u=new o.b;return p(s,l.a.None).then(function(e){u.add(e);for(var t=[],n=function(e){void 0===i||Boolean(e.symbol.command)?a.push(e.symbol):i-- >0&&e.provider.resolveCodeLens&&t.push(Promise.resolve(e.provider.resolveCodeLens(s,e.symbol,l.a.None)).then(function(t){return a.push(t||e.symbol)}))},r=0,o=e.lenses;rno commands";else{for(var i=[],r=0;r"+s+"
    ",this._commands.set(String(r),o)):a=""+s+"",i.push(a)}}var u=""===this._domNode.innerHTML||" "===this._domNode.innerHTML;this._domNode.innerHTML=i.join(" | "),this._editor.layoutContentWidget(this),u&&t&&g.f(this._domNode,"fadein")}},e.prototype.getCommand=function(e){return e.parentElement===this._domNode?this._commands.get(e.id):void 0},e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.setSymbolRange=function(e){if(this._editor.hasModel()){var t=e.startLineNumber,n=this._editor.getModel().getLineFirstNonWhitespaceColumn(t);this._widgetPosition={position:{lineNumber:t,column:n},preference:[1]}}},e.prototype.getPosition=function(){return this._widgetPosition||null},e.prototype.isVisible=function(){return this._domNode.hasAttribute("monaco-visible-content-widget")},e._idPool=0,e}(),x=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),n=0,i=t.length;n a:hover { color: "+i+" !important; }")});var O=n("ItKl"),k=n("fAkY"),N=n("JVO/"),E=n("8xpx"),I=n("WTFd"),D=n("Cfmk"),M=n("dwjm"),T=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},P=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},A=Object(N.c)("ICodeLensCache"),R=function(){return function(e,t){this.lineCount=e,this.data=t}}(),F=function(){function e(e){var t=this;this._fakeProvider=new(function(){function e(){}return e.prototype.provideCodeLenses=function(){throw new Error("not supported")},e}()),this._cache=new I.a(20,.75);Object(i.k)(function(){return e.remove("codelens/cache",1)});var n="codelens/cache2",r=e.get(n,1,"{}");this._deserialize(r),Object(M.a)(e.onWillSaveState)(function(i){i.reason===D.c.SHUTDOWN&&e.store(n,t._serialize(),1)})}return e.prototype.put=function(e,t){var n=new f;n.add({lenses:t.lenses.map(function(e){return e.symbol}),dispose:function(){}},this._fakeProvider);var i=new R(e.getLineCount(),n);this._cache.set(e.uri.toString(),i)},e.prototype.get=function(e){var t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0},e.prototype.delete=function(e){this._cache.delete(e.uri.toString())},e.prototype._serialize=function(){var e=Object.create(null);return this._cache.forEach(function(t,n){for(var i=new Set,r=0,o=t.data.lenses;r=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},W=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},B=function(){function e(e,t,n,i){var r=this;this._editor=e,this._commandService=t,this._notificationService=n,this._codeLensCache=i,this._globalToDispose=new o.b,this._localToDispose=new o.b,this._lenses=[],this._oldCodeLensModels=new o.b,this._modelChangeCounter=0,this._isEnabled=this._editor.getConfiguration().contribInfo.codeLens,this._globalToDispose.add(this._editor.onDidChangeModel(function(){return r._onModelChange()})),this._globalToDispose.add(this._editor.onDidChangeModelLanguage(function(){return r._onModelChange()})),this._globalToDispose.add(this._editor.onDidChangeConfiguration(function(){var e=r._isEnabled;r._isEnabled=r._editor.getConfiguration().contribInfo.codeLens,e!==r._isEnabled&&r._onModelChange()})),this._globalToDispose.add(u.b.onDidChange(this._onModelChange,this)),this._onModelChange()}return e.prototype.dispose=function(){this._localDispose(),this._globalToDispose.dispose(),this._oldCodeLensModels.dispose(),Object(o.f)(this._currentCodeLensModel)},e.prototype._localDispose=function(){this._currentFindCodeLensSymbolsPromise&&(this._currentFindCodeLensSymbolsPromise.cancel(),this._currentFindCodeLensSymbolsPromise=void 0,this._modelChangeCounter++),this._currentResolveCodeLensSymbolsPromise&&(this._currentResolveCodeLensSymbolsPromise.cancel(),this._currentResolveCodeLensSymbolsPromise=void 0),this._localToDispose.clear(),this._oldCodeLensModels.clear(),Object(o.f)(this._currentCodeLensModel)},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){var n=this._codeLensCache.get(t);if(n&&this._renderCodeLensSymbols(n),u.b.has(t)){for(var a=0,c=u.b.all(t);a0&&h.schedule()})),this._localToDispose.add(this._editor.onDidLayoutChange(function(){h.schedule()})),this._localToDispose.add(Object(o.h)(function(){if(e._editor.getModel()){var t=s.c.capture(e._editor);e._editor.changeDecorations(function(t){e._editor.changeViewZones(function(n){e._disposeAllLenses(t,n)})}),t.restore(e._editor)}else e._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onDidChangeConfiguration(function(t){if(t.fontInfo)for(var n=0,i=e._lenses;ni||(n&&n[n.length-1].symbol.range.startLineNumber===c?n.push(u):(n=[u],r.push(n)))}var l=s.c.capture(this._editor);this._editor.changeDecorations(function(e){t._editor.changeViewZones(function(n){for(var i=new x,o=0,s=0;s=0;r--)t.sheet.deleteRule(i[r])},t.F=function(e){if("object"==typeof HTMLElement)return e instanceof HTMLElement;return e&&"object"==typeof e&&1===e.nodeType&&"string"==typeof e.nodeName},n.d(t,"d",function(){return Y}),n.d(t,"c",function(){return X}),t.O=function(e){for(var t=[],n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)t[n]=e.scrollTop,e=e.parentNode;return t},t.M=function(e,t){for(var n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)e.scrollTop!==t[n]&&(e.scrollTop=t[n]),e=e.parentNode},t.S=function(e){return new $(e)},t.m=function(e){for(var t=[],n=1;n=0;){if(o=s+r,(0===s||32===n.charCodeAt(s-1))&&32===n.charCodeAt(o))return this._lastStart=s,void(this._lastEnd=o+1);if(s>0&&32===n.charCodeAt(s-1)&&o===i)return this._lastStart=s-1,void(this._lastEnd=o);if(0===s&&o===i)return this._lastStart=0,void(this._lastEnd=o)}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,n=[],i=1;i0;){T.sort(F.sort),T.shift().execute()}A=!1},I=function(e,t){void 0===t&&(t=0);var n,i=new F(e,t);return M.push(i),P||(P=!0,n=R,D||(D=self.requestAnimationFrame||self.msRequestAnimationFrame||self.webkitRequestAnimationFrame||self.mozRequestAnimationFrame||self.oRequestAnimationFrame||function(e){return setTimeout(function(){return e((new Date).getTime())},0)}),D.call(self,n)),i},E=function(e,t){if(A){var n=new F(e,t);return T.push(n),n}return I(e,t)};var j=16,W=function(e,t){return t},B=function(e){function t(t,n,i,r,o){void 0===r&&(r=W),void 0===o&&(o=j);var s=e.call(this)||this,a=null,c=0,l=s._register(new u.e),d=function(){c=(new Date).getTime(),i(a),a=null};return s._register(k(t,n,function(e){a=r(a,e);var t=(new Date).getTime()-c;t>=o?(l.cancel(),d()):l.setIfNotSet(d,o-t)})),s}return g(t,e),t}(d.a);function V(e){return document.defaultView.getComputedStyle(e,null)}var H=function(){function e(){}return e.convertToPixels=function(e,t){return parseFloat(t)||0},e.getDimension=function(t,n,i){var r=V(t),o="0";return r&&(o=r.getPropertyValue?r.getPropertyValue(n):r.getAttribute(i)),e.convertToPixels(t,o)},e.getBorderLeftWidth=function(t){return e.getDimension(t,"border-left-width","borderLeftWidth")},e.getBorderRightWidth=function(t){return e.getDimension(t,"border-right-width","borderRightWidth")},e.getBorderTopWidth=function(t){return e.getDimension(t,"border-top-width","borderTopWidth")},e.getBorderBottomWidth=function(t){return e.getDimension(t,"border-bottom-width","borderBottomWidth")},e.getPaddingLeft=function(t){return e.getDimension(t,"padding-left","paddingLeft")},e.getPaddingRight=function(t){return e.getDimension(t,"padding-right","paddingRight")},e.getPaddingTop=function(t){return e.getDimension(t,"padding-top","paddingTop")},e.getPaddingBottom=function(t){return e.getDimension(t,"padding-bottom","paddingBottom")},e.getMarginLeft=function(t){return e.getDimension(t,"margin-left","marginLeft")},e.getMarginTop=function(t){return e.getDimension(t,"margin-top","marginTop")},e.getMarginRight=function(t){return e.getDimension(t,"margin-right","marginRight")},e.getMarginBottom=function(t){return e.getDimension(t,"margin-bottom","marginBottom")},e}(),z=function(){return function(e,t){this.width=e,this.height=t}}();var U=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 K(e,t){for(;e;){if(e===t)return!0;e=e.parentNode}return!1}function q(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 G=null;function Z(){return G||(G=q()),G}var Y={CLICK:"click",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",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",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:r.m?"webkitAnimationStart":"animationstart",ANIMATION_END:r.m?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:r.m?"webkitAnimationIteration":"animationiteration"},X={stop:function(e,t){e.preventDefault?e.preventDefault():e.returnValue=!1,t&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)}};var $=function(e){function t(t){var n=e.call(this)||this;n._onDidFocus=n._register(new l.a),n.onDidFocus=n._onDidFocus.event,n._onDidBlur=n._register(new l.a),n.onDidBlur=n._onDidBlur.event;var i=K(document.activeElement,t),r=!1;return n._register(Object(o.a)(t,Y.FOCUS,!0)(function(){r=!1,i||(i=!0,n._onDidFocus.fire())})),n._register(Object(o.a)(t,Y.BLUR,!0)(function(){i&&(r=!0,window.setTimeout(function(){r&&(r=!1,i=!1,n._onDidBlur.fire())},0))})),n}return g(t,e),t}(d.a);var J,Q=/([\w\-]+)?(#([\w\-]+))?((.([\w\-]+))*)/;function ee(e,t,n){for(var i=[],r=3;r=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},S=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},x=function(){function e(){}return e.prototype.select=function(e,t,n){if(0===n.length)return 0;for(var i=n[0].score[0],r=1;ru&&d.type===i[c].completion.kind&&d.insertText===i[c].completion.insertText&&(u=d.touch,a=c),i[c].completion.preselect&&-1===s)return c}return-1!==a?a:-1!==s?s:0},t.prototype.toJSON=function(){var e=[];return this._cache.forEach(function(t,n){e.push([n,t])}),e},t.prototype.fromJSON=function(e){this._cache.clear();for(var t=0,n=e;t0){this._seq=e[0][1].touch+1;for(var t=0,n=e;t=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},R=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},F=function(){function e(t,n){this._editor=t,this._index=0,this._ckOtherSuggestions=e.OtherSuggestions.bindTo(n)}return e.prototype.dispose=function(){this.reset()},e.prototype.reset=function(){this._ckOtherSuggestions.reset(),Object(a.f)(this._listener),this._model=void 0,this._acceptNext=void 0,this._ignore=!1},e.prototype.set=function(t,n){var i=this,r=t.model,o=t.index;0!==r.items.length?e._moveIndex(!0,r,o)!==o?(this._acceptNext=n,this._model=r,this._index=o,this._listener=this._editor.onDidChangeCursorPosition(function(){i._ignore||i.reset()}),this._ckOtherSuggestions.set(!0)):this.reset():this.reset()},e._moveIndex=function(e,t,n){for(var i=n;(i=(i+t.items.length+(e?1:-1))%t.items.length)!==n&&t.items[i].completion.additionalTextEdits;);return i},e.prototype.next=function(){this._move(!0)},e.prototype.prev=function(){this._move(!1)},e.prototype._move=function(t){if(this._model)try{this._ignore=!0,this._index=e._moveIndex(t,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}},e.OtherSuggestions=new T.d("hasOtherSuggestions",!1),e=A([R(1,T.c)],e)}(),j=n("Kp7x"),W=n("iHM7"),B=n("GYOr"),V=n("iXRW"),H=n("aL7J"),z=(function(){}(),function(){function e(t,n,i,r,o){void 0===o&&(o=V.a.contribInfo.suggest),this._snippetCompareFn=e._compareCompletionItems,this._items=t,this._column=n,this._wordDistance=r,this._options=o,this._refilterKind=1,this._lineContext=i,"top"===o.snippets?this._snippetCompareFn=e._compareCompletionItemsSnippetsUp:"bottom"===o.snippets&&(this._snippetCompareFn=e._compareCompletionItemsSnippetsDown)}return 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.characterCountDelta2e3?B.d:B.e,u=0;u=d)c.score=B.a.Default;else if("string"==typeof c.completion.filterText){if(!(p=a(i,r,h,c.completion.filterText,c.filterTextLow,0,!1)))continue;0===Object(H.e)(c.completion.filterText,c.completion.label)?c.score=p:(c.score=Object(B.b)(i,r,h,c.completion.label,c.labelLow,0),c.score[0]=p[0])}else{var p;if(!(p=a(i,r,h,c.completion.label,c.labelLow,0,!1)))continue;c.score=p}}switch(c.idx=u,c.distance=this._wordDistance.distance(c.position,c.completion),s.push(c),this._stats.suggestionCount++,c.completion.kind){case 25:this._stats.snippetCount++;break;case 18:this._stats.textCount++}}this._filteredItems=s.sort(this._snippetCompareFn),this._refilterKind=0},e._compareCompletionItems=function(e,t){return e.score[0]>t.score[0]?-1:e.score[0]t.distance?1:e.idxt.idx?1:0},e._compareCompletionItemsSnippetsDown=function(t,n){if(t.completion.kind!==n.completion.kind){if(25===t.completion.kind)return 1;if(25===n.completion.kind)return-1}return e._compareCompletionItems(t,n)},e._compareCompletionItemsSnippetsUp=function(t,n){if(t.completion.kind!==n.completion.kind){if(25===t.completion.kind)return-1;if(25===n.completion.kind)return 1}return e._compareCompletionItems(t,n)},e}()),U=n("80kS"),K=n("NjuD"),q=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),G=function(){function e(){}return e.create=function(t,n){if(!n.getConfiguration().contribInfo.suggest.localityBonus)return Promise.resolve(e.None);if(!n.hasModel())return Promise.resolve(e.None);var i=n.getModel(),r=n.getPosition();return t.canComputeWordRanges(i.uri)?(new K.a).provideSelectionRanges(i,[r]).then(function(s){return s&&0!==s.length&&0!==s[0].length?t.computeWordRanges(i.uri,s[0][0].range).then(function(t){return new(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return q(i,e),i.prototype.distance=function(e,i){if(!t||!r.equals(n.getPosition()))return 0;if(17===i.kind)return 2<<20;var a=i.label,u=t[a];if(Object(o.m)(u))return 2<<20;for(var c=Object(o.c)(u,l.a.fromPositions(e),l.a.compareRangesUsingStarts),d=c>=0?u[c]:u[Math.max(0,~c-1)],h=s.length,f=0,p=s[0];f0?{triggerKind:2}:{triggerKind:0},this._requestToken=new U.b;var h=this._editor.getConfiguration().contribInfo,f=new Set,p=1;switch(h.suggest.snippets){case"top":p=0;break;case"bottom":p=2;break;case"none":f.add(25)}for(var g in h.suggest.filteredTypes){var v=Object(m.A)(g,!0);void 0!==v&&!1===h.suggest.filteredTypes[g]&&f.add(v)}var _=G.create(this._editorWorker,this._editor),b=Object(P.e)(c,this._editor.getPosition(),new P.a(p,f,n),u,this._requestToken.token);Promise.all([b,_]).then(function(t){var n=t[0],s=t[1];if(Object(a.f)(r._requestToken),0!==r._state&&r._editor.hasModel()){var u=r._editor.getModel();if(Object(o.n)(i)){var c=Object(P.d)(p);n=n.concat(i).sort(c)}var d=new Z(u,r._editor.getPosition(),l,e.shy);r._completionModel=new z(n,r._context.column,{leadingLineContent:d.leadingLineContent,characterCountDelta:d.column-r._context.column},s,r._editor.getConfiguration().contribInfo.suggest);for(var h=0,f=n;hthis._context.column&&this._completionModel.incomplete.size>0&&0!==e.leadingWord.word.length){var t=this._completionModel.incomplete,n=this._completionModel.adopt(t);this.trigger({auto:2===this._state,shy:!1},!0,t,n)}else{var i=this._completionModel.lineContext,r=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},0===this._completionModel.items.length){if(Z.shouldAutoTrigger(this._editor)&&this._context.leadingWord.endColumn0)&&0===e.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,auto:this._context.auto,shy:this._context.shy,isFrozen:r})}}else this.cancel()},e}(),X=(n("YUwp"),n("7/Cv")),$=n("SWdJ"),J=n("qecS"),Q=n("NqM+"),ee=n("3ciN"),te=n("Yqb6"),ne=n("eoic"),ie=n("L5KM"),re=n("VBCr"),oe=n("6TMp"),se=n("GsV8"),ae=n("tpa8"),ue=n("lapT"),ce=n("ZYUE"),le=n("9XyG");function de(e,t,n,i){var r=i===I.ROOT_FOLDER?["rootfolder-icon"]:i===I.FOLDER?["folder-icon"]:["file-icon"];if(n){var o;if(n.scheme===ue.b.data)o=ce.a.parseMetaData(n).get(ce.a.META_DATA_LABEL);else o=he(Object(ce.c)(n).toLowerCase());if(i===I.FOLDER)r.push(o+"-name-folder-icon");else{if(o){r.push(o+"-name-file-icon");for(var s=o.split("."),a=1;a=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},_e=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},be=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},ye=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0&&(c.extraClasses=(c.extraClasses||[]).concat(["deprecated"]),c.matches=[]),r.iconLabel.setLabel(s.label,void 0,c),r.typeLabel.textContent=(s.detail||"").replace(/\n.*$/m,""),ke(e)?(Object(X.Q)(r.readMore),r.readMore.onmousedown=function(e){e.stopPropagation(),e.preventDefault()},r.readMore.onclick=function(e){e.stopPropagation(),e.preventDefault(),i.widget.toggleDetails()}):(Object(X.D)(r.readMore),r.readMore.onmousedown=null,r.readMore.onclick=null)},e.prototype.disposeTemplate=function(e){e.disposables.dispose()},e=ve([_e(3,fe.a),_e(4,oe.a),_e(5,ne.c)],e)}(),Ee=function(){function e(e,t,n,i,r){var o=this;this.widget=t,this.editor=n,this.markdownRenderer=i,this.triggerKeybindingLabel=r,this.borderWidth=1,this.disposables=new a.b,this.el=Object(X.m)(e,Object(X.a)(".details")),this.disposables.add(Object(a.h)(function(){return e.removeChild(o.el)})),this.body=Object(X.a)(".body"),this.scrollbar=new J.a(this.body,{}),Object(X.m)(this.el,this.scrollbar.getDomNode()),this.disposables.add(this.scrollbar),this.header=Object(X.m)(this.body,Object(X.a)(".header")),this.close=Object(X.m)(this.header,Object(X.a)("span.close")),this.close.title=D.a("readLess","Read less...{0}",this.triggerKeybindingLabel),this.type=Object(X.m)(this.header,Object(X.a)("p.type")),this.docs=Object(X.m)(this.body,Object(X.a)("p.docs")),this.ariaLabel=null,this.configureFont(),j.b.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(function(e){return e.fontInfo}).on(this.configureFont,this,this.disposables),i.onDidRenderCodeBlock(function(){return o.scrollbar.scanDomNode()},this,this.disposables)}return Object.defineProperty(e.prototype,"element",{get:function(){return this.el},enumerable:!0,configurable:!0}),e.prototype.renderLoading=function(){this.type.textContent=D.a("loading","Loading..."),this.docs.textContent=""},e.prototype.renderItem=function(e,t){var n=this;this.renderDisposeable=Object(a.f)(this.renderDisposeable);var i=e.completion,r=i.documentation,o=i.detail;if(t){var s="";s+="score: "+e.score[0]+(e.word?", compared '"+(e.completion.filterText&&e.completion.filterText+" (filterText)"||e.completion.label)+"' with '"+e.word+"'":" (no prefix)")+"\n",s+="distance: "+e.distance+", see localityBonus-setting\n",s+="index: "+e.idx+", based on "+(e.completion.sortText&&'sortText: "'+e.completion.sortText+'"'||"label")+"\n",r=(new ge.a).appendCodeblock("empty",s),o="Provider: "+e.provider._debugDisplayName}if(!t&&!ke(e))return this.type.textContent="",this.docs.textContent="",Object(X.f)(this.el,"no-docs"),void(this.ariaLabel=null);if(Object(X.I)(this.el,"no-docs"),"string"==typeof r)Object(X.I)(this.docs,"markdown-docs"),this.docs.textContent=r;else{Object(X.f)(this.docs,"markdown-docs"),this.docs.innerHTML="";var u=this.markdownRenderer.render(r);this.renderDisposeable=u,this.docs.appendChild(u.element)}o?(this.type.innerText=o,Object(X.Q)(this.type)):(this.type.innerText="",Object(X.D)(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(),n.widget.toggleDetails()},this.body.scrollTop=0,this.scrollbar.scanDomNode(),this.ariaLabel=H.r("{0}{1}",o||"",r?"string"==typeof r?r:r.value:"")},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,n=e.contribInfo.suggestFontSize||e.fontInfo.fontSize,i=e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight,r=e.fontInfo.fontWeight,o=n+"px",s=i+"px";this.el.style.fontSize=o,this.el.style.fontWeight=r,this.type.style.fontFamily=t,this.close.style.height=s,this.close.style.width=s},e.prototype.dispose=function(){this.disposables.dispose(),this.renderDisposeable=Object(a.f)(this.renderDisposeable)},e}(),Ie=function(){function e(e,t,n,i,r,o,s,u,c){var l=this;this.editor=e,this.telemetryService=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.state=null,this.isAuto=!1,this.loadingTimeout=a.a.None,this.currentSuggestionDetails=null,this.ignoreFocusEvents=!1,this.completionModel=null,this.showTimeout=new v.e,this.toDispose=new a.b,this.onDidSelectEmitter=new j.a,this.onDidFocusEmitter=new j.a,this.onDidHideEmitter=new j.a,this.onDidShowEmitter=new j.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.firstFocusInCurrentList=!1,this.preferDocPositionTop=!1,this.docsPositionPreviousWidgetY=null,this.explainMode=!1,this._lastAriaAlertLabel=null;var d=o.lookupKeybinding("editor.action.triggerSuggest"),h=d?" ("+d.getLabel()+")":"",f=this.toDispose.add(new re.a(e,s,u));this.isAuto=!1,this.focusedItem=null,this.storageService=r,this.element=Object(X.a)(".editor-widget.suggest-widget"),this.toDispose.add(Object(X.h)(this.element,"click",function(e){e.target===l.element&&l.hideWidget()})),this.messageElement=Object(X.m)(this.element,Object(X.a)(".message")),this.listElement=Object(X.m)(this.element,Object(X.a)(".tree")),this.details=c.createInstance(Ee,this.element,this,this.editor,f,h);var p=function(){return Object(X.R)(l.element,"no-icons",!l.editor.getConfiguration().contribInfo.suggest.showIcons)};p();var g=c.createInstance(Ne,this,this.editor,h);this.list=new $.b(this.listElement,this,[g],{useShadows:!1,openController:{shouldOpen:function(){return!1}},mouseSupport:!1}),this.toDispose.add(Object(te.b)(this.list,i,{listInactiveFocusBackground:xe,listInactiveFocusOutline:ie.b})),this.toDispose.add(i.onThemeChange(function(e){return l.onThemeChange(e)})),this.toDispose.add(e.onDidLayoutChange(function(){return l.onEditorLayoutChange()})),this.toDispose.add(this.list.onMouseDown(function(e){return l.onListMouseDown(e)})),this.toDispose.add(this.list.onSelectionChange(function(e){return l.onListSelection(e)})),this.toDispose.add(this.list.onFocusChange(function(e){return l.onListFocus(e)})),this.toDispose.add(this.editor.onDidChangeCursorSelection(function(){return l.onCursorSelectionChanged()})),this.toDispose.add(this.editor.onDidChangeConfiguration(function(e){return e.contribInfo&&p()})),this.suggestWidgetVisible=P.b.Visible.bindTo(n),this.suggestWidgetMultipleSuggestions=P.b.MultipleSuggestions.bindTo(n),this.editor.addContentWidget(this),this.setState(0),this.onThemeChange(i.getTheme())}return e.prototype.onCursorSelectionChanged=function(){0!==this.state&&this.editor.layoutContentWidget(this)},e.prototype.onEditorLayoutChange=function(){3!==this.state&&5!==this.state||!this.expandDocsSettingFromStorage()||this.expandSideOrBelow()},e.prototype.onListMouseDown=function(e){void 0!==e.element&&void 0!==e.index&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this.select(e.element,e.index))},e.prototype.onListSelection=function(e){e.elements.length&&this.select(e.elements[0],e.indexes[0])},e.prototype.select=function(e,t){var n=this.completionModel;n&&(this.onDidSelectEmitter.fire({item:e,index:t,model:n}),this.editor.focus())},e.prototype._getSuggestionAriaAlertLabel=function(e){return this.expandDocsSettingFromStorage()?D.a("ariaCurrenttSuggestionReadDetails","Item {0}, docs: {1}",e.completion.label,this.details.getAriaLabel()):e.completion.label},e.prototype._ariaAlert=function(e){this._lastAriaAlertLabel!==e&&(this._lastAriaAlertLabel=e,this._lastAriaAlertLabel&&Object(r.a)(this._lastAriaAlertLabel,!0))},e.prototype.onThemeChange=function(e){var t=e.getColor(we);t&&(this.listElement.style.backgroundColor=t.toString(),this.details.element.style.backgroundColor=t.toString(),this.messageElement.style.backgroundColor=t.toString());var n=e.getColor(Ce);n&&(this.listElement.style.borderColor=n.toString(),this.details.element.style.borderColor=n.toString(),this.messageElement.style.borderColor=n.toString(),this.detailsBorderColor=n.toString());var i=e.getColor(ie.S);i&&(this.detailsFocusBorderColor=i.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);if(this.completionModel){var n=e.elements[0],i=e.indexes[0];this.firstFocusInCurrentList=!this.focusedItem,n!==this.focusedItem&&(this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null),this.focusedItem=n,this.list.reveal(i),this.currentSuggestionDetails=Object(v.f)(function(e){return be(t,void 0,void 0,function(){var t,i,r=this;return ye(this,function(o){switch(o.label){case 0:return t=Object(v.g)(function(){return r.showDetails(!0)},250),e.onCancellationRequested(function(){return t.dispose()}),[4,n.resolve(e)];case 1:return i=o.sent(),t.dispose(),[2,i]}})})}),this.currentSuggestionDetails.then(function(){i>=t.list.length||n!==t.list.element(i)||(t.ignoreFocusEvents=!0,t.list.splice(i,1,[n]),t.list.setFocus([i]),t.ignoreFocusEvents=!1,t.expandDocsSettingFromStorage()?t.showDetails(!1):Object(X.I)(t.element,"docs-side"),t._ariaAlert(t._getSuggestionAriaAlertLabel(n)))}).catch(s.e)),this.onDidFocusEmitter.fire({item:n,index:i,model:this.completionModel})}}},e.prototype.setState=function(t){if(this.element){var n=this.state!==t;switch(this.state=t,Object(X.R)(this.element,"frozen",4===t),t){case 0:Object(X.D)(this.messageElement,this.details.element,this.listElement),this.hide(),this.listHeight=0,n&&this.list.splice(0,this.list.length),this.focusedItem=null;break;case 1:this.messageElement.textContent=e.LOADING_MESSAGE,Object(X.D)(this.listElement,this.details.element),Object(X.Q)(this.messageElement),Object(X.I)(this.element,"docs-side"),this.show(),this.focusedItem=null;break;case 2:this.messageElement.textContent=e.NO_SUGGESTIONS_MESSAGE,Object(X.D)(this.listElement,this.details.element),Object(X.Q)(this.messageElement),Object(X.I)(this.element,"docs-side"),this.show(),this.focusedItem=null;break;case 3:case 4:Object(X.D)(this.messageElement),Object(X.Q)(this.listElement),this.show();break;case 5:Object(X.D)(this.messageElement),Object(X.Q)(this.details.element,this.listElement),this.show(),this._ariaAlert(this.details.getAriaLabel())}}},e.prototype.showTriggered=function(e,t){var n=this;0===this.state&&(this.isAuto=!!e,this.isAuto||(this.loadingTimeout=Object(v.g)(function(){return n.setState(1)},t)))},e.prototype.showSuggestions=function(e,t,n,i){if(this.preferDocPositionTop=!1,this.docsPositionPreviousWidgetY=null,this.loadingTimeout.dispose(),this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null),this.completionModel!==e&&(this.completionModel=e),n&&2!==this.state&&0!==this.state)this.setState(4);else{var r=this.completionModel.items.length,o=0===r;if(this.suggestWidgetMultipleSuggestions.set(r>1),o)i?this.setState(0):this.setState(2),this.completionModel=null;else{if(3!==this.state){var s=this.completionModel.stats;s.wasAutomaticallyTriggered=!!i,this.telemetryService.publicLog("suggestWidget",me({},s))}this.focusedItem=null,this.list.splice(0,this.list.length,this.completionModel.items),n?this.setState(4):this.setState(3),this.list.reveal(t,0),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&&this.completionModel)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.publicLog2("suggestWidget:toggleDetailsFocus")},e.prototype.toggleDetails=function(){if(ke(this.list.getFocusedElements()[0]))if(this.expandDocsSettingFromStorage())this.updateExpandDocsSetting(!1),Object(X.D)(this.details.element),Object(X.I)(this.element,"docs-side"),Object(X.I)(this.element,"docs-below"),this.editor.layoutContentWidget(this),this.telemetryService.publicLog2("suggestWidget:collapseDetails");else{if(3!==this.state&&5!==this.state&&4!==this.state)return;this.updateExpandDocsSetting(!0),this.showDetails(!1),this._ariaAlert(this.details.getAriaLabel()),this.telemetryService.publicLog2("suggestWidget:expandDetails")}},e.prototype.showDetails=function(e){this.expandSideOrBelow(),Object(X.Q)(this.details.element),this.details.element.style.maxHeight=this.maxWidgetHeight+"px",e?this.details.renderLoading():this.details.renderItem(this.list.getFocusedElements()[0],this.explainMode),this.listElement.style.marginTop="0px",this.editor.layoutContentWidget(this),this.adjustDocsPosition(),this.editor.focus()},e.prototype.toggleExplainMode=function(){this.list.getFocusedElements()[0]&&this.expandDocsSettingFromStorage()&&(this.explainMode=!this.explainMode,this.showDetails(!1))},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(X.f)(e.element,"visible"),e.onDidShowEmitter.fire(e)},100)},e.prototype.hide=function(){this.suggestWidgetVisible.reset(),this.suggestWidgetMultipleSuggestions.reset(),Object(X.I)(this.element,"visible")},e.prototype.hideWidget=function(){this.loadingTimeout.dispose(),this.setState(0),this.onDidHideEmitter.fire(this)},e.prototype.getPosition=function(){if(0===this.state)return null;var e=[2,1];return this.preferDocPositionTop&&(e=[1]),{position:this.editor.getPosition(),preference:e}},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,n=this.editor.getConfiguration().contribInfo.suggest.maxVisibleSuggestions;e=Math.min(t,n)*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(){if(this.editor.hasModel()){var e=this.editor.getConfiguration().fontInfo.lineHeight,t=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),n=Object(X.x)(this.editor.getDomNode()),i=n.left+t.left,r=n.top+t.top+t.height,o=Object(X.x)(this.element),s=o.left,a=o.top;if(this.docsPositionPreviousWidgetY&&this.docsPositionPreviousWidgetYa&&this.details.element.offsetHeight>this.listElement.offsetHeight&&(this.listElement.style.marginTop=this.details.element.offsetHeight-this.listElement.offsetHeight+"px")}},e.prototype.expandSideOrBelow=function(){if(!ke(this.focusedItem)&&this.firstFocusInCurrentList)return Object(X.I)(this.element,"docs-side"),void Object(X.I)(this.element,"docs-below");var e=this.element.style.maxWidth.match(/(\d+)px/);!e||Number(e[1])=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Te=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Pe=function(e){function t(n,i){var r=e.call(this)||this;return r._editor=n,r._enabled=!1,r._ckAtEnd=t.AtEnd.bindTo(i),r._register(r._editor.onDidChangeConfiguration(function(e){return e.contribInfo&&r._update()})),r._update(),r}return De(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),Object(a.f)(this._selectionListener),this._ckAtEnd.reset()},t.prototype._update=function(){var e=this,t="on"===this._editor.getConfiguration().contribInfo.tabCompletion;if(this._enabled!==t)if(this._enabled=t,this._enabled){var n=function(){if(e._editor.hasModel()){var t=e._editor.getModel(),n=e._editor.getSelection(),i=t.getWordAtPosition(n.getStartPosition());i?e._ckAtEnd.set(i.endColumn===n.getStartPosition().column):e._ckAtEnd.set(!1)}else e._ckAtEnd.set(!1)};this._selectionListener=this._editor.onDidChangeCursorSelection(n),n()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)},t.AtEnd=new T.d("atEndOfWord",!1),t=Me([Te(1,T.c)],t)}(a.a),Ae=n("606G"),Re=n("KIxu"),Fe=n("GfE5"),je=function(){function e(e,t,n){var i=this;this._disposables=new a.b,this._disposables.add(t.onDidShow(function(){return i._onItem(t.getFocusedItem())})),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(function(t){if(i._active){var r=t.charCodeAt(t.length-1);i._active.acceptCharacters.has(r)&&e.getConfiguration().contribInfo.acceptSuggestionOnCommitCharacter&&n(i._active.item)}}))}return e.prototype._onItem=function(e){if(e&&Object(o.n)(e.item.completion.commitCharacters)){if(!this._active||this._active.item.item!==e.item){for(var t=new Fe.b,n=0,i=e.item.completion.commitCharacters;n0&&t.add(r.charCodeAt(0))}this._active={acceptCharacters:t,item:e}}}else this.reset()},e.prototype.reset=function(){this._active=void 0},e.prototype.dispose=function(){this._disposables.dispose()},e}();n.d(t,"SuggestController",function(){return Ke}),n.d(t,"TriggerSuggestAction",function(){return qe});var We=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Be=this&&this.__assign||function(){return(Be=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},He=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ze=!1,Ue=function(){function e(e,t){if(this._model=e,this._position=t,e.getLineMaxColumn(t.lineNumber)!==t.column){var n=e.getOffsetAt(t),i=e.getPositionAt(n+1);this._marker=e.deltaDecorations([],[{range:l.a.fromPositions(t,i),options:{stickiness:1}}])}}return e.prototype.dispose=function(){this._marker&&!this._model.isDisposed()&&this._model.deltaDecorations(this._marker,[])},e.prototype.delta=function(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){var t=this._model.getDecorationRange(this._marker[0]);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}return this._model.getLineMaxColumn(e.lineNumber)-e.column},e}(),Ke=function(){function e(e,t,n,i,r,o){var s=this;this._editor=e,this._memoryService=n,this._commandService=i,this._contextKeyService=r,this._instantiationService=o,this._lineSuffix=new a.d,this._toDispose=new a.b,this._model=new Y(this._editor,t),this._widget=new v.b(function(){var e=s._instantiationService.createInstance(Ie,s._editor);s._toDispose.add(e),s._toDispose.add(e.onDidSelect(function(e){return s._insertSuggestion(e,!1,!0)},s));var t=new je(s._editor,e,function(e){return s._insertSuggestion(e,!1,!0)});s._toDispose.add(t),s._toDispose.add(s._model.onDidSuggest(function(e){0===e.completionModel.items.length&&t.reset()}));var n=P.b.MakesTextEdit.bindTo(s._contextKeyService);return s._toDispose.add(e.onDidFocus(function(e){var t=e.item,i=s._editor.getPosition(),r=t.completion.range.startColumn,o=i.column,a=!0;"smart"!==s._editor.getConfiguration().contribInfo.acceptSuggestionOnEnter||2!==s._model.state||t.completion.command||t.completion.additionalTextEdits||4&t.completion.insertTextRules||o-r!==t.completion.insertText.length||(a=s._editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:r,endLineNumber:i.lineNumber,endColumn:o})!==t.completion.insertText);n.set(a)})),s._toDispose.add(Object(a.h)(function(){return n.reset()})),e}),this._alternatives=new v.b(function(){return s._toDispose.add(new F(s._editor,s._contextKeyService))}),this._toDispose.add(o.createInstance(Pe,e)),this._toDispose.add(this._model.onDidTrigger(function(e){s._widget.getValue().showTriggered(e.auto,e.shy?250:50),s._lineSuffix.value=new Ue(s._editor.getModel(),e.position)})),this._toDispose.add(this._model.onDidSuggest(function(e){if(!e.shy){var t=s._memoryService.select(s._editor.getModel(),s._editor.getPosition(),e.completionModel.items);s._widget.getValue().showSuggestions(e.completionModel,t,e.isFrozen,e.auto)}})),this._toDispose.add(this._model.onDidCancel(function(e){e.retrigger||s._widget.getValue().hideWidget()})),this._toDispose.add(this._editor.onDidBlurEditorWidget(function(){ze||(s._model.cancel(),s._model.clear())}));var u=P.b.AcceptSuggestionsOnEnter.bindTo(r),c=function(){var e=s._editor.getConfiguration().contribInfo.acceptSuggestionOnEnter;u.set("on"===e||"smart"===e)};this._toDispose.add(this._editor.onDidChangeConfiguration(function(){return c()})),c()}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._alternatives.dispose(),this._toDispose.dispose(),this._widget.dispose(),this._model.dispose(),this._lineSuffix.dispose()},e.prototype._insertSuggestion=function(e,t,n){var i,r=this;if(!e||!e.item)return this._alternatives.getValue().reset(),this._model.cancel(),void this._model.clear();if(this._editor.hasModel()){var o=this._editor.getModel(),a=o.getAlternativeVersionId(),u=e.item,d=u.completion,p=u.position,g=this._editor.getPosition().column-p.column;n&&this._editor.pushUndoStop(),Array.isArray(d.additionalTextEdits)&&this._editor.executeEdits("suggestController.additionalTextEdits",d.additionalTextEdits.map(function(e){return c.a.replace(l.a.lift(e.range),e.text)})),this._memoryService.memorize(o,this._editor.getPosition(),e.item);var m=d.insertText;4&d.insertTextRules||(m=f.c.escape(m));var v=p.column-d.range.startColumn,_=d.range.endColumn-p.column,b=this._lineSuffix.value?this._lineSuffix.value.delta(this._editor.getPosition()):0;h.SnippetController2.get(this._editor).insert(m,{overwriteBefore:v+g,overwriteAfter:_+b,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(1&d.insertTextRules)}),n&&this._editor.pushUndoStop(),d.command?d.command.id===qe.id?this._model.trigger({auto:!0,shy:!1},!0):((i=this._commandService).executeCommand.apply(i,[d.command.id].concat(d.command.arguments?d.command.arguments.slice():[])).catch(s.e).finally(function(){return r._model.clear()}),this._model.cancel()):(this._model.cancel(),this._model.clear()),t&&this._alternatives.getValue().set(e,function(e){for(;o.canUndo();){a!==o.getAlternativeVersionId()&&o.undo(),r._insertSuggestion(e,!1,!1);break}}),this._alertCompletionItem(e.item)}},e.prototype._alertCompletionItem=function(e){var t=e.completion;if(Object(o.n)(t.additionalTextEdits)){var n=D.a("arai.alert.snippet","Accepting '{0}' made {1} additional edits",t.label,t.additionalTextEdits.length);Object(r.a)(n)}},e.prototype.triggerSuggest=function(e){this._editor.hasModel()&&(this._model.trigger({auto:!1,shy:!1},!1,e),this._editor.revealLine(this._editor.getPosition().lineNumber,0),this._editor.focus())},e.prototype.triggerSuggestAndAcceptBest=function(e){var t=this;if(this._editor.hasModel()){var n=this._editor.getPosition(),i=function(){n.equals(t._editor.getPosition())&&t._commandService.executeCommand(e.fallback)};j.b.once(this._model.onDidTrigger)(function(e){var n=[];j.b.any(t._model.onDidTrigger,t._model.onDidCancel)(function(){Object(a.f)(n),i()},void 0,n),t._model.onDidSuggest(function(e){var r=e.completionModel;if(Object(a.f)(n),0!==r.items.length){var o=t._memoryService.select(t._editor.getModel(),t._editor.getPosition(),r.items),s=r.items[o];!function(e){if(4&e.completion.insertTextRules||e.completion.additionalTextEdits)return!0;var n=t._editor.getPosition(),i=e.completion.range.startColumn,r=n.column;return r-i!==e.completion.insertText.length||t._editor.getModel().getValueInRange({startLineNumber:n.lineNumber,startColumn:i,endLineNumber:n.lineNumber,endColumn:r})!==e.completion.insertText}(s)?i():(t._editor.pushUndoStop(),t._insertSuggestion({index:o,item:s,model:r},!0,!1))}else i()},void 0,n)}),this._model.trigger({auto:!1,shy:!0}),this._editor.revealLine(n.lineNumber,0),this._editor.focus()}},e.prototype.acceptSelectedSuggestion=function(e){var t=this._widget.getValue().getFocusedItem();this._insertSuggestion(t,!!e,!0)},e.prototype.acceptNextSuggestion=function(){this._alternatives.getValue().next()},e.prototype.acceptPrevSuggestion=function(){this._alternatives.getValue().prev()},e.prototype.cancelSuggestWidget=function(){this._model.cancel(),this._model.clear(),this._widget.getValue().hideWidget()},e.prototype.selectNextSuggestion=function(){this._widget.getValue().selectNext()},e.prototype.selectNextPageSuggestion=function(){this._widget.getValue().selectNextPage()},e.prototype.selectLastSuggestion=function(){this._widget.getValue().selectLast()},e.prototype.selectPrevSuggestion=function(){this._widget.getValue().selectPrevious()},e.prototype.selectPrevPageSuggestion=function(){this._widget.getValue().selectPreviousPage()},e.prototype.selectFirstSuggestion=function(){this._widget.getValue().selectFirst()},e.prototype.toggleSuggestionDetails=function(){this._widget.getValue().toggleDetails()},e.prototype.toggleExplainMode=function(){this._widget.getValue().toggleExplainMode()},e.prototype.toggleSuggestionFocus=function(){this._widget.getValue().toggleDetailsFocus()},e.ID="editor.contrib.suggestController",e=Ve([He(1,Ae.a),He(2,E),He(3,M.b),He(4,T.c),He(5,_.a)],e)}(),qe=function(e){function t(){return e.call(this,{id:t.id,label:D.a("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:T.a.and(d.a.writable,d.a.hasCompletionItemProvider),kbOpts:{kbExpr:d.a.textInputFocus,primary:2058,mac:{primary:266},weight:100}})||this}return We(t,e),t.prototype.run=function(e,t){var n=Ke.get(t);n&&n.triggerSuggest()},t.id="editor.action.triggerSuggest",t}(u.b);Object(u.h)(Ke),Object(u.f)(qe);var Ge=u.c.bindToContribution(Ke.get);Object(u.g)(new Ge({id:"acceptSelectedSuggestion",precondition:P.b.Visible,handler:function(e){return e.acceptSelectedSuggestion(!0)},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:2}})),Object(u.g)(new Ge({id:"acceptSelectedSuggestionOnEnter",precondition:P.b.Visible,handler:function(e){return e.acceptSelectedSuggestion(!1)},kbOpts:{weight:190,kbExpr:T.a.and(d.a.textInputFocus,P.b.AcceptSuggestionsOnEnter,P.b.MakesTextEdit),primary:3}})),Object(u.g)(new Ge({id:"hideSuggestWidget",precondition:P.b.Visible,handler:function(e){return e.cancelSuggestWidget()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:9,secondary:[1033]}})),Object(u.g)(new Ge({id:"selectNextSuggestion",precondition:T.a.and(P.b.Visible,P.b.MultipleSuggestions),handler:function(e){return e.selectNextSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),Object(u.g)(new Ge({id:"selectNextPageSuggestion",precondition:T.a.and(P.b.Visible,P.b.MultipleSuggestions),handler:function(e){return e.selectNextPageSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:12,secondary:[2060]}})),Object(u.g)(new Ge({id:"selectLastSuggestion",precondition:T.a.and(P.b.Visible,P.b.MultipleSuggestions),handler:function(e){return e.selectLastSuggestion()}})),Object(u.g)(new Ge({id:"selectPrevSuggestion",precondition:T.a.and(P.b.Visible,P.b.MultipleSuggestions),handler:function(e){return e.selectPrevSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),Object(u.g)(new Ge({id:"selectPrevPageSuggestion",precondition:T.a.and(P.b.Visible,P.b.MultipleSuggestions),handler:function(e){return e.selectPrevPageSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:11,secondary:[2059]}})),Object(u.g)(new Ge({id:"selectFirstSuggestion",precondition:T.a.and(P.b.Visible,P.b.MultipleSuggestions),handler:function(e){return e.selectFirstSuggestion()}})),Object(u.g)(new Ge({id:"toggleSuggestionDetails",precondition:P.b.Visible,handler:function(e){return e.toggleSuggestionDetails()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:2058,mac:{primary:266}}})),Object(u.g)(new Ge({id:"toggleExplainMode",precondition:P.b.Visible,handler:function(e){return e.toggleExplainMode()},kbOpts:{weight:100,primary:2133}})),Object(u.g)(new Ge({id:"toggleSuggestionFocus",precondition:P.b.Visible,handler:function(e){return e.toggleSuggestionFocus()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:2570,mac:{primary:778}}})),Object(u.g)(new Ge({id:"insertBestCompletion",precondition:T.a.and(T.a.equals("config.editor.tabCompletion","on"),Pe.AtEnd,P.b.Visible.toNegated(),F.OtherSuggestions.toNegated(),h.SnippetController2.InSnippetMode.toNegated()),handler:function(e,t){e.triggerSuggestAndAcceptBest(Object(Re.h)(t)?Be({fallback:"tab"},t):{fallback:"tab"})},kbOpts:{weight:190,primary:2}})),Object(u.g)(new Ge({id:"insertNextSuggestion",precondition:T.a.and(T.a.equals("config.editor.tabCompletion","on"),F.OtherSuggestions,P.b.Visible.toNegated(),h.SnippetController2.InSnippetMode.toNegated()),handler:function(e){return e.acceptNextSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:2}})),Object(u.g)(new Ge({id:"insertPrevSuggestion",precondition:T.a.and(T.a.equals("config.editor.tabCompletion","on"),F.OtherSuggestions,P.b.Visible.toNegated(),h.SnippetController2.InSnippetMode.toNegated()),handler:function(e){return e.acceptPrevSuggestion()},kbOpts:{weight:190,kbExpr:d.a.textInputFocus,primary:1026}}))},"7dSG":function(e,t,n){"use strict";(function(t,i){var r=n("ypnx");function o(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var i=e.entry;e.entry=null;for(;i;){var r=i.callback;t.pendingcb--,r(n),i=i.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=v;var s,a=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?setImmediate:r.nextTick;v.WritableState=m;var u=n("jOgh");u.inherits=n("LC74");var c={deprecate:n("iP15")},l=n("UcPO"),d=n("kkc6").Buffer,h=i.Uint8Array||function(){};var f,p=n("x0Ha");function g(){}function m(e,t){s=s||n("DsFX"),e=e||{};var i=t instanceof s;this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var u=e.highWaterMark,c=e.writableHighWaterMark,l=this.objectMode?16:16384;this.highWaterMark=u||0===u?u:i&&(c||0===c)?c:l,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 d=!1===e.decodeStrings;this.decodeStrings=!d,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 n=e._writableState,i=n.sync,o=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,i,o){--t.pendingcb,n?(r.nextTick(o,i),r.nextTick(S,e,t),e._writableState.errorEmitted=!0,e.emit("error",i)):(o(i),e._writableState.errorEmitted=!0,e.emit("error",i),S(e,t))}(e,n,i,t,o);else{var s=w(n);s||n.corked||n.bufferProcessing||!n.bufferedRequest||y(e,n),i?a(b,e,n,s,o):b(e,n,s,o)}}(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 o(this)}function v(e){if(s=s||n("DsFX"),!(f.call(v,this)||this instanceof s))return new v(e);this._writableState=new m(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)),l.call(this)}function _(e,t,n,i,r,o,s){t.writelen=i,t.writecb=s,t.writing=!0,t.sync=!0,n?e._writev(r,t.onwrite):e._write(r,o,t.onwrite),t.sync=!1}function b(e,t,n,i){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,i(),S(e,t)}function y(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var i=t.bufferedRequestCount,r=new Array(i),s=t.corkedRequestsFree;s.entry=n;for(var a=0,u=!0;n;)r[a]=n,n.isBuf||(u=!1),n=n.next,a+=1;r.allBuffers=u,_(e,t,!0,t.length,r,"",s.finish),t.pendingcb++,t.lastBufferedRequest=null,s.next?(t.corkedRequestsFree=s.next,s.next=null):t.corkedRequestsFree=new o(t),t.bufferedRequestCount=0}else{for(;n;){var c=n.chunk,l=n.encoding,d=n.callback;if(_(e,t,!1,t.objectMode?1:c.length,c,l,d),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function w(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function C(e,t){e._final(function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),S(e,t)})}function S(e,t){var n=w(t);return n&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,r.nextTick(C,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}u.inherits(v,l),m.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(m.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]?(f=Function.prototype[Symbol.hasInstance],Object.defineProperty(v,Symbol.hasInstance,{value:function(e){return!!f.call(this,e)||this===v&&(e&&e._writableState instanceof m)}})):f=function(e){return e instanceof this},v.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},v.prototype.write=function(e,t,n){var i,o=this._writableState,s=!1,a=!o.objectMode&&(i=e,d.isBuffer(i)||i instanceof h);return a&&!d.isBuffer(e)&&(e=function(e){return d.from(e)}(e)),"function"==typeof t&&(n=t,t=null),a?t="buffer":t||(t=o.defaultEncoding),"function"!=typeof n&&(n=g),o.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),r.nextTick(t,n)}(this,n):(a||function(e,t,n,i){var o=!0,s=!1;return null===n?s=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),r.nextTick(i,s),o=!1),o}(this,o,e,n))&&(o.pendingcb++,s=function(e,t,n,i,r,o){if(!n){var s=function(e,t,n){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=d.from(t,n));return t}(t,i,r);i!==s&&(n=!0,r="buffer",i=s)}var a=t.objectMode?1:i.length;t.length+=a;var u=t.length-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(v.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),v.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},v.prototype._writev=null,v.prototype.end=function(e,t,n){var i=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!==e&&void 0!==e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||function(e,t,n){t.ending=!0,S(e,t),n&&(t.finished?r.nextTick(n):e.once("finish",n));t.ended=!0,e.writable=!1}(this,i,n)},Object.defineProperty(v.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),v.prototype.destroy=p.destroy,v.prototype._undestroy=p.undestroy,v.prototype._destroy=function(e,t){this.end(),t(e)}}).call(t,n("W2nU"),n("DuR2"))},"7flL":function(e,t,n){var i=n("q5VG"),r=n("X3l8").Buffer,o=n("VI/i"),s=n("annC"),a=n("OMJi"),u="secret must be a string or buffer",c="key must be a string or a buffer",l="key must be a string, a buffer or an object",d="function"==typeof o.createPublicKey;function h(e){if(!r.isBuffer(e)&&"string"!=typeof e){if(!d)throw m(c);if("object"!=typeof e)throw m(c);if("string"!=typeof e.type)throw m(c);if("string"!=typeof e.asymmetricKeyType)throw m(c);if("function"!=typeof e.export)throw m(c)}}function f(e){if(!r.isBuffer(e)&&"string"!=typeof e&&"object"!=typeof e)throw m(l)}function p(e){return e.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function g(e){var t=4-(e=e.toString()).length%4;if(4!==t)for(var n=0;n=0){var n=e.split("!=");return d.create(n[0].trim(),this._deserializeValue(n[1],t))}if(e.indexOf("==")>=0){n=e.split("==");return l.create(n[0].trim(),this._deserializeValue(n[1],t))}if(e.indexOf("=~")>=0){n=e.split("=~");return f.create(n[0].trim(),this._deserializeRegexValue(n[1],t))}return/^\!\s*/.test(e)?h.create(e.substr(1).trim()):c.create(e)},e._deserializeValue=function(e,t){if("true"===(e=e.trim()))return!0;if("false"===e)return!1;var n=/^'([^']*)'$/.exec(e);return n?n[1].trim():e},e._deserializeRegexValue=function(e,t){if(Object(r.u)(e)){if(t)throw new Error("missing regexp-value for =~-expression");return console.warn("missing regexp-value for =~-expression"),null}var n=e.indexOf("/"),i=e.lastIndexOf("/");if(n===i||n<0){if(t)throw new Error("bad regexp-value '"+e+"', missing /-enclosure");return console.warn("bad regexp-value '"+e+"', missing /-enclosure"),null}var o=e.slice(n+1,i),s="i"===e[i+1]?"i":"";try{return new RegExp(o,s)}catch(n){if(t)throw new Error("bad regexp-value '"+e+"', parse error: "+n);return console.warn("bad regexp-value '"+e+"', parse error: "+n),null}},e}();function u(e,t){var n=e.getType(),i=t.getType();if(n!==i)return n-i;switch(n){case 1:case 2:case 3:case 4:case 6:case 7:case 5:return e.cmp(t);default:throw new Error("Unknown ContextKeyExpr!")}}var c=function(){function e(e){this.key=e}return e.create=function(t){return new e(t)},e.prototype.getType=function(){return 1},e.prototype.cmp=function(e){return this.keye.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.keys=function(){return[this.key]},e.prototype.negate=function(){return h.create(this.key)},e}(),l=function(){function e(e,t){this.key=e,this.value=t}return e.create=function(t,n){return"boolean"==typeof n?n?c.create(t):h.create(t):new e(t,n)},e.prototype.getType=function(){return 3},e.prototype.cmp=function(e){return this.keye.key?1:this.valuee.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.keys=function(){return[this.key]},e.prototype.negate=function(){return d.create(this.key,this.value)},e}(),d=function(){function e(e,t){this.key=e,this.value=t}return e.create=function(t,n){return"boolean"==typeof n?n?h.create(t):c.create(t):new e(t,n)},e.prototype.getType=function(){return 4},e.prototype.cmp=function(e){return this.keye.key?1:this.valuee.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.keys=function(){return[this.key]},e.prototype.negate=function(){return l.create(this.key,this.value)},e}(),h=function(){function e(e){this.key=e}return e.create=function(t){return new e(t)},e.prototype.getType=function(){return 2},e.prototype.cmp=function(e){return this.keye.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.keys=function(){return[this.key]},e.prototype.negate=function(){return c.create(this.key)},e}(),f=function(){function e(e,t){this.key=e,this.regexp=t}return e.create=function(t,n){return new e(t,n)},e.prototype.getType=function(){return 6},e.prototype.cmp=function(e){if(this.keye.key)return 1;var t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return tn?1:0},e.prototype.equals=function(t){if(t instanceof e){var n=this.regexp?this.regexp.source:"",i=t.regexp?t.regexp.source:"";return this.key===t.key&&n===i}return!1},e.prototype.evaluate=function(e){var t=e.getValue(this.key);return!!this.regexp&&this.regexp.test(t)},e.prototype.keys=function(){return[this.key]},e.prototype.negate=function(){return p.create(this)},e}(),p=function(){function e(e){this._actual=e}return e.create=function(t){return new e(t)},e.prototype.getType=function(){return 7},e.prototype.cmp=function(e){return this._actual.cmp(e._actual)},e.prototype.equals=function(t){return t instanceof e&&this._actual.equals(t._actual)},e.prototype.evaluate=function(e){return!this._actual.evaluate(e)},e.prototype.keys=function(){return this._actual.keys()},e.prototype.negate=function(){return this._actual},e}(),g=function(){function e(e){this.expr=e}return e.create=function(t){var n=e._normalizeArr(t);if(0!==n.length)return 1===n.length?n[0]:new e(n)},e.prototype.getType=function(){return 5},e.prototype.cmp=function(e){if(this.expr.lengthe.expr.length)return 1;for(var t=0,n=this.expr.length;t1;){for(var s=t.shift(),u=t.shift(),c=[],l=0,d=o(s);l0&&(n._decorations=n._editor.deltaDecorations(n._decorations,[])),n._updateBracketsSoon.schedule()})),n}return _(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.jumpToBracket=function(){if(this._editor.hasModel()){var e=this._editor.getModel(),t=this._editor.getSelections().map(function(t){var n=t.getStartPosition(),i=e.matchBracket(n),r=null;if(i)i[0].containsPosition(n)?r=i[1].getStartPosition():i[1].containsPosition(n)&&(r=i[0].getStartPosition());else{var o=e.findNextBracket(n);o&&o.range&&(r=o.range.getStartPosition())}return r?new l.a(r.lineNumber,r.column,r.lineNumber,r.column):new l.a(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}},t.prototype.selectToBracket=function(){if(this._editor.hasModel()){var e=this._editor.getModel(),t=[];this._editor.getSelections().forEach(function(n){var i=n.getStartPosition(),r=e.matchBracket(i),o=null,s=null;if(!r){var a=e.findNextBracket(i);a&&a.range&&(r=e.matchBracket(a.range.getStartPosition()))}r&&(r[0].startLineNumber===r[1].startLineNumber?(o=r[1].startColumn0&&(this._editor.setSelections(t),this._editor.revealRange(t[0]))}},t.prototype._updateBrackets=function(){if(this._matchBrackets){this._recomputeBrackets();for(var e=[],n=0,i=0,r=this._lastBracketsData.length;i1&&r.sort(c.a.compare);var l=[],d=0,h=0,f=n.length;for(s=0,a=r.length;s0&&void 0!==arguments[0]&&arguments[0];var e=[].concat(r()(this.provider));return"sql"===this.lang&&e.push.apply(e,r()(this.sqlHints)),e},registerCustomHintsProvider:function(){var e=this;this.providerDisposeID=o.languages.registerCompletionItemProvider(this.lang,{provideCompletionItems:function(t,n,i){var r=t.getWordUntilPosition(n);return{suggestions:function(e,t,n){n.word;var i=[];return e.length&&(i=e.map(function(e){return{label:e.name,kind:e.type?o.languages.CompletionItemKind[e.type]:o.languages.CompletionItemKind.Function,documentation:e.documentation,insertText:(n=e.name,n),detail:e.detail||"EMQX",range:t};var n})),i}(e.getHints(r),{startLineNumber:n.lineNumber,endLineNumber:n.lineNumber,startColumn:r.startColumn,endColumn:r.endColumn},r)}},triggerCharacters:[" "]})},registerCustomHoverProvider:function(){var e=this;o.languages.register({id:this.lang}),this.hoverDisposeID=o.languages.registerHoverProvider(this.lang,{provideHover:function(t,n){if(!t.getWordAtPosition(n))return{};var i,r,o,s=t.getWordAtPosition(n).word;return{contents:(i=s,r=e.provider,o=[],r.forEach(function(e){var t=e.name;e.name.match(/\$events\//)&&(t=e.name.split("/")[1].replace('"',"")),i===t&&o.push({value:function(e){var t=e.name,n=e.default,i=e.valueType;return i&&(t=t+": "+i),n?t+", value: "+n:t}(e)},{value:e.documentation})}),o)}}})}},mounted:function(){this.initEditor()},created:function(){var e=this;this.defineTheme(),window.onresize=function(){e.editor&&e.editor.layout()},this.provider.length&&(this.registerCustomHintsProvider(),this.registerCustomHoverProvider())},beforeDestroy:function(){this.editor&&(this.editor.getModel().dispose(),this.editor.dispose(),this.editor=null),this.providerDisposeID&&this.providerDisposeID.dispose(),this.hoverDisposeID&&this.hoverDisposeID.dispose()}},c={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"monaco-view",attrs:{id:"monaco-"+this.id}})},staticRenderFns:[]};var l=n("VU/8")(u,c,!1,function(e){n("u9OF")},null,null);t.a=l.exports},"9Io0":function(e,t,n){var i=n("X3l8").Buffer,r=n("sDkV"),o=n("7flL"),s=n("9DG0"),a=n("nOGB"),u=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function c(e){if(function(e){return"[object Object]"===Object.prototype.toString.call(e)}(e))return e;try{return JSON.parse(e)}catch(e){return}}function l(e){var t=e.split(".",1)[0];return c(i.from(t,"base64").toString("binary"))}function d(e){return e.split(".")[2]}function h(e){return u.test(e)&&!!l(e)}function f(e,t,n){if(!t){var i=new Error("Missing algorithm parameter for jws.verify");throw i.code="MISSING_ALGORITHM",i}var r=d(e=a(e)),s=function(e){return e.split(".",2).join(".")}(e);return o(t).verify(s,r,n)}function p(e,t){if(t=t||{},!h(e=a(e)))return null;var n=l(e);if(!n)return null;var r=function(e,t){t=t||"utf8";var n=e.split(".")[1];return i.from(n,"base64").toString(t)}(e);return("JWT"===n.typ||t.json)&&(r=JSON.parse(r,t.encoding)),{header:n,payload:r,signature:d(e)}}function g(e){var t=(e=e||{}).secret||e.publicKey||e.key,n=new r(t);this.readable=!0,this.algorithm=e.algorithm,this.encoding=e.encoding,this.secret=this.publicKey=this.key=n,this.signature=new r(e.signature),this.secret.once("close",function(){!this.signature.writable&&this.readable&&this.verify()}.bind(this)),this.signature.once("close",function(){!this.secret.writable&&this.readable&&this.verify()}.bind(this))}n("OMJi").inherits(g,s),g.prototype.verify=function(){try{var e=f(this.signature.buffer,this.algorithm,this.key.buffer),t=p(this.signature.buffer,this.encoding);return this.emit("done",e,t),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(e){this.readable=!1,this.emit("error",e),this.emit("close")}},g.decode=p,g.isValid=h,g.verify=f,e.exports=g},"9P96":function(e,t,n){t.publicEncrypt=n("9hYg"),t.privateDecrypt=n("fxuI"),t.privateEncrypt=function(e,n){return t.publicEncrypt(e,n,!0)},t.publicDecrypt=function(e,n){return t.privateDecrypt(e,n,!0)}},"9XyG":function(e,t,n){"use strict";n.d(t,"a",function(){return u}),n.d(t,"c",function(){return c}),n.d(t,"b",function(){return l});var i=n("hK2W"),r=n("Kp7x"),o=n("PCC9"),s=n("Fllr"),a=n("RWr8"),u=new(function(){function e(){this._onDidChangeLanguages=new r.a,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[],this._dynamicLanguages=[]}return e.prototype.registerLanguage=function(e){this._languages.push(e),this._onDidChangeLanguages.fire(void 0)},e.prototype.getLanguages=function(){return[].concat(this._languages).concat(this._dynamicLanguages)},e}());a.a.add("editor.modesRegistry",u);var c="plaintext",l=new o.p(c,1);u.registerLanguage({id:c,extensions:[".txt",".gitignore"],aliases:[i.a("plainText.alias","Plain Text"),"text"],mimetypes:["text/plain"]}),s.a.register(l,{brackets:[["(",")"],["[","]"],["{","}"]]})},"9bHL":function(e,t,n){"use strict";var i=n("TU7t"),r=n("tqet"),o=n("Bug4"),s=n("7/Cv"),a=n("Kp7x"),u=n("Gxst"),c=n("qecS"),l=n("vbff");function d(e,t){for(var n=[],i=0,r=t;i=o.range.end)){if(e.end=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},C={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements:function(e){return[e]},getDragURI:function(){return null},onDragStart:function(){},onDragOver:function(){return!1},drop:function(){}},horizontalScrolling:!1},S=function(){function e(e){this.elements=e}return e.prototype.update=function(){},e.prototype.getData=function(){return this.elements},e}(),x=function(){function e(e){this.elements=e}return e.prototype.update=function(){},e.prototype.getData=function(){return this.elements},e}(),L=function(){function e(){this.types=[],this.files=[]}return e.prototype.update=function(e){var t;if(e.types&&(t=this.types).splice.apply(t,[0,this.types.length].concat(e.types)),e.files){this.files.splice(0,this.files.length);for(var n=0;n=this.items.length?(this.rangeMap=new f,this.rangeMap.splice(0,0,v),this.items=v,d=[]):(this.rangeMap.splice(e,t,v),d=(i=this.items).splice.apply(i,[e,t].concat(v)));var _=n.length-t,b=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),y=h(g,_),w=l.a.intersect(b,y);for(c=w.start;c=-1&&en&&(this.scrollTop+=Math.min(14,Math.floor(.3*(t-n))))}},e.prototype.teardownDragAndDropScrollTopAnimation=function(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)},e.prototype.getItemIndexFromEventTarget=function(e){for(var t=e;t instanceof HTMLElement&&t!==this.rowsContainer;){var n=t.getAttribute("data-index");if(n){var i=Number(n);if(!isNaN(i))return i}t=t.parentElement}},e.prototype.getRenderRange=function(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}},e.prototype._rerender=function(e,t){var n,i,r=this.getRenderRange(e,t);e===this.elementTop(r.start)?(n=r.start,i=0):r.end-r.start>1&&(n=r.start+1,i=this.elementTop(n)-e);for(var o=0;;){for(var s=this.getRenderRange(e,t),a=!1,u=s.start;un-h-2)throw new Error("message too long");var f=d.alloc(n-i-h-2),p=n-l-1,g=r(l),m=a(d.concat([c,f,d.alloc(1,1),t],p),s(g,p)),v=a(g,s(m,l));return new u(d.concat([d.alloc(1),v,m],n))}(p,t);else if(1===h)f=function(e,t,n){var i,o=t.length,s=e.modulus.byteLength();if(o>s-11)throw new Error("message too long");i=n?d.alloc(s-o-3,255):function(e){var t,n=d.allocUnsafe(e),i=0,o=r(2*e),s=0;for(;i=0)throw new Error("data too long for modulus")}return n?l(f,p):c(f,p)}},"9uVW":function(e,t,n){"use strict";n.d(t,"b",function(){return l}),n.d(t,"a",function(){return h}),n.d(t,"c",function(){return f});var i=n("hK2W"),r=n("Kp7x"),o=n("ZYUE"),s=n("tqet"),a=n("aL7J"),u=n("ZNRA"),c=n("vTy2"),l=function(){function e(e,t,n){this.parent=e,this._range=t,this.isProviderFirst=n,this._onRefChanged=new r.a,this.onRefChanged=this._onRefChanged.event,this.id=u.b.nextId()}return 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(i.a)("aria.oneReference","symbol in {0} on line {1} at column {2}",Object(o.b)(this.uri),this.range.startLineNumber,this.range.startColumn)},e}(),d=function(){function e(e){this._modelReference=e}return e.prototype.dispose=function(){Object(s.f)(this._modelReference)},e.prototype.preview=function(e,t){void 0===t&&(t=8);var n=this._modelReference.object.textEditorModel;if(n){var i=e.startLineNumber,r=e.startColumn,o=e.endLineNumber,s=e.endColumn,u=n.getWordUntilPosition({lineNumber:i,column:r-t}),l=new c.a(i,u.startColumn,i,r),d=new c.a(o,s,o,Number.MAX_VALUE),h=n.getValueInRange(l).replace(/^\s+/,a.l),f=n.getValueInRange(e);return{value:h+f+n.getValueInRange(d).replace(/\s+$/,a.l),highlight:{start:h.length,end:h.length+f.length}}}},e}(),h=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(i.a)("aria.fileReferences.1","1 symbol in {0}, full path {1}",Object(o.b)(this.uri),this.uri.fsPath):Object(i.a)("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,Object(o.b)(this.uri),this.uri.fsPath)},e.prototype.resolve=function(e){var t=this;return this._resolved?Promise.resolve(this):Promise.resolve(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=void 0)},e}(),f=function(){function e(t){var n=this;this._disposables=new s.b,this.groups=[],this.references=[],this._onDidChangeReferenceRange=new r.a,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event;var i,o=t[0];t.sort(e._compareReferences);for(var a=0,u=t;a0?(i=t?(i+1)%r:(i+r-1)%r,n.children[i]):(i=n.parent.groups.indexOf(n),t?(i=(i+1)%o,n.parent.groups[i].children[0]):(i=(i+o-1)%o,n.parent.groups[i].children[n.parent.groups[i].children.length-1]))},e.prototype.nearestReference=function(e,t){var n=this.references.map(function(n,i){return{idx:i,prefixLen:a.b(n.uri.toString(),e.toString()),offsetDist:100*Math.abs(n.range.startLineNumber-t.lineNumber)+Math.abs(n.range.startColumn-t.column)}}).sort(function(e,t){return e.prefixLen>t.prefixLen?-1:e.prefixLent.offsetDist?1:0})[0];if(n)return this.references[n.idx]},e.prototype.firstReference=function(){for(var e=0,t=this.references;ei?1:c.a.compareRangesUsingStarts(e.range,t.range)},e}()},"9vcT":function(e,t){},AKCZ:function(e,t,n){"use strict";n.d(t,"a",function(){return c}),n.d(t,"b",function(){return l});var i,r=n("tqet"),o=n("Kp7x"),s=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},u=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]n)?t=("rmd160"===e?new u:c(e)).update(t).digest():t.length0;i--)t+=this._buffer(e,t),n+=this._flushBuffer(r,n);return t+=this._buffer(e,t),r},r.prototype.final=function(e){var t,n;return e&&(t=this.update(e)),n="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(n):n},r.prototype._pad=function(e,t){if(0===t)return!1;for(;t0?n.actionBar.push(o,{icon:!0,label:!1}):n.actionBar.isEmpty()||o&&0!==o.length||n.actionBar.clear(),e instanceof b&&e.getGroupLabel()?u.f(n.container,"has-group-label"):u.I(n.container,"has-group-label"),e instanceof b){var s=e,a=n;s.showBorder()?(u.f(a.container,"results-group-separator"),i.pickerGroupBorder&&(a.container.style.borderTopColor=i.pickerGroupBorder.toString())):(u.I(a.container,"results-group-separator"),a.container.style.borderTopColor=null);var c=s.getGroupLabel()||"";a.group&&(a.group.textContent=c,i.pickerGroupForeground&&(a.group.style.color=i.pickerGroupForeground.toString()))}if(e instanceof _){var l=e.getHighlights(),d=l[0],h=l[1],f=l[2],p=e.getIcon()?"quick-open-entry-icon "+e.getIcon():"";n.icon.className=p;var g=e.getLabelOptions()||Object.create(null);g.matches=d||[],g.title=e.getTooltip(),g.descriptionTitle=e.getDescriptionTooltip()||e.getDescription(),g.descriptionMatches=h||[],n.label.setLabel(r.m(e.getLabel()),e.getDescription(),g),n.detail.set(e.getDetail(),f),n.keybinding.set(e.getKeybinding())}},e.prototype.disposeTemplate=function(e,t){t.actionBar.dispose(),t.actionBar=null,t.container=null,t.entry=null,t.keybinding=null,t.detail=null,t.group=null,t.icon=null,t.label.dispose(),t.label=null},e}(),C=function(){function e(e,t){void 0===e&&(e=[]),void 0===t&&(t=new y),this._entries=e,this._dataSource=this,this._renderer=new w(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 r.n(e.getLabel())},e.prototype.getAriaLabel=function(e){return e.getAriaLabel()?i.a("quickOpenAriaLabelEntry","{0}, picker",e.getAriaLabel()):i.a("quickOpenAriaLabel","picker")},e.prototype.isVisible=function(e){return!e.isHidden()},e.prototype.run=function(e,t,n){return e.run(t,n)},e}()},Ao9X:function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"d",function(){return o}),n.d(t,"c",function(){return s}),n.d(t,"b",function(){return a});var i=n("iHM7"),r=function(){function e(e,t,n){void 0===n&&(n=!1),this._range=e,this._text=t,this.insertsAutoWhitespace=n}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return new i.a(n.endLineNumber,n.endColumn,n.endLineNumber,n.endColumn)},e}(),o=function(){function e(e,t,n){void 0===n&&(n=!1),this._range=e,this._text=t,this.insertsAutoWhitespace=n}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return new i.a(n.startLineNumber,n.startColumn,n.startLineNumber,n.startColumn)},e}(),s=function(){function e(e,t,n,i,r){void 0===r&&(r=!1),this._range=e,this._text=t,this._columnDeltaOffset=i,this._lineNumberDeltaOffset=n,this.insertsAutoWhitespace=r}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var n=t.getInverseEditOperations()[0].range;return new i.a(n.endLineNumber+this._lineNumberDeltaOffset,n.endColumn+this._columnDeltaOffset,n.endLineNumber+this._lineNumberDeltaOffset,n.endColumn+this._columnDeltaOffset)},e}(),a=function(){function e(e,t,n){this._range=e,this._text=t,this._initialSelection=n,this._selectionId=null}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}()},"B/Xy":function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("JVO/"),r=Object(i.c)("textModelService")},B6Bn:function(e,t,n){"use strict";var i=n("geuY"),r=n("lZ6o").utils,o=r.getNAF,s=r.getJSF,a=r.assert;function u(e,t){this.type=e,this.p=new i(t.p,16),this.red=t.prime?i.red(t.prime):i.mont(this.p),this.zero=new i(0).toRed(this.red),this.one=new i(1).toRed(this.red),this.two=new i(2).toRed(this.red),this.n=t.n&&new i(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4);var n=this.n&&this.p.div(this.n);!n||n.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function c(e,t){this.curve=e,this.type=t,this.precomputed=null}e.exports=u,u.prototype.point=function(){throw new Error("Not implemented")},u.prototype.validate=function(){throw new Error("Not implemented")},u.prototype._fixedNafMul=function(e,t){a(e.precomputed);var n=e._getDoubles(),i=o(t,1),r=(1<=u;t--)c=(c<<1)+i[t];s.push(c)}for(var l=this.jpoint(null,null,null),d=this.jpoint(null,null,null),h=r;h>0;h--){for(u=0;u=0;c--){for(t=0;c>=0&&0===s[c];c--)t++;if(c>=0&&t++,u=u.dblp(t),c<0)break;var l=s[c];a(0!==l),u="affine"===e.type?l>0?u.mixedAdd(r[l-1>>1]):u.mixedAdd(r[-l-1>>1].neg()):l>0?u.add(r[l-1>>1]):u.add(r[-l-1>>1].neg())}return"affine"===e.type?u.toP():u},u.prototype._wnafMulAdd=function(e,t,n,i,r){for(var a=this._wnafT1,u=this._wnafT2,c=this._wnafT3,l=0,d=0;d=1;d-=2){var f=d-1,p=d;if(1===a[f]&&1===a[p]){var g=[t[f],null,null,t[p]];0===t[f].y.cmp(t[p].y)?(g[1]=t[f].add(t[p]),g[2]=t[f].toJ().mixedAdd(t[p].neg())):0===t[f].y.cmp(t[p].y.redNeg())?(g[1]=t[f].toJ().mixedAdd(t[p]),g[2]=t[f].add(t[p].neg())):(g[1]=t[f].toJ().mixedAdd(t[p]),g[2]=t[f].toJ().mixedAdd(t[p].neg()));var m=[-3,-1,-5,-7,0,7,5,1,3],v=s(n[f],n[p]);l=Math.max(v[0].length,l),c[f]=new Array(l),c[p]=new Array(l);for(var _=0;_=0;d--){for(var S=0;d>=0;){var x=!0;for(_=0;_=0&&S++,w=w.dblp(S),d<0)break;for(_=0;_0?L=u[_][O-1>>1]:O<0&&(L=u[_][-O-1>>1].neg()),w="affine"===L.type?w.mixedAdd(L):w.add(L))}}for(d=0;d=Math.ceil((e.bitLength()+1)/t.step)},c.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],i=this,r=0;r>>24]^l[p>>>16&255]^d[g>>>8&255]^h[255&m]^t[v++],s=c[p>>>24]^l[g>>>16&255]^d[m>>>8&255]^h[255&f]^t[v++],a=c[g>>>24]^l[m>>>16&255]^d[f>>>8&255]^h[255&p]^t[v++],u=c[m>>>24]^l[f>>>16&255]^d[p>>>8&255]^h[255&g]^t[v++],f=o,p=s,g=a,m=u;return o=(i[f>>>24]<<24|i[p>>>16&255]<<16|i[g>>>8&255]<<8|i[255&m])^t[v++],s=(i[p>>>24]<<24|i[g>>>16&255]<<16|i[m>>>8&255]<<8|i[255&f])^t[v++],a=(i[g>>>24]<<24|i[m>>>16&255]<<16|i[f>>>8&255]<<8|i[255&p])^t[v++],u=(i[m>>>24]<<24|i[f>>>16&255]<<16|i[p>>>8&255]<<8|i[255&g])^t[v++],[o>>>=0,s>>>=0,a>>>=0,u>>>=0]}var a=[0,1,2,4,8,16,32,64,128,27,54],u=function(){for(var e=new Array(256),t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;for(var n=[],i=[],r=[[],[],[],[]],o=[[],[],[],[]],s=0,a=0,u=0;u<256;++u){var c=a^a<<1^a<<2^a<<3^a<<4;c=c>>>8^255&c^99,n[s]=c,i[c]=s;var l=e[s],d=e[l],h=e[d],f=257*e[c]^16843008*c;r[0][s]=f<<24|f>>>8,r[1][s]=f<<16|f>>>16,r[2][s]=f<<8|f>>>24,r[3][s]=f,f=16843009*h^65537*d^257*l^16843008*s,o[0][c]=f<<24|f>>>8,o[1][c]=f<<16|f>>>16,o[2][c]=f<<8|f>>>24,o[3][c]=f,0===s?s=a=1:(s=l^e[e[e[h^l]]],a^=e[e[a]])}return{SBOX:n,INV_SBOX:i,SUB_MIX:r,INV_SUB_MIX:o}}();function c(e){this._key=r(e),this._reset()}c.blockSize=16,c.keySize=32,c.prototype.blockSize=c.blockSize,c.prototype.keySize=c.keySize,c.prototype._reset=function(){for(var e=this._key,t=e.length,n=t+6,i=4*(n+1),r=[],o=0;o>>24,s=u.SBOX[s>>>24]<<24|u.SBOX[s>>>16&255]<<16|u.SBOX[s>>>8&255]<<8|u.SBOX[255&s],s^=a[o/t|0]<<24):t>6&&o%t==4&&(s=u.SBOX[s>>>24]<<24|u.SBOX[s>>>16&255]<<16|u.SBOX[s>>>8&255]<<8|u.SBOX[255&s]),r[o]=r[o-t]^s}for(var c=[],l=0;l>>24]]^u.INV_SUB_MIX[1][u.SBOX[h>>>16&255]]^u.INV_SUB_MIX[2][u.SBOX[h>>>8&255]]^u.INV_SUB_MIX[3][u.SBOX[255&h]]}this._nRounds=n,this._keySchedule=r,this._invKeySchedule=c},c.prototype.encryptBlockRaw=function(e){return s(e=r(e),this._keySchedule,u.SUB_MIX,u.SBOX,this._nRounds)},c.prototype.encryptBlock=function(e){var t=this.encryptBlockRaw(e),n=i.allocUnsafe(16);return n.writeUInt32BE(t[0],0),n.writeUInt32BE(t[1],4),n.writeUInt32BE(t[2],8),n.writeUInt32BE(t[3],12),n},c.prototype.decryptBlock=function(e){var t=(e=r(e))[1];e[1]=e[3],e[3]=t;var n=s(e,this._invKeySchedule,u.INV_SUB_MIX,u.INV_SBOX,this._nRounds),o=i.allocUnsafe(16);return o.writeUInt32BE(n[0],0),o.writeUInt32BE(n[3],4),o.writeUInt32BE(n[2],8),o.writeUInt32BE(n[1],12),o},c.prototype.scrub=function(){o(this._keySchedule),o(this._invKeySchedule),o(this._key)},e.exports.AES=c},BO8W:function(e,t,n){"use strict";t.utils=n("iNQt"),t.Cipher=n("AWjC"),t.DES=n("Icsf"),t.CBC=n("nyV4"),t.EDE=n("YePo")},BVsN:function(e,t,n){"use strict";var i=n("LC74"),r=n("eCz2"),o=n("LYGd"),s=n("JaR3"),a=n("z+8S");function u(e){a.call(this,"digest"),this._hash=e}i(u,a),u.prototype._update=function(e){this._hash.update(e)},u.prototype._final=function(){return this._hash.digest()},e.exports=function(e){return"md5"===(e=e.toLowerCase())?new r:"rmd160"===e||"ripemd160"===e?new o:new u(s(e))}},Bug4:function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return d});var i,r,o=n("X6iQ"),s=n("tqet"),a=n("7/Cv"),u=n("2VYG"),c=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s};!function(e){e.Tap="-monaco-gesturetap",e.Change="-monaco-gesturechange",e.Start="-monaco-gesturestart",e.End="-monaco-gesturesend",e.Contextmenu="-monaco-gesturecontextmenu"}(r||(r={}));var d=function(e){function t(){var t=e.call(this)||this;return t.dispatched=!1,t.activeTouches={},t.handle=null,t.targets=[],t._register(a.h(document,"touchstart",function(e){return t.onTouchStart(e)})),t._register(a.h(document,"touchend",function(e){return t.onTouchEnd(e)})),t._register(a.h(document,"touchmove",function(e){return t.onTouchMove(e)})),t}return c(t,e),t.addTarget=function(e){t.isTouchDevice()&&(t.INSTANCE||(t.INSTANCE=new t),t.INSTANCE.targets.push(e))},t.isTouchDevice=function(){return"ontouchstart"in window||navigator.maxTouchPoints>0||window.navigator.msMaxTouchPoints>0},t.prototype.dispose=function(){this.handle&&(this.handle.dispose(),this.handle=null),e.prototype.dispose.call(this)},t.prototype.onTouchStart=function(e){var t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(var n=0,i=e.targetTouches.length;n=t.HOLD_DELAY&&Math.abs(l.initialPageX-o.s(l.rollingPageX))<30&&Math.abs(l.initialPageY-o.s(l.rollingPageY))<30){var h;(h=a.newGestureEvent(r.Contextmenu,l.initialTarget)).pageX=o.s(l.rollingPageX),h.pageY=o.s(l.rollingPageY),a.dispatchEvent(h)}else if(1===i){var f=o.s(l.rollingPageX),p=o.s(l.rollingPageY),g=o.s(l.rollingTimestamps)-l.rollingTimestamps[0],m=f-l.rollingPageX[0],v=p-l.rollingPageY[0],_=a.targets.filter(function(e){return l.initialTarget instanceof Node&&e.contains(l.initialTarget)});a.inertia(_,n,Math.abs(m)/g,m>0?1:-1,f,Math.abs(v)/g,v>0?1:-1,p)}a.dispatchEvent(a.newGestureEvent(r.End,l.initialTarget)),delete a.activeTouches[c.identifier]},a=this,u=0,c=e.changedTouches.length;u0&&(g=!1,f=o*i*h),u>0&&(g=!1,p=c*u*h);var m=d.newGestureEvent(r.Change);m.translationX=f,m.translationY=p,e.forEach(function(e){return e.dispatchEvent(m)}),g||d.inertia(e,a,i,o,s+f,u,c,l+p)})},t.prototype.onTouchMove=function(e){for(var t=Date.now(),n=0,i=e.changedTouches.length;n3&&(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)},t.SCROLL_FRICTION=-.005,t.HOLD_DELAY=700,l([u.a],t,"isTouchDevice",null),t}(s.a)},Bv73:function(e,t){},BwcV:function(e,t,n){"use strict";n.d(t,"a",function(){return c});var i,r=n("GfE5"),o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=function(e){function t(t){for(var n=e.call(this,0)||this,i=0,r=t.length;i=0){for(var i=[],r=0,o=this._placeholderGroups[this._placeholderGroupsIdx];r0&&this._editor.executeEdits("snippet.placeholderTransform",i)}var d=!1;!0===t&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,d=!0);var h=this._editor.getModel().changeDecorations(function(t){for(var i=new Set,r=[],o=0,s=n._placeholderGroups[n._placeholderGroupsIdx];o0)return!0}t=t.parent}return!1},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,n=this._placeholderGroups;t0&&S!==d.getLineFirstNonWhitespaceColumn(F.positionLineNumber))&&e.adjustWhitespace(d,z,H),H.resolveVariables(new x([p,new k(u,j,D.length),new L(d,F),new N(d),new E,new I(h)]));var U=d.getOffsetAt(z)+y;y+=H.toString().length-d.getValueLengthInRange(V),c[j]=f.a.replace(V,H.toString()),l[j]=new P(t,H,U)}return{edits:c,snippets:l}},e.prototype.dispose=function(){Object(i.f)(this._snippets)},e.prototype._logInfo=function(){return'template="'+this._template+'", merged_templates="'+this._templateMerges.join(" -> ")+'"'},e.prototype.insert=function(){var t=this;if(this._editor.hasModel()){var n=e.createEditsAndSnippets(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText),i=n.edits,r=n.snippets;this._snippets=r,this._editor.executeEdits("snippet",i,function(e){return t._snippets[0].hasPlaceholder?t._move(!0):e.map(function(e){return a.a.fromPositions(e.range.getEndPosition())})}),this._editor.revealRange(this._editor.getSelections()[0])}},e.prototype.merge=function(t,n){var i=this;if(void 0===n&&(n=A),this._editor.hasModel()){this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,t]);var r=e.createEditsAndSnippets(this._editor,t,n.overwriteBefore,n.overwriteAfter,!0,n.adjustWhitespace,n.clipboardText),o=r.edits,s=r.snippets;this._editor.executeEdits("snippet",o,function(e){for(var t=0,n=i._snippets;t0},e}();n.d(t,"SnippetController2",function(){return V});var F=this&&this.__assign||function(){return(F=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},W=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},B={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0},V=function(){function e(t,n,r){this._editor=t,this._logService=n,this._snippetListener=new i.b,this._modelVersionId=-1,this._inSnippet=e.InSnippetMode.bindTo(r),this._hasNextTabstop=e.HasNextTabstop.bindTo(r),this._hasPrevTabstop=e.HasPrevTabstop.bindTo(r)}return e.get=function(e){return e.getContribution("snippetController2")},e.prototype.dispose=function(){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),Object(i.f)(this._session),this._snippetListener.dispose()},e.prototype.getId=function(){return"snippetController2"},e.prototype.insert=function(e,t){try{this._doInsert(e,void 0===t?B:F({},B,t))}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():"")}},e.prototype._doInsert=function(e,t){var n=this;this._editor.hasModel()&&(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session?this._session.merge(e,t):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new R(this._editor,e,t),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(function(e){return e.isFlush&&n.cancel()})),this._snippetListener.add(this._editor.onDidChangeModel(function(){return n.cancel()})),this._snippetListener.add(this._editor.onDidChangeCursorSelection(function(){return n._updateState()})))},e.prototype._updateState=function(){if(this._session&&this._editor.hasModel()){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;if(this._session&&this._editor.hasModel()){var t=this._session.choice;if(t){if(this._currentChoice!==t){this._currentChoice=t,this._editor.setSelections(this._editor.getSelections().map(function(e){return a.a.fromPositions(e.getStartPosition())}));var n=t.options[0];Object(c.f)(this._editor,t.options.map(function(t,i){return{kind:13,label:t.value,insertText:t.value,sortText:Object(r.F)("a",i+1),range:s.a.fromPositions(e._editor.getPosition(),e._editor.getPosition().delta(0,n.value.length))}}))}}else this._currentChoice=void 0}else this._currentChoice=void 0},e.prototype.finish=function(){for(;this._inSnippet.get();)this.next()},e.prototype.cancel=function(e){void 0===e&&(e=!1),this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),Object(i.f)(this._session),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])},e.prototype.prev=function(){this._session&&this._session.prev(),this._updateState()},e.prototype.next=function(){this._session&&this._session.next(),this._updateState()},e.prototype.isInSnippet=function(){return Boolean(this._inSnippet.get())},e.InSnippetMode=new l.d("inSnippetMode",!1),e.HasNextTabstop=new l.d("hasNextTabstop",!1),e.HasPrevTabstop=new l.d("hasPrevTabstop",!1),e=j([W(1,d.a),W(2,l.c)],e)}();Object(o.h)(V);var H=o.c.bindToContribution(V.get);Object(o.g)(new H({id:"jumpToNextSnippetPlaceholder",precondition:l.a.and(V.InSnippetMode,V.HasNextTabstop),handler:function(e){return e.next()},kbOpts:{weight:130,kbExpr:u.a.editorTextFocus,primary:2}})),Object(o.g)(new H({id:"jumpToPrevSnippetPlaceholder",precondition:l.a.and(V.InSnippetMode,V.HasPrevTabstop),handler:function(e){return e.prev()},kbOpts:{weight:130,kbExpr:u.a.editorTextFocus,primary:1026}})),Object(o.g)(new H({id:"leaveSnippet",precondition:V.InSnippetMode,handler:function(e){return e.cancel(!0)},kbOpts:{weight:130,kbExpr:u.a.editorTextFocus,primary:9,secondary:[1033]}})),Object(o.g)(new H({id:"acceptSnippet",precondition:V.InSnippetMode,handler:function(e){return e.finish()}}))},C015:function(e,t,n){var i=n("LC74"),r=n("CzQx"),o=n("X3l8").Buffer,s=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],a=new Array(160);function u(){this.init(),this._w=a,r.call(this,128,112)}function c(e,t,n){return n^e&(t^n)}function l(e,t,n){return e&t|n&(e|t)}function d(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function h(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function f(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function p(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function g(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function m(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function v(e,t){return e>>>0>>0?1:0}i(u,r),u.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},u.prototype._update=function(e){for(var t=this._w,n=0|this._ah,i=0|this._bh,r=0|this._ch,o=0|this._dh,a=0|this._eh,u=0|this._fh,_=0|this._gh,b=0|this._hh,y=0|this._al,w=0|this._bl,C=0|this._cl,S=0|this._dl,x=0|this._el,L=0|this._fl,O=0|this._gl,k=0|this._hl,N=0;N<32;N+=2)t[N]=e.readInt32BE(4*N),t[N+1]=e.readInt32BE(4*N+4);for(;N<160;N+=2){var E=t[N-30],I=t[N-30+1],D=f(E,I),M=p(I,E),T=g(E=t[N-4],I=t[N-4+1]),P=m(I,E),A=t[N-14],R=t[N-14+1],F=t[N-32],j=t[N-32+1],W=M+R|0,B=D+A+v(W,M)|0;B=(B=B+T+v(W=W+P|0,P)|0)+F+v(W=W+j|0,j)|0,t[N]=B,t[N+1]=W}for(var V=0;V<160;V+=2){B=t[V],W=t[V+1];var H=l(n,i,r),z=l(y,w,C),U=d(n,y),K=d(y,n),q=h(a,x),G=h(x,a),Z=s[V],Y=s[V+1],X=c(a,u,_),$=c(x,L,O),J=k+G|0,Q=b+q+v(J,k)|0;Q=(Q=(Q=Q+X+v(J=J+$|0,$)|0)+Z+v(J=J+Y|0,Y)|0)+B+v(J=J+W|0,W)|0;var ee=K+z|0,te=U+H+v(ee,K)|0;b=_,k=O,_=u,O=L,u=a,L=x,a=o+Q+v(x=S+J|0,S)|0,o=r,S=C,r=i,C=w,i=n,w=y,n=Q+te+v(y=J+ee|0,J)|0}this._al=this._al+y|0,this._bl=this._bl+w|0,this._cl=this._cl+C|0,this._dl=this._dl+S|0,this._el=this._el+x|0,this._fl=this._fl+L|0,this._gl=this._gl+O|0,this._hl=this._hl+k|0,this._ah=this._ah+n+v(this._al,y)|0,this._bh=this._bh+i+v(this._bl,w)|0,this._ch=this._ch+r+v(this._cl,C)|0,this._dh=this._dh+o+v(this._dl,S)|0,this._eh=this._eh+a+v(this._el,x)|0,this._fh=this._fh+u+v(this._fl,L)|0,this._gh=this._gh+_+v(this._gl,O)|0,this._hh=this._hh+b+v(this._hl,k)|0},u.prototype._hash=function(){var e=o.allocUnsafe(64);function t(t,n,i){e.writeInt32BE(t,i),e.writeInt32BE(n,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},e.exports=u},C1C2:function(e,t,n){var i=n("TnCn");t.tagClass={0:"universal",1:"application",2:"context",3:"private"},t.tagClassByName=i._reverse(t.tagClass),t.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},t.tagByName=i._reverse(t.tag)},C3c5:function(e,t,n){"use strict";t.e=h,n.d(t,"a",function(){return f}),n.d(t,"c",function(){return p}),n.d(t,"d",function(){return m}),n.d(t,"b",function(){return v});var i,r=n("AKCZ"),o=n("JVO/"),s=n("7g0X"),a=n("ItKl"),u=n("Kp7x"),c=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},d=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}};function h(e){return void 0!==e.command}var f=Object(o.c)("menuService"),p=new(function(){function e(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new u.a,this.onDidChangeMenu=this._onDidChangeMenu.event}return e.prototype.addCommand=function(e){var t=this;return this._commands.set(e.id,e),this._onDidChangeMenu.fire(0),{dispose:function(){t._commands.delete(e.id)&&t._onDidChangeMenu.fire(0)}}},e.prototype.getCommand=function(e){return this._commands.get(e)},e.prototype.getCommands=function(){var e=new Map;return this._commands.forEach(function(t,n){return e.set(n,t)}),e},e.prototype.appendMenuItem=function(e,t){var n=this,i=this._menuItems.get(e);return i?i.push(t):(i=[t],this._menuItems.set(e,i)),this._onDidChangeMenu.fire(e),{dispose:function(){var r=i.indexOf(t);r>=0&&(i.splice(r,1),n._onDidChangeMenu.fire(e))}}},e.prototype.getMenuItems=function(e){var t=(this._menuItems.get(e)||[]).slice(0);return 0===e&&this._appendImplicitItems(t),t},e.prototype._appendImplicitItems=function(e){for(var t=new Set,n=0,i=e.filter(function(e){return h(e)});n=0;r--){var o=e.charCodeAt(r),s=t.get(o);if(0===s){if(2===i)return this._createWord(e,i,s,r+1,this._findEndOfWord(e,t,i,r+1));i=1}else if(2===s){if(1===i)return this._createWord(e,i,s,r+1,this._findEndOfWord(e,t,i,r+1));i=2}else if(1===s&&0!==i)return this._createWord(e,i,s,r+1,this._findEndOfWord(e,t,i,r+1))}return 0!==i?this._createWord(e,i,1,0,this._findEndOfWord(e,t,i,0)):null},e._findEndOfWord=function(e,t,n,i){for(var r=e.length,o=i;o=0;r--){var o=e.charCodeAt(r),s=t.get(o);if(1===s)return r+1;if(1===n&&2===s)return r+1;if(2===n&&0===s)return r+1}return 0},e.moveWordLeft=function(t,n,i,r){var o=i.lineNumber,s=i.column,u=!1;1===s&&o>1&&(u=!0,o-=1,s=n.getLineMaxColumn(o));var c=e._findPreviousWordOnLine(t,n,new a.a(o,s));if(0===r){if(c&&!u)if(n.getLineLastNonWhitespaceColumn(o)1?new a.a(n-1,e.getLineMaxColumn(n-1)):t;for(var o=e.getLineContent(n),s=t.column-1;s>1;s--){var u=o.charCodeAt(s-2),c=o.charCodeAt(s-1);if(95!==u&&95===c)return new a.a(n,s);if(r.y(u)&&r.z(c))return new a.a(n,s);if(r.z(u)&&r.z(c)&&s+1=c.start+1&&(c=e._findNextWordOnLine(t,n,new a.a(o,c.end+1))),s=c?c.start+1:n.getLineMaxColumn(o);return new a.a(o,s)},e._moveWordPartRight=function(e,t){var n=t.lineNumber,i=e.getLineMaxColumn(n);if(t.column===i)return n1?l=1:(c--,l=n.getLineMaxColumn(c)):(h&&l<=h.end+1&&(h=e._findPreviousWordOnLine(t,n,new a.a(c,h.start+1))),h?l=h.end+1:l>1?l=1:(c--,l=n.getLineMaxColumn(c))),new u.a(c,l,s.lineNumber,s.column)},e._deleteWordPartLeft=function(t,n){if(!n.isEmpty())return n;var i=n.getPosition(),r=e._moveWordPartLeft(t,i);return new u.a(i.lineNumber,i.column,r.lineNumber,r.column)},e._findFirstNonWhitespaceChar=function(e,t){for(var n=e.length,i=t;i=p.start+1&&(p=e._findNextWordOnLine(t,n,new a.a(c,p.end+1))),p?l=p.start+1:l255)return 255;return 0|e},t.b=r,t.c=function(e){for(var t=e.length,n=new Uint32Array(t),i=0;i4294967295?4294967295:0|e}},CX1u:function(e,t,n){"use strict";t.c=function(e,t){void 0===t&&(t={});var n=r(t);return n.textContent=e,n},t.b=function(e,t){void 0===t&&(t={});var n=r(t);return function e(t,n,r){var o;if(2===n.type)o=document.createTextNode(n.content||"");else if(3===n.type)o=document.createElement("b");else if(4===n.type)o=document.createElement("i");else if(5===n.type&&r){var s=document.createElement("a");s.href="#",r.disposeables.add(i.k(s,"click",function(e){r.callback(String(n.index),e)})),o=s}else 7===n.type?o=document.createElement("br"):1===n.type&&(o=t);o&&t!==o&&t.appendChild(o),o&&Array.isArray(n.children)&&n.children.forEach(function(t){e(o,t,r)})}(n,function(e){for(var t={type:1,children:[]},n=0,i=t,r=[],a=new o(e);!a.eos();){var u=a.next(),c="\\"===u&&0!==s(a.peek());if(c&&(u=a.next()),c||0===s(u)||u!==a.peek())if("\n"===u)2===i.type&&(i=r.pop()),i.children.push({type:7});else if(2!==i.type){var l={type:2,content:u};i.children.push(l),r.push(i),i=l}else i.content+=u;else{a.advance(),2===i.type&&(i=r.pop());var d=s(u);if(i.type===d||5===i.type&&6===d)i=r.pop();else{var h={type:d,children:[]};5===d&&(h.index=n,n++),i.children.push(h),r.push(i),i=h}}}return 2===i.type&&(i=r.pop()),r.length,t}(e),t.actionHandler),n},t.a=r;var i=n("7/Cv");function r(e){var t=e.inline?"span":"div",n=document.createElement(t);return e.className&&(n.className=e.className),n}var o=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 s(e){switch(e){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;default:return 0}}},Cfmk:function(e,t,n){"use strict";n.d(t,"a",function(){return l}),n.d(t,"c",function(){return r}),n.d(t,"b",function(){return d});var i,r,o=n("JVO/"),s=n("Kp7x"),a=n("tqet"),u=n("KIxu"),c=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=Object(o.c)("storageService");!function(e){e[e.NONE=0]="NONE",e[e.SHUTDOWN=1]="SHUTDOWN"}(r||(r={}));var d=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._serviceBrand=null,t._onDidChangeStorage=t._register(new s.a),t.onDidChangeStorage=t._onDidChangeStorage.event,t.onWillSaveState=s.b.None,t.globalCache=new Map,t.workspaceCache=new Map,t}return c(t,e),t.prototype.getCache=function(e){return 0===e?this.globalCache:this.workspaceCache},t.prototype.get=function(e,t,n){var i=this.getCache(t).get(e);return Object(u.k)(i)?n:i},t.prototype.getBoolean=function(e,t,n){var i=this.getCache(t).get(e);return Object(u.k)(i)?n:"true"===i},t.prototype.store=function(e,t,n){if(Object(u.k)(t))return this.remove(e,n);var i=String(t);return this.getCache(n).get(e)===i?Promise.resolve():(this.getCache(n).set(e,i),this._onDidChangeStorage.fire({scope:n,key:e}),Promise.resolve())},t.prototype.remove=function(e,t){return this.getCache(t).delete(e)?(this._onDidChangeStorage.fire({scope:t,key:e}),Promise.resolve()):Promise.resolve()},t}(a.a)},Cgw8:function(e,t,n){var i=n("X3l8").Buffer,r=n("eCz2");e.exports=function(e,t,n,o){if(i.isBuffer(e)||(e=i.from(e,"binary")),t&&(i.isBuffer(t)||(t=i.from(t,"binary")),8!==t.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var s=n/8,a=i.alloc(s),u=i.alloc(o||0),c=i.alloc(0);s>0||o>0;){var l=new r;l.update(c),l.update(e),t&&l.update(t),c=l.digest();var d=0;if(s>0){var h=a.length-s;d=Math.min(s,c.length),c.copy(a,h,0,d),s-=d}if(d0){var f=u.length-o,p=Math.min(o,c.length-d);c.copy(u,f,d,d+p),o-=p}}return c.fill(0),{key:a,iv:u}}},Crnc:function(e,t,n){"use strict";n.d(t,"a",function(){return a});var i=!1,r=null;function o(e){if(!e.parent||e.parent===e)return null;try{var t=e.location,n=e.parent.location;if(t.protocol!==n.protocol||t.hostname!==n.hostname||t.port!==n.port)return i=!0,null}catch(e){return i=!0,null}return e.parent}function s(e,t){for(var n,i=e.document.getElementsByTagName("iframe"),r=0,o=i.length;r=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},m=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},v=function(e){function t(n,i){var r=e.call(this)||this;return r.closeTimeout=3e3,r._messageWidget=r._register(new a.d),r._messageListeners=r._register(new a.b),r._editor=n,r._visible=t.MESSAGE_VISIBLE.bindTo(i),r._register(r._editor.onDidAttemptReadOnlyEdit(function(){return r._onDidAttemptReadOnlyEdit()})),r}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 n,i=this;Object(u.a)(e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._messageWidget.value=new b(this._editor,t,e),this._messageListeners.add(this._editor.onDidBlurEditorText(function(){return i.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(function(){return i.closeMessage()})),this._messageListeners.add(this._editor.onDidDispose(function(){return i.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeModel(function(){return i.closeMessage()})),this._messageListeners.add(new s.e(function(){return i.closeMessage()},this.closeTimeout)),this._messageListeners.add(this._editor.onMouseMove(function(e){e.target.position&&(n?n.containsPosition(e.target.position)||i.closeMessage():n=new c.a(t.lineNumber-3,1,e.target.position.lineNumber+3,1))}))},t.prototype.closeMessage=function(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(b.fadeOut(this._messageWidget.value))},t.prototype._onDidAttemptReadOnlyEdit=function(){this._editor.hasModel()&&this.showMessage(o.a("editor.readonly","Cannot edit in read-only editor"),this._editor.getPosition())},t._id="editor.contrib.messageController",t.MESSAGE_VISIBLE=new d.d("messageVisible",!1),t=g([m(1,d.c)],t)}(a.a),_=l.c.bindToContribution(v.get);Object(l.g)(new _({id:"leaveEditorMessage",precondition:v.MESSAGE_VISIBLE,handler:function(e){return e.closeMessage()},kbOpts:{weight:130,primary:9}}));var b=function(){function e(e,t,n){var i=t.lineNumber,r=t.column;this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(i,i,0),this._position={lineNumber:i,column:r-1},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage");var o=document.createElement("div");o.classList.add("message"),o.textContent=n,this._domNode.appendChild(o);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,n=function(){e.dispose(),clearTimeout(t),e.getDomNode().removeEventListener("animationend",n)};return t=setTimeout(n,110),e.getDomNode().addEventListener("animationend",n),e.getDomNode().classList.add("fadeOut"),{dispose:n}},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:[1]}},e}();Object(l.h)(v),Object(h.f)(function(e,t){var n=e.getColor(f._3);if(n){var i=e.type===h.b?2:1;t.addRule(".monaco-editor .monaco-editor-overlaymessage .anchor { border-top-color: "+n+"; }"),t.addRule(".monaco-editor .monaco-editor-overlaymessage .message { border: "+i+"px solid "+n+"; }")}var r=e.getColor(f._2);r&&t.addRule(".monaco-editor .monaco-editor-overlaymessage .message { background-color: "+r+"; }");var o=e.getColor(f._4);o&&t.addRule(".monaco-editor .monaco-editor-overlaymessage .message { color: "+o+"; }")})},CzQx:function(e,t,n){var i=n("X3l8").Buffer;function r(e,t){this._block=i.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}r.prototype.update=function(e,t){"string"==typeof e&&(t=t||"utf8",e=i.from(e,t));for(var n=this._block,r=this._blockSize,o=e.length,s=this._len,a=0;a=this._finalSize&&(this._update(this._block),this._block.fill(0));var n=8*this._len;if(n<=4294967295)this._block.writeUInt32BE(n,this._blockSize-4);else{var i=(4294967295&n)>>>0,r=(n-i)/4294967296;this._block.writeUInt32BE(r,this._blockSize-8),this._block.writeUInt32BE(i,this._blockSize-4)}this._update(this._block);var o=this._hash();return e?o.toString(e):o},r.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e.exports=r},D1Va:function(e,t,n){"use strict";e.exports=o;var i=n("DsFX"),r=n("jOgh");function o(e){if(!(this instanceof o))return new o(e);i.call(this,e),this._transformState={afterTransform:function(e,t){var n=this._transformState;n.transforming=!1;var i=n.writecb;if(!i)return this.emit("error",new Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!=t&&this.push(t),i(e);var r=this._readableState;r.reading=!1,(r.needReadable||r.length0?i-4:i,d=0;d>16&255,a[u++]=t>>8&255,a[u++]=255&t;2===s&&(t=r[e.charCodeAt(d)]<<2|r[e.charCodeAt(d+1)]>>4,a[u++]=255&t);1===s&&(t=r[e.charCodeAt(d)]<<10|r[e.charCodeAt(d+1)]<<4|r[e.charCodeAt(d+2)]>>2,a[u++]=t>>8&255,a[u++]=255&t);return a},t.fromByteArray=function(e){for(var t,n=e.length,r=n%3,o=[],s=0,a=n-r;sa?a:s+16383));1===r?(t=e[n-1],o.push(i[t>>2]+i[t<<4&63]+"==")):2===r&&(t=(e[n-2]<<8)+e[n-1],o.push(i[t>>10]+i[t>>4&63]+i[t<<2&63]+"="));return o.join("")};for(var i=[],r=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,u=s.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function l(e,t,n){for(var r,o,s=[],a=t;a>18&63]+i[o>>12&63]+i[o>>6&63]+i[63&o]);return s.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},EMDP:function(e,t,n){"use strict";n.d(t,"a",function(){return c}),n.d(t,"b",function(){return l});var i,r,o=n("mrx5"),s=n("ZYUE"),a=n("JVO/"),u=n("WTFd"),c=Object(a.c)("contextService");!function(e){e.isIWorkspace=function(e){return e&&"object"==typeof e&&"string"==typeof e.id&&Array.isArray(e.folders)}}(i||(i={})),function(e){e.isIWorkspaceFolder=function(e){return e&&"object"==typeof e&&o.a.isUri(e.uri)&&"string"==typeof e.name&&"function"==typeof e.toResource}}(r||(r={}));!function(){function e(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=null),this._id=e,this._configuration=n,this._foldersMap=u.c.forPaths(),this.folders=t}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,"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.with({scheme:e.scheme,authority:e.authority,path:e.path}).toString())||null},e.prototype.updateFoldersMap=function(){this._foldersMap=u.c.forPaths();for(var e=0,t=this.folders;e=1.5*n;return Math.round(e/n)+" "+i+(r?"s":"")}e.exports=function(e,t){t=t||{};var c=typeof e;if("string"===c&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return;var u=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return u*a;case"weeks":case"week":case"w":return u*s;case"days":case"day":case"d":return u*o;case"hours":case"hour":case"hrs":case"hr":case"h":return u*r;case"minutes":case"minute":case"mins":case"min":case"m":return u*i;case"seconds":case"second":case"secs":case"sec":case"s":return u*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return u;default:return}}(e);if("number"===c&&!1===isNaN(e))return t.long?function(e){var t=Math.abs(e);if(t>=o)return u(e,t,o,"day");if(t>=r)return u(e,t,r,"hour");if(t>=i)return u(e,t,i,"minute");if(t>=n)return u(e,t,n,"second");return e+" ms"}(e):function(e){var t=Math.abs(e);if(t>=o)return Math.round(e/o)+"d";if(t>=r)return Math.round(e/r)+"h";if(t>=i)return Math.round(e/i)+"m";if(t>=n)return Math.round(e/n)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},Eawl:function(e,t){},Eeyw:function(e,t,n){"use strict";t.a=function(e,t){var n=e.getCount(),r=e.findTokenIndexAtOffset(t),o=e.getLanguageId(r),s=r;for(;s+10&&e.getLanguageId(a-1)===o;)a--;return new i(e,o,a,s+1,e.getStartOffset(a),e.getEndOffset(s))},t.b=function(e){return 0!=(7&e)};var i=function(){function e(e,t,n,i,r,o){this._actual=e,this.languageId=t,this._firstTokenIndex=n,this._lastTokenIndex=i,this.firstCharOffset=r,this._lastCharOffset=o}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}()},EfIu:function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"c",function(){return r}),n.d(t,"b",function(){return o}),n.d(t,"d",function(){return s}),n.d(t,"e",function(){return a}),n.d(t,"g",function(){return u}),n.d(t,"h",function(){return c}),n.d(t,"f",function(){return l});var i,r,o,s,a,u,c,l,d=n("hK2W");!function(e){e.noSelection=d.a("noSelection","No selection"),e.singleSelectionRange=d.a("singleSelectionRange","Line {0}, Column {1} ({2} selected)"),e.singleSelection=d.a("singleSelection","Line {0}, Column {1}"),e.multiSelectionRange=d.a("multiSelectionRange","{0} selections ({1} characters selected)"),e.multiSelection=d.a("multiSelection","{0} selections"),e.emergencyConfOn=d.a("emergencyConfOn","Now changing the setting `accessibilitySupport` to 'on'."),e.openingDocs=d.a("openingDocs","Now opening the Editor Accessibility documentation page."),e.readonlyDiffEditor=d.a("readonlyDiffEditor"," in a read-only pane of a diff editor."),e.editableDiffEditor=d.a("editableDiffEditor"," in a pane of a diff editor."),e.readonlyEditor=d.a("readonlyEditor"," in a read-only code editor"),e.editableEditor=d.a("editableEditor"," in a code editor"),e.changeConfigToOnMac=d.a("changeConfigToOnMac","To configure the editor to be optimized for usage with a Screen Reader press Command+E now."),e.changeConfigToOnWinLinux=d.a("changeConfigToOnWinLinux","To configure the editor to be optimized for usage with a Screen Reader press Control+E now."),e.auto_on=d.a("auto_on","The editor is configured to be optimized for usage with a Screen Reader."),e.auto_off=d.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."),e.tabFocusModeOnMsg=d.a("tabFocusModeOnMsg","Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}."),e.tabFocusModeOnMsgNoKb=d.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."),e.tabFocusModeOffMsg=d.a("tabFocusModeOffMsg","Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}."),e.tabFocusModeOffMsgNoKb=d.a("tabFocusModeOffMsgNoKb","Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding."),e.openDocMac=d.a("openDocMac","Press Command+H now to open a browser window with more information related to editor accessibility."),e.openDocWinLinux=d.a("openDocWinLinux","Press Control+H now to open a browser window with more information related to editor accessibility."),e.outroMsg=d.a("outroMsg","You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape."),e.showAccessibilityHelpAction=d.a("showAccessibilityHelpAction","Show Accessibility Help")}(i||(i={})),function(e){e.inspectTokensAction=d.a("inspectTokens","Developer: Inspect Tokens")}(r||(r={})),function(e){e.gotoLineLabelValidLineAndColumn=d.a("gotoLineLabelValidLineAndColumn","Go to line {0} and character {1}"),e.gotoLineLabelValidLine=d.a("gotoLineLabelValidLine","Go to line {0}"),e.gotoLineLabelEmptyWithLineLimit=d.a("gotoLineLabelEmptyWithLineLimit","Type a line number between 1 and {0} to navigate to"),e.gotoLineLabelEmptyWithLineAndColumnLimit=d.a("gotoLineLabelEmptyWithLineAndColumnLimit","Type a character between 1 and {0} to navigate to"),e.gotoLineAriaLabel=d.a("gotoLineAriaLabel","Current Line: {0}. Go to line {1}."),e.gotoLineActionInput=d.a("gotoLineActionInput","Type a line number, followed by an optional colon and a character number to navigate to"),e.gotoLineActionLabel=d.a("gotoLineActionLabel","Go to Line...")}(o||(o={})),function(e){e.ariaLabelEntryWithKey=d.a("ariaLabelEntryWithKey","{0}, {1}, commands"),e.ariaLabelEntry=d.a("ariaLabelEntry","{0}, commands"),e.quickCommandActionInput=d.a("quickCommandActionInput","Type the name of an action you want to execute"),e.quickCommandActionLabel=d.a("quickCommandActionLabel","Command Palette")}(s||(s={})),function(e){e.entryAriaLabel=d.a("entryAriaLabel","{0}, symbols"),e.quickOutlineActionInput=d.a("quickOutlineActionInput","Type the name of an identifier you wish to navigate to"),e.quickOutlineActionLabel=d.a("quickOutlineActionLabel","Go to Symbol..."),e._symbols_=d.a("symbols","symbols ({0})"),e._modules_=d.a("modules","modules ({0})"),e._class_=d.a("class","classes ({0})"),e._interface_=d.a("interface","interfaces ({0})"),e._method_=d.a("method","methods ({0})"),e._function_=d.a("function","functions ({0})"),e._property_=d.a("property","properties ({0})"),e._variable_=d.a("variable","variables ({0})"),e._variable2_=d.a("variable2","variables ({0})"),e._constructor_=d.a("_constructor","constructors ({0})"),e._call_=d.a("call","calls ({0})")}(a||(a={})),function(e){e.editorViewAccessibleLabel=d.a("editorViewAccessibleLabel","Editor content"),e.accessibilityHelpMessageIE=d.a("accessibilityHelpMessageIE","Press Ctrl+F1 for Accessibility Options."),e.accessibilityHelpMessage=d.a("accessibilityHelpMessage","Press Alt+F1 for Accessibility Options.")}(u||(u={})),function(e){e.toggleHighContrast=d.a("toggleHighContrast","Toggle High Contrast Theme")}(c||(c={})),function(e){e.bulkEditServiceSummary=d.a("bulkEditServiceSummary","Made {0} edits in {1} files")}(l||(l={}))},EfRI:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"DeleteWordPartLeft",function(){return d}),n.d(t,"DeleteWordPartRight",function(){return h}),n.d(t,"WordPartLeftCommand",function(){return f}),n.d(t,"CursorWordPartLeft",function(){return p}),n.d(t,"CursorWordPartLeftSelect",function(){return g}),n.d(t,"WordPartRightCommand",function(){return m}),n.d(t,"CursorWordPartRight",function(){return v}),n.d(t,"CursorWordPartRightSelect",function(){return _});var i,r=n("03Zz"),o=n("CIBl"),s=n("vTy2"),a=n("/9db"),u=n("I8T6"),c=n("ItKl"),l=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),d=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:a.a.writable,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:769},weight:100}})||this}return l(t,e),t.prototype._delete=function(e,t,n,i,r){var a=o.b.deleteWordPartLeft(e,t,n,i);return a||new s.a(1,1,1,1)},t}(u.DeleteWordCommand),h=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:a.a.writable,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:788},weight:100}})||this}return l(t,e),t.prototype._delete=function(e,t,n,i,r){var a=o.b.deleteWordPartRight(e,t,n,i);if(a)return a;var u=t.getLineCount(),c=t.getLineMaxColumn(u);return new s.a(u,c,u,c)},t}(u.DeleteWordCommand),f=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return l(t,e),t.prototype._move=function(e,t,n,i){return o.b.moveWordPartLeft(e,t,n)},t}(u.MoveWordCommand),p=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:783},weight:100}})||this}return l(t,e),t}(f);c.a.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");var g=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:1807},weight:100}})||this}return l(t,e),t}(f);c.a.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");var m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return l(t,e),t.prototype._move=function(e,t,n,i){return o.b.moveWordPartRight(e,t,n)},t}(u.MoveWordCommand),v=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:785},weight:100}})||this}return l(t,e),t}(m),_=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:a.a.textInputFocus,primary:0,mac:{primary:1809},weight:100}})||this}return l(t,e),t}(m);Object(r.g)(new d),Object(r.g)(new h),Object(r.g)(new p),Object(r.g)(new g),Object(r.g)(new v),Object(r.g)(new _)},EuP9:function(e,t,n){"use strict";(function(e){ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +var i=n("EKta"),r=n("ujcs"),o=n("sOR5");function s(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(s()=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(u.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 n=e.length;if(0===n)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return V(e).length;default:if(i)return B(e).length;t=(""+t).toLowerCase(),i=!0}}function g(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function m(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=u.from(t,i)),u.isBuffer(t))return 0===t.length?-1:v(e,t,n,i,r);if("number"==typeof t)return t&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function v(e,t,n,i,r){var o,s=1,a=e.length,u=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;s=2,a/=2,u/=2,n/=2}function c(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(r){var l=-1;for(o=n;oa&&(n=a-u),o=n;o>=0;o--){for(var d=!0,h=0;hr&&(i=r):i=r;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var s=0;s>8,r=n%256,o.push(r),o.push(i);return o}(t,e.length-n),e,n,i)}function x(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function L(e,t,n){n=Math.min(e.length,n);for(var i=[],r=t;r239?4:c>223?3:c>191?2:1;if(r+d<=n)switch(d){case 1:c<128&&(l=c);break;case 2:128==(192&(o=e[r+1]))&&(u=(31&c)<<6|63&o)>127&&(l=u);break;case 3:o=e[r+1],s=e[r+2],128==(192&o)&&128==(192&s)&&(u=(15&c)<<12|(63&o)<<6|63&s)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:o=e[r+1],s=e[r+2],a=e[r+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(u=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(l=u)}null===l?(l=65533,d=1):l>65535&&(l-=65536,i.push(l>>>10&1023|55296),l=56320|1023&l),i.push(l),r+=d}return function(e){var t=e.length;if(t<=O)return String.fromCharCode.apply(String,e);var n="",i=0;for(;ithis.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return E(this,t,n);case"utf8":case"utf-8":return L(this,t,n);case"ascii":return k(this,t,n);case"latin1":case"binary":return N(this,t,n);case"base64":return x(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}.apply(this,arguments)},u.prototype.equals=function(e){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===u.compare(this,e)},u.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},u.prototype.compare=function(e,t,n,i,r){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,i>>>=0,r>>>=0,this===e)return 0;for(var o=r-i,s=n-t,a=Math.min(o,s),c=this.slice(i,r),l=e.slice(t,n),d=0;dr)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return _(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":return y(this,e,t,n);case"latin1":case"binary":return w(this,e,t,n);case"base64":return C(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;function k(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;ri)&&(n=i);for(var r="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function M(e,t,n,i,r,o){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function T(e,t,n,i){t<0&&(t=65535+t+1);for(var r=0,o=Math.min(e.length-n,2);r>>8*(i?r:1-r)}function P(e,t,n,i){t<0&&(t=4294967295+t+1);for(var r=0,o=Math.min(e.length-n,4);r>>8*(i?r:3-r)&255}function A(e,t,n,i,r,o){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function R(e,t,n,i,o){return o||A(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function F(e,t,n,i,o){return o||A(e,0,n,8),r.write(e,t,n,i,52,8),n+8}u.prototype.slice=function(e,t){var n,i=this.length;if(e=~~e,t=void 0===t?i:~~t,e<0?(e+=i)<0&&(e=0):e>i&&(e=i),t<0?(t+=i)<0&&(t=0):t>i&&(t=i),t0&&(r*=256);)i+=this[e+--t]*r;return i},u.prototype.readUInt8=function(e,t){return t||D(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return t||D(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return t||D(e,2,this.length),this[e]<<8|this[e+1]},u.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]},u.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])},u.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||D(e,t,this.length);for(var i=this[e],r=1,o=0;++o=(r*=128)&&(i-=Math.pow(2,8*t)),i},u.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||D(e,t,this.length);for(var i=t,r=1,o=this[e+--i];i>0&&(r*=256);)o+=this[e+--i]*r;return o>=(r*=128)&&(o-=Math.pow(2,8*t)),o},u.prototype.readInt8=function(e,t){return t||D(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){t||D(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(e,t){t||D(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.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},u.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]},u.prototype.readFloatLE=function(e,t){return t||D(e,4,this.length),r.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return t||D(e,4,this.length),r.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return t||D(e,8,this.length),r.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return t||D(e,8,this.length),r.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,n,i){(e=+e,t|=0,n|=0,i)||M(this,e,t,n,Math.pow(2,8*n)-1,0);var r=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+r]=e/o&255;return t+n},u.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):T(this,e,t,!0),t+2},u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):T(this,e,t,!1),t+2},u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):P(this,e,t,!0),t+4},u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):P(this,e,t,!1),t+4},u.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);M(this,e,t,n,r-1,-r)}var o=0,s=1,a=0;for(this[t]=255&e;++o>0)-a&255;return t+n},u.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);M(this,e,t,n,r-1,-r)}var o=n-1,s=1,a=0;for(this[t+o]=255&e;--o>=0&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):T(this,e,t,!0),t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):T(this,e,t,!1),t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):P(this,e,t,!0),t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):P(this,e,t,!1),t+4},u.prototype.writeFloatLE=function(e,t,n){return R(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return R(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return F(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return F(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,i){if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t=0;--r)e[r+t]=this[r+n];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(r=0;r>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===i){(t-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function V(e){return i.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(j,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function H(e,t,n,i){for(var r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}}).call(t,n("DuR2"))},Evjx:function(e,t,n){"use strict";n.d(t,"d",function(){return u}),n.d(t,"b",function(){return l}),n.d(t,"a",function(){return d}),n.d(t,"c",function(){return v});var i,r,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=function(){function e(){this.value="",this.pos=0}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,n=this.pos,i=0,r=this.value.charCodeAt(n);if("number"==typeof(t=e._table[r]))return this.pos+=1,{type:t,pos:n,len:1};if(e.isDigitCharacter(r)){t=8;do{i+=1,r=this.value.charCodeAt(n+i)}while(e.isDigitCharacter(r));return this.pos+=i,{type:t,pos:n,len:i}}if(e.isVariableCharacter(r)){t=9;do{r=this.value.charCodeAt(n+ ++i)}while(e.isVariableCharacter(r)||e.isDigitCharacter(r));return this.pos+=i,{type:t,pos:n,len:i}}t=10;do{i+=1,r=this.value.charCodeAt(n+i)}while(!isNaN(r)&&void 0===e._table[r]&&!e.isDigitCharacter(r)&&!e.isVariableCharacter(r));return this.pos+=i,{type:t,pos:n,len:i}},e._table=((r={})[36]=0,r[58]=1,r[44]=2,r[123]=3,r[125]=4,r[92]=5,r[47]=6,r[124]=7,r[43]=11,r[45]=12,r[63]=13,r),e}(),a=function(){function e(){this._children=[]}return e.prototype.appendChild=function(e){return e instanceof u&&this._children[this._children.length-1]instanceof u?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this},e.prototype.replace=function(e,t){var n=e.parent,i=n.children.indexOf(e),r=n.children.slice(0);r.splice.apply(r,[i,1].concat(t)),n._children=r,function e(t,n){for(var i=0,r=t;it.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 d?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}(c),d=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.options=[],t}return o(t,e),t.prototype.appendChild=function(e){return e instanceof u&&(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),h=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.regexp=new RegExp(""),t}return o(t,e),t.prototype.resolve=function(e){var t=this,n=!1,i=e.replace(this.regexp,function(){return n=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!n&&this._children.some(function(e){return e instanceof f&&Boolean(e.elseValue)})&&(i=this._replace([])),i},t.prototype._replace=function(e){for(var t="",n=0,i=this._children;n0;){var i=n.shift();if(!t(i))break;n.unshift.apply(n,i.children)}}var m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o(t,e),Object.defineProperty(t.prototype,"placeholderInfo",{get:function(){if(!this._placeholders){var e,t=[];this.walk(function(n){return n instanceof l&&(t.push(n),e=!e||e.index0?r.set(e.index,e.children):o.push(e)),!0});for(var a=0,u=o;a0&&t),!r.has(0)&&n&&i.appendChild(new l(0)),i},e.prototype._accept=function(e,t){if(void 0===e||this._token.type===e){var n=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),n}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="",n=this._token.pos,i={type:14,pos:0,len:0};this._token.type!==e||5===i.type;)if(this._token.type===e&&(t+=this._scanner.value.substring(n,i.pos),n=this._token.pos),i=this._token,this._token=this._scanner.next(),14===this._token.type)return!1;return t+=this._scanner.value.substring(n,this._token.pos),this._token=this._scanner.next(),t},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 u(t)),!0)},e.prototype._parseTabstopOrVariableName=function(e){var t,n=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new l(Number(t)):new p(t)),!0):this._backTo(n)},e.prototype._parseComplexPlaceholder=function(e){var t,n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(n);var i=new l(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(i),!0;if(!this._parse(i))return e.appendChild(new u("${"+t+":")),i.children.forEach(e.appendChild,e),!0}else{if(!(i.index>0&&this._accept(7)))return this._accept(6)?this._parseTransform(i)?(e.appendChild(i),!0):(this._backTo(n),!1):this._accept(4)?(e.appendChild(i),!0):this._backTo(n);for(var r=new d;;){if(this._parseChoiceElement(r)){if(this._accept(2))continue;if(this._accept(7)&&(i.appendChild(r),this._accept(4)))return e.appendChild(i),!0}return this._backTo(n),!1}}},e.prototype._parseChoiceElement=function(e){for(var t=this._token,n=[];2!==this._token.type&&7!==this._token.type;){var i=void 0;if(!(i=(i=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||i:this._accept(void 0,!0)))return this._backTo(t),!1;n.push(i)}return 0===n.length?(this._backTo(t),!1):(e.appendChild(new u(n.join(""))),!0)},e.prototype._parseComplexVariable=function(e){var t,n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(n);var i=new p(t);if(!this._accept(1))return this._accept(6)?this._parseTransform(i)?(e.appendChild(i),!0):(this._backTo(n),!1):this._accept(4)?(e.appendChild(i),!0):this._backTo(n);for(;;){if(this._accept(4))return e.appendChild(i),!0;if(!this._parse(i))return e.appendChild(new u("${"+t+":")),i.children.forEach(e.appendChild,e),!0}},e.prototype._parseTransform=function(e){for(var t=new h,n="",i="";!this._accept(6);){var r=void 0;if(r=this._accept(5,!0))n+=r=this._accept(6,!0)||r;else{if(14===this._token.type)return!1;n+=this._accept(void 0,!0)}}for(;!this._accept(6);){r=void 0;if(r=this._accept(5,!0))r=this._accept(5,!0)||this._accept(6,!0)||r,t.appendChild(new u(r));else if(!this._parseFormatString(t)&&!this._parseAnything(t))return!1}for(;!this._accept(4);){if(14===this._token.type)return!1;i+=this._accept(void 0,!0)}try{t.regexp=new RegExp(n,i)}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 n=!1;this._accept(3)&&(n=!0);var i=this._accept(8,!0);if(!i)return this._backTo(t),!1;if(!n)return e.appendChild(new f(Number(i))),!0;if(this._accept(4))return e.appendChild(new f(Number(i))),!0;if(!this._accept(1))return this._backTo(t),!1;if(this._accept(6)){var r=this._accept(9,!0);return r&&this._accept(4)?(e.appendChild(new f(Number(i),r)),!0):(this._backTo(t),!1)}if(this._accept(11)){if(o=this._until(4))return e.appendChild(new f(Number(i),void 0,o,void 0)),!0}else if(this._accept(12)){if(s=this._until(4))return e.appendChild(new f(Number(i),void 0,void 0,s)),!0}else if(this._accept(13)){var o;if(o=this._until(1))if(s=this._until(4))return e.appendChild(new f(Number(i),void 0,o,s)),!0}else{var s;if(s=this._until(4))return e.appendChild(new f(Number(i),void 0,void 0,s)),!0}return this._backTo(t),!1},e.prototype._parseAnything=function(e){return 14!==this._token.type&&(e.appendChild(new u(this._scanner.tokenText(this._token))),this._accept(void 0),!0)},e}()},F11g:function(e,t,n){"use strict";var i=n("geuY"),r=n("HzeT"),o=n("lZ6o"),s=o.utils.assert,a=n("yMmo"),u=n("NMED");function c(e){if(!(this instanceof c))return new c(e);"string"==typeof e&&(s(o.curves.hasOwnProperty(e),"Unknown curve "+e),e=o.curves[e]),e instanceof o.curves.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}e.exports=c,c.prototype.keyPair=function(e){return new a(this,e)},c.prototype.keyFromPrivate=function(e,t){return a.fromPrivate(this,e,t)},c.prototype.keyFromPublic=function(e,t){return a.fromPublic(this,e,t)},c.prototype.genKeyPair=function(e){e||(e={});for(var t=new r({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||o.rand(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),n=this.n.byteLength(),s=this.n.sub(new i(2));;){var a=new i(t.generate(n));if(!(a.cmp(s)>0))return a.iaddn(1),this.keyFromPrivate(a)}},c.prototype._truncateToN=function(e,t){var n=8*e.byteLength()-this.n.bitLength();return n>0&&(e=e.ushrn(n)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},c.prototype.sign=function(e,t,n,o){"object"==typeof n&&(o=n,n=null),o||(o={}),t=this.keyFromPrivate(t,n),e=this._truncateToN(new i(e,16));for(var s=this.n.byteLength(),a=t.getPrivate().toArray("be",s),c=e.toArray("be",s),l=new r({hash:this.hash,entropy:a,nonce:c,pers:o.pers,persEnc:o.persEnc||"utf8"}),d=this.n.sub(new i(1)),h=0;;h++){var f=o.k?o.k(h):new i(l.generate(this.n.byteLength()));if(!((f=this._truncateToN(f,!0)).cmpn(1)<=0||f.cmp(d)>=0)){var p=this.g.mul(f);if(!p.isInfinity()){var g=p.getX(),m=g.umod(this.n);if(0!==m.cmpn(0)){var v=f.invm(this.n).mul(m.mul(t.getPrivate()).iadd(e));if(0!==(v=v.umod(this.n)).cmpn(0)){var _=(p.getY().isOdd()?1:0)|(0!==g.cmp(m)?2:0);return o.canonical&&v.cmp(this.nh)>0&&(v=this.n.sub(v),_^=1),new u({r:m,s:v,recoveryParam:_})}}}}}},c.prototype.verify=function(e,t,n,r){e=this._truncateToN(new i(e,16)),n=this.keyFromPublic(n,r);var o=(t=new u(t,"hex")).r,s=t.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var a,c=s.invm(this.n),l=c.mul(e).umod(this.n),d=c.mul(o).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(l,n.getPublic(),d)).isInfinity()&&a.eqXToP(o):!(a=this.g.mulAdd(l,n.getPublic(),d)).isInfinity()&&0===a.getX().umod(this.n).cmp(o)},c.prototype.recoverPubKey=function(e,t,n,r){s((3&n)===n,"The recovery param is more than two bits"),t=new u(t,r);var o=this.n,a=new i(e),c=t.r,l=t.s,d=1&n,h=n>>1;if(c.cmp(this.curve.p.umod(this.curve.n))>=0&&h)throw new Error("Unable to find sencond key candinate");c=h?this.curve.pointFromX(c.add(this.curve.n),d):this.curve.pointFromX(c,d);var f=t.r.invm(o),p=o.sub(a).mul(f).umod(o),g=l.mul(f).umod(o);return this.g.mulAdd(p,c,g)},c.prototype.getKeyRecoveryParam=function(e,t,n,i){if(null!==(t=new u(t,i)).recoveryParam)return t.recoveryParam;for(var r=0;r<4;r++){var o;try{o=this.recoverPubKey(e,t,r)}catch(e){continue}if(o.eq(n))return r}throw new Error("Unable to find valid recovery factor")}},F5mM:function(e,t){},Fllr:function(e,t,n){"use strict";var i=n("zxiH"),r=n("Kp7x"),o=n("tqet"),s=n("aL7J"),a=n("vTy2"),u=n("+jct"),c=n("+oh4"),l=n("Eeyw"),d=function(){function e(t){if(t.autoClosingPairs?this._autoClosingPairs=t.autoClosingPairs.map(function(e){return new c.b(e)}):t.brackets?this._autoClosingPairs=t.brackets.map(function(e){return new c.b({open:e[0],close:e[1]})}):this._autoClosingPairs=[],t.__electricCharacterSupport&&t.__electricCharacterSupport.docComment){var n=t.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new c.b({open:n.open,close:n.close||""}))}this._autoCloseBefore="string"==typeof t.autoCloseBefore?t.autoCloseBefore:e.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED,this._surroundingPairs=t.surroundingPairs||this._autoClosingPairs}return e.prototype.getAutoClosingPairs=function(){return this._autoClosingPairs},e.prototype.getAutoCloseBeforeSet=function(){return this._autoCloseBefore},e.shouldAutoClosePair=function(e,t,n){if(0===t.getTokenCount())return!0;var i=t.findTokenIndexAtOffset(n-2),r=t.getStandardTokenType(i);return e.isOK(r)},e.prototype.getSurroundingPairs=function(){return this._surroundingPairs},e.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED=";:.,=}])> \n\t",e}(),h=n("iNUG"),f=function(){function e(e){this._richEditBrackets=e}return e.prototype.getElectricCharacters=function(){var e=[];if(this._richEditBrackets)for(var t=0,n=this._richEditBrackets.brackets.length;t0&&n.length>0)for(i=0,r=this._brackets.length;i0)for(i=0,r=this._brackets.length;i1){var r=void 0,o=-1;for(r=t-1;r>=1;r--){if(e.getLanguageIdAtPosition(r,0)!==i)return o;var s=e.getLineContent(r);if(!n.shouldIgnore(s)&&!/^\s+$/.test(s)&&""!==s)return r;o=r}}return-1},e.prototype.getInheritIndentForLine=function(e,t,n){void 0===n&&(n=!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 o=e.getLineContent(r);if(i.shouldIncrease(o)||i.shouldIndentNextLine(o))return{indentation:s.s(o),action:c.a.Indent,line:r};if(i.shouldDecrease(o))return{indentation:s.s(o),action:null,line:r};if(1===r)return{indentation:s.s(e.getLineContent(r)),action:null,line:r};var a=r-1,u=i.getIndentMetadata(e.getLineContent(a));if(!(3&u)&&4&u){for(var l=0,d=a-1;d>0;d--)if(!i.shouldIndentNextLine(e.getLineContent(d))){l=d;break}return{indentation:s.s(e.getLineContent(l+1)),action:null,line:l+1}}if(n)return{indentation:s.s(e.getLineContent(r)),action:null,line:r};for(d=r;d>0;d--){var h=e.getLineContent(d);if(i.shouldIncrease(h))return{indentation:s.s(h),action:c.a.Indent,line:d};if(i.shouldIndentNextLine(h)){l=0;for(var f=d-1;f>0;f--)if(!i.shouldIndentNextLine(e.getLineContent(d))){l=f;break}return{indentation:s.s(e.getLineContent(l+1)),action:null,line:l+1}}if(i.shouldDecrease(h))return{indentation:s.s(h),action:null,line:d}}return{indentation:s.s(e.getLineContent(1)),action:null,line:1}},e.prototype.getGoodIndentForLine=function(e,t,n,r){var o=this.getIndentRulesSupport(t);if(!o)return null;var a=this.getInheritIndentForLine(e,n),u=e.getLineContent(n);if(a){var l=a.line;if(void 0!==l){var d=this._getOnEnterSupport(t),h=null;try{d&&(h=d.onEnter("",e.getLineContent(l),""))}catch(e){Object(i.e)(e)}if(h){var f=s.s(e.getLineContent(l));return h.removeText&&(f=f.substring(0,f.length-h.removeText)),h.indentAction===c.a.Indent||h.indentAction===c.a.IndentOutdent?f=r.shiftIndent(f):h.indentAction===c.a.Outdent&&(f=r.unshiftIndent(f)),o.shouldDecrease(u)&&(f=r.unshiftIndent(f)),h.appendText&&(f+=h.appendText),s.s(f)}}return o.shouldDecrease(u)?a.action===c.a.Indent?a.indentation:r.unshiftIndent(a.indentation):a.action===c.a.Indent?r.shiftIndent(a.indentation):a.indentation}return null},e.prototype.getIndentForEnter=function(e,t,n,i){e.forceTokenization(t.startLineNumber);var r,o,a=e.getLineTokens(t.startLineNumber),u=Object(l.a)(a,t.startColumn-1),d=u.getLineContent(),h=!1;(u.firstCharOffset>0&&a.getLanguageId(0)!==u.languageId?(h=!0,r=d.substr(0,t.startColumn-1-u.firstCharOffset)):r=a.getLineContent().substring(0,t.startColumn-1),t.isEmpty())?o=d.substr(t.startColumn-1-u.firstCharOffset):o=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-u.firstCharOffset);var f=this.getIndentRulesSupport(u.languageId);if(!f)return null;var p=r,g=s.s(r);if(!i&&!h){var m=this.getInheritIndentForLine(e,t.startLineNumber);f.shouldDecrease(r)&&m&&(g=m.indentation,m.action!==c.a.Indent&&(g=n.unshiftIndent(g))),p=g+s.B(s.B(r," "),"\t")}var v={getLineTokens:function(t){return e.getLineTokens(t)},getLanguageIdentifier:function(){return e.getLanguageIdentifier()},getLanguageIdAtPosition:function(t,n){return e.getLanguageIdAtPosition(t,n)},getLineContent:function(n){return n===t.startLineNumber?p:e.getLineContent(n)}},_=s.s(a.getLineContent()),b=this.getInheritIndentForLine(v,t.startLineNumber+1);if(!b){var y=h?_:g;return{beforeEnter:y,afterEnter:y}}var w=h?_:b.indentation;return b.action===c.a.Indent&&(w=n.shiftIndent(w)),f.shouldDecrease(o)&&(w=n.unshiftIndent(w)),{beforeEnter:h?_:g,afterEnter:w}},e.prototype.getIndentActionForType=function(e,t,n,i){var r=this.getScopedLineTokens(e,t.startLineNumber,t.startColumn),o=this.getIndentRulesSupport(r.languageId);if(!o)return null;var s,a=r.getLineContent(),u=a.substr(0,t.startColumn-1-r.firstCharOffset);t.isEmpty()?s=a.substr(t.startColumn-1-r.firstCharOffset):s=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-r.firstCharOffset);if(!o.shouldDecrease(u+s)&&o.shouldDecrease(u+n+s)){var l=this.getInheritIndentForLine(e,t.startLineNumber,!1);if(!l)return null;var d=l.indentation;return l.action!==c.a.Indent&&(d=i.unshiftIndent(d)),d}return null},e.prototype.getIndentMetadata=function(e,t){var n=this.getIndentRulesSupport(e.getLanguageIdentifier().id);return n?t<1||t>e.getLineCount()?null:n.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,n){var i=this.getEnterAction(e,new a.a(t,n,t,n));return i?i.enterAction:null},e.prototype.getEnterAction=function(e,t){var n=this.getIndentationAtPosition(e,t.startLineNumber,t.startColumn),r=this.getScopedLineTokens(e,t.startLineNumber,t.startColumn),o=this._getOnEnterSupport(r.languageId);if(!o)return null;var s,a=r.getLineContent(),u=a.substr(0,t.startColumn-1-r.firstCharOffset);t.isEmpty()?s=a.substr(t.startColumn-1-r.firstCharOffset):s=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-r.firstCharOffset);var l=t.startLineNumber,d="";if(l>1&&0===r.firstCharOffset){var h=this.getScopedLineTokens(e,l-1);h.languageId===r.languageId&&(d=h.getLineContent())}var f=null;try{f=o.onEnter(d,u,s)}catch(e){Object(i.e)(e)}return f?(f.appendText||(f.indentAction===c.a.Indent||f.indentAction===c.a.IndentOutdent?f.appendText="\t":f.appendText=""),f.removeText&&(n=n.substring(0,n.length-f.removeText)),{enterAction:f,indentation:n}):null},e.prototype.getIndentationAtPosition=function(e,t,n){var i=e.getLineContent(t),r=s.s(i);return r.length>n-1&&(r=r.substring(0,n-1)),r},e.prototype.getScopedLineTokens=function(e,t,n){e.forceTokenization(t);var i=e.getLineTokens(t),r=void 0===n?e.getLineMaxColumn(t)-1:n-1;return Object(l.a)(i,r)},e.prototype.getBracketsSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.brackets||null},e}())},G7Ib:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n("03Zz"),r=n("0Td8");Object(i.h)(r.f),Object(i.f)(r.e),Object(i.f)(r.g),Object(i.f)(r.h),Object(i.f)(r.d),Object(i.f)(r.a),Object(i.f)(r.c),Object(i.g)(new r.b)},G8r4:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("Kp7x"),r=new(function(){function e(){this._zoomLevel=0,this._onDidChangeZoomLevel=new i.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}())},GUE9:function(e,t,n){(function(t,i){var r,o=n("2JY6"),s=n("35aj"),a=n("Zq1s"),u=n("X3l8").Buffer,c=t.crypto&&t.crypto.subtle,l={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},d=[];function h(e,t,n,i,r){return c.importKey("raw",e,{name:"PBKDF2"},!1,["deriveBits"]).then(function(e){return c.deriveBits({name:"PBKDF2",salt:t,iterations:n,hash:{name:r}},e,i<<3)}).then(function(e){return u.from(e)})}e.exports=function(e,n,f,p,g,m){"function"==typeof g&&(m=g,g=void 0);var v=l[(g=g||"sha1").toLowerCase()];if(!v||"function"!=typeof t.Promise)return i.nextTick(function(){var t;try{t=a(e,n,f,p,g)}catch(e){return m(e)}m(null,t)});if(o(e,n,f,p),"function"!=typeof m)throw new Error("No callback provided to pbkdf2");u.isBuffer(e)||(e=u.from(e,s)),u.isBuffer(n)||(n=u.from(n,s)),function(e,t){e.then(function(e){i.nextTick(function(){t(null,e)})},function(e){i.nextTick(function(){t(e)})})}(function(e){if(t.process&&!t.process.browser)return Promise.resolve(!1);if(!c||!c.importKey||!c.deriveBits)return Promise.resolve(!1);if(void 0!==d[e])return d[e];var n=h(r=r||u.alloc(8),r,10,128,e).then(function(){return!0}).catch(function(){return!1});return d[e]=n,n}(v).then(function(t){return t?h(e,n,f,p,v):a(e,n,f,p,g)}),m)}}).call(t,n("DuR2"),n("W2nU"))},GV5w:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"GotoLineEntry",function(){return g}),n.d(t,"GotoLineAction",function(){return m});var i,r=n("wtJh"),o=(n.n(r),n("aL7J")),s=n("Al6Q"),a=n("P1SM"),u=n("03Zz"),c=n("artP"),l=n("vTy2"),d=n("/9db"),h=n("zwZj"),f=n("EfIu"),p=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),g=function(e){function t(t,n,i){var r=e.call(this)||this;return r.editor=n,r.decorator=i,r.parseResult=r.parseInput(t),r}return p(t,e),t.prototype.parseInput=function(e){var t,n,i=e.split(",").map(function(e){return parseInt(e,10)}).filter(function(e){return!isNaN(e)});if(t=0===i.length?new c.a(-1,-1):1===i.length?new c.a(i[0],1):new c.a(i[0],i[1]),Object(a.a)(this.editor))n=this.editor.getModel();else{var r=this.editor.getModel();n=r?r.modified:null}var s=!!n&&n.validatePosition(t).equals(t);return{position:t,isValid:s,label:s?t.column&&t.column>1?o.r(f.b.gotoLineLabelValidLineAndColumn,t.lineNumber,t.column):o.r(f.b.gotoLineLabelValidLine,t.lineNumber):t.lineNumber<1||t.lineNumber>(n?n.getLineCount():0)?o.r(f.b.gotoLineLabelEmptyWithLineLimit,n?n.getLineCount():0):o.r(f.b.gotoLineLabelEmptyWithLineAndColumnLimit,n?n.getLineMaxColumn(t.lineNumber):0)}},t.prototype.getLabel=function(){return this.parseResult.label},t.prototype.getAriaLabel=function(){var e=this.editor.getPosition(),t=e?e.lineNumber:0;return o.r(f.b.gotoLineAriaLabel,t,this.parseResult.label)},t.prototype.run=function(e,t){return 1===e?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 l.a(this.parseResult.position.lineNumber,this.parseResult.position.column,this.parseResult.position.lineNumber,this.parseResult.position.column)},t}(s.a),m=function(e){function t(){return e.call(this,f.b.gotoLineActionInput,{id:"editor.action.gotoLine",label:f.b.gotoLineActionLabel,alias:"Go to Line...",precondition:void 0,kbOpts:{kbExpr:d.a.focus,primary:2085,mac:{primary:293},weight:100}})||this}return p(t,e),t.prototype.run=function(e,t){var n=this;this._show(this.getController(t),{getModel:function(e){return new s.c([new g(e,t,n.getController(t))])},getAutoFocus:function(e){return{autoFocusFirstEntry:e.length>0}}})},t}(h.a);Object(u.f)(m)},GYOr:function(e,t,n){"use strict";n.d(t,"g",function(){return s}),t.f=function(e,t,n){void 0===n&&(n=!1);if("string"!=typeof e||"string"!=typeof t)return null;var i=b.get(e);i||(i=new RegExp(r.j(e),"i"),b.set(e,i));var o=i.exec(t);if(o)return[{start:o.index,end:o.index+o[0].length}];return n?_(e,t):v(e,t)},t.b=function(e,t,n,i,r,o){var s=I(e,t,0,i,r,0,!0);if(s)return s;for(var a=0,u=0,c=o,l=0;l=0)u+=1,a+=Math.pow(2,d),c=d+1;else if(0!==a)break}return[u,a,o]},t.c=function(e){if(void 0===e)return[];for(var t=e[1].toString(2),n=[],i=e[2];i=3)for(var c=Math.min(7,e.length-1),l=n+1;lu[0])&&(u=h))}}return u}(e,t,n,i,r,o,!0,s)};var i=n("WTFd"),r=n("aL7J");function o(){for(var e=[],t=0;t0?[{start:0,end:t.length}]:[]}.bind(void 0,!0);function a(e){return 97<=e&&e<=122}function u(e){return 65<=e&&e<=90}function c(e){return 48<=e&&e<=57}function l(e){return 32===e||9===e||10===e||13===e}var d=new Set;function h(e){return a(e)||u(e)||c(e)}function f(e,t){return 0===t.length?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function p(e,t){for(var n=t;n0&&!h(e.charCodeAt(n-1)))return n}return e.length}function g(e,t,n,i){if(n===e.length)return[];if(i===t.length)return null;if(e[n]!==t[i].toLowerCase())return null;var r=null,o=i+1;for(r=g(e,t,n+1,i+1);!r&&(o=p(t,o))60)return null;var n=function(e){for(var t=0,n=0,i=0,r=0,o=0,s=0;s.2&&t<.8&&i>.6&&r<.2}(n)){if(!function(e){var t=e.upperPercent;return 0===e.lowerPercent&&t>.6}(n))return null;t=t.toLowerCase()}var i=null,r=0;for(e=e.toLowerCase();r/?".split("").forEach(function(e){return d.add(e.charCodeAt(0))});var v=o(s,m,function(e,t){var n=t.toLowerCase().indexOf(e.toLowerCase());return-1===n?null:[{start:n,end:n+e.length}]}),_=o(s,m,function(e,t){return function e(t,n,i,r){if(i===t.length)return[];if(r===n.length)return null;if(t[i]===n[r]){var o=null;return(o=e(t,n,i+1,r+1))?f({start:r,end:r+1},o):null}return e(t,n,i,r+1)}(e.toLowerCase(),t.toLowerCase(),0,0)}),b=new i.a(1e4);var y=128;function w(){for(var e=[],t=[0],n=1;n<=y;n++)t.push(-n);for(n=0;n<=y;n++){var i=t.slice(0);i[0]=-n,e.push(i)}return e}var C,S=w(),x=w(),L=w(),O=!1;function k(e,t,n,i,r){function o(e,t,n){for(void 0===n&&(n=" ");e.length=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:case 36:return!0;default:return!1}}function E(e,t,n){return t[e]!==n[e]}function I(e,t,n,i,r,o,s){var a=e.length>y?y:e.length,u=i.length>y?y:i.length;if(!(n>=a||o>=u||a>u)&&function(e,t,n,i,r,o){for(;t1?1:f),g=S[c-1][l]+-1,m=S[c][l-1]+-1;m>=g?m>p?(S[c][l]=m,L[c][l]=4):m===p?(S[c][l]=m,L[c][l]=6):(S[c][l]=p,L[c][l]=2):g>p?(S[c][l]=g,L[c][l]=1):g===p?(S[c][l]=g,L[c][l]=3):(S[c][l]=p,L[c][l]=2)}if(O&&function(e,t,n,i){e=e.substr(t),n=n.substr(i),console.log(k(S,e,e.length,n,n.length)),console.log(k(L,e,e.length,n,n.length)),console.log(k(x,e,e.length,n,n.length))}(e,n,i,o),M=0,P=-100,A=o,R=s,function e(t,n,i,r,o){if(M>=10||i<-25)return;var s=0;for(;t>0&&n>0;){var a=x[t][n],u=L[t][n];if(4===u)n-=1,o?i-=5:0!==r&&(i-=1),o=!1,s=0;else{if(!(2&u))return;if(4&u&&e(t,n-1,0!==r?i-1:i,r,o),i+=a,t-=1,n-=1,o=!0,r+=Math.pow(2,n+A),1===a){if(s+=1,0===t&&!R)return}else i+=1+s*(a-1),s=0}}i-=n>=3?9:3*n;M+=1;i>P&&(P=i,T=r)}(c-1,l-1,a===u?1:0,0,!1),0!==M)return[P,T,o]}}function D(e,t,n,i,r,o,s){return t[n]!==o[s]?-1:s===n-i?e[n]===r[s]?7:5:!E(s,r,o)||0!==s&&E(s-1,r,o)?!N(o,s)||0!==s&&N(o,s-1)?N(o,s-1)||function(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 32:case 9:return!0;default:return!1}}(o,s-1)?5:1:5:e[n]===r[s]?7:5}!function(e){e.Default=Object.freeze([-100,0,0]),e.isDefault=function(e){return!e||-100===e[0]&&0===e[1]&&0===e[2]}}(C||(C={}));var M=0,T=0,P=0,A=0,R=!1;function F(e,t){if(!(t+1>=e.length)){var n=e[t],i=e[t+1];if(n!==i)return e.slice(0,t)+i+n+e.slice(t+2)}}},GZKt:function(e,t){},GfE5:function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return o});var i=n("CQAd"),r=function(){function e(t){var n=Object(i.d)(t);this._defaultValue=n,this._asciiMap=e._createAsciiMap(n),this._map=new Map}return e._createAsciiMap=function(e){for(var t=new Uint8Array(256),n=0;n<256;n++)t[n]=e;return t},e.prototype.set=function(e,t){var n=Object(i.d)(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)},e.prototype.get=function(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue},e}(),o=function(){function e(){this._actual=new r(0)}return e.prototype.add=function(e){this._actual.set(e,1)},e.prototype.has=function(e){return 1===this._actual.get(e)},e}()},GgF8:function(e,t){var n="[object String]",i=Object.prototype.toString,r=Array.isArray;e.exports=function(e){return"string"==typeof e||!r(e)&&function(e){return!!e&&"object"==typeof e}(e)&&i.call(e)==n}},GsV8:function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return o});var i=n("JVO/"),r=Object(i.c)("openerService"),o=Object.freeze({_serviceBrand:void 0,registerOpener:function(){return{dispose:function(){}}},registerValidator:function(){return{dispose:function(){}}},open:function(){return Promise.resolve(!1)}})},Gu5N:function(e,t){},Gu7T:function(e,t,n){"use strict";t.__esModule=!0;var i,r=n("c/Tr"),o=(i=r)&&i.__esModule?i:{default:i};t.default=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);tl&&(d=l,h=e.model.getLineMaxColumn(d)),o.d.fromModelState(new o.f(new c.a(s.lineNumber,1,d,h),0,new u.a(d,h),0))}var f=t.modelState.selectionStart.getStartPosition().lineNumber;if(s.lineNumberf){l=e.viewModel.getLineCount();var p=a.lineNumber+1,g=1;return p>l&&(p=l,g=e.viewModel.getLineMaxColumn(p)),o.d.fromViewState(t.viewState.move(t.modelState.hasSelection(),p,g,0))}var m=t.modelState.selectionStart.getEndPosition();return o.d.fromModelState(t.modelState.move(t.modelState.hasSelection(),m.lineNumber,m.column,0))},e.word=function(e,t,n,i){var r=e.model.validatePosition(i);return o.d.fromModelState(a.a.word(e.config,e.model,t.modelState,n,r))},e.cancelSelection=function(e,t){if(!t.modelState.hasSelection())return new o.d(t.modelState,t.viewState);var n=t.viewState.position.lineNumber,i=t.viewState.position.column;return o.d.fromViewState(new o.f(new c.a(n,i,n,i),0,new u.a(n,i),0))},e.moveTo=function(e,t,n,i,r){var s=e.model.validatePosition(i),a=r?e.validateViewPosition(new u.a(r.lineNumber,r.column),s):e.convertModelPositionToViewPosition(s);return o.d.fromViewState(t.viewState.move(n,a.lineNumber,a.column,0))},e.move=function(e,t,n){var i=n.select,r=n.value;switch(n.direction){case 0:return 4===n.unit?this._moveHalfLineLeft(e,t,i):this._moveLeft(e,t,i,r);case 1:return 4===n.unit?this._moveHalfLineRight(e,t,i):this._moveRight(e,t,i,r);case 2:return 2===n.unit?this._moveUpByViewLines(e,t,i,r):this._moveUpByModelLines(e,t,i,r);case 3:return 2===n.unit?this._moveDownByViewLines(e,t,i,r):this._moveDownByModelLines(e,t,i,r);case 4:return this._moveToViewMinColumn(e,t,i);case 5:return this._moveToViewFirstNonWhitespaceColumn(e,t,i);case 6:return this._moveToViewCenterColumn(e,t,i);case 7:return this._moveToViewMaxColumn(e,t,i);case 8:return this._moveToViewLastNonWhitespaceColumn(e,t,i);case 9:var o=t[0],s=e.getCompletelyVisibleModelRange(),a=this._firstLineNumberInRange(e.model,s,r),u=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,o,i,a,u)];case 11:o=t[0],s=e.getCompletelyVisibleModelRange(),a=this._lastLineNumberInRange(e.model,s,r),u=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,o,i,a,u)];case 10:o=t[0],s=e.getCompletelyVisibleModelRange(),a=Math.round((s.startLineNumber+s.endLineNumber)/2),u=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,o,i,a,u)];case 12:for(var c=e.getCompletelyVisibleViewRange(),l=[],d=0,h=t.length;dn.endLineNumber-1&&(r=n.endLineNumber-1),rr,d=i>o,h=io)continue;if(bi)continue;if(_1&&r--,e.columnSelect(t,n,i.fromViewLineNumber,i.fromViewVisualColumn,i.toViewLineNumber,r)},e.columnSelectRight=function(e,t,n){for(var i=0,r=Math.min(n.fromViewLineNumber,n.toViewLineNumber),o=Math.max(n.fromViewLineNumber,n.toViewLineNumber),s=r;s<=o;s++){var c=t.getLineMaxColumn(s),l=a.a.visibleColumnFromColumn2(e,t,new u.a(s,c));i=Math.max(i,l)}var d=n.toViewVisualColumn;return d1)for(var o=n.modelState?n.modelState.position:null,s=n.viewState?n.viewState.position:null,a=0,u=r.length;ar&&(i=r);var o=new c.a(i,1,i,e.context.model.getLineMaxColumn(i)),s=0;if(n.at)switch(n.at){case b.RawAtArgument.Top:s=3;break;case b.RawAtArgument.Center:s=1;break;case b.RawAtArgument.Bottom:s=4}var a=e.context.convertModelRangeToViewRange(o);e.revealRange(!1,a,s,0)},t}(k))),e.SelectAll=Object(o.g)(new(function(e){function t(){return e.call(this,{id:"selectAll",precondition:void 0})||this}return L(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,3,[h.b.selectAll(e.context,e.getPrimaryCursor())])},t}(k))),e.SetSelection=Object(o.g)(new(function(e){function t(){return e.call(this,{id:"setSelection",precondition:void 0})||this}return L(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,3,[a.d.fromModelSelection(t.selection)])},t}(k)))}(w||(w={})),S=C||(C={}),x=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return L(t,e),t.prototype.runEditorCommand=function(e,t,n){var i=t._getCursors();i&&this.runCoreEditingCommand(t,i,n||{})},t}(o.c),S.CoreEditingCommand=x,S.LineBreakInsert=Object(o.g)(new(function(e){function t(){return e.call(this,{id:"lineBreakInsert",precondition:g.a.writable,kbOpts:{weight:O,kbExpr:g.a.textInputFocus,primary:0,mac:{primary:301}}})||this}return L(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,f.a.lineBreakInsert(t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection})))},t}(x))),S.Outdent=Object(o.g)(new(function(e){function t(){return e.call(this,{id:"outdent",precondition:g.a.writable,kbOpts:{weight:O,kbExpr:m.a.and(g.a.editorTextFocus,g.a.tabDoesNotMoveFocus),primary:1026}})||this}return L(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,f.a.outdent(t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection}))),e.pushUndoStop()},t}(x))),S.Tab=Object(o.g)(new(function(e){function t(){return e.call(this,{id:"tab",precondition:g.a.writable,kbOpts:{weight:O,kbExpr:m.a.and(g.a.editorTextFocus,g.a.tabDoesNotMoveFocus),primary:2}})||this}return L(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,f.a.tab(t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection}))),e.pushUndoStop()},t}(x))),S.DeleteLeft=Object(o.g)(new(function(e){function t(){return e.call(this,{id:"deleteLeft",precondition:g.a.writable,kbOpts:{weight:O,kbExpr:g.a.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})||this}return L(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){var i=d.a.deleteLeft(t.getPrevEditOperationType(),t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection})),r=i[0],o=i[1];r&&e.pushUndoStop(),e.executeCommands(this.id,o),t.setPrevEditOperationType(2)},t}(x))),S.DeleteRight=Object(o.g)(new(function(e){function t(){return e.call(this,{id:"deleteRight",precondition:g.a.writable,kbOpts:{weight:O,kbExpr:g.a.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})||this}return L(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){var i=d.a.deleteRight(t.getPrevEditOperationType(),t.context.config,t.context.model,t.getAll().map(function(e){return e.modelState.selection})),r=i[0],o=i[1];r&&e.pushUndoStop(),e.executeCommands(this.id,o),t.setPrevEditOperationType(3)},t}(x)));var E=function(e){function t(t){var n=e.call(this,t)||this;return n._editorHandler=t.editorHandler,n._inputHandler=t.inputHandler,n}return L(t,e),t.prototype.runCommand=function(e,t){var n=e.get(s.a).getFocusedCodeEditor();if(n&&n.hasTextFocus())return this._runEditorHandler(e,n,t);var i=document.activeElement;if(!(i&&["input","textarea"].indexOf(i.tagName.toLowerCase())>=0)){var r=e.get(s.a).getActiveCodeEditor();return r?(r.focus(),this._runEditorHandler(e,r,t)):void 0}document.execCommand(this._inputHandler)},t.prototype._runEditorHandler=function(e,t,n){var i=this._editorHandler;"string"==typeof i?t.trigger("keyboard",i,n):((n=n||{}).source="keyboard",i.runEditorCommand(e,t,n))},t}(o.a),I=function(e){function t(t,n,i){var r=e.call(this,{id:t,precondition:void 0,description:i})||this;return r._handlerId=n,r}return L(t,e),t.prototype.runCommand=function(e,t){var n=e.get(s.a).getFocusedCodeEditor();n&&n.trigger("keyboard",this._handlerId,t)},t}(o.a);function D(e,t){N(new I("default:"+e,e)),N(new I(e,e,t))}N(new E({editorHandler:w.SelectAll,inputHandler:"selectAll",id:"editor.action.selectAll",precondition:g.a.textInputFocus,kbOpts:{weight:O,kbExpr:null,primary:2079},menubarOpts:{menuId:22,group:"1_basic",title:i.a({key:"miSelectAll",comment:["&& denotes a mnemonic"]},"&&Select All"),order:1}})),N(new E({editorHandler:p.b.Undo,inputHandler:"undo",id:p.b.Undo,precondition:g.a.writable,kbOpts:{weight:O,kbExpr:g.a.textInputFocus,primary:2104},menubarOpts:{menuId:14,group:"1_do",title:i.a({key:"miUndo",comment:["&& denotes a mnemonic"]},"&&Undo"),order:1}})),N(new I("default:"+p.b.Undo,p.b.Undo)),N(new E({editorHandler:p.b.Redo,inputHandler:"redo",id:p.b.Redo,precondition:g.a.writable,kbOpts:{weight:O,kbExpr:g.a.textInputFocus,primary:2103,secondary:[3128],mac:{primary:3128}},menubarOpts:{menuId:14,group:"1_do",title:i.a({key:"miRedo",comment:["&& denotes a mnemonic"]},"&&Redo"),order:2}})),N(new I("default:"+p.b.Redo,p.b.Redo)),D(p.b.Type,{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),D(p.b.ReplacePreviousChar),D(p.b.CompositionStart),D(p.b.CompositionEnd),D(p.b.Paste),D(p.b.Cut)},Hv4S:function(e,t){},HzeT:function(e,t,n){"use strict";var i=n("3PYz"),r=n("tpuU"),o=n("08Lv");function s(e){if(!(this instanceof s))return new s(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=r.toArray(e.entropy,e.entropyEnc||"hex"),n=r.toArray(e.nonce,e.nonceEnc||"hex"),i=r.toArray(e.pers,e.persEnc||"hex");o(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,n,i)}e.exports=s,s.prototype._init=function(e,t,n){var i=e.concat(t).concat(n);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var r=0;r=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(n||[])),this._reseed=1},s.prototype.generate=function(e,t,n,i){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(i=n,n=t,t=null),n&&(n=r.toArray(n,i||"hex"),this._update(n));for(var o=[];o.length=n)break;var r=e.charCodeAt(t);if(110===r||114===r||87===r)return!0}}return!1}(this.searchString):this.searchString.indexOf("\n")>=0;var t=null;try{t=i.k(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0})}catch(e){return null}if(!t)return null;var n=!this.isRegex&&!e;return n&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(n=this.matchCase),new c(t,this.wordSeparators?Object(r.a)(this.wordSeparators):null,n?this.searchString:null)},e}();var c=function(){return function(e,t,n){this.regex=e,this.wordSeparators=t,this.simpleSearch=n}}();function l(e,t,n){if(!n)return new a.b(e,null);for(var i=[],r=0,o=t.length;r>0);t[r]>=e?i=r-1:t[r+1]>=e?(n=r,i=r):n=r+1}return n+1},e}(),h=function(){function e(){}return e.findMatches=function(e,t,n,i,r){var o=t.parseSearchRequest();return o?o.regex.multiline?this._doFindMatchesMultiline(e,n,new p(o.wordSeparators,o.regex),i,r):this._doFindMatchesLineByLine(e,n,o,i,r):[]},e._getMultilineMatchRange=function(e,t,n,i,r,o){var a,u,c=0;if(a=i?t+r+(c=i.findLineFeedCountBeforeOffset(r)):t+r,i){var l=i.findLineFeedCountBeforeOffset(r+o.length)-c;u=a+o.length+l}else u=a+o.length;var d=e.getPositionAt(a),h=e.getPositionAt(u);return new s.a(d.lineNumber,d.column,h.lineNumber,h.column)},e._doFindMatchesMultiline=function(e,t,n,i,r){var o,s=e.getOffsetAt(t.getStartPosition()),a=e.getValueInRange(t,1),u="\r\n"===e.getEOL()?new d(a):null,c=[],h=0;for(n.reset(0);o=n.next(a);)if(c[h++]=l(this._getMultilineMatchRange(e,s,a,u,o.index,o[0]),o,i),h>=r)return c;return c},e._doFindMatchesLineByLine=function(e,t,n,i,r){var o=[],s=0;if(t.startLineNumber===t.endLineNumber){var a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return s=this._findMatchesInLine(n,a,t.startLineNumber,t.startColumn-1,s,o,i,r),o}var u=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);s=this._findMatchesInLine(n,u,t.startLineNumber,t.startColumn-1,s,o,i,r);for(var c=t.startLineNumber+1;c=c))return r;return r}var _,b=new p(e.wordSeparators,e.regex);b.reset(0);do{if((_=b.next(t))&&(o[r++]=l(new s.a(n,_.index+1+i,n,_.index+1+_[0].length+i),_,u),r>=c))return r}while(_);return r},e.findNextMatch=function(e,t,n,i){var r=t.parseSearchRequest();if(!r)return null;var o=new p(r.wordSeparators,r.regex);return r.regex.multiline?this._doFindNextMatchMultiline(e,n,o,i):this._doFindNextMatchLineByLine(e,n,o,i)},e._doFindNextMatchMultiline=function(e,t,n,i){var r=new o.a(t.lineNumber,1),a=e.getOffsetAt(r),u=e.getLineCount(),c=e.getValueInRange(new s.a(r.lineNumber,r.column,u,e.getLineMaxColumn(u)),1),h="\r\n"===e.getEOL()?new d(c):null;n.reset(t.column-1);var f=n.next(c);return f?l(this._getMultilineMatchRange(e,a,c,h,f.index,f[0]),f,i):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new o.a(1,1),n,i):null},e._doFindNextMatchLineByLine=function(e,t,n,i){var r=e.getLineCount(),o=t.lineNumber,s=e.getLineContent(o),a=this._findFirstMatchInLine(n,s,o,t.column,i);if(a)return a;for(var u=1;u<=r;u++){var c=(o+u-1)%r,l=e.getLineContent(c+1),d=this._findFirstMatchInLine(n,l,c+1,1,i);if(d)return d}return null},e._findFirstMatchInLine=function(e,t,n,i,r){e.reset(i-1);var o=e.next(t);return o?l(new s.a(n,o.index+1,n,o.index+1+o[0].length),o,r):null},e.findPreviousMatch=function(e,t,n,i){var r=t.parseSearchRequest();if(!r)return null;var o=new p(r.wordSeparators,r.regex);return r.regex.multiline?this._doFindPreviousMatchMultiline(e,n,o,i):this._doFindPreviousMatchLineByLine(e,n,o,i)},e._doFindPreviousMatchMultiline=function(e,t,n,i){var r=this._doFindMatchesMultiline(e,new s.a(1,1,t.lineNumber,t.column),n,i,9990);if(r.length>0)return r[r.length-1];var a=e.getLineCount();return t.lineNumber!==a||t.column!==e.getLineMaxColumn(a)?this._doFindPreviousMatchMultiline(e,new o.a(a,e.getLineMaxColumn(a)),n,i):null},e._doFindPreviousMatchLineByLine=function(e,t,n,i){var r=e.getLineCount(),o=t.lineNumber,s=e.getLineContent(o).substring(0,t.column-1),a=this._findLastMatchInLine(n,s,o,i);if(a)return a;for(var u=1;u<=r;u++){var c=(r+o-u-1)%r,l=e.getLineContent(c+1),d=this._findLastMatchInLine(n,l,c+1,i);if(d)return d}return null},e._findLastMatchInLine=function(e,t,n,i){var r,o=null;for(e.reset(0);r=e.next(t);)o=l(new s.a(n,r.index+1,n,r.index+1+r[0].length),r,i);return o},e}();function f(e,t,n,i,r){return function(e,t,n,i,r){if(0===i)return!0;var o=t.charCodeAt(i-1);if(0!==e.get(o))return!0;if(13===o||10===o)return!0;if(r>0){var s=t.charCodeAt(i);if(0!==e.get(s))return!0}return!1}(e,t,0,i,r)&&function(e,t,n,i,r){if(i+r===n)return!0;var o=t.charCodeAt(i+r);if(0!==e.get(o))return!0;if(13===o||10===o)return!0;if(r>0){var s=t.charCodeAt(i+r-1);if(0!==e.get(s))return!0}return!1}(e,t,n,i,r)}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,n=e.length;do{if(this._prevMatchStartIndex+this._prevMatchLength===n)return null;if(!(t=this._searchRegex.exec(e)))return null;var i=t.index,r=t[0].length;if(i===this._prevMatchStartIndex&&r===this._prevMatchLength){if(0===r){this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=i,this._prevMatchLength=r,!this._wordSeparators||f(this._wordSeparators,e,n,i,r))return t}while(t);return null},e}()},IG52:function(e,t,n){"use strict";n.d(t,"c",function(){return g}),n.d(t,"d",function(){return m}),n.d(t,"b",function(){return v}),n.d(t,"a",function(){return b});var i,r=n("LC7R"),o=(n.n(r),n("ZfGv")),s=n("hK2W"),a=n("tqet"),u=n("AKCZ"),c=n("7/Cv"),l=n("KIxu"),d=n("Bug4"),h=n("gzF+"),f=n("Kp7x"),p=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),g=function(e){function t(t,n,i){var r=e.call(this)||this;return r.options=i,r._context=t||r,r._action=n,n instanceof u.a&&r._register(n.onDidChange(function(e){r.element&&r.handleActionChangeEvent(e)})),r}return p(t,e),t.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(t.prototype,"actionRunner",{get:function(){return this._actionRunner},set:function(e){this._actionRunner=e},enumerable:!0,configurable:!0}),t.prototype.getAction=function(){return this._action},t.prototype.isEnabled=function(){return this._action.enabled},t.prototype.setActionContext=function(e){this._context=e},t.prototype.render=function(e){var t=this;this.element=e,d.b.addTarget(e);var n=this.options&&this.options.draggable;n&&(e.draggable=!0),this._register(c.h(this.element,d.a.Tap,function(e){return t.onClick(e)})),this._register(c.h(this.element,c.d.MOUSE_DOWN,function(e){n||c.c.stop(e,!0),t._action.enabled&&0===e.button&&t.element&&c.f(t.element,"active")})),this._register(c.h(this.element,c.d.CLICK,function(e){c.c.stop(e,!0),t.options&&t.options.isMenu?t.onClick(e):o.h(function(){return t.onClick(e)})})),this._register(c.h(this.element,c.d.DBLCLICK,function(e){c.c.stop(e,!0)})),[c.d.MOUSE_UP,c.d.MOUSE_OUT].forEach(function(e){t._register(c.h(t.element,e,function(e){c.c.stop(e),c.I(t.element,"active")}))})},t.prototype.onClick=function(e){var t;c.c.stop(e,!0),l.k(this._context)?t=e:(t=this._context,l.h(t)&&(t.event=e)),this._actionRunner.run(this._action,t)},t.prototype.focus=function(){this.element&&(this.element.focus(),c.f(this.element,"focused"))},t.prototype.blur=function(){this.element&&(this.element.blur(),c.I(this.element,"focused"))},t.prototype.updateEnabled=function(){},t.prototype.updateLabel=function(){},t.prototype.updateTooltip=function(){},t.prototype.updateClass=function(){},t.prototype.updateChecked=function(){},t.prototype.dispose=function(){this.element&&(c.K(this.element),this.element=void 0),e.prototype.dispose.call(this)},t}(a.a),m=function(e){function t(n){var i=e.call(this,t.ID,n,n?"separator text":"separator")||this;return i.checked=!1,i.radio=!1,i.enabled=!1,i}return p(t,e),t.ID="vs.actions.separator",t}(u.a),v=function(e){function t(t,n,i){void 0===i&&(i={});var r=e.call(this,t,n,i)||this;return r.options=i,r.options.icon=void 0!==i.icon&&i.icon,r.options.label=void 0===i.label||i.label,r.cssClass="",r}return p(t,e),t.prototype.render=function(t){e.prototype.render.call(this,t),this.element&&(this.label=c.m(this.element,c.a("a.action-label"))),this._action.id===m.ID?this.label.setAttribute("role","presentation"):this.options.isMenu?this.label.setAttribute("role","menuitem"):this.label.setAttribute("role","button"),this.options.label&&this.options.keybinding&&this.element&&(c.m(this.element,c.a("span.keybinding")).textContent=this.options.keybinding),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()},t.prototype.focus=function(){e.prototype.focus.call(this),this.label.focus()},t.prototype.updateLabel=function(){this.options.label&&(this.label.textContent=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.label.title=e)},t.prototype.updateClass=function(){this.cssClass&&c.J(this.label,this.cssClass),this.options.icon?(this.cssClass=this.getAction().class,c.f(this.label,"icon"),this.cssClass&&c.g(this.label,this.cssClass),this.updateEnabled()):c.I(this.label,"icon")},t.prototype.updateEnabled=function(){this.getAction().enabled?(this.label.removeAttribute("aria-disabled"),this.element&&c.I(this.element,"disabled"),c.I(this.label,"disabled"),this.label.tabIndex=0):(this.label.setAttribute("aria-disabled","true"),this.element&&c.f(this.element,"disabled"),c.f(this.label,"disabled"),c.L(this.label))},t.prototype.updateChecked=function(){this.getAction().checked?c.f(this.label,"checked"):c.I(this.label,"checked")},t}(g),_={orientation:0,context:null,triggerKeys:{keys:[3,10],keyDown:!1}},b=function(e){function t(t,n){void 0===n&&(n=_);var i,r,o=e.call(this)||this;switch(o._onDidBlur=o._register(new f.a),o.onDidBlur=o._onDidBlur.event,o._onDidCancel=o._register(new f.a),o.onDidCancel=o._onDidCancel.event,o._onDidRun=o._register(new f.a),o.onDidRun=o._onDidRun.event,o._onDidBeforeRun=o._register(new f.a),o.onDidBeforeRun=o._onDidBeforeRun.event,o.options=n,o._context=n.context,o.options.triggerKeys||(o.options.triggerKeys=_.triggerKeys),o.options.actionRunner?o._actionRunner=o.options.actionRunner:(o._actionRunner=new u.b,o._register(o._actionRunner)),o._register(o._actionRunner.onDidRun(function(e){return o._onDidRun.fire(e)})),o._register(o._actionRunner.onDidBeforeRun(function(e){return o._onDidBeforeRun.fire(e)})),o.viewItems=[],o.focusedItem=void 0,o.domNode=document.createElement("div"),o.domNode.className="monaco-action-bar",!1!==n.animated&&c.f(o.domNode,"animated"),o.options.orientation){case 0:i=15,r=17;break;case 1:i=17,r=15,o.domNode.className+=" reverse";break;case 2:i=16,r=18,o.domNode.className+=" vertical";break;case 3:i=18,r=16,o.domNode.className+=" vertical reverse"}return o._register(c.h(o.domNode,c.d.KEY_DOWN,function(e){var t=new h.a(e),n=!0;t.equals(i)?o.focusPrevious():t.equals(r)?o.focusNext():t.equals(9)?o.cancel():o.isTriggerKeyEvent(t)?o.options.triggerKeys&&o.options.triggerKeys.keyDown&&o.doTrigger(t):n=!1,n&&(t.preventDefault(),t.stopPropagation())})),o._register(c.h(o.domNode,c.d.KEY_UP,function(e){var t=new h.a(e);o.isTriggerKeyEvent(t)?(o.options.triggerKeys&&!o.options.triggerKeys.keyDown&&o.doTrigger(t),t.preventDefault(),t.stopPropagation()):(t.equals(2)||t.equals(1026))&&o.updateFocusedItem()})),o.focusTracker=o._register(c.S(o.domNode)),o._register(o.focusTracker.onDidBlur(function(){document.activeElement!==o.domNode&&c.E(document.activeElement,o.domNode)||(o._onDidBlur.fire(),o.focusedItem=void 0)})),o._register(o.focusTracker.onDidFocus(function(){return o.updateFocusedItem()})),o.actionsList=document.createElement("ul"),o.actionsList.className="actions-container",o.actionsList.setAttribute("role","toolbar"),o.options.ariaLabel&&o.actionsList.setAttribute("aria-label",o.options.ariaLabel),o.domNode.appendChild(o.actionsList),t.appendChild(o.domNode),o}return p(t,e),t.prototype.isTriggerKeyEvent=function(e){var t=!1;return this.options.triggerKeys&&this.options.triggerKeys.keys.forEach(function(n){t=t||e.equals(n)}),t},t.prototype.updateFocusedItem=function(){for(var e=0;e=n.actionsList.children.length?(n.actionsList.appendChild(o),n.viewItems.push(i)):(n.actionsList.insertBefore(o,n.actionsList.children[r]),n.viewItems.splice(r,0,i),r++)})},t.prototype.clear=function(){this.viewItems=Object(a.f)(this.viewItems),c.p(this.actionsList)},t.prototype.isEmpty=function(){return 0===this.viewItems.length},t.prototype.focus=function(e){var t=!1,n=void 0;void 0===e?t=!0:"number"==typeof e?n=e:"boolean"==typeof e&&(t=e),t&&void 0===this.focusedItem?(this.focusedItem=this.viewItems.length-1,this.focusNext()):(void 0!==n&&(this.focusedItem=n),this.updateFocus())},t.prototype.focusNext=function(){void 0===this.focusedItem&&(this.focusedItem=this.viewItems.length-1);var e,t=this.focusedItem;do{this.focusedItem=(this.focusedItem+1)%this.viewItems.length,e=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&!e.isEnabled());this.focusedItem!==t||e.isEnabled()||(this.focusedItem=void 0),this.updateFocus()},t.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.viewItems.length-1),e=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&!e.isEnabled());this.focusedItem!==t||e.isEnabled()||(this.focusedItem=void 0),this.updateFocus(!0)},t.prototype.updateFocus=function(e){void 0===this.focusedItem&&this.actionsList.focus();for(var t=0;t>>1];n=s.r28shl(n,a),r=s.r28shl(r,a),s.pc2(n,r,e.keys,o)}},u.prototype._update=function(e,t,n,i){var r=this._desState,o=s.readUInt32BE(e,t),a=s.readUInt32BE(e,t+4);s.ip(o,a,r.tmp,0),o=r.tmp[0],a=r.tmp[1],"encrypt"===this.type?this._encrypt(r,o,a,r.tmp,0):this._decrypt(r,o,a,r.tmp,0),o=r.tmp[0],a=r.tmp[1],s.writeUInt32BE(n,o,i),s.writeUInt32BE(n,a,i+4)},u.prototype._pad=function(e,t){for(var n=e.length-t,i=t;i>>0,o=h}s.rip(a,o,i,r)},u.prototype._decrypt=function(e,t,n,i,r){for(var o=n,a=t,u=e.keys.length-2;u>=0;u-=2){var c=e.keys[u],l=e.keys[u+1];s.expand(o,e.tmp,0),c^=e.tmp[0],l^=e.tmp[1];var d=s.substitute(c,l),h=o;o=(a^s.permute(d))>>>0,a=h}s.rip(o,a,i,r)}},IrTV:function(e,t,n){"use strict";n.d(t,"a",function(){return m});var i,r=n("TU7t"),o=n("vORD"),s=n("vZcR"),a=n("ItKl"),u=n("7g0X"),c=n("JVO/"),l=n("fAkY"),d=n("eoic"),h=n("xJaW"),f=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),p=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},g=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},m=function(e){function t(t,n,i,r,o,s,a,u,c,l){var d=e.call(this,t,i.getRawConfiguration(),{},r,o,s,a,u,c,l)||this;return d._parentEditor=i,d._overwriteOptions=n,e.prototype.updateOptions.call(d,d._overwriteOptions),d._register(i.onDidChangeConfiguration(function(e){return d._onParentConfigurationChanged(e)})),d}return f(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){r.g(this._overwriteOptions,t,!0),e.prototype.updateOptions.call(this,this._overwriteOptions)},t=p([g(3,c.a),g(4,o.a),g(5,a.b),g(6,u.c),g(7,d.c),g(8,l.a),g(9,h.b)],t)}(s.a)},ItKl:function(e,t,n){"use strict";n.d(t,"b",function(){return c}),n.d(t,"a",function(){return l});var i=n("tqet"),r=n("KIxu"),o=n("JVO/"),s=n("Kp7x"),a=n("EMhq"),u=n("WTFd"),c=Object(o.c)("commandService"),l=new(function(){function e(){this._commands=new Map,this._onDidRegisterCommand=new s.a,this.onDidRegisterCommand=this._onDidRegisterCommand.event}return e.prototype.registerCommand=function(e,t){var n=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 o=[],s=0,u=e.description.args;s0&&(f=t.apply(this,arguments)),e<=1&&(t=void 0),f}}function p(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}e.exports=function(e){return f(2,e)}},"JVO/":function(e,t,n){"use strict";var i;n.d(t,"b",function(){return i}),n.d(t,"a",function(){return r}),t.c=s,t.d=function(e){return function(t,n,i){if(3!==arguments.length)throw new Error("@optional-decorator can only be used to decorate a parameter");o(e,t,i,!0)}},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]||[]}}(i||(i={}));var r=s("instantiationService");function o(e,t,n,r){t[i.DI_TARGET]===t?t[i.DI_DEPENDENCIES].push({id:e,index:n,optional:r}):(t[i.DI_DEPENDENCIES]=[{id:e,index:n,optional:r}],t[i.DI_TARGET]=t)}function s(e){if(i.serviceIds.has(e))return i.serviceIds.get(e);var t=function(e,n,i){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");o(t,e,i,!1)};return t.toString=function(){return e},i.serviceIds.set(e,t),t}},JaR3:function(e,t,n){(t=e.exports=function(e){e=e.toLowerCase();var n=t[e];if(!n)throw new Error(e+" is not supported (we accept pull requests)");return new n}).sha=n("N1es"),t.sha1=n("KQ4j"),t.sha224=n("lXn8"),t.sha256=n("zvjZ"),t.sha384=n("aY2F"),t.sha512=n("C015")},JbsQ:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("JVO/"),r=Object(i.c)("markerDecorationsService")},K8Am:function(e,t,n){"use strict";n.d(t,"a",function(){return o});var i=n("ZfGv"),r=i.b.performance&&"function"==typeof i.b.performance.now,o=function(){function e(e){this._highResolution=r&&e,this._startTime=this._now(),this._stopTime=-1}return e.create=function(t){return void 0===t&&(t=!0),new e(t)},e.prototype.stop=function(){this._stopTime=this._now()},e.prototype.elapsed=function(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime},e.prototype._now=function(){return this._highResolution?i.b.performance.now():(new Date).getTime()},e}()},KCUl:function(e,t,n){(function(t){var i=n("geuY"),r=n("lZ6o").ec,o=n("jkjm"),s=n("QDfD");function a(e,t){if(e.cmpn(0)<=0)throw new Error("invalid sig");if(e.cmp(t)>=t)throw new Error("invalid sig")}e.exports=function(e,n,u,c,l){var d=o(u);if("ec"===d.type){if("ecdsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");return function(e,t,n){var i=s[n.data.algorithm.curve.join(".")];if(!i)throw new Error("unknown curve "+n.data.algorithm.curve.join("."));var o=new r(i),a=n.data.subjectPrivateKey.data;return o.verify(t,e,a)}(e,n,d)}if("dsa"===d.type){if("dsa"!==c)throw new Error("wrong public key type");return function(e,t,n){var r=n.data.p,s=n.data.q,u=n.data.g,c=n.data.pub_key,l=o.signature.decode(e,"der"),d=l.s,h=l.r;a(d,s),a(h,s);var f=i.mont(r),p=d.invm(s);return 0===u.toRed(f).redPow(new i(t).mul(p).mod(s)).fromRed().mul(c.toRed(f).redPow(h.mul(p).mod(s)).fromRed()).mod(r).mod(s).cmp(h)}(e,n,d)}if("rsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");n=t.concat([l,n]);for(var h=d.modulus.byteLength(),f=[1],p=0;n.length+f.length+2>>27}function l(e){return e<<30|e>>>2}function d(e,t,n,i){return 0===e?t&n|~t&i:2===e?t&n|t&i|n&i:t^n^i}i(u,r),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(e){for(var t,n=this._w,i=0|this._a,r=0|this._b,o=0|this._c,a=0|this._d,u=0|this._e,h=0;h<16;++h)n[h]=e.readInt32BE(4*h);for(;h<80;++h)n[h]=(t=n[h-3]^n[h-8]^n[h-14]^n[h-16])<<1|t>>>31;for(var f=0;f<80;++f){var p=~~(f/20),g=c(i)+d(p,r,o,a)+u+n[f]+s[p]|0;u=a,a=o,o=l(r),r=i,i=g}this._a=i+this._a|0,this._b=r+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=u+this._e|0},u.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=u},KU51:function(e,t){},KYqO:function(e,t){e.exports={name:"elliptic",version:"6.4.1",description:"EC cryptography",main:"lib/elliptic.js",files:["lib"],scripts:{jscs:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",jshint:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",lint:"npm run jscs && npm run jshint",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},repository:{type:"git",url:"git@github.com:indutny/elliptic"},keywords:["EC","Elliptic","curve","Cryptography"],author:"Fedor Indutny ",license:"MIT",bugs:{url:"https://github.com/indutny/elliptic/issues"},homepage:"https://github.com/indutny/elliptic",devDependencies:{brfs:"^1.4.3",coveralls:"^2.11.3",grunt:"^0.4.5","grunt-browserify":"^5.0.0","grunt-cli":"^1.2.0","grunt-contrib-connect":"^1.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-mocha-istanbul":"^3.0.1","grunt-saucelabs":"^8.6.2",istanbul:"^0.4.2",jscs:"^2.9.0",jshint:"^2.6.0",mocha:"^2.1.0"},dependencies:{"bn.js":"^4.4.0",brorand:"^1.0.1","hash.js":"^1.0.0","hmac-drbg":"^1.0.0",inherits:"^2.0.1","minimalistic-assert":"^1.0.0","minimalistic-crypto-utils":"^1.0.0"}}},"KeN/":function(e,t,n){(function(t){var i=n("BVsN"),r=n("9DG0"),o=n("LC74"),s=n("pn+s"),a=n("KCUl"),u=n("ejIc");function c(e){r.Writable.call(this);var t=u[e];if(!t)throw new Error("Unknown message digest");this._hashType=t.hash,this._hash=i(t.hash),this._tag=t.id,this._signType=t.sign}function l(e){r.Writable.call(this);var t=u[e];if(!t)throw new Error("Unknown message digest");this._hash=i(t.hash),this._tag=t.id,this._signType=t.sign}function d(e){return new c(e)}function h(e){return new l(e)}Object.keys(u).forEach(function(e){u[e].id=new t(u[e].id,"hex"),u[e.toLowerCase()]=u[e]}),o(c,r.Writable),c.prototype._write=function(e,t,n){this._hash.update(e),n()},c.prototype.update=function(e,n){return"string"==typeof e&&(e=new t(e,n)),this._hash.update(e),this},c.prototype.sign=function(e,t){this.end();var n=this._hash.digest(),i=s(n,e,this._hashType,this._signType,this._tag);return t?i.toString(t):i},o(l,r.Writable),l.prototype._write=function(e,t,n){this._hash.update(e),n()},l.prototype.update=function(e,n){return"string"==typeof e&&(e=new t(e,n)),this._hash.update(e),this},l.prototype.verify=function(e,n,i){"string"==typeof n&&(n=new t(n,i)),this.end();var r=this._hash.digest();return a(n,r,e,this._signType,this._tag)},e.exports={Sign:d,Verify:h,createSign:d,createVerify:h}}).call(t,n("EuP9").Buffer)},Kp7x:function(e,t,n){"use strict";n.d(t,"b",function(){return r}),n.d(t,"a",function(){return h}),n.d(t,"e",function(){return f}),n.d(t,"d",function(){return p}),n.d(t,"c",function(){return g}),n.d(t,"f",function(){return m});var i,r,o=n("zxiH"),s=n("dwjm"),a=n("tqet"),u=n("EMhq"),c=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});!function(e){function t(e){return function(t,n,i){void 0===n&&(n=null);var r,o=!1;return r=e(function(e){if(!o)return r?r.dispose():o=!0,t.call(n,e)},null,i),o&&r.dispose(),r}}function n(e,t){return s(function(n,i,r){return void 0===i&&(i=null),e(function(e){return n.call(i,t(e))},null,r)})}function i(e,t){return s(function(n,i,r){return void 0===i&&(i=null),e(function(e){t(e),n.call(i,e)},null,r)})}function r(e,t){return s(function(n,i,r){return void 0===i&&(i=null),e(function(e){return t(e)&&n.call(i,e)},null,r)})}function o(e,t,i){var r=i;return n(e,function(e){return r=t(r,e)})}function s(e){var t,n=new h({onFirstListenerAdd:function(){t=e(n.fire,n)},onLastListenerRemove:function(){t.dispose()}});return n.event}function u(e){var t,n=!0;return r(e,function(e){var i=n||e!==t;return n=!1,t=e,i})}e.None=function(){return a.a.None},e.once=t,e.map=n,e.forEach=i,e.filter=r,e.signal=function(e){return e},e.any=function(){for(var e=[],t=0;t1)&&c.fire(e),u=0},n)})},onLastListenerRemove:function(){o.dispose()}});return c.event},e.stopwatch=function(e){var i=(new Date).getTime();return n(t(e),function(e){return(new Date).getTime()-i})},e.latch=u,e.buffer=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=[]);var i=n.slice(),r=e(function(e){i?i.push(e):s.fire(e)}),o=function(){i&&i.forEach(function(e){return s.fire(e)}),i=null},s=new h({onFirstListenerAdd:function(){r||(r=e(function(e){return s.fire(e)}))},onFirstListenerDidAdd:function(){i&&(t?setTimeout(o):o())},onLastListenerRemove:function(){r&&r.dispose(),r=null}});return s.event};var c=function(){function e(e){this.event=e}return e.prototype.map=function(t){return new e(n(this.event,t))},e.prototype.forEach=function(t){return new e(i(this.event,t))},e.prototype.filter=function(t){return new e(r(this.event,t))},e.prototype.reduce=function(t,n){return new e(o(this.event,t,n))},e.prototype.latch=function(){return new e(u(this.event))},e.prototype.on=function(e,t,n){return this.event(e,t,n)},e.prototype.once=function(e,n,i){return t(this.event)(e,n,i)},e}();e.chain=function(e){return new c(e)},e.fromNodeEventEmitter=function(e,t,n){void 0===n&&(n=function(e){return e});var i=function(){for(var e=[],t=0;t0?new d(this._options&&this._options.leakWarningThreshold):void 0}return Object.defineProperty(e.prototype,"event",{get:function(){var t=this;return this._event||(this._event=function(n,i,r){t._listeners||(t._listeners=new u.a);var o=t._listeners.isEmpty();o&&t._options&&t._options.onFirstListenerAdd&&t._options.onFirstListenerAdd(t);var s,c,l=t._listeners.push(i?[n,i]:n);return o&&t._options&&t._options.onFirstListenerDidAdd&&t._options.onFirstListenerDidAdd(t),t._options&&t._options.onListenerDidAdd&&t._options.onListenerDidAdd(t,n,i),t._leakageMon&&(s=t._leakageMon.check(t._listeners.size)),c={dispose:function(){(s&&s(),c.dispose=e._noop,t._disposed)||(l(),t._options&&t._options.onLastListenerRemove&&(t._listeners&&!t._listeners.isEmpty()||t._options.onLastListenerRemove(t)))}},r instanceof a.b?r.add(c):Array.isArray(r)&&r.push(c),c}),this._event},enumerable:!0,configurable:!0}),e.prototype.fire=function(e){if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new u.a);for(var t=this._listeners.iterator(),n=t.next();!n.done;n=t.next())this._deliveryQueue.push([n.value,e]);for(;this._deliveryQueue.size>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(n){Object(o.e)(n)}}}},e.prototype.dispose=function(){this._listeners&&this._listeners.clear(),this._deliveryQueue&&this._deliveryQueue.clear(),this._leakageMon&&this._leakageMon.dispose(),this._disposed=!0},e._noop=function(){},e}(),f=function(e){function t(t){var n=e.call(this,t)||this;return n._isPaused=0,n._eventQueue=new u.a,n._mergeFn=t&&t.merge,n}return c(t,e),t.prototype.pause=function(){this._isPaused++},t.prototype.resume=function(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){var t=this._eventQueue.toArray();this._eventQueue.clear(),e.prototype.fire.call(this,this._mergeFn(t))}else for(;!this._isPaused&&0!==this._eventQueue.size;)e.prototype.fire.call(this,this._eventQueue.shift())},t.prototype.fire=function(t){this._listeners&&(0!==this._isPaused?this._eventQueue.push(t):e.prototype.fire.call(this,t))},t}(h),p=function(){function e(){var e=this;this.hasListeners=!1,this.events=[],this.emitter=new h({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,n={event:e,listener:null};this.events.push(n),this.hasListeners&&this.hook(n);return Object(a.h)(Object(s.a)(function(){t.hasListeners&&t.unhook(n);var e=t.events.indexOf(n);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&&e.listener.dispose(),e.listener=null},e.prototype.dispose=function(){this.emitter.dispose()},e}(),g=function(){function e(){this.buffers=[]}return e.prototype.wrapEvent=function(e){var t=this;return function(n,i,r){return e(function(e){var r=t.buffers[t.buffers.length-1];r?r.push(function(){return n.call(i,e)}):n.call(i,e)},void 0,r)}},e.prototype.bufferEvents=function(e){var t=[];this.buffers.push(t);var n=e();return this.buffers.pop(),t.forEach(function(e){return e()}),n},e}(),m=function(){function e(){var e=this;this.listening=!1,this.inputEvent=r.None,this.inputEventListener=a.a.None,this.emitter=new h({onFirstListenerDidAdd:function(){e.listening=!0,e.inputEventListener=e.inputEvent(e.emitter.fire,e.emitter)},onLastListenerRemove:function(){e.listening=!1,e.inputEventListener.dispose()}}),this.event=this.emitter.event}return Object.defineProperty(e.prototype,"input",{set:function(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.inputEventListener.dispose(),this.emitter.dispose()},e}()},Kx4b:function(e,t,n){"use strict";n.d(t,"a",function(){return a});var i=n("uNfg"),r=n("ZfGv"),o=n("ItKl"),s=n("RWr8"),a=new(function(){function e(){this._coreKeybindings=[],this._extensionKeybindings=[],this._cachedMergedKeybindings=null}return e.bindToCurrentPlatform=function(e){if(1===r.a){if(e&&e.win)return e.win}else if(2===r.a){if(e&&e.mac)return e.mac}else if(e&&e.linux)return e.linux;return e},e.prototype.registerKeybindingRule=function(t){var n=e.bindToCurrentPlatform(t);n&&n.primary&&((a=Object(i.f)(n.primary,r.a))&&this._registerDefaultKeybinding(a,t.id,void 0,t.weight,0,t.when));if(n&&Array.isArray(n.secondary))for(var o=0,s=n.secondary.length;o=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,n){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 ",n)},e.prototype._registerDefaultKeybinding=function(e,t,n,i,o,s){1===r.a&&this._assertNoCtrlAlt(e.parts[0],t),this._coreKeybindings.push({keybinding:e,command:t,commandArgs:n,when:s,weight1:i,weight2:o}),this._cachedMergedKeybindings=null},e.prototype.getDefaultKeybindings=function(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=[].concat(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(u)),this._cachedMergedKeybindings.slice(0)},e}());function u(e,t){return e.weight1!==t.weight1?e.weight1-t.weight1:e.commandt.command?1:e.weight2-t.weight2}s.a.add("platform.keybindingsRegistry",a)},L5KM:function(e,t,n){"use strict";n.d(t,"a",function(){return c}),t._36=d,n.d(t,"T",function(){return p}),n.d(t,"R",function(){return g}),n.d(t,"S",function(){return m}),n.d(t,"e",function(){return v}),n.d(t,"b",function(){return _}),n.d(t,"_46",function(){return b}),n.d(t,"_45",function(){return y}),n.d(t,"_48",function(){return w}),n.d(t,"W",function(){return C}),n.d(t,"Y",function(){return S}),n.d(t,"X",function(){return x}),n.d(t,"V",function(){return L}),n.d(t,"U",function(){return O}),n.d(t,"_2",function(){return k}),n.d(t,"_4",function(){return N}),n.d(t,"_3",function(){return E}),n.d(t,"_5",function(){return I}),n.d(t,"_7",function(){return D}),n.d(t,"_6",function(){return M}),n.d(t,"Z",function(){return T}),n.d(t,"_1",function(){return P}),n.d(t,"_0",function(){return A}),n.d(t,"_14",function(){return j}),n.d(t,"_15",function(){return W}),n.d(t,"_8",function(){return B}),n.d(t,"_9",function(){return V}),n.d(t,"_20",function(){return H}),n.d(t,"_21",function(){return z}),n.d(t,"_19",function(){return U}),n.d(t,"_17",function(){return K}),n.d(t,"_18",function(){return q}),n.d(t,"_10",function(){return G}),n.d(t,"_16",function(){return Z}),n.d(t,"_11",function(){return Y}),n.d(t,"_13",function(){return X}),n.d(t,"_12",function(){return $}),n.d(t,"_47",function(){return J}),n.d(t,"_34",function(){return Q}),n.d(t,"_33",function(){return ee}),n.d(t,"c",function(){return te}),n.d(t,"d",function(){return ne}),n.d(t,"_37",function(){return ie}),n.d(t,"_39",function(){return re}),n.d(t,"_40",function(){return oe}),n.d(t,"_38",function(){return se}),n.d(t,"_35",function(){return ae}),n.d(t,"_23",function(){return ue}),n.d(t,"_24",function(){return ce}),n.d(t,"_22",function(){return le}),n.d(t,"_27",function(){return de}),n.d(t,"_25",function(){return he}),n.d(t,"_26",function(){return fe}),n.d(t,"_28",function(){return pe}),n.d(t,"q",function(){return ge}),n.d(t,"p",function(){return me}),n.d(t,"M",function(){return ve}),n.d(t,"L",function(){return _e}),n.d(t,"G",function(){return be}),n.d(t,"F",function(){return ye}),n.d(t,"z",function(){return we}),n.d(t,"y",function(){return Ce}),n.d(t,"o",function(){return Se}),n.d(t,"x",function(){return xe}),n.d(t,"N",function(){return Le}),n.d(t,"P",function(){return Oe}),n.d(t,"O",function(){return ke}),n.d(t,"Q",function(){return Ne}),n.d(t,"H",function(){return Ee}),n.d(t,"I",function(){return Ie}),n.d(t,"E",function(){return De}),n.d(t,"J",function(){return Me}),n.d(t,"K",function(){return Te}),n.d(t,"r",function(){return Pe}),n.d(t,"t",function(){return Ae}),n.d(t,"v",function(){return Re}),n.d(t,"s",function(){return Fe}),n.d(t,"u",function(){return je}),n.d(t,"w",function(){return We}),n.d(t,"C",function(){return Be}),n.d(t,"A",function(){return Ve}),n.d(t,"B",function(){return He}),n.d(t,"D",function(){return ze}),n.d(t,"n",function(){return Ue}),n.d(t,"g",function(){return Ke}),n.d(t,"h",function(){return qe}),n.d(t,"j",function(){return Ge}),n.d(t,"l",function(){return Ze}),n.d(t,"k",function(){return Ye}),n.d(t,"m",function(){return Xe}),n.d(t,"i",function(){return $e}),n.d(t,"_43",function(){return Je}),n.d(t,"_44",function(){return Qe}),n.d(t,"_41",function(){return et}),n.d(t,"_42",function(){return tt}),n.d(t,"_31",function(){return nt}),n.d(t,"_32",function(){return it}),n.d(t,"_29",function(){return rt}),t.f=ot,t._30=function(){for(var e=[],t=0;te.length)return!1;for(var r=0;r=65&&o<=90&&o+32===s||s>=65&&s<=90&&s+32===o))return!1}return!0},e.prototype._createOperationsForBlockComment=function(t,n,i,r,o){var s,a=t.startLineNumber,u=t.startColumn,c=t.endLineNumber,d=t.endColumn,h=r.getLineContent(a),f=r.getLineContent(c),p=h.lastIndexOf(n,u-1+n.length),g=f.indexOf(i,d-1-i.length);if(-1!==p&&-1!==g)if(a===c){h.substring(p+n.length,g).indexOf(i)>=0&&(p=-1,g=-1)}else{var m=h.substring(p+n.length),v=f.substring(0,g);(m.indexOf(i)>=0||v.indexOf(i)>=0)&&(p=-1,g=-1)}-1!==p&&-1!==g?(p+n.length0&&32===f.charCodeAt(g-1)&&(i=" "+i,g-=1),s=e._createRemoveBlockCommentOperations(new l.a(a,p+n.length+1,c,g+1),n,i)):(s=e._createAddBlockCommentOperations(t,n,i),this._usedEndToken=1===s.length?i:null);for(var _=0,b=s;_a?o-1:o}},e}(),m=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),v=function(e){function t(t,n){var i=e.call(this,n)||this;return i._type=t,i}return m(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getModel(),i=[],r=t.getSelections(),o=n.getOptions(),s=0,a=r;s0&&"#"===n.charAt(n.length-1)?n.substring(0,n.length-1):n)]=t,this._onDidChangeSchema.fire(e)},e.prototype.notifySchemaChanged=function(e){this._onDidChangeSchema.fire(e)},e}());i.a.add(o.JSONContribution,s)},LYGd:function(e,t,n){"use strict";var i=n("EuP9").Buffer,r=n("LC74"),o=n("yDvu"),s=new Array(16),a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],u=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],c=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],l=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],d=[0,1518500249,1859775393,2400959708,2840853838],h=[1352829926,1548603684,1836072691,2053994217,0];function f(){o.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function p(e,t){return e<>>32-t}function g(e,t,n,i,r,o,s,a){return p(e+(t^n^i)+o+s|0,a)+r|0}function m(e,t,n,i,r,o,s,a){return p(e+(t&n|~t&i)+o+s|0,a)+r|0}function v(e,t,n,i,r,o,s,a){return p(e+((t|~n)^i)+o+s|0,a)+r|0}function _(e,t,n,i,r,o,s,a){return p(e+(t&i|n&~i)+o+s|0,a)+r|0}function b(e,t,n,i,r,o,s,a){return p(e+(t^(n|~i))+o+s|0,a)+r|0}r(f,o),f.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);for(var n=0|this._a,i=0|this._b,r=0|this._c,o=0|this._d,f=0|this._e,y=0|this._a,w=0|this._b,C=0|this._c,S=0|this._d,x=0|this._e,L=0;L<80;L+=1){var O,k;L<16?(O=g(n,i,r,o,f,e[a[L]],d[0],c[L]),k=b(y,w,C,S,x,e[u[L]],h[0],l[L])):L<32?(O=m(n,i,r,o,f,e[a[L]],d[1],c[L]),k=_(y,w,C,S,x,e[u[L]],h[1],l[L])):L<48?(O=v(n,i,r,o,f,e[a[L]],d[2],c[L]),k=v(y,w,C,S,x,e[u[L]],h[2],l[L])):L<64?(O=_(n,i,r,o,f,e[a[L]],d[3],c[L]),k=m(y,w,C,S,x,e[u[L]],h[3],l[L])):(O=b(n,i,r,o,f,e[a[L]],d[4],c[L]),k=g(y,w,C,S,x,e[u[L]],h[4],l[L])),n=f,f=o,o=p(r,10),r=i,i=O,y=x,x=S,S=p(C,10),C=w,w=k}var N=this._b+r+S|0;this._b=this._c+o+x|0,this._c=this._d+f+y|0,this._d=this._e+n+w|0,this._e=this._a+i+C|0,this._a=N},f.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=i.alloc?i.alloc(20):new i(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},e.exports=f},MOjS:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,r=n("hK2W"),o=n("Kp7x"),s=n("tqet"),a=n("7g0X"),u=n("OHx0"),c=n("vTy2"),l=n("03Zz"),d=n("eoic"),h=n("/9db"),f=(n("OV+G"),n("7/Cv")),p=n("L5KM"),g=n("TNPA"),m=n("qecS"),v=n("1sup"),_=n("X6iQ"),b=n("fw2Z"),y=n("ZYUE"),w=n("ni2T"),C=n("Nr0y"),S=encodeURIComponent(''),L=encodeURIComponent(''),k=encodeURIComponent(''),E=encodeURIComponent(''),D=encodeURIComponent(''),T=encodeURIComponent('');function A(e,t){return"."+i.className(e).split(" ").join(".")+' { background: url("data:image/svg+xml,'+i.getSVGData(e,t)+'") center center no-repeat; height: 16px; width: 16px; }'}!function(e){e.getSVGData=function(e,t){switch(e){case C.a.Ignore:var n=t.type===d.d?g.a.fromHex("#75BEFF"):g.a.fromHex("#007ACC");return t.type===d.d?D+encodeURIComponent(n.toString())+M:T+encodeURIComponent(n.toString())+P;case C.a.Info:var i=t.type===d.d?g.a.fromHex("#007ACC"):g.a.fromHex("#75BEFF");return t.type===d.d?D+encodeURIComponent(i.toString())+M:T+encodeURIComponent(i.toString())+P;case C.a.Warning:var r=t.type===d.d?g.a.fromHex("#DDB100"):g.a.fromHex("#fc0");return t.type===d.d?k+encodeURIComponent(r.toString())+N:E+encodeURIComponent(r.toString())+I;case C.a.Error:var o=t.type===d.d?g.a.fromHex("#A1260D"):g.a.fromHex("#F48771");return t.type===d.d?S+encodeURIComponent(o.toString())+x:L+encodeURIComponent(o.toString())+O}return""},e.className=function(e){switch(e){case C.a.Ignore:return"severity-icon severity-ignore";case C.a.Info:return"severity-icon severity-info";case C.a.Warning:return"severity-icon severity-warning";case C.a.Error:return"severity-icon severity-error"}return""}}(i||(i={})),Object(d.f)(function(e,t){t.addRule(A(C.a.Error,e)),t.addRule(A(C.a.Warning,e)),t.addRule(A(C.a.Info,e)),t.addRule(A(C.a.Ignore,e))});var R,F=this&&this.__extends||(R=function(e,t){return(R=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}R(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),j=function(){function e(e,t,n){var i=this;this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=[],this._editor=t;var r=document.createElement("div");r.className="descriptioncontainer",r.setAttribute("aria-live","assertive"),r.setAttribute("role","alert"),this._messageBlock=document.createElement("div"),f.f(this._messageBlock,"message"),r.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),r.appendChild(this._relatedBlock),this._disposables.push(f.k(this._relatedBlock,"click",function(e){e.preventDefault();var t=i._relatedDiagnostics.get(e.target);t&&n(t)})),this._scrollable=new m.b(r,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:3,verticalScrollbarSize:3}),e.appendChild(this._scrollable.getDomNode()),this._disposables.push(this._scrollable.onScroll(function(e){r.style.left="-"+e.scrollLeft+"px",r.style.top="-"+e.scrollTop+"px"})),this._disposables.push(this._scrollable)}return e.prototype.dispose=function(){Object(s.f)(this._disposables)},e.prototype.update=function(e){var t=e.source,n=e.message,i=e.relatedInformation,r=e.code,o=n.split(/\r\n|\r|\n/g);this._lines=o.length,this._longestLineLength=0;for(var s=0,a=o;s1?r.a("problems","{0} of {1} problems",n,o):r.a("change","{0} of {1} problem",n,o);this.setTitle(Object(y.b)(d.uri),h)}this._icon.className=i.className(u.c.toSeverity(this._severity)),this.editor.revealPositionInCenter(l,0)},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._doLayoutBody=function(t,n){e.prototype._doLayoutBody.call(this,t,n),this._heightInPixel=t,this._message.layout(t,n),this._container.style.height=t+"px"},t.prototype._onWidth=function(e){this._message.layout(this._heightInPixel,e)},t.prototype._relayout=function(){e.prototype._relayout.call(this,this.computeRequiredHeight())},t.prototype.computeRequiredHeight=function(){return 3+this._message.getHeightInLines()},t}(b.c),B=Object(p._30)(p.q,p.p),V=Object(p._30)(p.M,p.L),H=Object(p._30)(p.G,p.F),z=Object(p._36)("editorMarkerNavigationError.background",{dark:B,light:B,hc:B},r.a("editorMarkerNavigationError","Editor marker navigation widget error color.")),U=Object(p._36)("editorMarkerNavigationWarning.background",{dark:V,light:V,hc:V},r.a("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),K=Object(p._36)("editorMarkerNavigationInfo.background",{dark:H,light:H,hc:H},r.a("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),q=Object(p._36)("editorMarkerNavigation.background",{dark:"#2D2D30",light:g.a.white,hc:"#0C141F"},r.a("editorMarkerNavigationBackground","Editor marker navigation widget background."));Object(d.f)(function(e,t){var n=e.getColor(p._46);n&&t.addRule(".monaco-editor .marker-widget a { color: "+n+"; }")});var G=n("aL7J"),Z=n("vORD"),Y=n("zxiH"),X=n("C3c5"),$=n("AKCZ"),J=n("NqM+");n.d(t,"MarkerController",function(){return oe}),n.d(t,"NextMarkerAction",function(){return ae});var Q=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),ee=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},te=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ne=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},ie=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0?this._markers[this._nextIdx]:void 0;this._markers=e||[],this._markers.sort(se.compareMarker),this._nextIdx=t?Math.max(-1,Object(_.c)(this._markers,t,se.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,n=this._editor.getPosition(),i=0;i0?this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length:i=!0),n!==this._nextIdx){var r=this._markers[this._nextIdx];this._onCurrentMarkerChanged.fire(r)}return i},e.prototype.canNavigate=function(){return this._markers.length>0},e.prototype.findMarkerAtPosition=function(e){for(var t=0,n=this._markers;t=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},y=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},w=function(e){function t(t,n,i){var r=e.call(this)||this;return r._editor=t,r._codeEditorService=n,r._configurationService=i,r._localToDispose=r._register(new c.b),r._decorationsIds=[],r._colorDatas=new Map,r._colorDecoratorIds=[],r._decorationsTypes=new Set,r._register(t.onDidChangeModel(function(e){r._isEnabled=r.isEnabled(),r.onModelChanged()})),r._register(t.onDidChangeModelLanguage(function(e){return r.onModelChanged()})),r._register(p.c.onDidChange(function(e){return r.onModelChanged()})),r._register(t.onDidChangeConfiguration(function(e){var t=r._isEnabled;r._isEnabled=r.isEnabled(),t!==r._isEnabled&&(r._isEnabled?r.onModelChanged():r.removeAllDecorations())})),r._timeoutTimer=null,r._computePromise=null,r._isEnabled=r.isEnabled(),r.onModelChanged(),r}return _(t,e),t.prototype.isEnabled=function(){var e=this._editor.getModel();if(!e)return!1;var t=e.getLanguageIdentifier(),n=this._configurationService.getValue(t.language);if(n){var i=n.colorDecorators;if(i&&void 0!==i.enable&&!i.enable)return i.enable}return this._editor.getConfiguration().contribInfo.colorDecorators},t.prototype.getId=function(){return t.ID},t.get=function(e){return e.getContribution(this.ID)},t.prototype.dispose=function(){this.stop(),this.removeAllDecorations(),e.prototype.dispose.call(this)},t.prototype.onModelChanged=function(){var e=this;if(this.stop(),this._isEnabled){var n=this._editor.getModel();n&&p.c.has(n)&&(this._localToDispose.add(this._editor.onDidChangeModelContent(function(n){e._timeoutTimer||(e._timeoutTimer=new i.e,e._timeoutTimer.cancelAndSet(function(){e._timeoutTimer=null,e.beginCompute()},t.RECOMPUTE_TIME))})),this.beginCompute())}},t.prototype.beginCompute=function(){var e=this;this._computePromise=Object(i.f)(function(t){var n=e._editor.getModel();return n?Object(g.b)(n,t):Promise.resolve([])}),this._computePromise.then(function(t){e.updateDecorations(t),e.updateColorDecorators(t),e._computePromise=null},o.e)},t.prototype.stop=function(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()},t.prototype.updateDecorations=function(e){var t=this,n=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:f.a.EMPTY}});this._decorationsIds=this._editor.deltaDecorations(this._decorationsIds,n),this._colorDatas=new Map,this._decorationsIds.forEach(function(n,i){return t._colorDatas.set(n,e[i])})},t.prototype.updateColorDecorators=function(e){for(var t=this,n=[],i={},o=0;o>>2}function l(e,t,n,i){return 0===e?t&n|~t&i:2===e?t&n|t&i|n&i:t^n^i}i(u,r),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(e){for(var t,n=this._w,i=0|this._a,r=0|this._b,o=0|this._c,a=0|this._d,u=0|this._e,d=0;d<16;++d)n[d]=e.readInt32BE(4*d);for(;d<80;++d)n[d]=n[d-3]^n[d-8]^n[d-14]^n[d-16];for(var h=0;h<80;++h){var f=~~(h/20),p=0|((t=i)<<5|t>>>27)+l(f,r,o,a)+u+n[h]+s[f];u=a,a=o,o=c(r),r=i,i=p}this._a=i+this._a|0,this._b=r+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=u+this._e|0},u.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=u},NBYJ:function(e,t){},NCTB:function(e,t,n){"use strict";t.sha1=n("bMQ9"),t.sha224=n("fWB8"),t.sha256=n("Q48P"),t.sha384=n("EH7o"),t.sha512=n("8/0b")},NMED:function(e,t,n){"use strict";var i=n("geuY"),r=n("lZ6o").utils,o=r.assert;function s(e,t){if(e instanceof s)return e;this._importDER(e,t)||(o(e.r&&e.s,"Signature without r or s"),this.r=new i(e.r,16),this.s=new i(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function a(e,t){var n=e[t.place++];if(!(128&n))return n;for(var i=15&n,r=0,o=0,s=t.place;o>>3);for(e.push(128|n);--n;)e.push(t>>>(n<<3)&255);e.push(t)}}e.exports=s,s.prototype._importDER=function(e,t){e=r.toArray(e,t);var n=new function(){this.place=0};if(48!==e[n.place++])return!1;if(a(e,n)+n.place!==e.length)return!1;if(2!==e[n.place++])return!1;var o=a(e,n),s=e.slice(n.place,o+n.place);if(n.place+=o,2!==e[n.place++])return!1;var u=a(e,n);if(e.length!==u+n.place)return!1;var c=e.slice(n.place,u+n.place);return 0===s[0]&&128&s[1]&&(s=s.slice(1)),0===c[0]&&128&c[1]&&(c=c.slice(1)),this.r=new i(s),this.s=new i(c),this.recoveryParam=null,!0},s.prototype.toDER=function(e){var t=this.r.toArray(),n=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&n[0]&&(n=[0].concat(n)),t=u(t),n=u(n);!(n[0]||128&n[1]);)n=n.slice(1);var i=[2];c(i,t.length),(i=i.concat(t)).push(2),c(i,n.length);var o=i.concat(n),s=[48];return c(s,o.length),s=s.concat(o),r.encode(s,e)}},NjkW:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n("WUwp");var i=n("tqet"),r=n("ZfGv"),o=n("03Zz"),s=n("artP"),a=n("vTy2"),u=n("iHM7"),c=function(){function e(e,t,n){this.selection=e,this.targetPosition=t,this.copy=n,this.targetSelection=null}return e.prototype.getEditOperations=function(e,t){var n=e.getValueInRange(this.selection);this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new a.a(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),n),!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.lineNumber0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=e._maxRounds){t();break}if(!r){t();break}var c=i.findNextBracket(r);if(!c){t();break}if(Date.now()-u>e._maxDuration){setTimeout(function(){return e._bracketsRightYield(t,n+1,i,r,s)});break}var l=c.close;if(c.isOpen){var d=a.has(l)?a.get(l):0;a.set(l,d+1)}else{d=a.has(l)?a.get(l):0;if(d-=1,a.set(l,Math.max(0,d)),d<0){var h=s.get(l);h||(h=new o.a,s.set(l,h)),h.push(c.range)}}r=c.range.getEndPosition()}},e._bracketsLeftYield=function(t,n,i,o,s,a){for(var u=new Map,c=Date.now();;){if(n>=e._maxRounds&&0===s.size){t();break}if(!o){t();break}var l=i.findPrevBracket(o);if(!l){t();break}if(Date.now()-c>e._maxDuration){setTimeout(function(){return e._bracketsLeftYield(t,n+1,i,o,s,a)});break}var d=l.close;if(l.isOpen){m=u.has(d)?u.get(d):0;if(m-=1,u.set(d,Math.max(0,m)),m<0){var h=s.get(d);if(h){var f=h.shift();0===h.size&&s.delete(d);var p=r.a.fromPositions(l.range.getEndPosition(),f.getStartPosition()),g=r.a.fromPositions(l.range.getStartPosition(),f.getEndPosition());a.push({range:p}),a.push({range:g}),e._addBracketLeading(i,g,a)}}}else{var m=u.has(d)?u.get(d):0;u.set(d,m+1)}o=l.range.getStartPosition()}},e._addBracketLeading=function(e,t,n){if(t.startLineNumber!==t.endLineNumber){var o=t.startLineNumber,s=e.getLineFirstNonWhitespaceColumn(o);0!==s&&s!==t.startColumn&&(n.push({range:r.a.fromPositions(new i.a(o,s),t.getEndPosition())}),n.push({range:r.a.fromPositions(new i.a(o,1),t.getEndPosition())}));var a=o-1;if(a>0){var u=e.getLineFirstNonWhitespaceColumn(a);u===t.startColumn&&u!==e.getLineLastNonWhitespaceColumn(a)&&(n.push({range:r.a.fromPositions(new i.a(a,u),t.getEndPosition())}),n.push({range:r.a.fromPositions(new i.a(a,1),t.getEndPosition())}))}}},e._maxDuration=30,e._maxRounds=2,e}()},"NqM+":function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("JVO/"),r=Object(i.c)("keybindingService")},Nr0y:function(e,t,n){"use strict";var i,r=n("hK2W"),o=n("aL7J");!function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(i||(i={})),function(e){var t="error",n="warning",i="warn",s="info",a=Object.create(null);a[e.Error]=r.a("sev.error","Error"),a[e.Warning]=r.a("sev.warning","Warning"),a[e.Info]=r.a("sev.info","Info"),e.fromValue=function(r){return r?o.n(t,r)?e.Error:o.n(n,r)||o.n(i,r)?e.Warning:o.n(s,r)?e.Info:e.Ignore:e.Ignore}}(i||(i={})),t.a=i},Ny4g:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,r,o,s,a,u,c,l,d,h,f,p,g,m,v,_,b,y,w,C,S,x,L,O,k,N,E,I,D,M,T=n("iXRW"),P=(n("tZcU"),n("80kS")),A=n("Kp7x"),R=n("uNfg"),F=n("mrx5"),j=n("artP"),W=n("vTy2"),B=n("iHM7"),V=n("c6Qy");!function(e){e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated"}(i||(i={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(r||(r={})),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"}(o||(o={})),function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(s||(s={})),function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"}(a||(a={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(u||(u={})),function(e){e[e.Inline=1]="Inline"}(c||(c={})),function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(l||(l={})),function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(d||(d={})),function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(h||(h={})),function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(f||(f={})),function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"}(p||(p={})),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"}(g||(g={})),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"}(m||(m={})),function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"}(v||(v={})),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"}(_||(_={})),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"}(b||(b={})),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"}(y||(y={})),function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(w||(w={})),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"}(C||(C={})),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"}(S||(S={})),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(x||(x={})),function(e){e[e.Method=0]="Method",e[e.Function=1]="Function",e[e.Constructor=2]="Constructor",e[e.Field=3]="Field",e[e.Variable=4]="Variable",e[e.Class=5]="Class",e[e.Struct=6]="Struct",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Event=10]="Event",e[e.Operator=11]="Operator",e[e.Unit=12]="Unit",e[e.Value=13]="Value",e[e.Constant=14]="Constant",e[e.Enum=15]="Enum",e[e.EnumMember=16]="EnumMember",e[e.Keyword=17]="Keyword",e[e.Text=18]="Text",e[e.Color=19]="Color",e[e.File=20]="File",e[e.Reference=21]="Reference",e[e.Customcolor=22]="Customcolor",e[e.Folder=23]="Folder",e[e.TypeParameter=24]="TypeParameter",e[e.Snippet=25]="Snippet"}(L||(L={})),function(e){e[e.Deprecated=1]="Deprecated"}(O||(O={})),function(e){e[e.KeepWhitespace=1]="KeepWhitespace",e[e.InsertAsSnippet=4]="InsertAsSnippet"}(k||(k={})),function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(N||(N={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(E||(E={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(I||(I={})),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"}(D||(D={})),function(e){e[e.Deprecated=1]="Deprecated"}(M||(M={}));var H=function(){function e(){}return e.chord=function(e,t){return Object(R.a)(e,t)},e.CtrlCmd=2048,e.Shift=1024,e.Alt=512,e.WinCtrl=256,e}();function z(){return{editor:void 0,languages:void 0,CancellationTokenSource:P.b,Emitter:A.a,KeyCode:o,KeyMod:H,Position:j.a,Range:W.a,Selection:B.a,SelectionDirection:s,MarkerSeverity:r,MarkerTag:i,Uri:F.a,Token:V.a}}n("gvGx");var U,K=n("vORD"),q=n("7/Cv"),G=n("tqet"),Z=n("EMhq"),Y=n("+vUW"),X=n("lapT"),$=n("ZYUE"),J=n("aL7J"),Q=n("ItKl"),ee=this&&this.__extends||(U=function(e,t){return(U=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}U(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),te=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},ne=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},ie=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{u(i.next(e))}catch(e){o(e)}}function a(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}u((i=i.apply(e,t||[])).next())})},re=this&&this.__generator||function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=this.ranges.length&&(this.nextIdx=0)):(this.nextIdx-=1,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));var n=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{var i=n.range.getStartPosition();this._editor.setPosition(i),this._editor.revealPositionInCenter(i,t)}finally{this.ignoreSelectionChange=!1}}},t.prototype.canNavigate=function(){return this.ranges&&this.ranges.length>0},t.prototype.next=function(e){void 0===e&&(e=0),this._move(!0,e)},t.prototype.previous=function(e){void 0===e&&(e=0),this._move(!1,e)},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.ranges=[],this.disposed=!0},t}(G.a),de=n("5lao"),he=n("33h2"),fe=n("D2uo"),pe=n("PCC9"),ge=n("jUH2"),me=n("606G"),ve=n("B/Xy"),_e=n("odeJ"),be=n("zxiH"),ye=n("ZfGv"),we=n("KIxu"),Ce=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Se="$initialize",xe=!1;function Le(e){ye.f&&(xe||(xe=!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 Oe=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 n=this,i=String(++this._lastSentReq);return new Promise(function(r,o){n._pendingReplies[i]={resolve:r,reject:o},n._send({vsWorker:n._workerId,req:i,method:e,args:t})})},e.prototype.handleMessage=function(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))},e.prototype._handleMessage=function(e){var t=this;if(e.seq){var n=e;if(!this._pendingReplies[n.seq])return void console.warn("Got reply to unknown seq");var i=this._pendingReplies[n.seq];if(delete this._pendingReplies[n.seq],n.err){var r=n.err;return n.err.$isError&&((r=new Error).name=n.err.name,r.message=n.err.message,r.stack=n.err.stack),void i.reject(r)}i.resolve(n.res)}else{var o=e,s=o.req;this._handler.handleMessage(o.method,o.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(be.g)(e.detail)),t._send({vsWorker:t._workerId,seq:s,res:void 0,err:Object(be.g)(e)})})}},e.prototype._send=function(e){var t=[];if(e.req)for(var n=e,i=0;i1&&p>1;){if(d.charCodeAt(f-2)!==h.charCodeAt(p-2))break;f--,p--}(f>1||p>1)&&this._pushTrimWhitespaceCharChange(r,o+1,1,f,s+1,1,p);for(var g=Fe._getLastNonBlankColumn(d,1),m=Fe._getLastNonBlankColumn(h,1),v=d.length+1,_=h.length+1;gt&&(t=a),s>n&&(n=s),u>n&&(n=u)}t++,n++;var c=new qe.a(n,t,0);for(i=0,r=e.length;i=this._maxCharCode?0:this._states.get(e,t)},e}(),Ze=null;var Ye=null;var Xe=function(){function e(){}return e._createLink=function(e,t,n,i,r){var o=r-1;do{var s=t.charCodeAt(o);if(2!==e.get(s))break;o--}while(o>i);if(i>0){var a=t.charCodeAt(i-1),u=t.charCodeAt(o);(40===a&&41===u||91===a&&93===u||123===a&&125===u)&&o--}return{range:{startLineNumber:n,startColumn:i+1,endLineNumber:n,endColumn:o+2},url:t.substring(i,o+1)}},e.computeLinks=function(t,n){void 0===n&&(null===Ze&&(Ze=new Ge([[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]])),n=Ze);for(var i=function(){if(null===Ye){Ye=new Ke.a(0);for(var e=0;e<" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".length;e++)Ye.set(" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".charCodeAt(e),1);for(e=0;e<".,;".length;e++)Ye.set(".,;".charCodeAt(e),2)}return Ye}(),r=[],o=1,s=t.getLineCount();o<=s;o++){for(var a=t.getLineContent(o),u=a.length,c=0,l=0,d=0,h=1,f=!1,p=!1,g=!1;c=0?((i+=n?1:-1)<0?i=e.length-1:i%=e.length,e[i]):null},e.INSTANCE=new e,e}(),Je=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),Qe=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Je(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 n=Object(Ue.d)(e.column,Object(Ue.c)(t),this._lines[e.lineNumber-1],0);return n?new W.a(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null},t.prototype.getWordUntilPosition=function(e,t){var n=this.getWordAtPosition(e,t);return n?{word:this._lines[e.lineNumber-1].substring(n.startColumn-1,e.column-1),startColumn:n.startColumn,endColumn:e.column}:{word:"",startColumn:e.column,endColumn:e.column}},t.prototype.createWordIterator=function(e){var t,n,i=this,r=0,o=0,s=[],a=function(){if(o=i._lines.length?Te.c:(n=i._lines[r],s=i._wordenize(n,e),o=0,r+=1,a())};return{next:a}},t.prototype.getLineWords=function(e,t){for(var n=this._lines[e-1],i=[],r=0,o=this._wordenize(n,t);rthis._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,i=!0;else{var r=this._lines[t-1].length+1;n<1?(n=1,i=!0):n>r&&(n=r,i=!0)}return i?{lineNumber:t,column:n}:e},t}(ze),et=function(){function e(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}return e.prototype.dispose=function(){this._models=Object.create(null)},e.prototype._getModel=function(e){return this._models[e]},e.prototype._getModels=function(){var e=this,t=[];return Object.keys(this._models).forEach(function(n){return t.push(e._models[n])}),t},e.prototype.acceptNewModel=function(e){this._models[e.url]=new Qe(F.a.parse(e.url),e.lines,e.EOL,e.versionId)},e.prototype.acceptModelChanged=function(e,t){this._models[e]&&this._models[e].onEvents(t)},e.prototype.acceptRemovedModel=function(e){this._models[e]&&delete this._models[e]},e.prototype.computeDiff=function(e,t,n){var i=this._getModel(e),r=this._getModel(t);if(!i||!r)return Promise.resolve(null);var o=i.getLinesContent(),s=r.getLinesContent(),a=new Ve(o,s,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0}).computeDiff(),u=!(a.length>0)&&this._modelsAreIdentical(i,r);return Promise.resolve({identical:u,changes:a})},e.prototype._modelsAreIdentical=function(e,t){var n=e.getLineCount();if(n!==t.getLineCount())return!1;for(var i=1;i<=n;i++){if(e.getLineContent(i)!==t.getLineContent(i))return!1}return!0},e.prototype.computeMoreMinimalEdits=function(t,n){var i=this._getModel(t);if(!i)return Promise.resolve(n);for(var r=[],o=void 0,s=0,a=n=Object(De.o)(n,function(e,t){return e.range&&t.range?W.a.compareRangesUsingStarts(e.range,t.range):(e.range?0:1)-(t.range?0:1)});se._diffLimit)r.push({range:c,text:l});else for(var f=Object(Me.b)(h,l,!1),p=i.offsetAt(W.a.lift(c).getStartPosition()),g=0,m=f;g=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},ct=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},lt=6e4,dt=3e5;function ht(e,t){var n=e.getModel(t);return!!n&&!n.isTooLargeForSyncing()}var ft=function(e){function t(t,n,i){var r=e.call(this)||this;return r._modelService=t,r._workerManager=r._register(new gt(r._modelService)),r._logService=i,r._register(pe.q.register("*",{provideLinks:function(e,t){return ht(r._modelService,e.uri)?r._workerManager.withWorker().then(function(t){return t.computeLinks(e.uri)}).then(function(e){return e&&{links:e}}):Promise.resolve({links:[]})}})),r._register(pe.d.register("*",new pt(r._workerManager,n,r._modelService))),r}return at(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.canComputeDiff=function(e,t){return ht(this._modelService,e)&&ht(this._modelService,t)},t.prototype.computeDiff=function(e,t,n){return this._workerManager.withWorker().then(function(i){return i.computeDiff(e,t,n)})},t.prototype.computeMoreMinimalEdits=function(e,t){var n=this;if(Object(De.n)(t)){if(!ht(this._modelService,e))return Promise.resolve(t);var i=st.a.create(!0),r=this._workerManager.withWorker().then(function(n){return n.computeMoreMinimalEdits(e,t)});return r.finally(function(){return n._logService.trace("FORMAT#computeMoreMinimalEdits",e.toString(!0),i.elapsed())}),r}return Promise.resolve(void 0)},t.prototype.canNavigateValueSet=function(e){return ht(this._modelService,e)},t.prototype.navigateValueSet=function(e,t,n){return this._workerManager.withWorker().then(function(i){return i.navigateValueSet(e,t,n)})},t.prototype.canComputeWordRanges=function(e){return ht(this._modelService,e)},t.prototype.computeWordRanges=function(e,t){return this._workerManager.withWorker().then(function(n){return n.computeWordRanges(e,t)})},t=ut([ct(0,tt.a),ct(1,it),ct(2,ot.a)],t)}(G.a),pt=function(){function e(e,t,n){this._debugDisplayName="wordbasedCompletions",this._workerManager=e,this._configurationService=t,this._modelService=n}return e.prototype.provideCompletionItems=function(e,t){if(this._configurationService.getValue(e.uri,t,"editor").wordBasedSuggestions&&ht(this._modelService,e.uri))return this._workerManager.withWorker().then(function(n){return n.textualSuggest(e.uri,t)})},e}(),gt=function(e){function t(t){var n=e.call(this)||this;return n._modelService=t,n._editorWorkerClient=null,n._lastWorkerUsedTime=(new Date).getTime(),n._register(new _e.c).cancelAndSet(function(){return n._checkStopIdleWorker()},Math.round(dt/2)),n._register(n._modelService.onModelRemoved(function(e){return n._checkStopEmptyWorker()})),n}return at(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>dt&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null))},t.prototype.withWorker=function(){return this._lastWorkerUsedTime=(new Date).getTime(),this._editorWorkerClient||(this._editorWorkerClient=new bt(this._modelService,"editorWorkerService")),Promise.resolve(this._editorWorkerClient)},t}(G.a),mt=function(e){function t(t,n,i){var r=e.call(this)||this;if(r._syncedModels=Object.create(null),r._syncedModelsLastUsedTime=Object.create(null),r._proxy=t,r._modelService=n,!i){var o=new _e.c;o.cancelAndSet(function(){return r._checkStopModelSync()},Math.round(lt/2)),r._register(o)}return r}return at(t,e),t.prototype.dispose=function(){for(var t in this._syncedModels)Object(G.f)(this._syncedModels[t]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),e.prototype.dispose.call(this)},t.prototype.ensureSyncedResources=function(e){for(var t=0,n=e;tlt&&t.push(n)}for(var i=0,r=t;i'"_]/g,"-")}function Dt(e,t){return new Error(e.languageId+": "+t)}function Mt(e,t,n,i,r){var o=null;return t.replace(/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,function(t,s,a,u,c,l,d,h,f){return Nt(a)?Nt(u)?!Nt(c)&&c0;){var i=e.tokenizer[n];if(i)return i;var r=n.lastIndexOf(".");n=r<0?null:n.substr(0,r)}return null}var Pt=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 At(e,t);var n=At.getStackElementId(e);n.length>0&&(n+="|"),n+=t;var i=this._entries[n];return i||(i=new At(e,t),this._entries[n]=i,i)},e._INSTANCE=new e(5),e}(),At=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 Pt.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 Pt.create(this.parent,e)},e}(),Rt=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}(),Ft=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 jt(e,t);if(null!==e&&e.depth>=this._maxCacheDepth)return new jt(e,t);var n=At.getStackElementId(e),i=this._entries[n];return i||(i=new jt(e,null),this._entries[n]=i,i)},e._INSTANCE=new e(5),e}(),jt=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:Ft.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}(),Wt=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 V.a(e,t,this._language)))},e.prototype.nestedModeTokenize=function(e,t,n){var i=t.modeId,r=t.state,o=pe.y.get(i);if(!o)return this.enterMode(n,i),this.emit(n,""),r;var s=o.tokenize(e,r,n);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 V.b(this._tokens,e)},e}(),Bt=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 n=this._theme.match(this._currentLanguageId,t);this._lastTokenMetadata!==n&&(this._lastTokenMetadata=n,this._tokens.push(e),this._tokens.push(n))},e._merge=function(e,t,n){var i=null!==e?e.length:0,r=t.length,o=null!==n?n.length:0;if(0===i&&0===r&&0===o)return new Uint32Array(0);if(0===i&&0===r)return n;if(0===r&&0===o)return e;var s=new Uint32Array(i+r+o);null!==e&&s.set(e);for(var a=0;a0&&i.nestedModeTokenize(s,t.embeddedModeData,n);var a=e.substring(r);return this._myTokenize(a,t,n+r,i)},e.prototype._safeRuleName=function(e){return e?e.name:"(unknown)"},e.prototype._myTokenize=function(e,t,n,i){i.enterMode(n,this._modeId);for(var r,o,s=e.length,a=t.embeddedModeData,u=t.stack,c=0,l=null,d=!0;d||c=s)break;d=!1;var C=this._lexer.tokenizer[g];if(!C&&!(C=Tt(this._lexer,g)))throw Dt(this._lexer,"tokenizer state is not defined: "+g);for(var S=e.substr(c),x=0,L=C;x=this._lexer.maxStack)throw Dt(this._lexer,"maximum tokenizer stack size reached: ["+u.state+","+u.parent.state+",...]");u=u.push(g)}else if("@pop"===_.next){if(u.depth<=1)throw Dt(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(b));u=u.pop()}else if("@popall"===_.next)u=u.popall();else{var N;if("@"===(N=Mt(this._lexer,_.next,v,m,g))[0]&&(N=N.substr(1)),!Tt(this._lexer,N))throw Dt(this._lexer,"trying to set a next state '"+N+"' that is undefined in rule: "+this._safeRuleName(b));u=u.push(N)}}_.log&&"string"==typeof _.log&&(r=this._lexer,o=this._lexer.languageId+": "+Mt(this._lexer,_.log,v,m,g),console.log(r.languageId+": "+o))}if(null===k)throw Dt(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(b));if(Array.isArray(k)){if(l&&l.groups.length>0)throw Dt(this._lexer,"groups cannot be nested: "+this._safeRuleName(b));if(m.length!==k.length+1)throw Dt(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(b));for(var E=0,I=1;I=0&&a()})})},e.colorizeLine=function(e,t,n,i,r){void 0===r&&(r=4);var o=xt.d.isBasicASCII(e,t),s=xt.d.containsRTL(e,o,n);return Object(St.e)(new St.c(!1,!0,e,!1,o,s,0,i,[],r,0,-1,"none",!1,!1,null)).html},e.colorizeModelLine=function(e,t,n){void 0===n&&(n=4);var i=e.getLineContent(t);e.forceTokenization(t);var r=e.getLineTokens(t).inflate();return this.colorizeLine(i,e.mightContainNonBasicASCII(),e.mightContainRTL(),r,n)},e}();function Ut(e,t,n){return new Promise(function(i,r){var o=function(){var s=function(e,t,n){for(var i=[],r=n.getInitialState(),o=0,s=e.length;o"),r=u.endState}return i.join("")}(e,t,n);if(n instanceof Vt){var a=n.getLoadStatus();if(!1===a.loaded)return void a.promise.then(o,r)}i(s)};o()})}function Kt(e,t){var n=[],i=new Uint32Array(2);i[0]=0,i[1]=16793600;for(var r=0,o=e.length;r")}return n.join("")}var qt=n("gzF+"),Gt=n("Nr0y"),Zt=n("P1SM"),Yt=n("TeKV"),Xt=n("0WPX"),$t=n("Gzpe"),Jt=n("WTFd"),Qt=n("rHGw"),en=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),tn=function(){function e(e,t,n){void 0===e&&(e={}),void 0===t&&(t=[]),void 0===n&&(n=[]),this._contents=e,this._keys=t,this._overrides=n,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.isEmpty=function(){return 0===this._keys.length&&0===Object.keys(this._contents).length&&0===this._overrides.length},e.prototype.getValue=function(e){return e?Object($t.d)(this.contents,e):this.contents},e.prototype.override=function(t){var n=this.getContentsForOverrideIdentifer(t);if(!n||"object"!=typeof n||!Object.keys(n).length)return this;for(var i={},r=0,o=De.e(Object.keys(this.contents).concat(Object.keys(n)));r5e3&&n._leaveChordMode():n._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){return this._doDispatch(this.resolveKeyboardEvent(e),t)},t.prototype._doDispatch=function(e,t){var n=this,i=!1;if(e.isChord())return console.warn("Unexpected keyboard event mapped to a chord"),!1;var r=e.getDispatchParts()[0];if(null===r)return i;var o=this._contextKeyService.getContext(t),s=this._currentChord?this._currentChord.keypress:null,a=e.getLabel(),u=this._getResolver().resolve(o,s,r);return u&&u.enterChord?(i=!0,this._enterChordMode(r,a),i):(this._currentChord&&(u&&u.commandId||(this._notificationService.status(on.a("missing.chord","The key combination ({0}, {1}) is not a command.",this._currentChord.label,a),{hideAfter:1e4}),i=!0)),this._leaveChordMode(),u&&u.commandId&&(u.bubble||(i=!0),void 0===u.commandArgs?this._commandService.executeCommand(u.commandId).then(void 0,function(e){return n._notificationService.warn(e)}):this._commandService.executeCommand(u.commandId,u.commandArgs).then(void 0,function(e){return n._notificationService.warn(e)}),this._telemetryService.publicLog2("workbenchActionExecuted",{id:u.commandId,from:"keybinding"})),i)},t.prototype.mightProducePrintableCharacter=function(e){return!e.ctrlKey&&!e.metaKey&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30)},t}(G.a),un=n("7g0X"),cn=function(){function e(t,n){this._defaultKeybindings=t,this._defaultBoundCommands=new Map;for(var i=0,r=t.length;i=0;l--)this._isTargetedForRemoval(e[l],a,u,s,c)&&e.splice(l,1);else n.push(o)}return e.concat(n)},e.prototype._addKeyPress=function(t,n){var i=this._map.get(t);if(void 0===i)return this._map.set(t,[n]),void this._addToLookupMap(n);for(var r=i.length-1;r>=0;r--){var o=i[r];if(o.command!==n.command){var s=o.keypressParts.length>1,a=n.keypressParts.length>1;s&&a&&o.keypressParts[1]!==n.keypressParts[1]||e.whenIsEntirelyIncluded(o.when,n.when)&&this._removeFromLookupMap(o)}}i.push(n),this._addToLookupMap(n)},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){if(e.command){var t=this._lookupMap.get(e.command);if(void 0!==t)for(var n=0,i=t.length;n1&&null!==u.keypressParts[1]?{enterChord:!0,commandId:null,commandArgs:null,bubble:!1}:{enterChord:!1,commandId:u.command,commandArgs:u.commandArgs,bubble:u.bubble}:null},e.prototype._findCommand=function(t,n){for(var i=n.length-1;i>=0;i--){var r=n[i];if(e.contextMatchesRules(t,r.when))return r}return null},e.contextMatchesRules=function(e,t){return!t||t.evaluate(e)},e}(),ln=n("Kx4b"),dn=function(){return function(e,t,n,i,r){this.resolvedKeybinding=e,this.keypressParts=e?function(e){for(var t=[],n=0,i=e.length;n1},t.prototype.getParts=function(){var e=this;return this._parts.map(function(t){return e._getPart(t)})},t.prototype._getPart=function(e){return new R.d(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getLabel(e),this._getAriaLabel(e))},t.prototype.getDispatchParts=function(){var e=this;return this._parts.map(function(t){return e._getDispatchPart(t)})},t}(R.c),gn=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),mn=function(e){function t(t,n){return e.call(this,n,t.parts)||this}return gn(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 R.b.toString(e)},t.prototype._getLabel=function(e){return e.isDuplicateModifierCase()?"":this._keyCodeToUILabel(e.keyCode)},t.prototype._getAriaLabel=function(e){return e.isDuplicateModifierCase()?"":R.b.toString(e.keyCode)},t.prototype._getDispatchPart=function(e){return t.getDispatchStr(e)},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+=R.b.toString(e.keyCode)},t}(pn),vn=n("fAkY"),_n=n("EMDP"),bn=n("EfIu"),yn=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),wn=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Cn=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},Sn=function(){function e(e){this.model=e,this._onDispose=new A.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 xn=function(){function e(){}return e.prototype.setEditor=function(e){this.editor=e},e.prototype.createModelReference=function(e){var t,n,i,r=this,o=null;return this.editor&&(t=this.editor,n=function(t){return r.findModel(t,e)},i=function(t){return r.findModel(t.getOriginalEditor(),e)||r.findModel(t.getModifiedEditor(),e)},o=Object(Zt.a)(t)?n(t):i(t)),o?Promise.resolve(new G.c(new Sn(o))):Promise.reject(new Error("Model not found"))},e.prototype.findModel=function(e,t){var n=e.getModel();return n&&n.uri.toString()!==t.toString()?null:n},e}(),Ln=function(){function e(){}return e.prototype.showWhile=function(e,t){return Promise.resolve(void 0)},e}(),On=function(){return function(){}}(),kn=function(){function e(){}return e.prototype.info=function(e){return this.notify({severity:Gt.a.Info,message:e})},e.prototype.warn=function(e){return this.notify({severity:Gt.a.Warning,message:e})},e.prototype.error=function(e){return this.notify({severity:Gt.a.Error,message:e})},e.prototype.notify=function(t){switch(t.severity){case Gt.a.Error:console.error(t.message);break;case Gt.a.Warning:console.warn(t.message);break;default:console.log(t.message)}return e.NO_OP},e.prototype.status=function(e,t){return G.a.None},e.NO_OP=new vn.b,e}(),Nn=function(){function e(e){this._onWillExecuteCommand=new A.a,this._onDidExecuteCommand=new A.a,this._instantiationService=e,this._dynamicCommands=Object.create(null)}return e.prototype.addCommand=function(e){var t=this,n=e.id;return this._dynamicCommands[n]=e,Object(G.h)(function(){delete t._dynamicCommands[n]})},e.prototype.executeCommand=function(e){for(var t=[],n=1;n0){var _=e[o-1];m=0===_.originalEndLineNumber?_.originalStartLineNumber+1:_.originalEndLineNumber+1,v=0===_.modifiedEndLineNumber?_.modifiedStartLineNumber+1:_.modifiedEndLineNumber+1}var b=p-3+1,y=g-3+1;if(bS)k+=O=S-k,N+=O;if(N>x)k+=O=x-N,N+=O;h[f++]=new ti(w,k,C,N),i[r++]=new ni(h)}var E=i[0].entries,I=[],D=0;for(o=1,s=i.length;od)&&(d=v),0!==_&&(0===h||_f)&&(f=b)}var y=document.createElement("div");y.className="diff-review-row";var w=document.createElement("div");w.className="diff-review-cell diff-review-summary";var C=d-l+1,S=f-h+1;w.appendChild(document.createTextNode(a+1+"/"+this._diffs.length+": @@ -"+l+","+C+" +"+h+","+S+" @@")),y.setAttribute("data-line",String(h));var x=function(e){return 0===e?on.a("no_lines","no lines"):1===e?on.a("one_line","1 line"):on.a("more_lines","{0} lines",e)},L=x(C),O=x(S);y.setAttribute("aria-label",on.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}",a+1,this._diffs.length,l,L,h,O)),y.appendChild(w),y.setAttribute("role","listitem"),c.appendChild(y);var k=h;for(p=0,g=u.length;p0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]r.modifiedStartLineNumber?on.a("diff.clipboard.copyDeletedLinesContent.label","Copy deleted lines"):on.a("diff.clipboard.copyDeletedLinesContent.single.label","Copy deleted line"),void 0,!0,function(){return pi(a,void 0,void 0,function(){return gi(this,function(e){switch(e.label){case 0:return[4,this._clipboardService.writeText(r.originalContent.join(c)+c)];case 1:return e.sent(),[2]}})})}));var d=0,h=void 0;return r.originalEndLineNumber>r.modifiedStartLineNumber&&(h=new Yn.a("diff.clipboard.copyDeletedLineContent",on.a("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",r.originalStartLineNumber),void 0,!0,function(){return pi(a,void 0,void 0,function(){return gi(this,function(e){switch(e.label){case 0:return[4,this._clipboardService.writeText(r.originalContent[d])];case 1:return e.sent(),[2]}})})}),l.push(h)),i.getConfiguration().readOnly||l.push(new Yn.a("diff.inline.revertChange",on.a("diff.inline.revertChange.label","Revert this change"),void 0,!0,function(){return pi(a,void 0,void 0,function(){var e;return gi(this,function(t){return 0===r.modifiedEndLineNumber?(e=i.getModel().getLineMaxColumn(r.modifiedStartLineNumber),i.executeEdits("diffEditor",[{range:new W.a(r.modifiedStartLineNumber,e,r.modifiedStartLineNumber,e),text:c+r.originalContent.join(c)}])):(e=i.getModel().getLineMaxColumn(r.modifiedEndLineNumber),i.executeEdits("diffEditor",[{range:new W.a(r.modifiedStartLineNumber,1,r.modifiedEndLineNumber,e),text:r.originalContent.join(c)}])),[2]})})})),a._register(q.k(a._diffActions,"mousedown",function(e){var t=q.x(a._diffActions),n=t.top,i=t.height,o=Math.floor(u/3);e.preventDefault(),a._contextMenuService.showContextMenu({getAnchor:function(){return{x:e.posx,y:n+i+o}},getActions:function(){return h&&(h.label=on.a("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",r.originalStartLineNumber+d)),l},autoSelectFirstItem:!0})})),a._register(i.onMouseMove(function(e){8===e.target.type||5===e.target.type?e.target.detail.viewZoneId===a._viewZoneId?(a.visibility=!0,d=a._updateLightBulbPosition(a._marginDomNode,e.event.browserEvent.y,u)):a.visibility=!1:a.visibility=!1})),a}return fi(t,e),Object.defineProperty(t.prototype,"visibility",{get:function(){return this._visibility},set:function(e){this._visibility!==e&&(this._visibility=e,this._diffActions.style.visibility=e?"visible":"hidden")},enumerable:!0,configurable:!0}),t.prototype._updateLightBulbPosition=function(e,t,n){var i=t-q.x(e).top,r=Math.floor(i/n),o=r*n;return this._diffActions.style.top=o+"px",r},t}(G.a),vi=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),_i=this&&this.__decorate||function(e,t,n,i){var r,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,n,s):r(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},bi=this&&this.__param||function(e,t){return function(n,i){t(n,i,e)}},yi=function(){function e(e,t){this._contextMenuService=e,this._clipboardService=t,this._zones=[],this.inlineDiffMargins=[],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 n=0,i=t._zones.length;n0?r/n:0;return{height:Math.max(0,Math.floor(e.contentHeight*o)),top:Math.floor(t*o)}},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._diffComputationResult&&this._updateDecorations(),this._measureDomElement(!0)},t.prototype._getLineChangeAtOrBeforeLineNumber=function(e,t){var n=this._diffComputationResult?this._diffComputationResult.changes:[];if(0===n.length||e=a?i=o+1:(i=o,r=o)}return n[i]},t.prototype._getEquivalentLineForOriginalLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,function(e){return e.originalStartLineNumber});if(!t)return e;var n=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),i=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),r=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,o=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-n;return s<=r?i+Math.min(s,o):i+o-r+s},t.prototype._getEquivalentLineForModifiedLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,function(e){return e.modifiedStartLineNumber});if(!t)return e;var n=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),i=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),r=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,o=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-i;return s<=o?n+Math.min(s,r):n+r-o+s},t.prototype.getDiffLineInformationForOriginal=function(e){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForOriginalLineNumber(e)}:null},t.prototype.getDiffLineInformationForModified=function(e){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForModifiedLineNumber(e)}:null},t.ONE_OVERVIEW_WIDTH=15,t.ENTIRE_DIFF_OVERVIEW_WIDTH=30,t.UPDATE_DIFF_DECORATIONS_DELAY=200,t=_i([bi(3,me.a),bi(4,un.c),bi(5,nt.a),bi(6,K.a),bi(7,Qn.c),bi(8,vn.a),bi(9,hi.a)],t)}(G.a),Si=function(e){function t(t){var n=e.call(this)||this;return n._dataSource=t,n._insertColor=null,n._removeColor=null,n}return vi(t,e),t.prototype.applyColors=function(e){var t=(e.getColor(Jn.j)||Jn.g).transparent(2),n=(e.getColor(Jn.l)||Jn.h).transparent(2),i=!t.equals(this._insertColor)||!n.equals(this._removeColor);return this._insertColor=t,this._removeColor=n,i},t.prototype.getEditorsDiffDecorations=function(e,t,n,i,r,o,s){r=r.sort(function(e,t){return e.afterLineNumber-t.afterLineNumber}),i=i.sort(function(e,t){return e.afterLineNumber-t.afterLineNumber});var a=this._getViewZones(e,i,r,o,s,n),u=this._getOriginalEditorDecorations(e,t,n,o,s),c=this._getModifiedEditorDecorations(e,t,n,o,s);return{original:{decorations:u.decorations,overviewZones:u.overviewZones,zones:a.original},modified:{decorations:c.decorations,overviewZones:c.overviewZones,zones:a.modified}}},t}(G.a),xi=function(){function e(e){this._source=e,this._index=-1,this.current=null,this.advance()}return e.prototype.advance=function(){this._index++,this._index0){var n=e[e.length-1];if(n.afterLineNumber===t.afterLineNumber&&null===n.domNode)return void(n.heightInLines+=t.heightInLines)}e.push(t)},d=new xi(this.modifiedForeignVZ),h=new xi(this.originalForeignVZ),f=0,p=this.lineChanges.length;f<=p;f++){var g=f0?-1:0),s=g.modifiedStartLineNumber+(g.modifiedEndLineNumber>0?-1:0),r=g.originalEndLineNumber>0?g.originalEndLineNumber-g.originalStartLineNumber+1:0,i=g.modifiedEndLineNumber>0?g.modifiedEndLineNumber-g.modifiedStartLineNumber+1:0,a=Math.max(g.originalStartLineNumber,g.originalEndLineNumber),u=Math.max(g.modifiedStartLineNumber,g.modifiedEndLineNumber)):(a=o+=1e7+r,u=s+=1e7+i);for(var m,v=[],_=[];d.current&&d.current.afterLineNumber<=u;){var b=void 0;b=d.current.afterLineNumber<=s?o-s+d.current.afterLineNumber:a;var y=null;g&&g.modifiedStartLineNumber<=d.current.afterLineNumber&&d.current.afterLineNumber<=g.modifiedEndLineNumber&&(y=this._createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion()),v.push({afterLineNumber:b,heightInLines:d.current.heightInLines,domNode:null,marginDomNode:y}),d.advance()}for(;h.current&&h.current.afterLineNumber<=a;){b=void 0;b=h.current.afterLineNumber<=o?s-o+h.current.afterLineNumber:u,_.push({afterLineNumber:b,heightInLines:h.current.heightInLines,domNode:null}),h.advance()}if(null!==g&&Mi(g))(m=this._produceOriginalFromDiff(g,r,i))&&v.push(m);if(null!==g&&Ti(g))(m=this._produceModifiedFromDiff(g,r,i))&&_.push(m);var w=0,C=0;for(v=v.sort(c),_=_.sort(c);w=x.heightInLines?(S.heightInLines-=x.heightInLines,C++):(x.heightInLines-=S.heightInLines,w++)}for(;w2*t.MINIMUM_EDITOR_WIDTH?(in-t.MINIMUM_EDITOR_WIDTH&&(i=n-t.MINIMUM_EDITOR_WIDTH)):i=r,this._sashPosition!==i&&(this._sashPosition=i,this._sash.layout()),this._sashPosition},t.prototype.onSashDragStart=function(){this._startSashPosition=this._sashPosition},t.prototype.onSashDrag=function(e){var t=this._dataSource.getWidth()-Ci.ENTIRE_DIFF_OVERVIEW_WIDTH,n=this.layout((this._startSashPosition+(e.currentX-e.startX))/t);this._sashRatio=n/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,n,i,r){return new Ei(e,t,n).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,n,i,r){for(var o=String(this._removeColor),s={decorations:[],overviewZones:[]},a=i.getModel(),u=0,c=e.length;ut?{afterLineNumber:Math.max(e.originalStartLineNumber,e.originalEndLineNumber),heightInLines:n-t,domNode:null}:null},t.prototype._produceModifiedFromDiff=function(e,t,n){return t>n?{afterLineNumber:Math.max(e.modifiedStartLineNumber,e.modifiedEndLineNumber),heightInLines:t-n,domNode:null}:null},t}(Li),Ii=function(e){function t(t,n){var i=e.call(this,t)||this;return i.decorationsLeft=t.getOriginalEditor().getLayoutInfo().decorationsLeft,i._register(t.getOriginalEditor().onDidLayoutChange(function(e){i.decorationsLeft!==e.decorationsLeft&&(i.decorationsLeft=e.decorationsLeft,t.relayoutEditors())})),i}return vi(t,e),t.prototype.setEnableSplitViewResizing=function(e){},t.prototype._getViewZones=function(e,t,n,i,r,o){return new Di(e,t,n,i,r,o).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,n,i,r){for(var o=String(this._removeColor),s={decorations:[],overviewZones:[]},a=0,u=e.length;a'])}h+=this.modifiedEditorConfiguration.viewInfo.scrollBeyondLastColumn;var m=document.createElement("div");m.className="view-lines line-delete",m.innerHTML=a.build(),Kn.a.applyFontInfoSlow(m,this.modifiedEditorConfiguration.fontInfo);var v=document.createElement("div");return v.className="inline-deleted-margin-view-zone",v.innerHTML=u.join(""),Kn.a.applyFontInfoSlow(v,this.modifiedEditorConfiguration.fontInfo),{shouldNotShrink:!0,afterLineNumber:0===e.modifiedEndLineNumber?e.modifiedStartLineNumber:e.modifiedStartLineNumber-1,heightInLines:t,minWidthInPx:h*d,domNode:m,marginDomNode:v,diff:{originalStartLineNumber:e.originalStartLineNumber,originalEndLineNumber:e.originalEndLineNumber,modifiedStartLineNumber:e.modifiedStartLineNumber,modifiedEndLineNumber:e.modifiedEndLineNumber,originalContent:f}}},t.prototype._renderOriginalLine=function(e,t,n,i,r,o,s){var a=t.getLineTokens(r),u=a.getLineContent(),c=li.a.filter(o,r,1,u.length+1);s.appendASCIIString('